|
35 | 35 | * objects.<name>._views.<view>.description |
36 | 36 | * objects.<name>._views.<view>.emptyState.title / .message |
37 | 37 | * objects.<name>._actions.<action>.label |
| 38 | + * objects.<name>._actions.<action>.description |
38 | 39 | * objects.<name>._actions.<action>.confirmText |
39 | 40 | * objects.<name>._actions.<action>.successMessage |
40 | 41 | * objects.<name>._actions.<action>.params.<param>.label / .helpText / .placeholder |
41 | 42 | * objects.<name>._actions.<action>.params.<param>.options.<value> |
42 | 43 | * objects.<name>._actions.<action>.resultDialog.title / .description / .acknowledge |
43 | 44 | * objects.<name>._actions.<action>.resultDialog.fields.<path> |
44 | | - * globalActions.<action>.label / .confirmText / .successMessage |
| 45 | + * globalActions.<action>.label / .description / .confirmText / .successMessage |
45 | 46 | * globalActions.<action>.params.<param>.* / .resultDialog.* (same shape as object actions) |
46 | 47 | * apps.<app>.label / .description |
47 | 48 | * apps.<app>.navigation.<id>.label |
@@ -687,6 +688,7 @@ export function collectExpectedEntries(config: any): ExpectedEntry[] { |
687 | 688 | const aname = action.name as string; |
688 | 689 | const aroot = ['objects', objectName, '_actions', aname]; |
689 | 690 | pushDerived(out, [...aroot, 'label'], action.label ?? aname, inlineText(action.label), 'action', { objectName }); |
| 691 | + pushOptional(out, [...aroot, 'description'], action.description, 'action', { objectName }); |
690 | 692 | pushOptional(out, [...aroot, 'confirmText'], action.confirmText, 'action', { objectName }); |
691 | 693 | pushOptional(out, [...aroot, 'successMessage'], action.successMessage, 'action', { objectName }); |
692 | 694 | pushActionParams(out, ['objects', objectName, '_actions', aname], action, 'action', objectName); |
@@ -760,6 +762,12 @@ export function collectExpectedEntries(config: any): ExpectedEntry[] { |
760 | 762 | : ['globalActions', action.name]; |
761 | 763 | const kind: ExpectedEntry['source'] = objectName ? 'action' : 'globalAction'; |
762 | 764 | pushDerived(out, [...root, 'label'], action.label ?? action.name, inlineText(action.label), kind, { objectName }); |
| 765 | + // `description` is OPTIONAL-not-derived, exactly like confirmText: the |
| 766 | + // param dialog falls back to its own generic `actionDialog.description` |
| 767 | + // string when the action declares none, so an undeclared description is |
| 768 | + // not an i18n gap to seed (`pushDerived` would invent an English source |
| 769 | + // string nothing authored). #7367. |
| 770 | + pushOptional(out, [...root, 'description'], action.description, kind, { objectName }); |
763 | 771 | pushOptional(out, [...root, 'confirmText'], action.confirmText, kind, { objectName }); |
764 | 772 | pushOptional(out, [...root, 'successMessage'], action.successMessage, kind, { objectName }); |
765 | 773 | pushActionParams(out, root, action, kind, objectName); |
|
0 commit comments