@object-ui/i18n 16.0.0 → 17.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1270 -0
- package/dist/locales/ar.d.ts +827 -2
- package/dist/locales/ar.js +833 -7
- package/dist/locales/de.d.ts +825 -2
- package/dist/locales/de.js +831 -7
- package/dist/locales/en.d.ts +404 -17
- package/dist/locales/en.js +419 -19
- package/dist/locales/es.d.ts +825 -2
- package/dist/locales/es.js +831 -7
- package/dist/locales/fr.d.ts +827 -2
- package/dist/locales/fr.js +833 -7
- package/dist/locales/index.d.ts +7378 -90
- package/dist/locales/ja.d.ts +825 -2
- package/dist/locales/ja.js +831 -7
- package/dist/locales/ko.d.ts +825 -2
- package/dist/locales/ko.js +831 -7
- package/dist/locales/pt.d.ts +827 -2
- package/dist/locales/pt.js +833 -7
- package/dist/locales/ru.d.ts +827 -2
- package/dist/locales/ru.js +833 -7
- package/dist/locales/zh.d.ts +327 -18
- package/dist/locales/zh.js +329 -18
- package/dist/useObjectLabel.d.ts +240 -12
- package/dist/useObjectLabel.js +109 -44
- package/dist/useSafeTranslation.d.ts +2 -0
- package/dist/useSafeTranslation.js +7 -2
- package/package.json +3 -3
package/dist/locales/en.d.ts
CHANGED
|
@@ -85,9 +85,14 @@ declare const en: {
|
|
|
85
85
|
readonly package: "Package";
|
|
86
86
|
};
|
|
87
87
|
readonly actions: {
|
|
88
|
+
readonly decisionOutput: {
|
|
89
|
+
readonly help: "Handed to the flow as a decision output.";
|
|
90
|
+
readonly helpMultiValue: "Handed to the flow as a decision output. Comma-separate multiple values.";
|
|
91
|
+
};
|
|
88
92
|
readonly resultDialog: {
|
|
89
93
|
readonly defaultTitle: "Save this value now";
|
|
90
94
|
readonly acknowledge: "I have saved this";
|
|
95
|
+
readonly copyAll: "Copy all";
|
|
91
96
|
};
|
|
92
97
|
};
|
|
93
98
|
readonly validation: {
|
|
@@ -104,6 +109,8 @@ declare const en: {
|
|
|
104
109
|
readonly type: "{{field}} must be a valid {{type}}";
|
|
105
110
|
};
|
|
106
111
|
readonly form: {
|
|
112
|
+
readonly noPermissionToSave: "You don't have permission to save this record.";
|
|
113
|
+
readonly submitFailed: "Could not save. Please try again.";
|
|
107
114
|
readonly addItem: "Add item";
|
|
108
115
|
readonly removeItem: "Remove item";
|
|
109
116
|
readonly fieldRequired: "This field is required";
|
|
@@ -115,11 +122,13 @@ declare const en: {
|
|
|
115
122
|
readonly discardMessage: "You have unsaved changes. If you close this form now, your edits will be lost.";
|
|
116
123
|
readonly keepEditing: "Keep editing";
|
|
117
124
|
readonly discard: "Discard";
|
|
125
|
+
readonly conflictTitle: "Save conflict";
|
|
126
|
+
readonly conflictMessage: "This record was changed by someone else while you were editing. Overwriting will replace their changes with yours.";
|
|
127
|
+
readonly conflictLatestVersion: "Their save: {{time}}";
|
|
128
|
+
readonly conflictOverwrite: "Overwrite";
|
|
118
129
|
readonly stepOf: "Step {{current}} of {{total}}";
|
|
119
130
|
readonly createTitle: "Create {{object}}";
|
|
120
131
|
readonly editTitle: "Edit {{object}}";
|
|
121
|
-
readonly createDescription: "Add a new {{object}} to your database.";
|
|
122
|
-
readonly editDescription: "Update details for {{object}}";
|
|
123
132
|
readonly saveRecord: "Save";
|
|
124
133
|
readonly create: "Create";
|
|
125
134
|
readonly update: "Update";
|
|
@@ -131,11 +140,67 @@ declare const en: {
|
|
|
131
140
|
readonly relativeDate: {
|
|
132
141
|
readonly overdue: "Overdue {{count}}d";
|
|
133
142
|
};
|
|
143
|
+
readonly file: {
|
|
144
|
+
readonly dragDropHere: "Drag & drop files here";
|
|
145
|
+
readonly dropFilesHere: "Drop files here";
|
|
146
|
+
readonly browseHint: "or click to browse";
|
|
147
|
+
readonly browseHintCamera: "or click to browse • use the camera button below";
|
|
148
|
+
readonly takePhoto: "Take photo";
|
|
149
|
+
readonly takeSelfie: "Take selfie";
|
|
150
|
+
readonly cameraCapture: "Camera capture";
|
|
151
|
+
readonly uploading: "Uploading…";
|
|
152
|
+
readonly uploadingPct: "Uploading… ({{pct}}%)";
|
|
153
|
+
readonly fileFallback: "File";
|
|
154
|
+
readonly upload: "Upload";
|
|
155
|
+
readonly remove: "Remove {{name}}";
|
|
156
|
+
readonly exceedsMaxSize: "\"{{name}}\" exceeds max size ({{max}} MB)";
|
|
157
|
+
readonly uploadFailed: "Failed to upload \"{{name}}\": {{error}}";
|
|
158
|
+
};
|
|
159
|
+
readonly image: {
|
|
160
|
+
readonly upload: "Upload image";
|
|
161
|
+
readonly addMore: "Add more images";
|
|
162
|
+
readonly uploading: "Uploading…";
|
|
163
|
+
readonly imageAlt: "Image {{index}}";
|
|
164
|
+
readonly crop: "Crop image {{index}}";
|
|
165
|
+
readonly remove: "Remove image {{index}}";
|
|
166
|
+
readonly enlarge: "Enlarge {{name}}";
|
|
167
|
+
readonly preview: "Image preview";
|
|
168
|
+
readonly previous: "Previous image";
|
|
169
|
+
readonly next: "Next image";
|
|
170
|
+
readonly counter: "{{current}} / {{total}}";
|
|
171
|
+
};
|
|
134
172
|
readonly richText: {
|
|
135
173
|
readonly format: "Format: {{format}}";
|
|
136
174
|
readonly basicEditorHint: "Rich text editor (basic)";
|
|
137
175
|
readonly placeholder: "Enter text...";
|
|
138
176
|
};
|
|
177
|
+
readonly objectRef: {
|
|
178
|
+
readonly loading: "Loading objects…";
|
|
179
|
+
readonly placeholder: "Select an object";
|
|
180
|
+
readonly search: "Search objects…";
|
|
181
|
+
readonly empty: "No objects found";
|
|
182
|
+
};
|
|
183
|
+
readonly recipient: {
|
|
184
|
+
readonly selectTypeFirst: "Select a recipient type first.";
|
|
185
|
+
readonly loading: "Loading…";
|
|
186
|
+
readonly search: "Search…";
|
|
187
|
+
readonly empty: "No matches";
|
|
188
|
+
readonly select: "Select a recipient";
|
|
189
|
+
readonly selectUser: "Select a user";
|
|
190
|
+
readonly selectTeam: "Select a team";
|
|
191
|
+
readonly selectBusinessUnit: "Select a business unit";
|
|
192
|
+
readonly selectPosition: "Select a position";
|
|
193
|
+
readonly selectUnitAndSubordinates: "Select a business unit";
|
|
194
|
+
};
|
|
195
|
+
readonly filterCondition: {
|
|
196
|
+
readonly selectObjectFirst: "Select an object first.";
|
|
197
|
+
readonly noCriteria: "No criteria — this rule shares nothing";
|
|
198
|
+
readonly criteriaRequired: "Add at least one condition. A rule with no criteria would share every record, so it cannot be saved.";
|
|
199
|
+
readonly invalidJson: "Invalid JSON — the rule will match no records until fixed.";
|
|
200
|
+
readonly jsonOnly: "This criteria can only be edited as JSON";
|
|
201
|
+
readonly editAsJson: "Edit as JSON";
|
|
202
|
+
readonly useVisualBuilder: "Use visual builder";
|
|
203
|
+
};
|
|
139
204
|
};
|
|
140
205
|
readonly table: {
|
|
141
206
|
readonly rowsPerPage: "Rows per page";
|
|
@@ -210,6 +275,9 @@ declare const en: {
|
|
|
210
275
|
readonly previewDescription: "Review data before importing.";
|
|
211
276
|
readonly dragDrop: "Drag & drop a CSV or Excel file here, or click to browse";
|
|
212
277
|
readonly browseFiles: "Browse Files";
|
|
278
|
+
readonly downloadTemplate: "Download template";
|
|
279
|
+
readonly downloadTemplateHint: "Get a CSV with the right columns (required fields marked *).";
|
|
280
|
+
readonly templateFileName: "{{object}}-import-template";
|
|
213
281
|
readonly parsing: "Parsing…";
|
|
214
282
|
readonly pasteHint: "or paste (Ctrl/⌘+V) rows copied from Excel or Google Sheets";
|
|
215
283
|
readonly legacyXls: "Legacy .xls files aren't supported — please re-save as .xlsx.";
|
|
@@ -233,6 +301,13 @@ declare const en: {
|
|
|
233
301
|
readonly csvColumn: "Column";
|
|
234
302
|
readonly mapsTo: "Maps To";
|
|
235
303
|
readonly typeMismatch: "Looks like {{type}}";
|
|
304
|
+
readonly autoMatched: "Auto-matched";
|
|
305
|
+
readonly autoMatchedSummary: "Auto-matched {{count}} column(s) — review and adjust below.";
|
|
306
|
+
readonly confidence: {
|
|
307
|
+
readonly high: "High confidence";
|
|
308
|
+
readonly medium: "Medium confidence";
|
|
309
|
+
readonly low: "Low confidence";
|
|
310
|
+
};
|
|
236
311
|
readonly type: {
|
|
237
312
|
readonly number: "Number";
|
|
238
313
|
readonly boolean: "Boolean";
|
|
@@ -250,25 +325,96 @@ declare const en: {
|
|
|
250
325
|
readonly clickToFix: "— click a highlighted cell to fix it inline.";
|
|
251
326
|
readonly showingRows: "Showing {{shown}} of {{total}} rows";
|
|
252
327
|
readonly importing: "Importing… {{progress}}%";
|
|
328
|
+
readonly asyncQueued: "Queued — preparing to import…";
|
|
329
|
+
readonly asyncProcessing: "Importing {{processed}} of {{total}} rows… {{progress}}%";
|
|
330
|
+
readonly asyncLargeHint: "This file is large, so it will be imported in the background.";
|
|
331
|
+
readonly largeSampleNotice: "Previewing the first {{shown}} of {{total}} rows.";
|
|
332
|
+
readonly cancelImport: "Cancel import";
|
|
333
|
+
readonly importCancelled: "Import cancelled";
|
|
334
|
+
readonly resultsTruncated: "Showing the first {{count}} row results (of {{total}}).";
|
|
253
335
|
readonly importComplete: "Import Complete";
|
|
254
336
|
readonly imported: "{{count}} imported";
|
|
337
|
+
readonly createdCount: "{{count}} created";
|
|
338
|
+
readonly updatedCount: "{{count}} updated";
|
|
255
339
|
readonly skippedCount: "{{count}} skipped";
|
|
256
340
|
readonly moreErrors: "…and {{count}} more errors";
|
|
341
|
+
readonly downloadFailed: "Download failed rows";
|
|
342
|
+
readonly options: "Import options";
|
|
343
|
+
readonly writeMode: "When a row matches an existing record";
|
|
344
|
+
readonly writeModeOpt: {
|
|
345
|
+
readonly insert: "Always create new";
|
|
346
|
+
readonly update: "Update existing (skip if no match)";
|
|
347
|
+
readonly upsert: "Update if matched, else create";
|
|
348
|
+
};
|
|
349
|
+
readonly matchFields: "Match on";
|
|
350
|
+
readonly matchFieldsPlaceholder: "Choose match field(s)…";
|
|
351
|
+
readonly matchFieldsHint: "Rows are matched to existing records by these field(s).";
|
|
352
|
+
readonly needMatchFields: "Select at least one field to match on.";
|
|
353
|
+
readonly matchOnlyField: "(match only)";
|
|
354
|
+
readonly optCreateOptions: "Keep unknown option values";
|
|
355
|
+
readonly optRunAutomations: "Run automations & triggers";
|
|
356
|
+
readonly optTreatHistorical: "Import as historical data";
|
|
357
|
+
readonly optTreatHistoricalHint: "(import completed records as-is — skip state-machine checks and keep their original timestamps & author instead of stamping now)";
|
|
358
|
+
readonly optSkipBlankKey: "Skip rows with a blank match value";
|
|
359
|
+
readonly optBackground: "Import in the background";
|
|
360
|
+
readonly optBackgroundHint: "(runs as an undoable job)";
|
|
361
|
+
readonly validate: "Validate data";
|
|
362
|
+
readonly validating: "Validating…";
|
|
363
|
+
readonly validateHint: "Check every row against the server before importing.";
|
|
364
|
+
readonly validatePassed: "All {{ok}} rows are valid.";
|
|
365
|
+
readonly validateFailed: "{{ok}} valid, {{errors}} with errors.";
|
|
366
|
+
readonly errorRowPrefix: "Row {{row}}: ";
|
|
367
|
+
readonly referenceNotFound: "No matching record for \"{{value}}\"";
|
|
368
|
+
readonly referenceAmbiguous: "\"{{value}}\" matches more than one record — use a unique value or the record id";
|
|
369
|
+
readonly invalidBoolean: "\"{{value}}\" is not a valid true/false value";
|
|
370
|
+
readonly invalidNumber: "\"{{value}}\" is not a valid number";
|
|
371
|
+
readonly invalidDate: "\"{{value}}\" is not a valid date";
|
|
372
|
+
readonly invalidOption: "\"{{value}}\" is not one of the allowed options";
|
|
373
|
+
readonly requiredValue: "This field is required";
|
|
374
|
+
readonly matchAmbiguous: "Matches more than one existing record — use a unique value or the record id";
|
|
375
|
+
readonly history: "History";
|
|
376
|
+
readonly historyBack: "Back to import";
|
|
377
|
+
readonly historyDescription: "Recent imports for this object.";
|
|
378
|
+
readonly historyHint: "Background import jobs, newest first.";
|
|
379
|
+
readonly historyRefresh: "Refresh";
|
|
380
|
+
readonly historyLoading: "Loading…";
|
|
381
|
+
readonly historyEmpty: "No imports yet.";
|
|
382
|
+
readonly historyUnsupported: "Import history isn’t available for this data source.";
|
|
383
|
+
readonly historyColStatus: "Status";
|
|
384
|
+
readonly historyColRows: "Rows";
|
|
385
|
+
readonly historyColResult: "Result";
|
|
386
|
+
readonly historyColTime: "When";
|
|
387
|
+
readonly errorCount: "{{count}} errors";
|
|
388
|
+
readonly undoImport: "Undo import";
|
|
389
|
+
readonly undoing: "Undoing…";
|
|
390
|
+
readonly undoConfirm: "Undo this import? Records it created will be deleted and records it updated will be restored to their previous values.";
|
|
391
|
+
readonly reverted: "Undone";
|
|
392
|
+
readonly jobStatus: {
|
|
393
|
+
readonly pending: "Pending";
|
|
394
|
+
readonly running: "Running";
|
|
395
|
+
readonly succeeded: "Succeeded";
|
|
396
|
+
readonly failed: "Failed";
|
|
397
|
+
readonly cancelled: "Cancelled";
|
|
398
|
+
};
|
|
257
399
|
readonly cancel: "Cancel";
|
|
258
400
|
readonly back: "Back";
|
|
259
401
|
readonly next: "Next";
|
|
260
402
|
readonly close: "Close";
|
|
261
403
|
readonly importNRows: "Import {{count}} Rows";
|
|
262
404
|
readonly importingProgress: "Importing…";
|
|
263
|
-
readonly requiredMark: "*";
|
|
264
405
|
readonly required: "Required";
|
|
265
406
|
readonly invalidType: "Invalid {{type}}";
|
|
266
407
|
readonly legacyReferenceBlocked: "Import blocked: {{fields}} are relation fields that need the server import route to resolve names into record IDs, and this connection doesn’t support it. Importing them as plain text would corrupt the data. Upgrade the backend/client, or unmap these columns and import them separately.";
|
|
408
|
+
readonly missingRequiredHint: "Can’t continue — required field(s) not mapped: {{fields}}. Add a matching column to your file, or go back and upload one that includes it.";
|
|
409
|
+
readonly legacyFallbackNotice: "Imported via a compatibility fallback: this connection doesn’t support the server import route, so values were saved as text without server-side type coercion. Upgrade the backend/client for full import support (type coercion and relation lookups).";
|
|
410
|
+
readonly notAllowed: "This object is not open for import.";
|
|
411
|
+
readonly requiredMark: "*";
|
|
267
412
|
};
|
|
268
413
|
readonly bulk: {
|
|
269
414
|
readonly confirmDefault: "This will apply to {{count}} record(s).";
|
|
270
415
|
readonly overLimit: "Selection ({{count}}) exceeds the action limit ({{limit}}). Reduce the selection to proceed.";
|
|
271
416
|
readonly affectedRecords: "Affected records ({{count}}):";
|
|
417
|
+
readonly skippedIneligible: "{{count}} selected record(s) are not eligible for this action and will be skipped.";
|
|
272
418
|
readonly rowFallback: "Row {{index}}";
|
|
273
419
|
readonly andMore: "… and {{count}} more";
|
|
274
420
|
readonly processed: "{{count}} / {{total}} processed";
|
|
@@ -313,6 +459,8 @@ declare const en: {
|
|
|
313
459
|
readonly filterRecords: "Filter Records";
|
|
314
460
|
readonly sort: "Sort";
|
|
315
461
|
readonly sortRecords: "Sort Records";
|
|
462
|
+
readonly sortByIdSuffix: "(by ID)";
|
|
463
|
+
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, add a formula field holding it.";
|
|
316
464
|
readonly group: "Group";
|
|
317
465
|
readonly groupBy: "Group By";
|
|
318
466
|
readonly export: "Export";
|
|
@@ -331,6 +479,12 @@ declare const en: {
|
|
|
331
479
|
readonly noMatchesMessage: "No records match your current filters or search. Try adjusting or clearing them.";
|
|
332
480
|
readonly loadErrorTitle: "Couldn’t load records";
|
|
333
481
|
readonly loadErrorMessage: "Something went wrong while loading this data. Check your connection and try again.";
|
|
482
|
+
readonly loadErrorForbiddenTitle: "You don’t have access";
|
|
483
|
+
readonly loadErrorForbiddenMessage: "You don’t have permission to view these records. Contact your administrator if you think you should have access.";
|
|
484
|
+
readonly loadErrorUnauthorizedTitle: "Sign in required";
|
|
485
|
+
readonly loadErrorUnauthorizedMessage: "Your session has expired or you are signed out. Sign in again to view these records.";
|
|
486
|
+
readonly loadErrorRejectedTitle: "This view’s query was rejected";
|
|
487
|
+
readonly loadErrorRejectedMessage: "The server could not process this view’s filter or query options. Clearing the filters usually fixes it; if the view is saved this way, an administrator needs to correct it.";
|
|
334
488
|
readonly retry: "Retry";
|
|
335
489
|
readonly managedBy: {
|
|
336
490
|
readonly system: {
|
|
@@ -382,6 +536,11 @@ declare const en: {
|
|
|
382
536
|
readonly title: "Managed by the platform";
|
|
383
537
|
readonly body: "Rows here are created automatically when actions run on the source record. The list below is a read-only monitoring surface — row-level actions (Approve, Recall, Resend, …) live on each row.";
|
|
384
538
|
};
|
|
539
|
+
readonly systemWritable: {
|
|
540
|
+
readonly short: "Platform schema";
|
|
541
|
+
readonly title: "Platform-defined, admin-writable";
|
|
542
|
+
readonly body: "This object's schema is defined by the platform, but its rows are yours to create and edit here. Who may write is governed by delegated administration and record-level security, not by this badge.";
|
|
543
|
+
};
|
|
385
544
|
readonly appendOnly: {
|
|
386
545
|
readonly short: "Read-only · Audit log";
|
|
387
546
|
readonly title: "Read-only historical record";
|
|
@@ -401,6 +560,7 @@ declare const en: {
|
|
|
401
560
|
readonly deleteColumn: "Delete column";
|
|
402
561
|
readonly noCards: "No cards";
|
|
403
562
|
readonly cardTitlePlaceholder: "Enter card title...";
|
|
563
|
+
readonly uncategorized: "Uncategorized";
|
|
404
564
|
};
|
|
405
565
|
readonly timeline: {
|
|
406
566
|
readonly bucket: {
|
|
@@ -469,14 +629,6 @@ declare const en: {
|
|
|
469
629
|
readonly removeDependency: "Remove dependency";
|
|
470
630
|
readonly noCandidates: "No available tasks";
|
|
471
631
|
readonly searchTasks: "Search tasks…";
|
|
472
|
-
readonly qrcode: "Mobile QR code";
|
|
473
|
-
};
|
|
474
|
-
readonly qr: {
|
|
475
|
-
readonly title: "Open on mobile";
|
|
476
|
-
readonly hint: "Scan with a phone to open the details";
|
|
477
|
-
readonly copy: "Copy link";
|
|
478
|
-
readonly copied: "Copied";
|
|
479
|
-
readonly close: "Close";
|
|
480
632
|
};
|
|
481
633
|
readonly delete: {
|
|
482
634
|
readonly title: "Delete this task?";
|
|
@@ -500,6 +652,14 @@ declare const en: {
|
|
|
500
652
|
readonly confirm: "Auto-reschedule";
|
|
501
653
|
readonly cancel: "Keep as is";
|
|
502
654
|
};
|
|
655
|
+
readonly autoScheduleDlg: {
|
|
656
|
+
readonly title: "Auto-schedule";
|
|
657
|
+
readonly body: "Shift {count} task(s) later to satisfy dependency links?";
|
|
658
|
+
readonly skipped: "{count} locked task(s) also violate links and were skipped.";
|
|
659
|
+
readonly confirm: "Apply";
|
|
660
|
+
readonly cancel: "Cancel";
|
|
661
|
+
readonly none: "All dependencies satisfied — nothing to reschedule.";
|
|
662
|
+
};
|
|
503
663
|
readonly resource: {
|
|
504
664
|
readonly header: "Resource";
|
|
505
665
|
readonly peak: "Peak";
|
|
@@ -552,9 +712,15 @@ declare const en: {
|
|
|
552
712
|
readonly editInlineHint: "Double-click to edit";
|
|
553
713
|
readonly lockedByApproval: "Locked for approval";
|
|
554
714
|
readonly lockedTooltip: "This record has a pending approval request; editing is locked";
|
|
715
|
+
readonly writeStrippedTitle: "Some fields were not saved";
|
|
716
|
+
readonly writeStrippedReadonly: "Read-only, so it was not saved: {{fields}}";
|
|
717
|
+
readonly writeStrippedByState: "Not editable in this record's current state, so it was not saved: {{fields}}";
|
|
718
|
+
readonly approvalPendingEditable: "In approval · editable";
|
|
719
|
+
readonly approvalPendingTooltip: "This record has a pending approval request; this step still allows editing";
|
|
555
720
|
readonly cancelApproval: "Recall approval";
|
|
556
721
|
readonly cancelApprovalInFlight: "Recalling…";
|
|
557
722
|
readonly cancelApprovalTooltip: "Recall the pending approval request to unlock this record";
|
|
723
|
+
readonly cancelApprovalTooltipUnlocked: "Recall the pending approval request";
|
|
558
724
|
readonly cancelApprovalFailed: "Failed to recall approval";
|
|
559
725
|
readonly cancelApprovalUnavailable: "Recalling approvals is not supported on this data source";
|
|
560
726
|
readonly linkCopied: "Link copied to clipboard";
|
|
@@ -634,6 +800,17 @@ declare const en: {
|
|
|
634
800
|
readonly attachmentCount: "{{count}} attachment";
|
|
635
801
|
readonly attachmentCountPlural: "{{count}} attachments";
|
|
636
802
|
readonly removeAttachment: "Remove attachment";
|
|
803
|
+
readonly attachments: "Attachments";
|
|
804
|
+
readonly uploadAttachment: "Upload";
|
|
805
|
+
readonly loadingAttachments: "Loading attachments…";
|
|
806
|
+
readonly noAttachments: "No attachments yet. Upload a file to get started.";
|
|
807
|
+
readonly downloadAttachment: "Download";
|
|
808
|
+
readonly deleteAttachment: "Delete attachment";
|
|
809
|
+
readonly attachmentDeleteDenied: "Only the uploader or someone who can edit this record may delete this attachment.";
|
|
810
|
+
readonly attachmentParentAccessDenied: "You don't have access to attach files to this record.";
|
|
811
|
+
readonly attachmentDownloadDenied: "You don't have access to download this attachment.";
|
|
812
|
+
readonly attachmentAuthRequired: "Please sign in to download this attachment.";
|
|
813
|
+
readonly attachmentPermissionDenied: "You don't have permission to do that.";
|
|
637
814
|
readonly unifiedDiff: "Unified diff";
|
|
638
815
|
readonly sideBySideDiff: "Side-by-side diff";
|
|
639
816
|
readonly noChanges: "No changes";
|
|
@@ -1049,6 +1226,7 @@ declare const en: {
|
|
|
1049
1226
|
readonly navTypeGroup: "Group";
|
|
1050
1227
|
readonly navTypeSeparator: "Separator";
|
|
1051
1228
|
readonly navTypeAction: "Action";
|
|
1229
|
+
readonly navTypeComponent: "Component";
|
|
1052
1230
|
readonly navEditIcon: "Edit icon";
|
|
1053
1231
|
readonly navToggleVisible: "Toggle visibility";
|
|
1054
1232
|
readonly navHidden: "Hidden";
|
|
@@ -1165,6 +1343,22 @@ declare const en: {
|
|
|
1165
1343
|
readonly dragToReorder: "Drag to reorder";
|
|
1166
1344
|
readonly favorites: "Favorites";
|
|
1167
1345
|
};
|
|
1346
|
+
readonly settingsHub: {
|
|
1347
|
+
readonly title: "Settings";
|
|
1348
|
+
readonly subtitle: "Configure your workspace, integrations, and feature flags.";
|
|
1349
|
+
readonly loadError: "Failed to load settings";
|
|
1350
|
+
readonly empty: "No settings registered. Plugins can register settings manifests via the SettingsService.";
|
|
1351
|
+
readonly settingsCount: "{{n}} settings";
|
|
1352
|
+
readonly beta: "Beta";
|
|
1353
|
+
readonly categories: {
|
|
1354
|
+
readonly Workspace: "Workspace";
|
|
1355
|
+
readonly Communication: "Communication";
|
|
1356
|
+
readonly Security: "Security";
|
|
1357
|
+
readonly Infrastructure: "Infrastructure";
|
|
1358
|
+
readonly Beta: "Beta";
|
|
1359
|
+
readonly Other: "Other";
|
|
1360
|
+
};
|
|
1361
|
+
};
|
|
1168
1362
|
readonly loadingSteps: {
|
|
1169
1363
|
readonly connecting: "Connecting to data source";
|
|
1170
1364
|
readonly loadingConfig: "Loading configuration";
|
|
@@ -1321,6 +1515,21 @@ declare const en: {
|
|
|
1321
1515
|
readonly planApproveMessage: "Looks good — build it as proposed.";
|
|
1322
1516
|
readonly planApproveDefaultsMessage: "Build it with your best assumptions; use sensible defaults for the open questions.";
|
|
1323
1517
|
readonly planAnswerMessage: "For \"{{question}}\", go with: {{option}}.";
|
|
1518
|
+
readonly changesTitle: "Confirm changes";
|
|
1519
|
+
readonly changesConfirmed: "Confirmed";
|
|
1520
|
+
readonly changesConfirm: "Confirm";
|
|
1521
|
+
readonly changesConfirmHint: "Reply to confirm or adjust this change.";
|
|
1522
|
+
readonly changesConfirmMessage: "Confirm — apply the change you just proposed.";
|
|
1523
|
+
readonly changeVerb: {
|
|
1524
|
+
readonly createObject: "Create object";
|
|
1525
|
+
readonly addField: "Add field";
|
|
1526
|
+
readonly modifyField: "Modify field";
|
|
1527
|
+
readonly deleteField: "Delete field";
|
|
1528
|
+
readonly createMetadata: "Create";
|
|
1529
|
+
readonly updateMetadata: "Modify";
|
|
1530
|
+
readonly createSeed: "Generate sample data";
|
|
1531
|
+
readonly createPackage: "Create app package";
|
|
1532
|
+
};
|
|
1324
1533
|
readonly justNow: "just now";
|
|
1325
1534
|
readonly minutesAgo: "{{count}}m ago";
|
|
1326
1535
|
readonly hoursAgo: "{{count}}h ago";
|
|
@@ -1382,14 +1591,16 @@ declare const en: {
|
|
|
1382
1591
|
readonly identityImport: {
|
|
1383
1592
|
readonly policyTitle: "Sign-in setup for imported users";
|
|
1384
1593
|
readonly policy: {
|
|
1385
|
-
readonly
|
|
1594
|
+
readonly auto: "Automatic (recommended)";
|
|
1386
1595
|
readonly invite: "Send invitations";
|
|
1387
1596
|
readonly temporary: "Temporary passwords";
|
|
1597
|
+
readonly none: "No password (identity only)";
|
|
1388
1598
|
};
|
|
1389
1599
|
readonly policyHint: {
|
|
1600
|
+
readonly auto: "Reachable users get an invitation (email or SMS); anyone we can't reach gets a one-time password, shown ONCE on the result screen. Works with or without an email/SMS service.";
|
|
1601
|
+
readonly invite: "Every created user gets a set-your-password email (or an invitation SMS for phone-only rows). Requires a configured email/SMS service — unreachable rows fail.";
|
|
1602
|
+
readonly temporary: "For deployments without email/SMS: every created user gets a one-time password, shown ONCE on the result screen. First sign-in forces a change.";
|
|
1390
1603
|
readonly none: "Users first sign in with a phone OTP, magic link, or password-reset link, then set their own password.";
|
|
1391
|
-
readonly invite: "Each created user gets a set-your-password email (or an invitation SMS for phone-only rows). Requires a configured email/SMS service.";
|
|
1392
|
-
readonly temporary: "For deployments without email/SMS: each created user gets a one-time password, shown ONCE on the result screen. First sign-in forces a change.";
|
|
1393
1604
|
};
|
|
1394
1605
|
readonly passwordsNote: "Temporary passwords — shown once, never stored. Save them now; each user must change theirs at first sign-in.";
|
|
1395
1606
|
readonly passwordsMore: "More entries omitted — use the download.";
|
|
@@ -1492,6 +1703,10 @@ declare const en: {
|
|
|
1492
1703
|
readonly parentField: "Parent field";
|
|
1493
1704
|
readonly parentFieldHelp: "The field pointing to the parent record (same object) that defines the hierarchy. Only self-referencing fields qualify.";
|
|
1494
1705
|
readonly newView: "New View";
|
|
1706
|
+
readonly viewName: "Name";
|
|
1707
|
+
readonly viewNameHelp: "Machine key (snake_case). Auto-filled from the title — edit if you like.";
|
|
1708
|
+
readonly viewNameRequired: "Enter a key (lowercase letters, numbers, underscore). Not auto-filled for non-Latin titles.";
|
|
1709
|
+
readonly viewNameInvalid: "Use lowercase letters, numbers and underscores; start with a letter or underscore.";
|
|
1495
1710
|
readonly typeOptions: "Type Options";
|
|
1496
1711
|
readonly groupByField: "Group by field";
|
|
1497
1712
|
readonly groupByFieldHelp: "The kanban groups records into columns by this field's values.";
|
|
@@ -1752,6 +1967,54 @@ declare const en: {
|
|
|
1752
1967
|
readonly shell: {
|
|
1753
1968
|
readonly tenantHostHint: "You are signing in to this workspace";
|
|
1754
1969
|
};
|
|
1970
|
+
readonly setPassword: {
|
|
1971
|
+
readonly title: "Set a recovery password";
|
|
1972
|
+
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.";
|
|
1973
|
+
readonly email: "Email";
|
|
1974
|
+
readonly newPassword: "New password";
|
|
1975
|
+
readonly confirmPassword: "Confirm password";
|
|
1976
|
+
readonly submit: "Set password";
|
|
1977
|
+
readonly submitting: "Saving…";
|
|
1978
|
+
readonly success: "Local password set";
|
|
1979
|
+
readonly failed: "Could not set password";
|
|
1980
|
+
readonly passwordsMismatch: "Passwords do not match";
|
|
1981
|
+
readonly noSession: "Your session has expired.";
|
|
1982
|
+
readonly backToSignIn: "Sign in again";
|
|
1983
|
+
};
|
|
1984
|
+
readonly layout: {
|
|
1985
|
+
readonly headline: "Build powerful business applications, faster.";
|
|
1986
|
+
readonly subhead: "The universal platform for enterprise data management, workflows, and analytics.";
|
|
1987
|
+
};
|
|
1988
|
+
readonly remediation: {
|
|
1989
|
+
readonly signOut: "Sign out instead";
|
|
1990
|
+
readonly password: {
|
|
1991
|
+
readonly title: "Your password has expired";
|
|
1992
|
+
readonly fallbackMessage: "Please set a new password to continue.";
|
|
1993
|
+
readonly current: "Current password";
|
|
1994
|
+
readonly next: "New password";
|
|
1995
|
+
readonly confirm: "Confirm new password";
|
|
1996
|
+
readonly submit: "Change password & continue";
|
|
1997
|
+
readonly submitting: "Updating…";
|
|
1998
|
+
readonly mismatch: "New passwords do not match.";
|
|
1999
|
+
readonly failed: "Could not change password.";
|
|
2000
|
+
};
|
|
2001
|
+
readonly mfa: {
|
|
2002
|
+
readonly title: "Set up two-factor authentication";
|
|
2003
|
+
readonly fallbackMessage: "Your organization requires an authenticator app to continue.";
|
|
2004
|
+
readonly confirmPassword: "Confirm your password";
|
|
2005
|
+
readonly continue: "Continue";
|
|
2006
|
+
readonly preparing: "Preparing…";
|
|
2007
|
+
readonly enrollFailed: "Could not start enrollment.";
|
|
2008
|
+
readonly scanTitle: "Scan with your authenticator";
|
|
2009
|
+
readonly scanBody: "Scan this QR code with Google Authenticator, 1Password, Authy, etc., then enter the 6-digit code.";
|
|
2010
|
+
readonly backupTitle: "Save your backup codes";
|
|
2011
|
+
readonly backupBody: "Store these somewhere safe — each can be used once if you lose your device.";
|
|
2012
|
+
readonly codeLabel: "6-digit code";
|
|
2013
|
+
readonly verify: "Verify & continue";
|
|
2014
|
+
readonly verifying: "Verifying…";
|
|
2015
|
+
readonly invalidCode: "Invalid code. Try again.";
|
|
2016
|
+
};
|
|
2017
|
+
};
|
|
1755
2018
|
};
|
|
1756
2019
|
readonly profile: {
|
|
1757
2020
|
readonly title: "Profile";
|
|
@@ -1847,6 +2110,7 @@ declare const en: {
|
|
|
1847
2110
|
readonly offline: "Offline";
|
|
1848
2111
|
readonly usersOnline: "Users currently online";
|
|
1849
2112
|
readonly switchView: "Switch view";
|
|
2113
|
+
readonly switchObject: "Switch Object";
|
|
1850
2114
|
readonly connection: {
|
|
1851
2115
|
readonly connected: "Connected";
|
|
1852
2116
|
readonly connecting: "Connecting...";
|
|
@@ -1865,6 +2129,14 @@ declare const en: {
|
|
|
1865
2129
|
readonly subtitle: "Your workspace dashboard";
|
|
1866
2130
|
readonly nav: "Home";
|
|
1867
2131
|
readonly allApps: "All Applications";
|
|
2132
|
+
readonly yourApps: "Your apps";
|
|
2133
|
+
readonly showMoreApps: "More";
|
|
2134
|
+
readonly showLess: "Show less";
|
|
2135
|
+
readonly continueEmpty: "Items you open will show up here.";
|
|
2136
|
+
readonly actionCenter: {
|
|
2137
|
+
readonly title: "Needs your attention";
|
|
2138
|
+
readonly empty: "You're all caught up";
|
|
2139
|
+
};
|
|
1868
2140
|
readonly greetingMorning: "Good morning";
|
|
1869
2141
|
readonly greetingAfternoon: "Good afternoon";
|
|
1870
2142
|
readonly greetingEvening: "Good evening";
|
|
@@ -2081,10 +2353,11 @@ declare const en: {
|
|
|
2081
2353
|
readonly description: "Please provide the required information to continue.";
|
|
2082
2354
|
readonly selectPlaceholder: "Select {{label}}";
|
|
2083
2355
|
readonly requiredError: "{{label}} is required";
|
|
2084
|
-
readonly lookupPlaceholder: "
|
|
2085
|
-
readonly lookupHelpText: "
|
|
2356
|
+
readonly lookupPlaceholder: "Record id for {{label}}";
|
|
2357
|
+
readonly lookupHelpText: "No reference object is configured for this parameter, so the record picker is unavailable. Enter a record id, or ask an administrator to fix the action parameter.";
|
|
2086
2358
|
readonly cancel: "Cancel";
|
|
2087
2359
|
readonly confirm: "Confirm";
|
|
2360
|
+
readonly uploading: "Uploading…";
|
|
2088
2361
|
readonly defaultActionTitle: "Action";
|
|
2089
2362
|
readonly ok: "OK";
|
|
2090
2363
|
};
|
|
@@ -2168,6 +2441,10 @@ declare const en: {
|
|
|
2168
2441
|
readonly filterAll: "All";
|
|
2169
2442
|
readonly markAllRead: "Mark all read";
|
|
2170
2443
|
readonly viewAll: "View all notifications";
|
|
2444
|
+
readonly groupCount: "{{count}} notifications";
|
|
2445
|
+
readonly groupUnread: "{{count}} unread";
|
|
2446
|
+
readonly groupMarkRead: "Mark read";
|
|
2447
|
+
readonly groupMarkReadTitle: "Mark all of this type read";
|
|
2171
2448
|
readonly approvalsPending: "{{count}} pending approvals";
|
|
2172
2449
|
readonly viewApprovals: "View approvals";
|
|
2173
2450
|
readonly noPendingApprovals: "No pending approvals";
|
|
@@ -2280,6 +2557,93 @@ declare const en: {
|
|
|
2280
2557
|
readonly done: "Done — hide it";
|
|
2281
2558
|
};
|
|
2282
2559
|
};
|
|
2560
|
+
readonly excelImport: {
|
|
2561
|
+
readonly noImportableFields: "That object has no importable fields.";
|
|
2562
|
+
readonly schemaReadFailed: "Could not read the object schema.";
|
|
2563
|
+
readonly imported: "Imported {{count}} row(s) into {{object}}.";
|
|
2564
|
+
readonly importFrom: "Import the real rows from";
|
|
2565
|
+
readonly into: "into";
|
|
2566
|
+
readonly opening: "Opening…";
|
|
2567
|
+
readonly importAction: "Import";
|
|
2568
|
+
readonly dismiss: "Dismiss";
|
|
2569
|
+
};
|
|
2570
|
+
readonly cloudOnboarding: {
|
|
2571
|
+
readonly hintCreate: "Spin up your first environment — a private workspace with its own URL, database, and plan. Building happens inside it.";
|
|
2572
|
+
readonly hintReady: "Your production environment is ready. Open it to build and run your apps — that all happens inside the environment.";
|
|
2573
|
+
readonly createEnvironment: "Create your environment";
|
|
2574
|
+
readonly openProduction: "Open Production";
|
|
2575
|
+
readonly manageEnvironments: "Manage environments";
|
|
2576
|
+
};
|
|
2577
|
+
readonly aiModelStatus: {
|
|
2578
|
+
readonly summary: "Build / Ask uses {{conversational}} ({{conversationalSource}}); structured uses {{structured}} ({{structuredSource}}).";
|
|
2579
|
+
readonly summaryRouting: "Routing policy: free plans → {{free}}, paid plans → {{paid}}.";
|
|
2580
|
+
readonly modelUnknown: "unknown";
|
|
2581
|
+
readonly sourceUnknown: "not reported by the adapter";
|
|
2582
|
+
readonly rowConversational: "Build / Ask model";
|
|
2583
|
+
readonly rowStructured: "Structured (blueprint / seed)";
|
|
2584
|
+
readonly rowReasoning: "Reasoning effort";
|
|
2585
|
+
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.";
|
|
2586
|
+
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.";
|
|
2587
|
+
readonly overridesInEffect: "Overrides in effect: ";
|
|
2588
|
+
readonly noOverrides: "none — running the deployed code defaults.";
|
|
2589
|
+
readonly adapter: "Adapter: ";
|
|
2590
|
+
readonly sourceCodeDefault: "code default (no env override)";
|
|
2591
|
+
readonly sourceInherits: "same as build/ask";
|
|
2592
|
+
readonly sourcePinned: "pinned by {{source}}";
|
|
2593
|
+
};
|
|
2594
|
+
readonly chatbotError: {
|
|
2595
|
+
readonly title: "Response failed";
|
|
2596
|
+
readonly fallbackDetail: "Something went wrong. Please try again.";
|
|
2597
|
+
readonly details: "Details";
|
|
2598
|
+
readonly hide: "Hide";
|
|
2599
|
+
readonly retry: "Retry";
|
|
2600
|
+
};
|
|
2601
|
+
readonly chatbotQuota: {
|
|
2602
|
+
readonly title: "Upgrade needed";
|
|
2603
|
+
readonly fallbackMessage: "You have reached your AI quota.";
|
|
2604
|
+
readonly buyCredits: "Buy a credit pack";
|
|
2605
|
+
readonly upgradePlan: "Upgrade plan";
|
|
2606
|
+
};
|
|
2607
|
+
readonly environment: {
|
|
2608
|
+
readonly addEnvironment: "Add environment";
|
|
2609
|
+
readonly setUpProduction: "Set up your production environment";
|
|
2610
|
+
readonly addDevelopment: "Add development environment";
|
|
2611
|
+
};
|
|
2612
|
+
readonly cloudConnection: {
|
|
2613
|
+
readonly checking: "Checking connection…";
|
|
2614
|
+
readonly retry: "Try again";
|
|
2615
|
+
readonly errors: {
|
|
2616
|
+
readonly expired: "The request expired before it was approved. Start again.";
|
|
2617
|
+
readonly bindFailed: "Binding failed.";
|
|
2618
|
+
readonly deviceCodeFailed: "Device code request failed.";
|
|
2619
|
+
};
|
|
2620
|
+
readonly waiting: {
|
|
2621
|
+
readonly popupOpened: "Approve the connection in the window that just opened — this page updates by itself.";
|
|
2622
|
+
readonly polling: "Waiting for approval in the cloud console…";
|
|
2623
|
+
readonly openApproval: "Open the approval page";
|
|
2624
|
+
readonly copy: "Copy";
|
|
2625
|
+
readonly copied: "Copied";
|
|
2626
|
+
readonly codePrefilled: "The code is pre-filled on the approval page.";
|
|
2627
|
+
readonly openItHere: "Window did not appear? Open it here";
|
|
2628
|
+
readonly cancel: "Cancel";
|
|
2629
|
+
};
|
|
2630
|
+
readonly bound: {
|
|
2631
|
+
readonly title: "Connected to ObjectStack Cloud";
|
|
2632
|
+
readonly runtime: "Runtime";
|
|
2633
|
+
readonly organization: "Organization";
|
|
2634
|
+
readonly approvedBy: "Approved by";
|
|
2635
|
+
readonly runtimeId: "Runtime ID";
|
|
2636
|
+
readonly environment: "Environment";
|
|
2637
|
+
readonly since: "Since";
|
|
2638
|
+
readonly privatePackages: "Your organization's private packages now appear in the Marketplace under “Your organization”.";
|
|
2639
|
+
readonly disconnect: "Disconnect";
|
|
2640
|
+
};
|
|
2641
|
+
readonly unbound: {
|
|
2642
|
+
readonly title: "Not connected";
|
|
2643
|
+
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.";
|
|
2644
|
+
readonly connect: "Connect";
|
|
2645
|
+
};
|
|
2646
|
+
};
|
|
2283
2647
|
readonly marketplace: {
|
|
2284
2648
|
readonly title: "App Marketplace";
|
|
2285
2649
|
readonly subtitle: "Browse approved apps published to the ObjectStack catalog. Click an app to view details and install it into one of your environments.";
|
|
@@ -2412,6 +2776,14 @@ declare const en: {
|
|
|
2412
2776
|
readonly yearsAgo: "{{count}}y ago";
|
|
2413
2777
|
};
|
|
2414
2778
|
};
|
|
2779
|
+
readonly approvals: {
|
|
2780
|
+
readonly approve: "Approve";
|
|
2781
|
+
readonly reject: "Reject";
|
|
2782
|
+
readonly comment: "Comment (optional)";
|
|
2783
|
+
readonly approveSuccess: "Approved";
|
|
2784
|
+
readonly rejectSuccess: "Rejected";
|
|
2785
|
+
readonly rejectConfirm: "Reject this approval request?";
|
|
2786
|
+
};
|
|
2415
2787
|
readonly approvalsInbox: {
|
|
2416
2788
|
readonly loadMore: "Load more";
|
|
2417
2789
|
readonly loadingMore: "Loading…";
|
|
@@ -2436,13 +2808,28 @@ declare const en: {
|
|
|
2436
2808
|
readonly slaRemaining: "SLA {{dur}} left";
|
|
2437
2809
|
readonly slaOverdue: "SLA overdue {{dur}}";
|
|
2438
2810
|
readonly actReassign: "Reassigned";
|
|
2811
|
+
readonly reassignFromTo: "from {{from}} to {{to}}";
|
|
2439
2812
|
readonly actRemind: "Reminder sent";
|
|
2440
2813
|
readonly actRequestInfo: "Requested more info";
|
|
2441
2814
|
readonly actComment: "Commented";
|
|
2442
2815
|
readonly stepProgress: "Approval steps";
|
|
2443
2816
|
readonly prevRequest: "Previous";
|
|
2444
2817
|
readonly nextRequest: "Next";
|
|
2445
|
-
readonly positionOf: "{{index}} of {{total}}";
|
|
2818
|
+
readonly positionOf: "Request {{index}} of {{total}}";
|
|
2819
|
+
readonly progressApprovals: "Approvals — {{got}} of {{need}}";
|
|
2820
|
+
readonly progressGroups: "Sign-off progress — {{got}} of {{need}} groups";
|
|
2821
|
+
readonly progressEligible: "{{count}} eligible approver(s)";
|
|
2822
|
+
readonly progressBar: "Decision progress";
|
|
2823
|
+
readonly declaredActions: "Actions";
|
|
2824
|
+
readonly attachmentChip: "Attachment";
|
|
2825
|
+
readonly attachmentOpenFailed: "Could not open the attachment — please try again";
|
|
2826
|
+
readonly approveOneTitle: "Approve \"{{title}}\"?";
|
|
2827
|
+
readonly approveOneBody: "This approves the request with your identity. To add a comment or attachment, open the request instead.";
|
|
2828
|
+
readonly flowOrigin: "Flow-initiated";
|
|
2829
|
+
readonly sortBy: "Sort";
|
|
2830
|
+
readonly sortRecent: "Newest first";
|
|
2831
|
+
readonly sortOldest: "Oldest first";
|
|
2832
|
+
readonly sortAmount: "Amount (high→low)";
|
|
2446
2833
|
readonly quickPhrase1: "Approved — meets requirements.";
|
|
2447
2834
|
readonly quickPhrase2: "Approved with conditions — please monitor execution.";
|
|
2448
2835
|
readonly quickPhrase3: "Please add supporting material and resubmit.";
|