@object-ui/i18n 4.2.1 → 4.3.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.
@@ -973,66 +973,100 @@ declare const de: {
973
973
  readonly first: "First";
974
974
  };
975
975
  readonly editor: {
976
- readonly breadcrumb: "Configuration";
977
- readonly basic: "Basic";
978
- readonly title: "Title";
979
- readonly titlePlaceholder: "e.g. Pipeline by Quarter";
980
- readonly description: "Description";
981
- readonly descriptionPlaceholder: "What does this report show?";
982
- readonly type: "Report type";
983
- readonly typeTabular: "Tabular — flat list";
984
- readonly typeSummary: "Summary — grouped with totals";
985
- readonly typeMatrix: "Matrix — pivot rows × columns";
986
- readonly typeJoined: "Joined — multiple blocks";
987
- readonly typeHelp: "Pick the layout that matches what you want to see.";
988
- readonly data: "Data";
989
- readonly objectName: "Data source";
990
- readonly objectNamePlaceholder: "e.g. opportunity";
991
- readonly objectNameHelp: "Which object should this report query?";
992
- readonly limit: "Row limit";
993
- readonly limitPlaceholder: "e.g. 100";
994
- readonly columns: "Columns";
995
- readonly columnsHint: "Pick which fields appear as columns. Add an aggregate (Sum, Count…) on Summary or Matrix reports.";
996
- readonly filters: "Filters";
997
- readonly filtersHint: "Limit the rows that go into this report.";
998
- readonly filtersComplex: "This report uses an advanced filter that cannot be edited here. Save will keep it unchanged.";
999
- readonly groupBy: "Group by";
1000
- readonly groupByHint: "Group the data and compute subtotals.";
1001
- readonly rows: "Rows";
1002
- readonly rowsHint: "Group rows by these fields.";
1003
- readonly columnsAxis: "Columns";
1004
- readonly columnsAxisHint: "Pivot these fields across the top.";
1005
- readonly grouping: "Grouping";
1006
- readonly addGrouping: "Add grouping";
1007
- readonly dateGranularity: "Date bucket";
1008
- readonly dateGranularityNone: "(use raw value)";
1009
- readonly day: "Day";
1010
- readonly week: "Week";
1011
- readonly month: "Month";
1012
- readonly quarter: "Quarter";
1013
- readonly year: "Year";
1014
- readonly sortAsc: "Ascending";
1015
- readonly sortDesc: "Descending";
1016
- readonly chart: "Chart";
1017
- readonly chartHint: "Optional visualization rendered alongside the table.";
1018
- readonly chartType: "Chart type";
1019
- readonly chartTitle: "Chart title";
1020
- readonly chartTitlePlaceholder: "Defaults to the report title";
1021
- readonly chartXAxis: "X-axis (category)";
1022
- readonly chartYAxis: "Y-axis (value)";
1023
- readonly chartShowLegend: "Show legend";
1024
- readonly chartShowDataLabels: "Show data labels";
1025
- readonly chartNone: "(no chart)";
1026
- readonly chartBar: "Bar";
1027
- readonly chartLine: "Line";
1028
- readonly chartArea: "Area";
1029
- readonly chartPie: "Pie";
976
+ readonly breadcrumb: "Konfiguration";
977
+ readonly basic: "Allgemein";
978
+ readonly title: "Titel";
979
+ readonly titlePlaceholder: "z. B. Pipeline nach Quartal";
980
+ readonly description: "Beschreibung";
981
+ readonly descriptionPlaceholder: "Was zeigt dieser Bericht?";
982
+ readonly type: "Berichtstyp";
983
+ readonly typeTabular: "Tabellarisch — flache Liste";
984
+ readonly typeSummary: "Zusammenfassung — gruppiert mit Summen";
985
+ readonly typeMatrix: "Matrix — Pivot Zeilen × Spalten";
986
+ readonly typeJoined: "Verbunden — mehrere Blöcke";
987
+ readonly typeHelp: "Wählen Sie das Layout, das zu Ihrer gewünschten Ansicht passt.";
988
+ readonly data: "Daten";
989
+ readonly objectName: "Datenquelle";
990
+ readonly objectNamePlaceholder: "z. B. opportunity";
991
+ readonly objectNameHelp: "Welches Objekt soll dieser Bericht abfragen?";
992
+ readonly limit: "Zeilenlimit";
993
+ readonly limitPlaceholder: "z. B. 100";
994
+ readonly columns: "Spalten";
995
+ readonly columnsHint: "Wählen Sie die Felder, die als Spalten erscheinen. Fügen Sie in Zusammenfassungs- oder Matrixberichten Aggregationen (Summe, Anzahl …) hinzu.";
996
+ readonly filters: "Filter";
997
+ readonly filtersHint: "Schränken Sie die Zeilen ein, die in diesen Bericht aufgenommen werden.";
998
+ readonly filtersComplex: "Dieser Bericht verwendet einen erweiterten Filter, der hier nicht bearbeitet werden kann. Beim Speichern bleibt er unverändert.";
999
+ readonly groupBy: "Gruppieren nach";
1000
+ readonly groupByHint: "Daten gruppieren und Zwischensummen berechnen.";
1001
+ readonly rows: "Zeilen";
1002
+ readonly rowsHint: "Zeilen nach diesen Feldern gruppieren.";
1003
+ readonly columnsAxis: "Spalten";
1004
+ readonly columnsAxisHint: "Diese Felder oben als Pivot anordnen.";
1005
+ readonly values: "Werte";
1006
+ readonly valuesHint: "In jeder Zelle angezeigte Zahlen. Wählen Sie ein oder mehrere Felder und setzen Sie eine Aggregation (Summe, Anzahl …).";
1007
+ readonly grouping: "Gruppierung";
1008
+ readonly addGrouping: "Gruppierung hinzufügen";
1009
+ readonly dateGranularity: "Datumsgranularität";
1010
+ readonly dateGranularityNone: "(Rohwert verwenden)";
1011
+ readonly day: "Tag";
1012
+ readonly week: "Woche";
1013
+ readonly month: "Monat";
1014
+ readonly quarter: "Quartal";
1015
+ readonly year: "Jahr";
1016
+ readonly sortAsc: "Aufsteigend";
1017
+ readonly sortDesc: "Absteigend";
1018
+ readonly chart: "Diagramm";
1019
+ readonly chartHint: "Optionale Visualisierung neben der Tabelle.";
1020
+ readonly chartType: "Diagrammtyp";
1021
+ readonly chartTitle: "Diagrammtitel";
1022
+ readonly chartTitlePlaceholder: "Standardmäßig der Berichtstitel";
1023
+ readonly chartXAxis: "X-Achse (Kategorie)";
1024
+ readonly chartYAxis: "Y-Achse (Wert)";
1025
+ readonly chartShowLegend: "Legende anzeigen";
1026
+ readonly chartShowDataLabels: "Datenbeschriftungen anzeigen";
1027
+ readonly chartNone: "(kein Diagramm)";
1028
+ readonly chartBar: "Balken";
1029
+ readonly chartLine: "Linie";
1030
+ readonly chartArea: "Fläche";
1031
+ readonly chartPie: "Kreis";
1030
1032
  readonly chartDonut: "Donut";
1031
- readonly chartFunnel: "Funnel";
1032
- readonly validationNeedsObject: "Pick a data source before adding columns.";
1033
- readonly validationMatrixNeedsRowsCols: "Matrix reports need at least one Row and one Column.";
1034
- readonly validationSummaryNeedsRows: "Summary reports need at least one grouping field.";
1035
- readonly noneOption: "(none)";
1033
+ readonly chartFunnel: "Trichter";
1034
+ readonly validationNeedsObject: "Wählen Sie eine Datenquelle, bevor Sie Spalten hinzufügen.";
1035
+ readonly validationMatrixNeedsRowsCols: "Matrixberichte benötigen mindestens eine Zeile und eine Spalte.";
1036
+ readonly validationSummaryNeedsRows: "Zusammenfassungsberichte benötigen mindestens ein Gruppierungsfeld.";
1037
+ readonly blocks: "Blöcke";
1038
+ readonly blocksHint: "Jeder Block ist eine eigene Tabelle oder ein eigenes Diagramm. Blockfilter werden mit dem Berichtsfilter UND-verknüpft.";
1039
+ readonly addBlock: "Block hinzufügen";
1040
+ readonly removeBlock: "Block entfernen";
1041
+ readonly blockName: "Blockname";
1042
+ readonly blockNamePlaceholder: "eindeutiger_blockname";
1043
+ readonly blockLabel: "Anzeigename";
1044
+ readonly blockLabelPlaceholder: "Wird über dem Block angezeigt";
1045
+ readonly blockDescription: "Beschreibung";
1046
+ readonly blockDescriptionPlaceholder: "Optionaler Kontext für diesen Block";
1047
+ readonly validationJoinedNeedsBlocks: "Verbundene Berichte benötigen mindestens einen Block.";
1048
+ readonly validationBlockNameRequired: "Jeder Block benötigt einen nicht leeren Namen.";
1049
+ readonly validationBlockNameDuplicate: "Blocknamen müssen innerhalb des Berichts eindeutig sein.";
1050
+ readonly validationBlockNeedsColumns: "Jeder Block benötigt mindestens eine Spalte.";
1051
+ readonly noneOption: "(keine)";
1052
+ readonly addCondition: "Bedingung hinzufügen";
1053
+ readonly combineLogic: "Verknüpfen mit";
1054
+ readonly opContains: "enthält";
1055
+ readonly opIsEmpty: "ist leer";
1056
+ readonly opIsNotEmpty: "ist nicht leer";
1057
+ readonly formatAuto: "Automatisch";
1058
+ readonly formatCurrency: "Währung";
1059
+ readonly formatPercent: "Prozent";
1060
+ readonly formatInteger: "Ganzzahl";
1061
+ readonly formatDate: "Datum";
1062
+ readonly formatDatetime: "Datum und Uhrzeit";
1063
+ readonly columnLabelPlaceholder: "Bezeichnung überschreiben";
1064
+ readonly aggregateColumn: "Aggregation";
1065
+ readonly formatColumn: "Format";
1066
+ readonly addColumns: "Spalten hinzufügen";
1067
+ readonly searchFields: "Felder suchen…";
1068
+ readonly noMatchingFields: "Keine Felder entsprechen Ihrer Suche.";
1069
+ readonly noFieldsAvailable: "Keine Felder verfügbar.";
1036
1070
  };
1037
1071
  };
1038
1072
  };
@@ -982,66 +982,100 @@ const de = {
982
982
  first: 'First',
983
983
  },
984
984
  editor: {
985
- breadcrumb: 'Configuration',
986
- basic: 'Basic',
987
- title: 'Title',
988
- titlePlaceholder: 'e.g. Pipeline by Quarter',
989
- description: 'Description',
990
- descriptionPlaceholder: 'What does this report show?',
991
- type: 'Report type',
992
- typeTabular: 'Tabular — flat list',
993
- typeSummary: 'Summary — grouped with totals',
994
- typeMatrix: 'Matrix — pivot rows × columns',
995
- typeJoined: 'Joined — multiple blocks',
996
- typeHelp: 'Pick the layout that matches what you want to see.',
997
- data: 'Data',
998
- objectName: 'Data source',
999
- objectNamePlaceholder: 'e.g. opportunity',
1000
- objectNameHelp: 'Which object should this report query?',
1001
- limit: 'Row limit',
1002
- limitPlaceholder: 'e.g. 100',
1003
- columns: 'Columns',
1004
- columnsHint: 'Pick which fields appear as columns. Add an aggregate (Sum, Count…) on Summary or Matrix reports.',
1005
- filters: 'Filters',
1006
- filtersHint: 'Limit the rows that go into this report.',
1007
- filtersComplex: 'This report uses an advanced filter that cannot be edited here. Save will keep it unchanged.',
1008
- groupBy: 'Group by',
1009
- groupByHint: 'Group the data and compute subtotals.',
1010
- rows: 'Rows',
1011
- rowsHint: 'Group rows by these fields.',
1012
- columnsAxis: 'Columns',
1013
- columnsAxisHint: 'Pivot these fields across the top.',
1014
- grouping: 'Grouping',
1015
- addGrouping: 'Add grouping',
1016
- dateGranularity: 'Date bucket',
1017
- dateGranularityNone: '(use raw value)',
1018
- day: 'Day',
1019
- week: 'Week',
1020
- month: 'Month',
1021
- quarter: 'Quarter',
1022
- year: 'Year',
1023
- sortAsc: 'Ascending',
1024
- sortDesc: 'Descending',
1025
- chart: 'Chart',
1026
- chartHint: 'Optional visualization rendered alongside the table.',
1027
- chartType: 'Chart type',
1028
- chartTitle: 'Chart title',
1029
- chartTitlePlaceholder: 'Defaults to the report title',
1030
- chartXAxis: 'X-axis (category)',
1031
- chartYAxis: 'Y-axis (value)',
1032
- chartShowLegend: 'Show legend',
1033
- chartShowDataLabels: 'Show data labels',
1034
- chartNone: '(no chart)',
1035
- chartBar: 'Bar',
1036
- chartLine: 'Line',
1037
- chartArea: 'Area',
1038
- chartPie: 'Pie',
985
+ breadcrumb: 'Konfiguration',
986
+ basic: 'Allgemein',
987
+ title: 'Titel',
988
+ titlePlaceholder: 'z. B. Pipeline nach Quartal',
989
+ description: 'Beschreibung',
990
+ descriptionPlaceholder: 'Was zeigt dieser Bericht?',
991
+ type: 'Berichtstyp',
992
+ typeTabular: 'Tabellarisch — flache Liste',
993
+ typeSummary: 'Zusammenfassung — gruppiert mit Summen',
994
+ typeMatrix: 'Matrix — Pivot Zeilen × Spalten',
995
+ typeJoined: 'Verbunden — mehrere Blöcke',
996
+ typeHelp: 'Wählen Sie das Layout, das zu Ihrer gewünschten Ansicht passt.',
997
+ data: 'Daten',
998
+ objectName: 'Datenquelle',
999
+ objectNamePlaceholder: 'z. B. opportunity',
1000
+ objectNameHelp: 'Welches Objekt soll dieser Bericht abfragen?',
1001
+ limit: 'Zeilenlimit',
1002
+ limitPlaceholder: 'z. B. 100',
1003
+ columns: 'Spalten',
1004
+ columnsHint: 'Wählen Sie die Felder, die als Spalten erscheinen. Fügen Sie in Zusammenfassungs- oder Matrixberichten Aggregationen (Summe, Anzahl …) hinzu.',
1005
+ filters: 'Filter',
1006
+ filtersHint: 'Schränken Sie die Zeilen ein, die in diesen Bericht aufgenommen werden.',
1007
+ filtersComplex: 'Dieser Bericht verwendet einen erweiterten Filter, der hier nicht bearbeitet werden kann. Beim Speichern bleibt er unverändert.',
1008
+ groupBy: 'Gruppieren nach',
1009
+ groupByHint: 'Daten gruppieren und Zwischensummen berechnen.',
1010
+ rows: 'Zeilen',
1011
+ rowsHint: 'Zeilen nach diesen Feldern gruppieren.',
1012
+ columnsAxis: 'Spalten',
1013
+ columnsAxisHint: 'Diese Felder oben als Pivot anordnen.',
1014
+ values: 'Werte',
1015
+ valuesHint: 'In jeder Zelle angezeigte Zahlen. Wählen Sie ein oder mehrere Felder und setzen Sie eine Aggregation (Summe, Anzahl …).',
1016
+ grouping: 'Gruppierung',
1017
+ addGrouping: 'Gruppierung hinzufügen',
1018
+ dateGranularity: 'Datumsgranularität',
1019
+ dateGranularityNone: '(Rohwert verwenden)',
1020
+ day: 'Tag',
1021
+ week: 'Woche',
1022
+ month: 'Monat',
1023
+ quarter: 'Quartal',
1024
+ year: 'Jahr',
1025
+ sortAsc: 'Aufsteigend',
1026
+ sortDesc: 'Absteigend',
1027
+ chart: 'Diagramm',
1028
+ chartHint: 'Optionale Visualisierung neben der Tabelle.',
1029
+ chartType: 'Diagrammtyp',
1030
+ chartTitle: 'Diagrammtitel',
1031
+ chartTitlePlaceholder: 'Standardmäßig der Berichtstitel',
1032
+ chartXAxis: 'X-Achse (Kategorie)',
1033
+ chartYAxis: 'Y-Achse (Wert)',
1034
+ chartShowLegend: 'Legende anzeigen',
1035
+ chartShowDataLabels: 'Datenbeschriftungen anzeigen',
1036
+ chartNone: '(kein Diagramm)',
1037
+ chartBar: 'Balken',
1038
+ chartLine: 'Linie',
1039
+ chartArea: 'Fläche',
1040
+ chartPie: 'Kreis',
1039
1041
  chartDonut: 'Donut',
1040
- chartFunnel: 'Funnel',
1041
- validationNeedsObject: 'Pick a data source before adding columns.',
1042
- validationMatrixNeedsRowsCols: 'Matrix reports need at least one Row and one Column.',
1043
- validationSummaryNeedsRows: 'Summary reports need at least one grouping field.',
1044
- noneOption: '(none)',
1042
+ chartFunnel: 'Trichter',
1043
+ validationNeedsObject: 'Wählen Sie eine Datenquelle, bevor Sie Spalten hinzufügen.',
1044
+ validationMatrixNeedsRowsCols: 'Matrixberichte benötigen mindestens eine Zeile und eine Spalte.',
1045
+ validationSummaryNeedsRows: 'Zusammenfassungsberichte benötigen mindestens ein Gruppierungsfeld.',
1046
+ blocks: 'Blöcke',
1047
+ blocksHint: 'Jeder Block ist eine eigene Tabelle oder ein eigenes Diagramm. Blockfilter werden mit dem Berichtsfilter UND-verknüpft.',
1048
+ addBlock: 'Block hinzufügen',
1049
+ removeBlock: 'Block entfernen',
1050
+ blockName: 'Blockname',
1051
+ blockNamePlaceholder: 'eindeutiger_blockname',
1052
+ blockLabel: 'Anzeigename',
1053
+ blockLabelPlaceholder: 'Wird über dem Block angezeigt',
1054
+ blockDescription: 'Beschreibung',
1055
+ blockDescriptionPlaceholder: 'Optionaler Kontext für diesen Block',
1056
+ validationJoinedNeedsBlocks: 'Verbundene Berichte benötigen mindestens einen Block.',
1057
+ validationBlockNameRequired: 'Jeder Block benötigt einen nicht leeren Namen.',
1058
+ validationBlockNameDuplicate: 'Blocknamen müssen innerhalb des Berichts eindeutig sein.',
1059
+ validationBlockNeedsColumns: 'Jeder Block benötigt mindestens eine Spalte.',
1060
+ noneOption: '(keine)',
1061
+ addCondition: 'Bedingung hinzufügen',
1062
+ combineLogic: 'Verknüpfen mit',
1063
+ opContains: 'enthält',
1064
+ opIsEmpty: 'ist leer',
1065
+ opIsNotEmpty: 'ist nicht leer',
1066
+ formatAuto: 'Automatisch',
1067
+ formatCurrency: 'Währung',
1068
+ formatPercent: 'Prozent',
1069
+ formatInteger: 'Ganzzahl',
1070
+ formatDate: 'Datum',
1071
+ formatDatetime: 'Datum und Uhrzeit',
1072
+ columnLabelPlaceholder: 'Bezeichnung überschreiben',
1073
+ aggregateColumn: 'Aggregation',
1074
+ formatColumn: 'Format',
1075
+ addColumns: 'Spalten hinzufügen',
1076
+ searchFields: 'Felder suchen…',
1077
+ noMatchingFields: 'Keine Felder entsprechen Ihrer Suche.',
1078
+ noFieldsAvailable: 'Keine Felder verfügbar.',
1045
1079
  },
1046
1080
  },
1047
1081
  };
@@ -316,6 +316,8 @@ declare const en: {
316
316
  readonly minutesAgo: "{{count}}m ago";
317
317
  readonly hoursAgo: "{{count}}h ago";
318
318
  readonly daysAgo: "{{count}}d ago";
319
+ readonly createdBy: "Created by";
320
+ readonly updatedBy: "Updated by";
319
321
  readonly dropFilesToUpload: "Drop files here or click to upload";
320
322
  readonly attachmentCount: "{{count}} attachment";
321
323
  readonly attachmentCountPlural: "{{count}} attachments";
@@ -395,6 +397,113 @@ declare const en: {
395
397
  readonly max: "Max";
396
398
  readonly first: "First";
397
399
  };
400
+ readonly editor: {
401
+ readonly breadcrumb: "Configuration";
402
+ readonly basic: "Basic";
403
+ readonly title: "Title";
404
+ readonly titlePlaceholder: "e.g. Pipeline by Quarter";
405
+ readonly description: "Description";
406
+ readonly descriptionPlaceholder: "What does this report show?";
407
+ readonly type: "Report type";
408
+ readonly typeTabular: "Tabular — flat list";
409
+ readonly typeSummary: "Summary — grouped with totals";
410
+ readonly typeMatrix: "Matrix — pivot rows × columns";
411
+ readonly typeJoined: "Joined — multiple blocks";
412
+ readonly typeHelp: "Pick the layout that matches what you want to see.";
413
+ readonly data: "Data";
414
+ readonly objectName: "Data source";
415
+ readonly objectNamePlaceholder: "e.g. opportunity";
416
+ readonly objectNameHelp: "Which object should this report query?";
417
+ readonly limit: "Row limit";
418
+ readonly limitPlaceholder: "e.g. 100";
419
+ readonly columns: "Columns";
420
+ readonly columnsHint: "Pick which fields appear as columns. Add an aggregate (Sum, Count…) on Summary or Matrix reports.";
421
+ readonly filters: "Filters";
422
+ readonly filtersHint: "Limit the rows that go into this report.";
423
+ readonly filtersComplex: "This report uses an advanced filter that cannot be edited here. Save will keep it unchanged.";
424
+ readonly groupBy: "Group by";
425
+ readonly groupByHint: "Group the data and compute subtotals.";
426
+ readonly rows: "Rows";
427
+ readonly rowsHint: "Group rows by these fields.";
428
+ readonly columnsAxis: "Columns";
429
+ readonly columnsAxisHint: "Pivot these fields across the top.";
430
+ readonly values: "Values";
431
+ readonly valuesHint: "Numbers shown in each cell. Pick one or more fields and add an aggregate (Sum, Count…).";
432
+ readonly grouping: "Grouping";
433
+ readonly addGrouping: "Add grouping";
434
+ readonly dateGranularity: "Date bucket";
435
+ readonly dateGranularityNone: "(use raw value)";
436
+ readonly day: "Day";
437
+ readonly week: "Week";
438
+ readonly month: "Month";
439
+ readonly quarter: "Quarter";
440
+ readonly year: "Year";
441
+ readonly sortAsc: "Ascending";
442
+ readonly sortDesc: "Descending";
443
+ readonly chart: "Chart";
444
+ readonly chartHint: "Optional visualization rendered alongside the table.";
445
+ readonly chartType: "Chart type";
446
+ readonly chartTitle: "Chart title";
447
+ readonly chartTitlePlaceholder: "Defaults to the report title";
448
+ readonly chartXAxis: "X-axis (category)";
449
+ readonly chartYAxis: "Y-axis (value)";
450
+ readonly chartShowLegend: "Show legend";
451
+ readonly chartShowDataLabels: "Show data labels";
452
+ readonly chartNone: "(no chart)";
453
+ readonly chartBar: "Bar";
454
+ readonly chartLine: "Line";
455
+ readonly chartArea: "Area";
456
+ readonly chartPie: "Pie";
457
+ readonly chartDonut: "Donut";
458
+ readonly chartFunnel: "Funnel";
459
+ readonly validationNeedsObject: "Pick a data source before adding columns.";
460
+ readonly validationMatrixNeedsRowsCols: "Matrix reports need at least one Row and one Column.";
461
+ readonly validationSummaryNeedsRows: "Summary reports need at least one grouping field.";
462
+ readonly blocks: "Blocks";
463
+ readonly blocksHint: "Each block is its own table or chart. Block-level filters are ANDed with the report filter.";
464
+ readonly addBlock: "Add block";
465
+ readonly removeBlock: "Remove block";
466
+ readonly blockName: "Block name";
467
+ readonly blockNamePlaceholder: "unique_block_name";
468
+ readonly blockLabel: "Display label";
469
+ readonly blockLabelPlaceholder: "Shown above the block";
470
+ readonly blockDescription: "Description";
471
+ readonly blockDescriptionPlaceholder: "Optional context for this block";
472
+ readonly validationJoinedNeedsBlocks: "Joined reports need at least one block.";
473
+ readonly validationBlockNameRequired: "Every block needs a non-empty name.";
474
+ readonly validationBlockNameDuplicate: "Block names must be unique within the report.";
475
+ readonly validationBlockNeedsColumns: "Every block needs at least one column.";
476
+ readonly noneOption: "(none)";
477
+ readonly addCondition: "Add condition";
478
+ readonly combineLogic: "Combine with";
479
+ readonly opContains: "contains";
480
+ readonly opIsEmpty: "is empty";
481
+ readonly opIsNotEmpty: "is not empty";
482
+ readonly formatAuto: "Auto";
483
+ readonly formatCurrency: "Currency";
484
+ readonly formatPercent: "Percent";
485
+ readonly formatInteger: "Integer";
486
+ readonly formatDate: "Date";
487
+ readonly formatDatetime: "Date & time";
488
+ readonly columnLabelPlaceholder: "Label override";
489
+ readonly aggregateColumn: "Aggregate";
490
+ readonly formatColumn: "Format";
491
+ readonly addColumns: "Add fields";
492
+ readonly searchFields: "Search fields…";
493
+ readonly noMatchingFields: "No fields match your search.";
494
+ readonly noFieldsAvailable: "No fields available.";
495
+ readonly columnsCount: "{n} column(s) selected";
496
+ readonly columnsEmpty: "No columns selected yet.";
497
+ readonly fieldPickerTitle: "Select fields";
498
+ readonly fieldPickerDescription: "Pick one or more fields to add. Use the search box to narrow the list.";
499
+ readonly fieldPickerChangeTitle: "Change field";
500
+ readonly fieldPickerAddGroupingTitle: "Add grouping";
501
+ readonly fieldPickerEmpty: "(pick field)";
502
+ readonly fieldPickerSelected: "{n} selected";
503
+ readonly fieldPickerClear: "Clear selection";
504
+ readonly fieldPickerAdd: "Add";
505
+ readonly fieldPickerAddN: "Add {n}";
506
+ };
398
507
  };
399
508
  readonly map: {
400
509
  readonly searchLocations: "Search locations…";
@@ -317,6 +317,9 @@ const en = {
317
317
  minutesAgo: '{{count}}m ago',
318
318
  hoursAgo: '{{count}}h ago',
319
319
  daysAgo: '{{count}}d ago',
320
+ // Record meta footer (audit provenance)
321
+ createdBy: 'Created by',
322
+ updatedBy: 'Updated by',
320
323
  // Attachments
321
324
  dropFilesToUpload: 'Drop files here or click to upload',
322
325
  attachmentCount: '{{count}} attachment',
@@ -405,6 +408,113 @@ const en = {
405
408
  max: 'Max',
406
409
  first: 'First',
407
410
  },
411
+ editor: {
412
+ breadcrumb: 'Configuration',
413
+ basic: 'Basic',
414
+ title: 'Title',
415
+ titlePlaceholder: 'e.g. Pipeline by Quarter',
416
+ description: 'Description',
417
+ descriptionPlaceholder: 'What does this report show?',
418
+ type: 'Report type',
419
+ typeTabular: 'Tabular — flat list',
420
+ typeSummary: 'Summary — grouped with totals',
421
+ typeMatrix: 'Matrix — pivot rows × columns',
422
+ typeJoined: 'Joined — multiple blocks',
423
+ typeHelp: 'Pick the layout that matches what you want to see.',
424
+ data: 'Data',
425
+ objectName: 'Data source',
426
+ objectNamePlaceholder: 'e.g. opportunity',
427
+ objectNameHelp: 'Which object should this report query?',
428
+ limit: 'Row limit',
429
+ limitPlaceholder: 'e.g. 100',
430
+ columns: 'Columns',
431
+ columnsHint: 'Pick which fields appear as columns. Add an aggregate (Sum, Count…) on Summary or Matrix reports.',
432
+ filters: 'Filters',
433
+ filtersHint: 'Limit the rows that go into this report.',
434
+ filtersComplex: 'This report uses an advanced filter that cannot be edited here. Save will keep it unchanged.',
435
+ groupBy: 'Group by',
436
+ groupByHint: 'Group the data and compute subtotals.',
437
+ rows: 'Rows',
438
+ rowsHint: 'Group rows by these fields.',
439
+ columnsAxis: 'Columns',
440
+ columnsAxisHint: 'Pivot these fields across the top.',
441
+ values: 'Values',
442
+ valuesHint: 'Numbers shown in each cell. Pick one or more fields and add an aggregate (Sum, Count…).',
443
+ grouping: 'Grouping',
444
+ addGrouping: 'Add grouping',
445
+ dateGranularity: 'Date bucket',
446
+ dateGranularityNone: '(use raw value)',
447
+ day: 'Day',
448
+ week: 'Week',
449
+ month: 'Month',
450
+ quarter: 'Quarter',
451
+ year: 'Year',
452
+ sortAsc: 'Ascending',
453
+ sortDesc: 'Descending',
454
+ chart: 'Chart',
455
+ chartHint: 'Optional visualization rendered alongside the table.',
456
+ chartType: 'Chart type',
457
+ chartTitle: 'Chart title',
458
+ chartTitlePlaceholder: 'Defaults to the report title',
459
+ chartXAxis: 'X-axis (category)',
460
+ chartYAxis: 'Y-axis (value)',
461
+ chartShowLegend: 'Show legend',
462
+ chartShowDataLabels: 'Show data labels',
463
+ chartNone: '(no chart)',
464
+ chartBar: 'Bar',
465
+ chartLine: 'Line',
466
+ chartArea: 'Area',
467
+ chartPie: 'Pie',
468
+ chartDonut: 'Donut',
469
+ chartFunnel: 'Funnel',
470
+ validationNeedsObject: 'Pick a data source before adding columns.',
471
+ validationMatrixNeedsRowsCols: 'Matrix reports need at least one Row and one Column.',
472
+ validationSummaryNeedsRows: 'Summary reports need at least one grouping field.',
473
+ blocks: 'Blocks',
474
+ blocksHint: 'Each block is its own table or chart. Block-level filters are ANDed with the report filter.',
475
+ addBlock: 'Add block',
476
+ removeBlock: 'Remove block',
477
+ blockName: 'Block name',
478
+ blockNamePlaceholder: 'unique_block_name',
479
+ blockLabel: 'Display label',
480
+ blockLabelPlaceholder: 'Shown above the block',
481
+ blockDescription: 'Description',
482
+ blockDescriptionPlaceholder: 'Optional context for this block',
483
+ validationJoinedNeedsBlocks: 'Joined reports need at least one block.',
484
+ validationBlockNameRequired: 'Every block needs a non-empty name.',
485
+ validationBlockNameDuplicate: 'Block names must be unique within the report.',
486
+ validationBlockNeedsColumns: 'Every block needs at least one column.',
487
+ noneOption: '(none)',
488
+ addCondition: 'Add condition',
489
+ combineLogic: 'Combine with',
490
+ opContains: 'contains',
491
+ opIsEmpty: 'is empty',
492
+ opIsNotEmpty: 'is not empty',
493
+ formatAuto: 'Auto',
494
+ formatCurrency: 'Currency',
495
+ formatPercent: 'Percent',
496
+ formatInteger: 'Integer',
497
+ formatDate: 'Date',
498
+ formatDatetime: 'Date & time',
499
+ columnLabelPlaceholder: 'Label override',
500
+ aggregateColumn: 'Aggregate',
501
+ formatColumn: 'Format',
502
+ addColumns: 'Add fields',
503
+ searchFields: 'Search fields…',
504
+ noMatchingFields: 'No fields match your search.',
505
+ noFieldsAvailable: 'No fields available.',
506
+ columnsCount: '{n} column(s) selected',
507
+ columnsEmpty: 'No columns selected yet.',
508
+ fieldPickerTitle: 'Select fields',
509
+ fieldPickerDescription: 'Pick one or more fields to add. Use the search box to narrow the list.',
510
+ fieldPickerChangeTitle: 'Change field',
511
+ fieldPickerAddGroupingTitle: 'Add grouping',
512
+ fieldPickerEmpty: '(pick field)',
513
+ fieldPickerSelected: '{n} selected',
514
+ fieldPickerClear: 'Clear selection',
515
+ fieldPickerAdd: 'Add',
516
+ fieldPickerAddN: 'Add {n}',
517
+ },
408
518
  },
409
519
  map: {
410
520
  searchLocations: 'Search locations…',