@object-ui/i18n 5.1.1 → 5.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +93 -0
- package/dist/locales/ar.d.ts +7 -0
- package/dist/locales/ar.js +7 -0
- package/dist/locales/de.d.ts +7 -0
- package/dist/locales/de.js +7 -0
- package/dist/locales/en.d.ts +17 -0
- package/dist/locales/en.js +17 -0
- package/dist/locales/es.d.ts +7 -0
- package/dist/locales/es.js +7 -0
- package/dist/locales/fr.d.ts +7 -0
- package/dist/locales/fr.js +7 -0
- package/dist/locales/index.d.ts +90 -0
- package/dist/locales/ja.d.ts +7 -0
- package/dist/locales/ja.js +7 -0
- package/dist/locales/ko.d.ts +7 -0
- package/dist/locales/ko.js +7 -0
- package/dist/locales/pt.d.ts +7 -0
- package/dist/locales/pt.js +7 -0
- package/dist/locales/ru.d.ts +7 -0
- package/dist/locales/ru.js +7 -0
- package/dist/locales/zh.d.ts +17 -0
- package/dist/locales/zh.js +17 -0
- package/dist/utils/formatting.d.ts +3 -1
- package/dist/utils/formatting.js +10 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,98 @@
|
|
|
1
1
|
# @object-ui/i18n
|
|
2
2
|
|
|
3
|
+
## 5.2.1
|
|
4
|
+
|
|
5
|
+
## 5.2.0
|
|
6
|
+
|
|
7
|
+
### Minor Changes
|
|
8
|
+
|
|
9
|
+
- b2d1704: feat(cmdk): record search across objects in the Command Palette
|
|
10
|
+
- New `useRecordSearch` hook in `@object-ui/react` debounces a query, fans out
|
|
11
|
+
to `dataSource.find(name, { $search, $top })` across candidate objects, and
|
|
12
|
+
aggregates hits. Race-safe via a monotonic runId; per-object 404s are
|
|
13
|
+
silently dropped via `Promise.allSettled`.
|
|
14
|
+
- `CommandPalette` (`@object-ui/app-shell`) now accepts a `dataSource` prop;
|
|
15
|
+
when supplied, the palette renders a `Records` group at the top with hits
|
|
16
|
+
scoped to the active app's nav objects. Item `value` embeds the live query
|
|
17
|
+
so cmdk's client-side filter doesn't hide async results.
|
|
18
|
+
- Added `console.commandPalette.records` i18n key (`Records` / `记录`).
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- 321294c: Cmd-K now shows recently viewed records in its empty state, sourced
|
|
23
|
+
from the existing cloud-synced `sys_user_preference` adapter (already
|
|
24
|
+
wired by `RecentItemsProvider` + `useTrackRouteAsRecent` +
|
|
25
|
+
`RecordDetailView`). Multi-device by construction: open a record on
|
|
26
|
+
laptop, see it in `⌘K → Recently viewed` on phone.
|
|
27
|
+
- Group renders only when input is empty (no competition with search).
|
|
28
|
+
- Limited to the 5 most recent record-type entries.
|
|
29
|
+
- New i18n key `console.commandPalette.recentRecords` (en + zh seeded;
|
|
30
|
+
other locales fall back to `defaultValue: "Recently viewed"`).
|
|
31
|
+
|
|
32
|
+
- 0a644f0: feat(app-shell): CommandPalette searching indicator
|
|
33
|
+
|
|
34
|
+
When `useRecordSearch` is mid-flight (debounced fetch across objects
|
|
35
|
+
hasn't returned yet), the palette now surfaces a subtle visual:
|
|
36
|
+
- A small pulsing primary-coloured dot next to the **Records** group
|
|
37
|
+
heading, so the user sees that more results may still appear.
|
|
38
|
+
- A `Searching…` placeholder inside the empty state when the user has
|
|
39
|
+
typed something but no hits exist yet — replaces the static
|
|
40
|
+
"No results found." message until the request settles.
|
|
41
|
+
|
|
42
|
+
New i18n key `console.commandPalette.searching` (en + zh).
|
|
43
|
+
|
|
44
|
+
- a3cb88f: CRM UX polish batch:
|
|
45
|
+
- Kanban columns: drop the per-column rainbow top stripe. Lane border + header divider are sufficient; cards are now the loudest thing on screen (Linear / HubSpot pattern).
|
|
46
|
+
- Stage chevron (`record:path`): bump completed-stage contrast (emerald-800 text on emerald-500/15, was 700 on /10) and future-stage text from `foreground/70` to `foreground/85` for legibility.
|
|
47
|
+
- i18n: add `notifications.emptyUnread`, `notifications.filterUnread`, `notifications.filterAll` (en + zh) so the InboxPopover Unread/All sub-filter renders in the active locale.
|
|
48
|
+
- 5425608: CRM UX polish pass — calmer enterprise look across detail + kanban.
|
|
49
|
+
- **plugin-kanban**: column headers now use a 2px muted accent stripe with
|
|
50
|
+
neutral foreground titles + a quiet grey count pill instead of full
|
|
51
|
+
rainbow gradient + colored title + colored count. Pipeline boards
|
|
52
|
+
(Opportunity, Case, Task, Lead) look like Salesforce/Linear instead of
|
|
53
|
+
a toy. WIP-limit overflow remains destructive-red so urgency stays loud.
|
|
54
|
+
- **plugin-detail (`record:reference_rail`)**: new `hideEmpty` prop
|
|
55
|
+
(default true) collapses entries whose total === 0 into a single
|
|
56
|
+
`+ N empty (Quotes · Products …)` chip at the bottom of the rail.
|
|
57
|
+
Removes the 4–7 "No records" stack that dominated the aside.
|
|
58
|
+
- **plugin-detail (`record:path`)**: completed stages now render with an
|
|
59
|
+
emerald-tinted background + bold green check instead of low-contrast
|
|
60
|
+
`bg-muted text-muted-foreground` (which read as "light grey on white"
|
|
61
|
+
and was borderline unreadable).
|
|
62
|
+
- **app-shell (`RecordDetailView`)**: record-not-found short-circuit.
|
|
63
|
+
Previously a stale/missing recordId still rendered the page chrome
|
|
64
|
+
(rail, discussion, breadcrumb with the raw id), making invalid links
|
|
65
|
+
look like a partially broken page. Now renders a clean centered
|
|
66
|
+
`Empty` state with database icon + i18n'd "Record not found" copy.
|
|
67
|
+
- **i18n**: added `detail.showEmptyRelated_{one,other}` and
|
|
68
|
+
`empty.recordNotFound{,Description}` keys (en + zh).
|
|
69
|
+
|
|
70
|
+
- e919433: Stop silently assuming USD when a currency field has no `currency`
|
|
71
|
+
configured. For non-USD orgs (e.g. a CNY-based CRM seeded without an
|
|
72
|
+
explicit currency) the cells now render as plain locale-formatted
|
|
73
|
+
numbers (`150,000.00`) instead of `$150,000.00` — which was the #1
|
|
74
|
+
"why is my RMB showing as dollars?" bug.
|
|
75
|
+
|
|
76
|
+
Behavior change is opt-in via omission: when `currency` /
|
|
77
|
+
`defaultCurrency` is set on the field/column, formatting is unchanged.
|
|
78
|
+
|
|
79
|
+
Fixed call sites:
|
|
80
|
+
- `@object-ui/fields`: `formatCurrency`, `formatCompactCurrency`, and
|
|
81
|
+
`CurrencyCellRenderer` no longer default-param `'USD'`.
|
|
82
|
+
- `@object-ui/i18n`: `formatCurrency()` falls back to `formatNumber`
|
|
83
|
+
semantics when `currency` is omitted.
|
|
84
|
+
- `@object-ui/plugin-grid`: column-summary formatter (`Sum: 5,000,000`
|
|
85
|
+
instead of `Sum: $5,000,000.00`).
|
|
86
|
+
- `@object-ui/plugin-detail`: header-highlight currency formatter.
|
|
87
|
+
- `@object-ui/plugin-dashboard`: `ObjectMetricWidget` inferred
|
|
88
|
+
currency now resolves to `undefined` (not `'USD'`) for un-tagged
|
|
89
|
+
fields, so `MetricWidget`'s `isCurrency` heuristic falls through
|
|
90
|
+
to plain number formatting.
|
|
91
|
+
|
|
92
|
+
- d9c3bae: `RichTextField` now translates its inline hints (`Format: markdown`,
|
|
93
|
+
`Rich text editor (basic)`, `Enter text...`) instead of hardcoding
|
|
94
|
+
English. Adds `fields.richText.*` keys to the en / zh locale packs.
|
|
95
|
+
|
|
3
96
|
## 5.1.1
|
|
4
97
|
|
|
5
98
|
## 5.1.0
|
package/dist/locales/ar.d.ts
CHANGED
|
@@ -68,6 +68,13 @@ declare const ar: {
|
|
|
68
68
|
readonly editDescription: "تحديث تفاصيل {{object}}";
|
|
69
69
|
readonly saveRecord: "حفظ السجل";
|
|
70
70
|
};
|
|
71
|
+
readonly fields: {
|
|
72
|
+
readonly richText: {
|
|
73
|
+
readonly format: "Format: {{format}}";
|
|
74
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
75
|
+
readonly placeholder: "Enter text...";
|
|
76
|
+
};
|
|
77
|
+
};
|
|
71
78
|
readonly table: {
|
|
72
79
|
readonly rowsPerPage: "صفوف في الصفحة";
|
|
73
80
|
readonly showing: "عرض {{from}} إلى {{to}} من {{total}}";
|
package/dist/locales/ar.js
CHANGED
|
@@ -68,6 +68,13 @@ const ar = {
|
|
|
68
68
|
editDescription: 'تحديث تفاصيل {{object}}',
|
|
69
69
|
saveRecord: 'حفظ السجل',
|
|
70
70
|
},
|
|
71
|
+
fields: {
|
|
72
|
+
richText: {
|
|
73
|
+
format: 'Format: {{format}}',
|
|
74
|
+
basicEditorHint: 'Rich text editor (basic)',
|
|
75
|
+
placeholder: 'Enter text...',
|
|
76
|
+
},
|
|
77
|
+
},
|
|
71
78
|
table: {
|
|
72
79
|
rowsPerPage: 'صفوف في الصفحة',
|
|
73
80
|
showing: 'عرض {{from}} إلى {{to}} من {{total}}',
|
package/dist/locales/de.d.ts
CHANGED
|
@@ -67,6 +67,13 @@ declare const de: {
|
|
|
67
67
|
readonly editDescription: "Details für {{object}} aktualisieren";
|
|
68
68
|
readonly saveRecord: "Datensatz speichern";
|
|
69
69
|
};
|
|
70
|
+
readonly fields: {
|
|
71
|
+
readonly richText: {
|
|
72
|
+
readonly format: "Format: {{format}}";
|
|
73
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
74
|
+
readonly placeholder: "Enter text...";
|
|
75
|
+
};
|
|
76
|
+
};
|
|
70
77
|
readonly table: {
|
|
71
78
|
readonly rowsPerPage: "Zeilen pro Seite";
|
|
72
79
|
readonly showing: "{{from}} bis {{to}} von {{total}} angezeigt";
|
package/dist/locales/de.js
CHANGED
|
@@ -67,6 +67,13 @@ const de = {
|
|
|
67
67
|
editDescription: 'Details für {{object}} aktualisieren',
|
|
68
68
|
saveRecord: 'Datensatz speichern',
|
|
69
69
|
},
|
|
70
|
+
fields: {
|
|
71
|
+
richText: {
|
|
72
|
+
format: 'Format: {{format}}',
|
|
73
|
+
basicEditorHint: 'Rich text editor (basic)',
|
|
74
|
+
placeholder: 'Enter text...',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
70
77
|
table: {
|
|
71
78
|
rowsPerPage: 'Zeilen pro Seite',
|
|
72
79
|
showing: '{{from}} bis {{to}} von {{total}} angezeigt',
|
package/dist/locales/en.d.ts
CHANGED
|
@@ -72,6 +72,13 @@ declare const en: {
|
|
|
72
72
|
readonly updateSuccess: "{{object}} updated successfully";
|
|
73
73
|
readonly deleteSuccess: "{{object}} deleted successfully";
|
|
74
74
|
};
|
|
75
|
+
readonly fields: {
|
|
76
|
+
readonly richText: {
|
|
77
|
+
readonly format: "Format: {{format}}";
|
|
78
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
79
|
+
readonly placeholder: "Enter text...";
|
|
80
|
+
};
|
|
81
|
+
};
|
|
75
82
|
readonly table: {
|
|
76
83
|
readonly rowsPerPage: "Rows per page";
|
|
77
84
|
readonly showing: "Showing {{from}} to {{to}} of {{total}}";
|
|
@@ -399,6 +406,8 @@ declare const en: {
|
|
|
399
406
|
readonly nextRecordKey: "Next record (→)";
|
|
400
407
|
readonly lastRecord: "Last record (End)";
|
|
401
408
|
readonly noRecords: "No records";
|
|
409
|
+
readonly showEmptyRelated_one: "+ {{count}} empty";
|
|
410
|
+
readonly showEmptyRelated_other: "+ {{count}} empty";
|
|
402
411
|
readonly searchWhileNavigating: "Search while navigating";
|
|
403
412
|
readonly searchRecords: "Search records…";
|
|
404
413
|
readonly allActivity: "All Activity";
|
|
@@ -907,6 +916,9 @@ declare const en: {
|
|
|
907
916
|
readonly commandPalette: {
|
|
908
917
|
readonly placeholder: "Type a command or search...";
|
|
909
918
|
readonly noResults: "No results found.";
|
|
919
|
+
readonly searching: "Searching…";
|
|
920
|
+
readonly records: "Records";
|
|
921
|
+
readonly recentRecords: "Recently viewed";
|
|
910
922
|
readonly objects: "Objects";
|
|
911
923
|
readonly dashboards: "Dashboards";
|
|
912
924
|
readonly pages: "Pages";
|
|
@@ -1333,6 +1345,8 @@ declare const en: {
|
|
|
1333
1345
|
readonly empty: {
|
|
1334
1346
|
readonly objectNotFound: "Object Not Found";
|
|
1335
1347
|
readonly objectNotFoundDescription: "Object \"{{name}}\" definition missing. Check your configuration or navigate back to select a valid object.";
|
|
1348
|
+
readonly recordNotFound: "Record not found";
|
|
1349
|
+
readonly recordNotFoundDescription: "The record you are looking for does not exist or may have been deleted.";
|
|
1336
1350
|
readonly pageNotFound: "Page Not Found";
|
|
1337
1351
|
readonly pageNotFoundDescription: "The page \"{{name}}\" could not be found. It may have been removed or renamed.";
|
|
1338
1352
|
readonly dashboardNotFound: "Dashboard Not Found";
|
|
@@ -1438,6 +1452,9 @@ declare const en: {
|
|
|
1438
1452
|
};
|
|
1439
1453
|
readonly notifications: {
|
|
1440
1454
|
readonly empty: "No notifications";
|
|
1455
|
+
readonly emptyUnread: "You're all caught up";
|
|
1456
|
+
readonly filterUnread: "Unread";
|
|
1457
|
+
readonly filterAll: "All";
|
|
1441
1458
|
readonly markAllRead: "Mark all read";
|
|
1442
1459
|
readonly viewAll: "View all notifications";
|
|
1443
1460
|
readonly approvalsPending: "{{count}} pending approvals";
|
package/dist/locales/en.js
CHANGED
|
@@ -72,6 +72,13 @@ const en = {
|
|
|
72
72
|
updateSuccess: '{{object}} updated successfully',
|
|
73
73
|
deleteSuccess: '{{object}} deleted successfully',
|
|
74
74
|
},
|
|
75
|
+
fields: {
|
|
76
|
+
richText: {
|
|
77
|
+
format: 'Format: {{format}}',
|
|
78
|
+
basicEditorHint: 'Rich text editor (basic)',
|
|
79
|
+
placeholder: 'Enter text...',
|
|
80
|
+
},
|
|
81
|
+
},
|
|
75
82
|
table: {
|
|
76
83
|
rowsPerPage: 'Rows per page',
|
|
77
84
|
showing: 'Showing {{from}} to {{to}} of {{total}}',
|
|
@@ -408,6 +415,8 @@ const en = {
|
|
|
408
415
|
nextRecordKey: 'Next record (→)',
|
|
409
416
|
lastRecord: 'Last record (End)',
|
|
410
417
|
noRecords: 'No records',
|
|
418
|
+
showEmptyRelated_one: '+ {{count}} empty',
|
|
419
|
+
showEmptyRelated_other: '+ {{count}} empty',
|
|
411
420
|
searchWhileNavigating: 'Search while navigating',
|
|
412
421
|
searchRecords: 'Search records…',
|
|
413
422
|
// Activity timeline
|
|
@@ -919,6 +928,9 @@ const en = {
|
|
|
919
928
|
commandPalette: {
|
|
920
929
|
placeholder: 'Type a command or search...',
|
|
921
930
|
noResults: 'No results found.',
|
|
931
|
+
searching: 'Searching…',
|
|
932
|
+
records: 'Records',
|
|
933
|
+
recentRecords: 'Recently viewed',
|
|
922
934
|
objects: 'Objects',
|
|
923
935
|
dashboards: 'Dashboards',
|
|
924
936
|
pages: 'Pages',
|
|
@@ -1345,6 +1357,8 @@ const en = {
|
|
|
1345
1357
|
empty: {
|
|
1346
1358
|
objectNotFound: 'Object Not Found',
|
|
1347
1359
|
objectNotFoundDescription: 'Object "{{name}}" definition missing. Check your configuration or navigate back to select a valid object.',
|
|
1360
|
+
recordNotFound: 'Record not found',
|
|
1361
|
+
recordNotFoundDescription: 'The record you are looking for does not exist or may have been deleted.',
|
|
1348
1362
|
pageNotFound: 'Page Not Found',
|
|
1349
1363
|
pageNotFoundDescription: 'The page "{{name}}" could not be found. It may have been removed or renamed.',
|
|
1350
1364
|
dashboardNotFound: 'Dashboard Not Found',
|
|
@@ -1450,6 +1464,9 @@ const en = {
|
|
|
1450
1464
|
},
|
|
1451
1465
|
notifications: {
|
|
1452
1466
|
empty: 'No notifications',
|
|
1467
|
+
emptyUnread: "You're all caught up",
|
|
1468
|
+
filterUnread: 'Unread',
|
|
1469
|
+
filterAll: 'All',
|
|
1453
1470
|
markAllRead: 'Mark all read',
|
|
1454
1471
|
viewAll: 'View all notifications',
|
|
1455
1472
|
approvalsPending: '{{count}} pending approvals',
|
package/dist/locales/es.d.ts
CHANGED
|
@@ -67,6 +67,13 @@ declare const es: {
|
|
|
67
67
|
readonly editDescription: "Actualizar detalles de {{object}}";
|
|
68
68
|
readonly saveRecord: "Guardar registro";
|
|
69
69
|
};
|
|
70
|
+
readonly fields: {
|
|
71
|
+
readonly richText: {
|
|
72
|
+
readonly format: "Format: {{format}}";
|
|
73
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
74
|
+
readonly placeholder: "Enter text...";
|
|
75
|
+
};
|
|
76
|
+
};
|
|
70
77
|
readonly table: {
|
|
71
78
|
readonly rowsPerPage: "Filas por página";
|
|
72
79
|
readonly showing: "Mostrando {{from}} a {{to}} de {{total}}";
|
package/dist/locales/es.js
CHANGED
|
@@ -67,6 +67,13 @@ const es = {
|
|
|
67
67
|
editDescription: 'Actualizar detalles de {{object}}',
|
|
68
68
|
saveRecord: 'Guardar registro',
|
|
69
69
|
},
|
|
70
|
+
fields: {
|
|
71
|
+
richText: {
|
|
72
|
+
format: 'Format: {{format}}',
|
|
73
|
+
basicEditorHint: 'Rich text editor (basic)',
|
|
74
|
+
placeholder: 'Enter text...',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
70
77
|
table: {
|
|
71
78
|
rowsPerPage: 'Filas por página',
|
|
72
79
|
showing: 'Mostrando {{from}} a {{to}} de {{total}}',
|
package/dist/locales/fr.d.ts
CHANGED
|
@@ -67,6 +67,13 @@ declare const fr: {
|
|
|
67
67
|
readonly editDescription: "Mettre à jour les détails de {{object}}";
|
|
68
68
|
readonly saveRecord: "Enregistrer";
|
|
69
69
|
};
|
|
70
|
+
readonly fields: {
|
|
71
|
+
readonly richText: {
|
|
72
|
+
readonly format: "Format: {{format}}";
|
|
73
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
74
|
+
readonly placeholder: "Enter text...";
|
|
75
|
+
};
|
|
76
|
+
};
|
|
70
77
|
readonly table: {
|
|
71
78
|
readonly rowsPerPage: "Lignes par page";
|
|
72
79
|
readonly showing: "Affichage de {{from}} à {{to}} sur {{total}}";
|
package/dist/locales/fr.js
CHANGED
|
@@ -67,6 +67,13 @@ const fr = {
|
|
|
67
67
|
editDescription: 'Mettre à jour les détails de {{object}}',
|
|
68
68
|
saveRecord: 'Enregistrer',
|
|
69
69
|
},
|
|
70
|
+
fields: {
|
|
71
|
+
richText: {
|
|
72
|
+
format: 'Format: {{format}}',
|
|
73
|
+
basicEditorHint: 'Rich text editor (basic)',
|
|
74
|
+
placeholder: 'Enter text...',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
70
77
|
table: {
|
|
71
78
|
rowsPerPage: 'Lignes par page',
|
|
72
79
|
showing: 'Affichage de {{from}} à {{to}} sur {{total}}',
|
package/dist/locales/index.d.ts
CHANGED
|
@@ -84,6 +84,13 @@ export declare const builtInLocales: {
|
|
|
84
84
|
readonly updateSuccess: "{{object}} updated successfully";
|
|
85
85
|
readonly deleteSuccess: "{{object}} deleted successfully";
|
|
86
86
|
};
|
|
87
|
+
readonly fields: {
|
|
88
|
+
readonly richText: {
|
|
89
|
+
readonly format: "Format: {{format}}";
|
|
90
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
91
|
+
readonly placeholder: "Enter text...";
|
|
92
|
+
};
|
|
93
|
+
};
|
|
87
94
|
readonly table: {
|
|
88
95
|
readonly rowsPerPage: "Rows per page";
|
|
89
96
|
readonly showing: "Showing {{from}} to {{to}} of {{total}}";
|
|
@@ -411,6 +418,8 @@ export declare const builtInLocales: {
|
|
|
411
418
|
readonly nextRecordKey: "Next record (→)";
|
|
412
419
|
readonly lastRecord: "Last record (End)";
|
|
413
420
|
readonly noRecords: "No records";
|
|
421
|
+
readonly showEmptyRelated_one: "+ {{count}} empty";
|
|
422
|
+
readonly showEmptyRelated_other: "+ {{count}} empty";
|
|
414
423
|
readonly searchWhileNavigating: "Search while navigating";
|
|
415
424
|
readonly searchRecords: "Search records…";
|
|
416
425
|
readonly allActivity: "All Activity";
|
|
@@ -919,6 +928,9 @@ export declare const builtInLocales: {
|
|
|
919
928
|
readonly commandPalette: {
|
|
920
929
|
readonly placeholder: "Type a command or search...";
|
|
921
930
|
readonly noResults: "No results found.";
|
|
931
|
+
readonly searching: "Searching…";
|
|
932
|
+
readonly records: "Records";
|
|
933
|
+
readonly recentRecords: "Recently viewed";
|
|
922
934
|
readonly objects: "Objects";
|
|
923
935
|
readonly dashboards: "Dashboards";
|
|
924
936
|
readonly pages: "Pages";
|
|
@@ -1345,6 +1357,8 @@ export declare const builtInLocales: {
|
|
|
1345
1357
|
readonly empty: {
|
|
1346
1358
|
readonly objectNotFound: "Object Not Found";
|
|
1347
1359
|
readonly objectNotFoundDescription: "Object \"{{name}}\" definition missing. Check your configuration or navigate back to select a valid object.";
|
|
1360
|
+
readonly recordNotFound: "Record not found";
|
|
1361
|
+
readonly recordNotFoundDescription: "The record you are looking for does not exist or may have been deleted.";
|
|
1348
1362
|
readonly pageNotFound: "Page Not Found";
|
|
1349
1363
|
readonly pageNotFoundDescription: "The page \"{{name}}\" could not be found. It may have been removed or renamed.";
|
|
1350
1364
|
readonly dashboardNotFound: "Dashboard Not Found";
|
|
@@ -1450,6 +1464,9 @@ export declare const builtInLocales: {
|
|
|
1450
1464
|
};
|
|
1451
1465
|
readonly notifications: {
|
|
1452
1466
|
readonly empty: "No notifications";
|
|
1467
|
+
readonly emptyUnread: "You're all caught up";
|
|
1468
|
+
readonly filterUnread: "Unread";
|
|
1469
|
+
readonly filterAll: "All";
|
|
1453
1470
|
readonly markAllRead: "Mark all read";
|
|
1454
1471
|
readonly viewAll: "View all notifications";
|
|
1455
1472
|
readonly approvalsPending: "{{count}} pending approvals";
|
|
@@ -1596,6 +1613,13 @@ export declare const builtInLocales: {
|
|
|
1596
1613
|
readonly updateSuccess: "{{object}}更新成功";
|
|
1597
1614
|
readonly deleteSuccess: "{{object}}删除成功";
|
|
1598
1615
|
};
|
|
1616
|
+
readonly fields: {
|
|
1617
|
+
readonly richText: {
|
|
1618
|
+
readonly format: "格式: {{format}}";
|
|
1619
|
+
readonly basicEditorHint: "富文本编辑器(基础)";
|
|
1620
|
+
readonly placeholder: "请输入文字...";
|
|
1621
|
+
};
|
|
1622
|
+
};
|
|
1599
1623
|
readonly table: {
|
|
1600
1624
|
readonly rowsPerPage: "每页行数";
|
|
1601
1625
|
readonly showing: "显示第{{from}}到{{to}}条,共{{total}}条";
|
|
@@ -1923,6 +1947,8 @@ export declare const builtInLocales: {
|
|
|
1923
1947
|
readonly nextRecordKey: "下一条记录 (→)";
|
|
1924
1948
|
readonly lastRecord: "最后一条记录 (End)";
|
|
1925
1949
|
readonly noRecords: "无记录";
|
|
1950
|
+
readonly showEmptyRelated_one: "+ {{count}} 个为空";
|
|
1951
|
+
readonly showEmptyRelated_other: "+ {{count}} 个为空";
|
|
1926
1952
|
readonly searchWhileNavigating: "导航时搜索";
|
|
1927
1953
|
readonly searchRecords: "搜索记录…";
|
|
1928
1954
|
readonly allActivity: "全部动态";
|
|
@@ -2431,6 +2457,9 @@ export declare const builtInLocales: {
|
|
|
2431
2457
|
readonly commandPalette: {
|
|
2432
2458
|
readonly placeholder: "输入命令或搜索...";
|
|
2433
2459
|
readonly noResults: "未找到结果。";
|
|
2460
|
+
readonly searching: "搜索中…";
|
|
2461
|
+
readonly records: "记录";
|
|
2462
|
+
readonly recentRecords: "最近访问";
|
|
2434
2463
|
readonly objects: "对象";
|
|
2435
2464
|
readonly dashboards: "仪表盘";
|
|
2436
2465
|
readonly pages: "页面";
|
|
@@ -2857,6 +2886,8 @@ export declare const builtInLocales: {
|
|
|
2857
2886
|
readonly empty: {
|
|
2858
2887
|
readonly objectNotFound: "未找到对象";
|
|
2859
2888
|
readonly objectNotFoundDescription: "对象 “{{name}}” 的定义不存在。请检查配置或返回选择有效的对象。";
|
|
2889
|
+
readonly recordNotFound: "未找到记录";
|
|
2890
|
+
readonly recordNotFoundDescription: "您查找的记录不存在或已被删除。";
|
|
2860
2891
|
readonly pageNotFound: "未找到页面";
|
|
2861
2892
|
readonly pageNotFoundDescription: "未找到页面 “{{name}}”,可能已被删除或重命名。";
|
|
2862
2893
|
readonly dashboardNotFound: "未找到仪表板";
|
|
@@ -2962,6 +2993,9 @@ export declare const builtInLocales: {
|
|
|
2962
2993
|
};
|
|
2963
2994
|
readonly notifications: {
|
|
2964
2995
|
readonly empty: "暂无通知";
|
|
2996
|
+
readonly emptyUnread: "已读完所有通知";
|
|
2997
|
+
readonly filterUnread: "未读";
|
|
2998
|
+
readonly filterAll: "全部";
|
|
2965
2999
|
readonly markAllRead: "全部标记为已读";
|
|
2966
3000
|
readonly viewAll: "查看全部通知";
|
|
2967
3001
|
readonly approvalsPending: "{{count}} 条待审批";
|
|
@@ -3103,6 +3137,13 @@ export declare const builtInLocales: {
|
|
|
3103
3137
|
readonly editDescription: "{{object}}の詳細を更新";
|
|
3104
3138
|
readonly saveRecord: "レコードを保存";
|
|
3105
3139
|
};
|
|
3140
|
+
readonly fields: {
|
|
3141
|
+
readonly richText: {
|
|
3142
|
+
readonly format: "Format: {{format}}";
|
|
3143
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
3144
|
+
readonly placeholder: "Enter text...";
|
|
3145
|
+
};
|
|
3146
|
+
};
|
|
3106
3147
|
readonly table: {
|
|
3107
3148
|
readonly rowsPerPage: "1ページの行数";
|
|
3108
3149
|
readonly showing: "{{total}}件中{{from}}〜{{to}}件を表示";
|
|
@@ -4292,6 +4333,13 @@ export declare const builtInLocales: {
|
|
|
4292
4333
|
readonly editDescription: "{{object}} 세부 정보 업데이트";
|
|
4293
4334
|
readonly saveRecord: "레코드 저장";
|
|
4294
4335
|
};
|
|
4336
|
+
readonly fields: {
|
|
4337
|
+
readonly richText: {
|
|
4338
|
+
readonly format: "Format: {{format}}";
|
|
4339
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
4340
|
+
readonly placeholder: "Enter text...";
|
|
4341
|
+
};
|
|
4342
|
+
};
|
|
4295
4343
|
readonly table: {
|
|
4296
4344
|
readonly rowsPerPage: "페이지당 행 수";
|
|
4297
4345
|
readonly showing: "{{total}}개 중 {{from}}~{{to}} 표시";
|
|
@@ -5470,6 +5518,13 @@ export declare const builtInLocales: {
|
|
|
5470
5518
|
readonly editDescription: "Details für {{object}} aktualisieren";
|
|
5471
5519
|
readonly saveRecord: "Datensatz speichern";
|
|
5472
5520
|
};
|
|
5521
|
+
readonly fields: {
|
|
5522
|
+
readonly richText: {
|
|
5523
|
+
readonly format: "Format: {{format}}";
|
|
5524
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
5525
|
+
readonly placeholder: "Enter text...";
|
|
5526
|
+
};
|
|
5527
|
+
};
|
|
5473
5528
|
readonly table: {
|
|
5474
5529
|
readonly rowsPerPage: "Zeilen pro Seite";
|
|
5475
5530
|
readonly showing: "{{from}} bis {{to}} von {{total}} angezeigt";
|
|
@@ -6648,6 +6703,13 @@ export declare const builtInLocales: {
|
|
|
6648
6703
|
readonly editDescription: "Mettre à jour les détails de {{object}}";
|
|
6649
6704
|
readonly saveRecord: "Enregistrer";
|
|
6650
6705
|
};
|
|
6706
|
+
readonly fields: {
|
|
6707
|
+
readonly richText: {
|
|
6708
|
+
readonly format: "Format: {{format}}";
|
|
6709
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
6710
|
+
readonly placeholder: "Enter text...";
|
|
6711
|
+
};
|
|
6712
|
+
};
|
|
6651
6713
|
readonly table: {
|
|
6652
6714
|
readonly rowsPerPage: "Lignes par page";
|
|
6653
6715
|
readonly showing: "Affichage de {{from}} à {{to}} sur {{total}}";
|
|
@@ -7826,6 +7888,13 @@ export declare const builtInLocales: {
|
|
|
7826
7888
|
readonly editDescription: "Actualizar detalles de {{object}}";
|
|
7827
7889
|
readonly saveRecord: "Guardar registro";
|
|
7828
7890
|
};
|
|
7891
|
+
readonly fields: {
|
|
7892
|
+
readonly richText: {
|
|
7893
|
+
readonly format: "Format: {{format}}";
|
|
7894
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
7895
|
+
readonly placeholder: "Enter text...";
|
|
7896
|
+
};
|
|
7897
|
+
};
|
|
7829
7898
|
readonly table: {
|
|
7830
7899
|
readonly rowsPerPage: "Filas por página";
|
|
7831
7900
|
readonly showing: "Mostrando {{from}} a {{to}} de {{total}}";
|
|
@@ -9004,6 +9073,13 @@ export declare const builtInLocales: {
|
|
|
9004
9073
|
readonly editDescription: "Atualizar detalhes de {{object}}";
|
|
9005
9074
|
readonly saveRecord: "Salvar registro";
|
|
9006
9075
|
};
|
|
9076
|
+
readonly fields: {
|
|
9077
|
+
readonly richText: {
|
|
9078
|
+
readonly format: "Format: {{format}}";
|
|
9079
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
9080
|
+
readonly placeholder: "Enter text...";
|
|
9081
|
+
};
|
|
9082
|
+
};
|
|
9007
9083
|
readonly table: {
|
|
9008
9084
|
readonly rowsPerPage: "Linhas por página";
|
|
9009
9085
|
readonly showing: "Mostrando {{from}} a {{to}} de {{total}}";
|
|
@@ -10182,6 +10258,13 @@ export declare const builtInLocales: {
|
|
|
10182
10258
|
readonly editDescription: "Обновить данные {{object}}";
|
|
10183
10259
|
readonly saveRecord: "Сохранить запись";
|
|
10184
10260
|
};
|
|
10261
|
+
readonly fields: {
|
|
10262
|
+
readonly richText: {
|
|
10263
|
+
readonly format: "Format: {{format}}";
|
|
10264
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
10265
|
+
readonly placeholder: "Enter text...";
|
|
10266
|
+
};
|
|
10267
|
+
};
|
|
10185
10268
|
readonly table: {
|
|
10186
10269
|
readonly rowsPerPage: "Строк на странице";
|
|
10187
10270
|
readonly showing: "Показано с {{from}} по {{to}} из {{total}}";
|
|
@@ -11371,6 +11454,13 @@ export declare const builtInLocales: {
|
|
|
11371
11454
|
readonly editDescription: "تحديث تفاصيل {{object}}";
|
|
11372
11455
|
readonly saveRecord: "حفظ السجل";
|
|
11373
11456
|
};
|
|
11457
|
+
readonly fields: {
|
|
11458
|
+
readonly richText: {
|
|
11459
|
+
readonly format: "Format: {{format}}";
|
|
11460
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
11461
|
+
readonly placeholder: "Enter text...";
|
|
11462
|
+
};
|
|
11463
|
+
};
|
|
11374
11464
|
readonly table: {
|
|
11375
11465
|
readonly rowsPerPage: "صفوف في الصفحة";
|
|
11376
11466
|
readonly showing: "عرض {{from}} إلى {{to}} من {{total}}";
|
package/dist/locales/ja.d.ts
CHANGED
|
@@ -67,6 +67,13 @@ declare const ja: {
|
|
|
67
67
|
readonly editDescription: "{{object}}の詳細を更新";
|
|
68
68
|
readonly saveRecord: "レコードを保存";
|
|
69
69
|
};
|
|
70
|
+
readonly fields: {
|
|
71
|
+
readonly richText: {
|
|
72
|
+
readonly format: "Format: {{format}}";
|
|
73
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
74
|
+
readonly placeholder: "Enter text...";
|
|
75
|
+
};
|
|
76
|
+
};
|
|
70
77
|
readonly table: {
|
|
71
78
|
readonly rowsPerPage: "1ページの行数";
|
|
72
79
|
readonly showing: "{{total}}件中{{from}}〜{{to}}件を表示";
|
package/dist/locales/ja.js
CHANGED
|
@@ -67,6 +67,13 @@ const ja = {
|
|
|
67
67
|
editDescription: '{{object}}の詳細を更新',
|
|
68
68
|
saveRecord: 'レコードを保存',
|
|
69
69
|
},
|
|
70
|
+
fields: {
|
|
71
|
+
richText: {
|
|
72
|
+
format: 'Format: {{format}}',
|
|
73
|
+
basicEditorHint: 'Rich text editor (basic)',
|
|
74
|
+
placeholder: 'Enter text...',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
70
77
|
table: {
|
|
71
78
|
rowsPerPage: '1ページの行数',
|
|
72
79
|
showing: '{{total}}件中{{from}}〜{{to}}件を表示',
|
package/dist/locales/ko.d.ts
CHANGED
|
@@ -67,6 +67,13 @@ declare const ko: {
|
|
|
67
67
|
readonly editDescription: "{{object}} 세부 정보 업데이트";
|
|
68
68
|
readonly saveRecord: "레코드 저장";
|
|
69
69
|
};
|
|
70
|
+
readonly fields: {
|
|
71
|
+
readonly richText: {
|
|
72
|
+
readonly format: "Format: {{format}}";
|
|
73
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
74
|
+
readonly placeholder: "Enter text...";
|
|
75
|
+
};
|
|
76
|
+
};
|
|
70
77
|
readonly table: {
|
|
71
78
|
readonly rowsPerPage: "페이지당 행 수";
|
|
72
79
|
readonly showing: "{{total}}개 중 {{from}}~{{to}} 표시";
|
package/dist/locales/ko.js
CHANGED
|
@@ -67,6 +67,13 @@ const ko = {
|
|
|
67
67
|
editDescription: '{{object}} 세부 정보 업데이트',
|
|
68
68
|
saveRecord: '레코드 저장',
|
|
69
69
|
},
|
|
70
|
+
fields: {
|
|
71
|
+
richText: {
|
|
72
|
+
format: 'Format: {{format}}',
|
|
73
|
+
basicEditorHint: 'Rich text editor (basic)',
|
|
74
|
+
placeholder: 'Enter text...',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
70
77
|
table: {
|
|
71
78
|
rowsPerPage: '페이지당 행 수',
|
|
72
79
|
showing: '{{total}}개 중 {{from}}~{{to}} 표시',
|
package/dist/locales/pt.d.ts
CHANGED
|
@@ -67,6 +67,13 @@ declare const pt: {
|
|
|
67
67
|
readonly editDescription: "Atualizar detalhes de {{object}}";
|
|
68
68
|
readonly saveRecord: "Salvar registro";
|
|
69
69
|
};
|
|
70
|
+
readonly fields: {
|
|
71
|
+
readonly richText: {
|
|
72
|
+
readonly format: "Format: {{format}}";
|
|
73
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
74
|
+
readonly placeholder: "Enter text...";
|
|
75
|
+
};
|
|
76
|
+
};
|
|
70
77
|
readonly table: {
|
|
71
78
|
readonly rowsPerPage: "Linhas por página";
|
|
72
79
|
readonly showing: "Mostrando {{from}} a {{to}} de {{total}}";
|
package/dist/locales/pt.js
CHANGED
|
@@ -67,6 +67,13 @@ const pt = {
|
|
|
67
67
|
editDescription: 'Atualizar detalhes de {{object}}',
|
|
68
68
|
saveRecord: 'Salvar registro',
|
|
69
69
|
},
|
|
70
|
+
fields: {
|
|
71
|
+
richText: {
|
|
72
|
+
format: 'Format: {{format}}',
|
|
73
|
+
basicEditorHint: 'Rich text editor (basic)',
|
|
74
|
+
placeholder: 'Enter text...',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
70
77
|
table: {
|
|
71
78
|
rowsPerPage: 'Linhas por página',
|
|
72
79
|
showing: 'Mostrando {{from}} a {{to}} de {{total}}',
|
package/dist/locales/ru.d.ts
CHANGED
|
@@ -67,6 +67,13 @@ declare const ru: {
|
|
|
67
67
|
readonly editDescription: "Обновить данные {{object}}";
|
|
68
68
|
readonly saveRecord: "Сохранить запись";
|
|
69
69
|
};
|
|
70
|
+
readonly fields: {
|
|
71
|
+
readonly richText: {
|
|
72
|
+
readonly format: "Format: {{format}}";
|
|
73
|
+
readonly basicEditorHint: "Rich text editor (basic)";
|
|
74
|
+
readonly placeholder: "Enter text...";
|
|
75
|
+
};
|
|
76
|
+
};
|
|
70
77
|
readonly table: {
|
|
71
78
|
readonly rowsPerPage: "Строк на странице";
|
|
72
79
|
readonly showing: "Показано с {{from}} по {{to}} из {{total}}";
|
package/dist/locales/ru.js
CHANGED
|
@@ -67,6 +67,13 @@ const ru = {
|
|
|
67
67
|
editDescription: 'Обновить данные {{object}}',
|
|
68
68
|
saveRecord: 'Сохранить запись',
|
|
69
69
|
},
|
|
70
|
+
fields: {
|
|
71
|
+
richText: {
|
|
72
|
+
format: 'Format: {{format}}',
|
|
73
|
+
basicEditorHint: 'Rich text editor (basic)',
|
|
74
|
+
placeholder: 'Enter text...',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
70
77
|
table: {
|
|
71
78
|
rowsPerPage: 'Строк на странице',
|
|
72
79
|
showing: 'Показано с {{from}} по {{to}} из {{total}}',
|
package/dist/locales/zh.d.ts
CHANGED
|
@@ -72,6 +72,13 @@ declare const zh: {
|
|
|
72
72
|
readonly updateSuccess: "{{object}}更新成功";
|
|
73
73
|
readonly deleteSuccess: "{{object}}删除成功";
|
|
74
74
|
};
|
|
75
|
+
readonly fields: {
|
|
76
|
+
readonly richText: {
|
|
77
|
+
readonly format: "格式: {{format}}";
|
|
78
|
+
readonly basicEditorHint: "富文本编辑器(基础)";
|
|
79
|
+
readonly placeholder: "请输入文字...";
|
|
80
|
+
};
|
|
81
|
+
};
|
|
75
82
|
readonly table: {
|
|
76
83
|
readonly rowsPerPage: "每页行数";
|
|
77
84
|
readonly showing: "显示第{{from}}到{{to}}条,共{{total}}条";
|
|
@@ -399,6 +406,8 @@ declare const zh: {
|
|
|
399
406
|
readonly nextRecordKey: "下一条记录 (→)";
|
|
400
407
|
readonly lastRecord: "最后一条记录 (End)";
|
|
401
408
|
readonly noRecords: "无记录";
|
|
409
|
+
readonly showEmptyRelated_one: "+ {{count}} 个为空";
|
|
410
|
+
readonly showEmptyRelated_other: "+ {{count}} 个为空";
|
|
402
411
|
readonly searchWhileNavigating: "导航时搜索";
|
|
403
412
|
readonly searchRecords: "搜索记录…";
|
|
404
413
|
readonly allActivity: "全部动态";
|
|
@@ -907,6 +916,9 @@ declare const zh: {
|
|
|
907
916
|
readonly commandPalette: {
|
|
908
917
|
readonly placeholder: "输入命令或搜索...";
|
|
909
918
|
readonly noResults: "未找到结果。";
|
|
919
|
+
readonly searching: "搜索中…";
|
|
920
|
+
readonly records: "记录";
|
|
921
|
+
readonly recentRecords: "最近访问";
|
|
910
922
|
readonly objects: "对象";
|
|
911
923
|
readonly dashboards: "仪表盘";
|
|
912
924
|
readonly pages: "页面";
|
|
@@ -1333,6 +1345,8 @@ declare const zh: {
|
|
|
1333
1345
|
readonly empty: {
|
|
1334
1346
|
readonly objectNotFound: "未找到对象";
|
|
1335
1347
|
readonly objectNotFoundDescription: "对象 “{{name}}” 的定义不存在。请检查配置或返回选择有效的对象。";
|
|
1348
|
+
readonly recordNotFound: "未找到记录";
|
|
1349
|
+
readonly recordNotFoundDescription: "您查找的记录不存在或已被删除。";
|
|
1336
1350
|
readonly pageNotFound: "未找到页面";
|
|
1337
1351
|
readonly pageNotFoundDescription: "未找到页面 “{{name}}”,可能已被删除或重命名。";
|
|
1338
1352
|
readonly dashboardNotFound: "未找到仪表板";
|
|
@@ -1438,6 +1452,9 @@ declare const zh: {
|
|
|
1438
1452
|
};
|
|
1439
1453
|
readonly notifications: {
|
|
1440
1454
|
readonly empty: "暂无通知";
|
|
1455
|
+
readonly emptyUnread: "已读完所有通知";
|
|
1456
|
+
readonly filterUnread: "未读";
|
|
1457
|
+
readonly filterAll: "全部";
|
|
1441
1458
|
readonly markAllRead: "全部标记为已读";
|
|
1442
1459
|
readonly viewAll: "查看全部通知";
|
|
1443
1460
|
readonly approvalsPending: "{{count}} 条待审批";
|
package/dist/locales/zh.js
CHANGED
|
@@ -72,6 +72,13 @@ const zh = {
|
|
|
72
72
|
updateSuccess: '{{object}}更新成功',
|
|
73
73
|
deleteSuccess: '{{object}}删除成功',
|
|
74
74
|
},
|
|
75
|
+
fields: {
|
|
76
|
+
richText: {
|
|
77
|
+
format: '格式: {{format}}',
|
|
78
|
+
basicEditorHint: '富文本编辑器(基础)',
|
|
79
|
+
placeholder: '请输入文字...',
|
|
80
|
+
},
|
|
81
|
+
},
|
|
75
82
|
table: {
|
|
76
83
|
rowsPerPage: '每页行数',
|
|
77
84
|
showing: '显示第{{from}}到{{to}}条,共{{total}}条',
|
|
@@ -408,6 +415,8 @@ const zh = {
|
|
|
408
415
|
nextRecordKey: '下一条记录 (→)',
|
|
409
416
|
lastRecord: '最后一条记录 (End)',
|
|
410
417
|
noRecords: '无记录',
|
|
418
|
+
showEmptyRelated_one: '+ {{count}} 个为空',
|
|
419
|
+
showEmptyRelated_other: '+ {{count}} 个为空',
|
|
411
420
|
searchWhileNavigating: '导航时搜索',
|
|
412
421
|
searchRecords: '搜索记录…',
|
|
413
422
|
// Activity timeline
|
|
@@ -919,6 +928,9 @@ const zh = {
|
|
|
919
928
|
commandPalette: {
|
|
920
929
|
placeholder: '输入命令或搜索...',
|
|
921
930
|
noResults: '未找到结果。',
|
|
931
|
+
searching: '搜索中…',
|
|
932
|
+
records: '记录',
|
|
933
|
+
recentRecords: '最近访问',
|
|
922
934
|
objects: '对象',
|
|
923
935
|
dashboards: '仪表盘',
|
|
924
936
|
pages: '页面',
|
|
@@ -1345,6 +1357,8 @@ const zh = {
|
|
|
1345
1357
|
empty: {
|
|
1346
1358
|
objectNotFound: '未找到对象',
|
|
1347
1359
|
objectNotFoundDescription: '对象 “{{name}}” 的定义不存在。请检查配置或返回选择有效的对象。',
|
|
1360
|
+
recordNotFound: '未找到记录',
|
|
1361
|
+
recordNotFoundDescription: '您查找的记录不存在或已被删除。',
|
|
1348
1362
|
pageNotFound: '未找到页面',
|
|
1349
1363
|
pageNotFoundDescription: '未找到页面 “{{name}}”,可能已被删除或重命名。',
|
|
1350
1364
|
dashboardNotFound: '未找到仪表板',
|
|
@@ -1450,6 +1464,9 @@ const zh = {
|
|
|
1450
1464
|
},
|
|
1451
1465
|
notifications: {
|
|
1452
1466
|
empty: '暂无通知',
|
|
1467
|
+
emptyUnread: '已读完所有通知',
|
|
1468
|
+
filterUnread: '未读',
|
|
1469
|
+
filterAll: '全部',
|
|
1453
1470
|
markAllRead: '全部标记为已读',
|
|
1454
1471
|
viewAll: '查看全部通知',
|
|
1455
1472
|
approvalsPending: '{{count}} 条待审批',
|
|
@@ -36,7 +36,9 @@ export declare function formatDateTime(date: Date | string | number, options?: D
|
|
|
36
36
|
*/
|
|
37
37
|
export declare function formatRelativeTime(date: Date | string | number, locale?: string): string;
|
|
38
38
|
/**
|
|
39
|
-
* Format a currency value according to locale conventions
|
|
39
|
+
* Format a currency value according to locale conventions. When `currency`
|
|
40
|
+
* is omitted, falls back to a plain locale-formatted number (no symbol)
|
|
41
|
+
* rather than silently assuming USD.
|
|
40
42
|
*/
|
|
41
43
|
export declare function formatCurrency(value: number, options?: CurrencyFormatOptions): string;
|
|
42
44
|
/**
|
package/dist/utils/formatting.js
CHANGED
|
@@ -66,10 +66,18 @@ export function formatRelativeTime(date, locale = 'en') {
|
|
|
66
66
|
return rtf.format(Math.round(diffDay / 365), 'year');
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
69
|
-
* Format a currency value according to locale conventions
|
|
69
|
+
* Format a currency value according to locale conventions. When `currency`
|
|
70
|
+
* is omitted, falls back to a plain locale-formatted number (no symbol)
|
|
71
|
+
* rather than silently assuming USD.
|
|
70
72
|
*/
|
|
71
73
|
export function formatCurrency(value, options = {}) {
|
|
72
|
-
const { locale = 'en', currency
|
|
74
|
+
const { locale = 'en', currency, minimumFractionDigits, maximumFractionDigits } = options;
|
|
75
|
+
if (!currency) {
|
|
76
|
+
return new Intl.NumberFormat(locale, {
|
|
77
|
+
minimumFractionDigits,
|
|
78
|
+
maximumFractionDigits,
|
|
79
|
+
}).format(value);
|
|
80
|
+
}
|
|
73
81
|
return new Intl.NumberFormat(locale, {
|
|
74
82
|
style: 'currency',
|
|
75
83
|
currency,
|