@cparra/apexdocs 3.13.0 → 3.14.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.
@@ -51,6 +51,171 @@ function apply(fn, ...front) {
51
51
  return (...tailArgs) => fn(...front, ...tailArgs);
52
52
  }
53
53
 
54
+ const defaultTranslations = {
55
+ changelog: {
56
+ title: "Changelog",
57
+ newClasses: {
58
+ heading: "New Classes",
59
+ description: "These classes are new."
60
+ },
61
+ newInterfaces: {
62
+ heading: "New Interfaces",
63
+ description: "These interfaces are new."
64
+ },
65
+ newEnums: {
66
+ heading: "New Enums",
67
+ description: "These enums are new."
68
+ },
69
+ newCustomObjects: {
70
+ heading: "New Custom Objects",
71
+ description: "These custom objects are new."
72
+ },
73
+ newTriggers: {
74
+ heading: "New Triggers",
75
+ description: "These triggers are new."
76
+ },
77
+ removedTypes: {
78
+ heading: "Removed Types",
79
+ description: "These types have been removed."
80
+ },
81
+ removedCustomObjects: {
82
+ heading: "Removed Custom Objects",
83
+ description: "These custom objects have been removed."
84
+ },
85
+ removedTriggers: {
86
+ heading: "Removed Triggers",
87
+ description: "These triggers have been removed."
88
+ },
89
+ newOrModifiedMembers: {
90
+ heading: "New or Modified Members in Existing Types",
91
+ description: "These members have been added or modified."
92
+ },
93
+ newOrRemovedCustomFields: {
94
+ heading: "New or Removed Fields to Custom Objects or Standard Objects",
95
+ description: "These custom fields have been added or removed."
96
+ },
97
+ newOrRemovedCustomMetadataTypeRecords: {
98
+ heading: "New or Removed Custom Metadata Type Records",
99
+ description: "These custom metadata type records have been added or removed."
100
+ },
101
+ memberModifications: {
102
+ newEnumValue: "New Enum Value",
103
+ removedEnumValue: "Removed Enum Value",
104
+ newMethod: "New Method",
105
+ removedMethod: "Removed Method",
106
+ newProperty: "New Property",
107
+ removedProperty: "Removed Property",
108
+ newField: "New Field",
109
+ removedField: "Removed Field",
110
+ newType: "New Type",
111
+ removedType: "Removed Type",
112
+ newCustomMetadataRecord: "New Custom Metadata Record",
113
+ removedCustomMetadataRecord: "Removed Custom Metadata Record",
114
+ newTrigger: "New Trigger",
115
+ removedTrigger: "Removed Trigger"
116
+ }
117
+ },
118
+ markdown: {
119
+ sections: {
120
+ methods: "Methods",
121
+ properties: "Properties",
122
+ fields: "Fields",
123
+ constructors: "Constructors",
124
+ values: "Values",
125
+ classes: "Classes",
126
+ enums: "Enums",
127
+ interfaces: "Interfaces",
128
+ namespace: "Namespace",
129
+ records: "Records",
130
+ publishBehavior: "Publish Behavior"
131
+ },
132
+ details: {
133
+ type: "Type",
134
+ signature: "Signature",
135
+ group: "Group",
136
+ author: "Author",
137
+ date: "Date",
138
+ see: "See",
139
+ possibleValues: "Possible values are",
140
+ parameters: "Parameters",
141
+ throws: "Throws",
142
+ returnType: "Return Type",
143
+ apiName: "API Name",
144
+ required: "Required",
145
+ inlineHelpText: "Inline Help Text",
146
+ complianceGroup: "Compliance Group",
147
+ securityClassification: "Security Classification",
148
+ protected: "Protected"
149
+ },
150
+ typeSuffixes: {
151
+ class: "Class",
152
+ interface: "Interface",
153
+ enum: "Enum",
154
+ trigger: "Trigger"
155
+ },
156
+ triggerEvents: {
157
+ beforeInsert: "Before Insert",
158
+ beforeUpdate: "Before Update",
159
+ beforeDelete: "Before Delete",
160
+ afterInsert: "After Insert",
161
+ afterUpdate: "After Update",
162
+ afterDelete: "After Delete",
163
+ afterUndelete: "After Undelete"
164
+ },
165
+ publishBehaviors: {
166
+ publishImmediately: "Publish Immediately",
167
+ publishAfterCommit: "Publish After Commit"
168
+ },
169
+ inheritance: {
170
+ inheritance: "Inheritance",
171
+ implements: "Implements"
172
+ }
173
+ }
174
+ };
175
+
176
+ var __defProp$q = Object.defineProperty;
177
+ var __getOwnPropSymbols$q = Object.getOwnPropertySymbols;
178
+ var __hasOwnProp$q = Object.prototype.hasOwnProperty;
179
+ var __propIsEnum$q = Object.prototype.propertyIsEnumerable;
180
+ var __defNormalProp$q = (obj, key, value) => key in obj ? __defProp$q(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
181
+ var __spreadValues$q = (a, b) => {
182
+ for (var prop in b || (b = {}))
183
+ if (__hasOwnProp$q.call(b, prop))
184
+ __defNormalProp$q(a, prop, b[prop]);
185
+ if (__getOwnPropSymbols$q)
186
+ for (var prop of __getOwnPropSymbols$q(b)) {
187
+ if (__propIsEnum$q.call(b, prop))
188
+ __defNormalProp$q(a, prop, b[prop]);
189
+ }
190
+ return a;
191
+ };
192
+ function mergeTranslations(userTranslations) {
193
+ if (!userTranslations) {
194
+ return defaultTranslations;
195
+ }
196
+ return JSON.parse(
197
+ JSON.stringify(Object.assign({}, defaultTranslations, deepMerge(defaultTranslations, userTranslations)))
198
+ );
199
+ }
200
+ function isObjectWithStringKeys(value) {
201
+ return value !== null && typeof value === "object" && !Array.isArray(value);
202
+ }
203
+ function deepMerge(target, source) {
204
+ const result = __spreadValues$q({}, target);
205
+ for (const key in source) {
206
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
207
+ const sourceValue = source[key];
208
+ const targetValue = result[key];
209
+ if (isObjectWithStringKeys(sourceValue) && isObjectWithStringKeys(targetValue)) {
210
+ result[key] = deepMerge(targetValue, sourceValue);
211
+ } else if (sourceValue !== void 0) {
212
+ result[key] = sourceValue;
213
+ }
214
+ }
215
+ }
216
+ return result;
217
+ }
218
+
54
219
  function defaultGetEmailByReference(email) {
55
220
  return {
56
221
  __type: "link",
@@ -150,25 +315,25 @@ function isInlineCode(content) {
150
315
  return Object.keys(content).includes("__type") && content.__type === "inline-code";
151
316
  }
152
317
 
153
- var __defProp$o = Object.defineProperty;
154
- var __defProps$o = Object.defineProperties;
155
- var __getOwnPropDescs$o = Object.getOwnPropertyDescriptors;
156
- var __getOwnPropSymbols$o = Object.getOwnPropertySymbols;
157
- var __hasOwnProp$o = Object.prototype.hasOwnProperty;
158
- var __propIsEnum$o = Object.prototype.propertyIsEnumerable;
159
- var __defNormalProp$o = (obj, key, value) => key in obj ? __defProp$o(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
160
- var __spreadValues$o = (a, b) => {
318
+ var __defProp$p = Object.defineProperty;
319
+ var __defProps$p = Object.defineProperties;
320
+ var __getOwnPropDescs$p = Object.getOwnPropertyDescriptors;
321
+ var __getOwnPropSymbols$p = Object.getOwnPropertySymbols;
322
+ var __hasOwnProp$p = Object.prototype.hasOwnProperty;
323
+ var __propIsEnum$p = Object.prototype.propertyIsEnumerable;
324
+ var __defNormalProp$p = (obj, key, value) => key in obj ? __defProp$p(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
325
+ var __spreadValues$p = (a, b) => {
161
326
  for (var prop in b || (b = {}))
162
- if (__hasOwnProp$o.call(b, prop))
163
- __defNormalProp$o(a, prop, b[prop]);
164
- if (__getOwnPropSymbols$o)
165
- for (var prop of __getOwnPropSymbols$o(b)) {
166
- if (__propIsEnum$o.call(b, prop))
167
- __defNormalProp$o(a, prop, b[prop]);
327
+ if (__hasOwnProp$p.call(b, prop))
328
+ __defNormalProp$p(a, prop, b[prop]);
329
+ if (__getOwnPropSymbols$p)
330
+ for (var prop of __getOwnPropSymbols$p(b)) {
331
+ if (__propIsEnum$p.call(b, prop))
332
+ __defNormalProp$p(a, prop, b[prop]);
168
333
  }
169
334
  return a;
170
335
  };
171
- var __spreadProps$o = (a, b) => __defProps$o(a, __getOwnPropDescs$o(b));
336
+ var __spreadProps$p = (a, b) => __defProps$p(a, __getOwnPropDescs$p(b));
172
337
  function adaptDescribable(describable, linkGenerator) {
173
338
  return {
174
339
  description: describableToRenderableContent(describable, linkGenerator)
@@ -220,7 +385,7 @@ function adaptDocumentable(documentable, linkGenerator, subHeadingLevel) {
220
385
  function extractCustomTags(type) {
221
386
  var _a2, _b2;
222
387
  const baseTags = ["description", "group", "author", "date", "see", "example", "throws", "exception"];
223
- return (_b2 = (_a2 = type.docComment) == null ? void 0 : _a2.annotations.filter((currentAnnotation) => !baseTags.includes(currentAnnotation.name.toLowerCase())).map((currentAnnotation) => __spreadProps$o(__spreadValues$o({}, adaptDescribable(currentAnnotation.bodyLines, linkGenerator)), {
388
+ return (_b2 = (_a2 = type.docComment) == null ? void 0 : _a2.annotations.filter((currentAnnotation) => !baseTags.includes(currentAnnotation.name.toLowerCase())).map((currentAnnotation) => __spreadProps$p(__spreadValues$p({}, adaptDescribable(currentAnnotation.bodyLines, linkGenerator)), {
224
389
  name: currentAnnotation.name
225
390
  }))) != null ? _b2 : [];
226
391
  }
@@ -234,7 +399,7 @@ function adaptDocumentable(documentable, linkGenerator, subHeadingLevel) {
234
399
  var _a2, _b2;
235
400
  return (_b2 = (_a2 = type.docComment) == null ? void 0 : _a2.annotations.filter((currentAnnotation) => currentAnnotation.name.toLowerCase() === "see").map((currentAnnotation) => currentAnnotation.body)) != null ? _b2 : [];
236
401
  }
237
- return __spreadProps$o(__spreadValues$o({}, adaptDescribable((_a = documentable.docComment) == null ? void 0 : _a.descriptionLines, linkGenerator)), {
402
+ return __spreadProps$p(__spreadValues$p({}, adaptDescribable((_a = documentable.docComment) == null ? void 0 : _a.descriptionLines, linkGenerator)), {
238
403
  annotations: documentable.annotations.map((annotation) => annotation.type.toUpperCase()),
239
404
  customTags: extractCustomTags(documentable),
240
405
  example: {
@@ -249,26 +414,26 @@ function adaptDocumentable(documentable, linkGenerator, subHeadingLevel) {
249
414
  });
250
415
  }
251
416
 
252
- var __defProp$n = Object.defineProperty;
253
- var __defProps$n = Object.defineProperties;
254
- var __getOwnPropDescs$n = Object.getOwnPropertyDescriptors;
255
- var __getOwnPropSymbols$n = Object.getOwnPropertySymbols;
256
- var __hasOwnProp$n = Object.prototype.hasOwnProperty;
257
- var __propIsEnum$n = Object.prototype.propertyIsEnumerable;
258
- var __defNormalProp$n = (obj, key, value) => key in obj ? __defProp$n(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
259
- var __spreadValues$n = (a, b) => {
417
+ var __defProp$o = Object.defineProperty;
418
+ var __defProps$o = Object.defineProperties;
419
+ var __getOwnPropDescs$o = Object.getOwnPropertyDescriptors;
420
+ var __getOwnPropSymbols$o = Object.getOwnPropertySymbols;
421
+ var __hasOwnProp$o = Object.prototype.hasOwnProperty;
422
+ var __propIsEnum$o = Object.prototype.propertyIsEnumerable;
423
+ var __defNormalProp$o = (obj, key, value) => key in obj ? __defProp$o(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
424
+ var __spreadValues$o = (a, b) => {
260
425
  for (var prop in b || (b = {}))
261
- if (__hasOwnProp$n.call(b, prop))
262
- __defNormalProp$n(a, prop, b[prop]);
263
- if (__getOwnPropSymbols$n)
264
- for (var prop of __getOwnPropSymbols$n(b)) {
265
- if (__propIsEnum$n.call(b, prop))
266
- __defNormalProp$n(a, prop, b[prop]);
426
+ if (__hasOwnProp$o.call(b, prop))
427
+ __defNormalProp$o(a, prop, b[prop]);
428
+ if (__getOwnPropSymbols$o)
429
+ for (var prop of __getOwnPropSymbols$o(b)) {
430
+ if (__propIsEnum$o.call(b, prop))
431
+ __defNormalProp$o(a, prop, b[prop]);
267
432
  }
268
433
  return a;
269
434
  };
270
- var __spreadProps$n = (a, b) => __defProps$n(a, __getOwnPropDescs$n(b));
271
- function adaptMethod(method, linkGenerator, baseHeadingLevel) {
435
+ var __spreadProps$o = (a, b) => __defProps$o(a, __getOwnPropDescs$o(b));
436
+ function adaptMethod(method, linkGenerator, baseHeadingLevel, translations) {
272
437
  var _a, _b, _c;
273
438
  function buildTitle(method2) {
274
439
  const { name, parameters } = method2;
@@ -291,30 +456,30 @@ function adaptMethod(method, linkGenerator, baseHeadingLevel) {
291
456
  heading: buildTitle(method),
292
457
  signature: {
293
458
  headingLevel: baseHeadingLevel + 1,
294
- heading: "Signature",
459
+ heading: translations.markdown.details.signature,
295
460
  value: buildSignature(method)
296
461
  },
297
462
  returnType: {
298
463
  headingLevel: baseHeadingLevel + 1,
299
- heading: "Return Type",
300
- value: __spreadProps$n(__spreadValues$n({}, adaptDescribable((_b = (_a = method.docComment) == null ? void 0 : _a.returnAnnotation) == null ? void 0 : _b.bodyLines, linkGenerator)), {
464
+ heading: translations.markdown.details.returnType,
465
+ value: __spreadProps$o(__spreadValues$o({}, adaptDescribable((_b = (_a = method.docComment) == null ? void 0 : _a.returnAnnotation) == null ? void 0 : _b.bodyLines, linkGenerator)), {
301
466
  type: linkGenerator(method.typeReference.rawDeclaration)
302
467
  })
303
468
  },
304
469
  throws: {
305
470
  headingLevel: baseHeadingLevel + 1,
306
- heading: "Throws",
471
+ heading: translations.markdown.details.throws,
307
472
  value: (_c = method.docComment) == null ? void 0 : _c.throwsAnnotations.map((thrown) => mapThrows(thrown, linkGenerator))
308
473
  },
309
474
  parameters: {
310
475
  headingLevel: baseHeadingLevel + 1,
311
- heading: "Parameters",
476
+ heading: translations.markdown.details.parameters,
312
477
  value: method.parameters.map((param) => mapParameters(method, param, linkGenerator))
313
478
  },
314
479
  inherited: method.inherited
315
480
  };
316
481
  }
317
- function adaptConstructor(typeName, constructor, linkGenerator, baseHeadingLevel) {
482
+ function adaptConstructor(typeName, constructor, linkGenerator, baseHeadingLevel, translations) {
318
483
  var _a;
319
484
  function buildTitle(name, constructor2) {
320
485
  const { parameters } = constructor2;
@@ -336,17 +501,17 @@ function adaptConstructor(typeName, constructor, linkGenerator, baseHeadingLevel
336
501
  heading: buildTitle(typeName, constructor),
337
502
  signature: {
338
503
  headingLevel: baseHeadingLevel + 1,
339
- heading: "Signature",
504
+ heading: translations.markdown.details.signature,
340
505
  value: buildSignature(typeName, constructor)
341
506
  },
342
507
  parameters: {
343
508
  headingLevel: baseHeadingLevel + 1,
344
- heading: "Parameters",
509
+ heading: translations.markdown.details.parameters,
345
510
  value: constructor.parameters.map((param) => mapParameters(constructor, param, linkGenerator))
346
511
  },
347
512
  throws: {
348
513
  headingLevel: baseHeadingLevel + 1,
349
- heading: "Throws",
514
+ heading: translations.markdown.details.throws,
350
515
  value: (_a = constructor.docComment) == null ? void 0 : _a.throwsAnnotations.map((thrown) => mapThrows(thrown, linkGenerator))
351
516
  }
352
517
  };
@@ -356,18 +521,18 @@ function mapParameters(documentable, param, linkGenerator) {
356
521
  const paramAnnotation = (_a = documentable.docComment) == null ? void 0 : _a.paramAnnotations.find(
357
522
  (pa) => pa.paramName.toLowerCase() === param.name.toLowerCase()
358
523
  );
359
- return __spreadProps$n(__spreadValues$n({}, adaptDescribable(paramAnnotation == null ? void 0 : paramAnnotation.bodyLines, linkGenerator)), {
524
+ return __spreadProps$o(__spreadValues$o({}, adaptDescribable(paramAnnotation == null ? void 0 : paramAnnotation.bodyLines, linkGenerator)), {
360
525
  name: param.name,
361
526
  type: linkGenerator(param.typeReference.rawDeclaration)
362
527
  });
363
528
  }
364
529
  function mapThrows(thrown, linkGenerator) {
365
- return __spreadProps$n(__spreadValues$n({}, adaptDescribable(thrown.bodyLines, linkGenerator)), {
530
+ return __spreadProps$o(__spreadValues$o({}, adaptDescribable(thrown.bodyLines, linkGenerator)), {
366
531
  type: linkGenerator(thrown.exceptionName)
367
532
  });
368
533
  }
369
534
 
370
- function adaptFieldOrProperty(field, linkGenerator, baseHeadingLevel) {
535
+ function adaptFieldOrProperty(field, linkGenerator, baseHeadingLevel, translations) {
371
536
  function buildSignature() {
372
537
  const { access_modifier, name } = field;
373
538
  const memberModifiers = field.memberModifiers.join(" ");
@@ -384,14 +549,14 @@ function adaptFieldOrProperty(field, linkGenerator, baseHeadingLevel) {
384
549
  heading: field.name,
385
550
  type: {
386
551
  headingLevel: baseHeadingLevel + 1,
387
- heading: "Type",
552
+ heading: translations.markdown.details.type,
388
553
  value: linkGenerator(field.typeReference.rawDeclaration)
389
554
  },
390
555
  inherited: field.inherited,
391
556
  accessModifier: field.access_modifier,
392
557
  signature: {
393
558
  headingLevel: baseHeadingLevel + 1,
394
- heading: "Signature",
559
+ heading: translations.markdown.details.signature,
395
560
  value: buildSignature()
396
561
  }
397
562
  };
@@ -450,52 +615,52 @@ ${yamlString}---
450
615
  `;
451
616
  }
452
617
 
453
- var __defProp$m = Object.defineProperty;
454
- var __defProps$m = Object.defineProperties;
455
- var __getOwnPropDescs$m = Object.getOwnPropertyDescriptors;
456
- var __getOwnPropSymbols$m = Object.getOwnPropertySymbols;
457
- var __hasOwnProp$m = Object.prototype.hasOwnProperty;
458
- var __propIsEnum$m = Object.prototype.propertyIsEnumerable;
459
- var __defNormalProp$m = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
460
- var __spreadValues$m = (a, b) => {
618
+ var __defProp$n = Object.defineProperty;
619
+ var __defProps$n = Object.defineProperties;
620
+ var __getOwnPropDescs$n = Object.getOwnPropertyDescriptors;
621
+ var __getOwnPropSymbols$n = Object.getOwnPropertySymbols;
622
+ var __hasOwnProp$n = Object.prototype.hasOwnProperty;
623
+ var __propIsEnum$n = Object.prototype.propertyIsEnumerable;
624
+ var __defNormalProp$n = (obj, key, value) => key in obj ? __defProp$n(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
625
+ var __spreadValues$n = (a, b) => {
461
626
  for (var prop in b || (b = {}))
462
- if (__hasOwnProp$m.call(b, prop))
463
- __defNormalProp$m(a, prop, b[prop]);
464
- if (__getOwnPropSymbols$m)
465
- for (var prop of __getOwnPropSymbols$m(b)) {
466
- if (__propIsEnum$m.call(b, prop))
467
- __defNormalProp$m(a, prop, b[prop]);
627
+ if (__hasOwnProp$n.call(b, prop))
628
+ __defNormalProp$n(a, prop, b[prop]);
629
+ if (__getOwnPropSymbols$n)
630
+ for (var prop of __getOwnPropSymbols$n(b)) {
631
+ if (__propIsEnum$n.call(b, prop))
632
+ __defNormalProp$n(a, prop, b[prop]);
468
633
  }
469
634
  return a;
470
635
  };
471
- var __spreadProps$m = (a, b) => __defProps$m(a, __getOwnPropDescs$m(b));
472
- function typeToRenderable$1(parsedFile, linkGenerator, config) {
636
+ var __spreadProps$n = (a, b) => __defProps$n(a, __getOwnPropDescs$n(b));
637
+ function typeToRenderable$1(parsedFile, linkGenerator, config, translations) {
473
638
  function getRenderable() {
474
639
  const { type } = parsedFile;
475
640
  switch (type.type_name) {
476
641
  case "enum":
477
- return enumTypeToEnumSource(type, linkGenerator);
642
+ return enumTypeToEnumSource(type, linkGenerator, 1, translations);
478
643
  case "interface":
479
- return interfaceTypeToInterfaceSource(type, linkGenerator);
644
+ return interfaceTypeToInterfaceSource(type, linkGenerator, 1, translations);
480
645
  case "class":
481
- return classTypeToClassSource(type, linkGenerator);
646
+ return classTypeToClassSource(type, linkGenerator, 1, translations);
482
647
  case "trigger":
483
- return triggerMetadataToRenderable(type, linkGenerator);
648
+ return triggerMetadataToRenderable(type, linkGenerator, 1, translations);
484
649
  case "customobject":
485
- return objectMetadataToRenderable(type, config);
650
+ return objectMetadataToRenderable(type, config, translations);
486
651
  }
487
652
  }
488
- return __spreadProps$m(__spreadValues$m({}, getRenderable()), {
653
+ return __spreadProps$n(__spreadValues$n({}, getRenderable()), {
489
654
  filePath: isInSource(parsedFile.source) ? parsedFile.source.filePath : void 0,
490
655
  namespace: config.namespace
491
656
  });
492
657
  }
493
- function baseTypeAdapter(type, linkGenerator, baseHeadingLevel) {
658
+ function baseTypeAdapter(type, linkGenerator, baseHeadingLevel, translations) {
494
659
  function getHeading(type2) {
495
660
  const suffixMap = {
496
- class: "Class",
497
- interface: "Interface",
498
- enum: "Enum"
661
+ class: translations.markdown.typeSuffixes.class,
662
+ interface: translations.markdown.typeSuffixes.interface,
663
+ enum: translations.markdown.typeSuffixes.enum
499
664
  };
500
665
  return `${type2.name} ${suffixMap[type2.type_name]}`;
501
666
  }
@@ -509,103 +674,122 @@ function baseTypeAdapter(type, linkGenerator, baseHeadingLevel) {
509
674
  }
510
675
  };
511
676
  }
512
- function enumTypeToEnumSource(enumType, linkGenerator, baseHeadingLevel = 1) {
513
- return __spreadProps$m(__spreadValues$m({
677
+ function enumTypeToEnumSource(enumType, linkGenerator, baseHeadingLevel = 1, translations) {
678
+ return __spreadProps$n(__spreadValues$n({
514
679
  type: "enum"
515
- }, baseTypeAdapter(enumType, linkGenerator, baseHeadingLevel)), {
680
+ }, baseTypeAdapter(enumType, linkGenerator, baseHeadingLevel, translations)), {
516
681
  values: {
517
682
  headingLevel: baseHeadingLevel + 1,
518
- heading: "Values",
683
+ heading: translations.markdown.sections.values,
519
684
  value: enumType.values.map((value) => {
520
685
  var _a;
521
- return __spreadProps$m(__spreadValues$m({}, adaptDescribable((_a = value.docComment) == null ? void 0 : _a.descriptionLines, linkGenerator)), {
686
+ return __spreadProps$n(__spreadValues$n({}, adaptDescribable((_a = value.docComment) == null ? void 0 : _a.descriptionLines, linkGenerator)), {
522
687
  value: value.name
523
688
  });
524
689
  })
525
690
  }
526
691
  });
527
692
  }
528
- function interfaceTypeToInterfaceSource(interfaceType, linkGenerator, baseHeadingLevel = 1) {
529
- return __spreadProps$m(__spreadValues$m({
693
+ function interfaceTypeToInterfaceSource(interfaceType, linkGenerator, baseHeadingLevel = 1, translations) {
694
+ return __spreadProps$n(__spreadValues$n({
530
695
  type: "interface"
531
- }, baseTypeAdapter(interfaceType, linkGenerator, baseHeadingLevel)), {
696
+ }, baseTypeAdapter(interfaceType, linkGenerator, baseHeadingLevel, translations)), {
532
697
  extends: interfaceType.extended_interfaces.map(linkGenerator),
533
698
  methods: {
534
699
  headingLevel: baseHeadingLevel + 1,
535
- heading: "Methods",
536
- value: interfaceType.methods.map((method) => adaptMethod(method, linkGenerator, baseHeadingLevel + 2))
700
+ heading: translations.markdown.sections.methods,
701
+ value: interfaceType.methods.map(
702
+ (method) => adaptMethod(method, linkGenerator, baseHeadingLevel + 2, translations)
703
+ )
537
704
  }
538
705
  });
539
706
  }
540
- function classTypeToClassSource(classType, linkGenerator, baseHeadingLevel = 1) {
541
- return __spreadProps$m(__spreadValues$m({
707
+ function classTypeToClassSource(classType, linkGenerator, baseHeadingLevel = 1, translations) {
708
+ return __spreadProps$n(__spreadValues$n({
542
709
  type: "class"
543
- }, baseTypeAdapter(classType, linkGenerator, baseHeadingLevel)), {
710
+ }, baseTypeAdapter(classType, linkGenerator, baseHeadingLevel, translations)), {
544
711
  classModifier: classType.classModifier,
545
712
  sharingModifier: classType.sharingModifier,
546
713
  implements: classType.implemented_interfaces.map(linkGenerator),
547
714
  extends: classType.inheritanceChain.map(linkGenerator),
548
- methods: adaptMembers("Methods", classType.methods, adaptMethod, linkGenerator, baseHeadingLevel + 1),
715
+ methods: adaptMembers(
716
+ translations.markdown.sections.methods,
717
+ classType.methods,
718
+ adaptMethod,
719
+ linkGenerator,
720
+ baseHeadingLevel + 1,
721
+ translations
722
+ ),
549
723
  constructors: adaptMembers(
550
- "Constructors",
724
+ translations.markdown.sections.constructors,
551
725
  classType.constructors,
552
- (constructor, linkGenerator2, baseHeadingLevel2) => adaptConstructor(classType.name, constructor, linkGenerator2, baseHeadingLevel2),
726
+ (constructor, linkGenerator2, baseHeadingLevel2, translations2) => adaptConstructor(classType.name, constructor, linkGenerator2, baseHeadingLevel2, translations2),
553
727
  linkGenerator,
554
- baseHeadingLevel + 1
728
+ baseHeadingLevel + 1,
729
+ translations
555
730
  ),
556
731
  fields: adaptMembers(
557
- "Fields",
732
+ translations.markdown.sections.fields,
558
733
  classType.fields,
559
734
  adaptFieldOrProperty,
560
735
  linkGenerator,
561
- baseHeadingLevel + 1
736
+ baseHeadingLevel + 1,
737
+ translations
562
738
  ),
563
739
  properties: adaptMembers(
564
- "Properties",
740
+ translations.markdown.sections.properties,
565
741
  classType.properties,
566
742
  adaptFieldOrProperty,
567
743
  linkGenerator,
568
- baseHeadingLevel + 1
744
+ baseHeadingLevel + 1,
745
+ translations
569
746
  ),
570
747
  innerClasses: {
571
748
  headingLevel: baseHeadingLevel + 1,
572
- heading: "Classes",
749
+ heading: translations.markdown.sections.classes,
573
750
  value: classType.classes.map(
574
- (innerClass) => classTypeToClassSource(__spreadProps$m(__spreadValues$m({}, innerClass), { inheritanceChain: [] }), linkGenerator, baseHeadingLevel + 2)
751
+ (innerClass) => classTypeToClassSource(
752
+ __spreadProps$n(__spreadValues$n({}, innerClass), { inheritanceChain: [] }),
753
+ linkGenerator,
754
+ baseHeadingLevel + 2,
755
+ translations
756
+ )
575
757
  )
576
758
  },
577
759
  innerEnums: {
578
760
  headingLevel: baseHeadingLevel + 1,
579
- heading: "Enums",
580
- value: classType.enums.map((innerEnum) => enumTypeToEnumSource(innerEnum, linkGenerator, baseHeadingLevel + 2))
761
+ heading: translations.markdown.sections.enums,
762
+ value: classType.enums.map(
763
+ (innerEnum) => enumTypeToEnumSource(innerEnum, linkGenerator, baseHeadingLevel + 2, translations)
764
+ )
581
765
  },
582
766
  innerInterfaces: {
583
767
  headingLevel: baseHeadingLevel + 1,
584
- heading: "Interfaces",
768
+ heading: translations.markdown.sections.interfaces,
585
769
  value: classType.interfaces.map(
586
- (innerInterface) => interfaceTypeToInterfaceSource(innerInterface, linkGenerator, baseHeadingLevel + 2)
770
+ (innerInterface) => interfaceTypeToInterfaceSource(innerInterface, linkGenerator, baseHeadingLevel + 2, translations)
587
771
  )
588
772
  }
589
773
  });
590
774
  }
591
- function adaptMembers(heading, members, adapter, linkFromTypeNameGenerator, headingLevel) {
775
+ function adaptMembers(heading, members, adapter, linkFromTypeNameGenerator, headingLevel, translations) {
592
776
  return {
593
777
  headingLevel,
594
778
  heading,
595
779
  isGrouped: hasGroup(members),
596
- value: hasGroup(members) ? toGroupedMembers(members, adapter, linkFromTypeNameGenerator, headingLevel + 1) : toFlat(members, adapter, linkFromTypeNameGenerator, headingLevel + 1)
780
+ value: hasGroup(members) ? toGroupedMembers(members, adapter, linkFromTypeNameGenerator, headingLevel + 1, translations) : toFlat(members, adapter, linkFromTypeNameGenerator, headingLevel + 1, translations)
597
781
  };
598
782
  }
599
783
  function hasGroup(members) {
600
784
  return members.some((member) => member.group);
601
785
  }
602
- function toFlat(members, adapter, linkGenerator, baseHeadingLevel) {
603
- return members.map((member) => adapter(member, linkGenerator, baseHeadingLevel));
786
+ function toFlat(members, adapter, linkGenerator, baseHeadingLevel, translations) {
787
+ return members.map((member) => adapter(member, linkGenerator, baseHeadingLevel, translations));
604
788
  }
605
- function toGroupedMembers(members, adapter, linkGenerator, baseHeadingLevel) {
789
+ function toGroupedMembers(members, adapter, linkGenerator, baseHeadingLevel, translations) {
606
790
  const groupedMembers = groupByGroupName(members);
607
791
  return Object.entries(groupedMembers).map(
608
- ([groupName, members2]) => singleGroup(baseHeadingLevel, groupName, adapter, members2, linkGenerator)
792
+ ([groupName, members2]) => singleGroup(baseHeadingLevel, groupName, adapter, members2, linkGenerator, translations)
609
793
  );
610
794
  }
611
795
  function groupByGroupName(members) {
@@ -620,32 +804,32 @@ function groupByGroupName(members) {
620
804
  {}
621
805
  );
622
806
  }
623
- function singleGroup(headingLevel, groupName, adapter, members, linkGenerator) {
807
+ function singleGroup(headingLevel, groupName, adapter, members, linkGenerator, translations) {
624
808
  return {
625
809
  headingLevel,
626
810
  heading: groupName,
627
811
  groupDescription: members[0].groupDescription,
628
812
  // All fields in the group have the same description
629
- value: toFlat(members, adapter, linkGenerator, headingLevel + 1)
813
+ value: toFlat(members, adapter, linkGenerator, headingLevel + 1, translations)
630
814
  };
631
815
  }
632
- function triggerMetadataToRenderable(triggerMetadata, linkGenerator, baseHeadingLevel = 1) {
816
+ function triggerMetadataToRenderable(triggerMetadata, linkGenerator, baseHeadingLevel = 1, translations) {
633
817
  function formatEvent(event) {
634
818
  switch (event) {
635
819
  case "beforeinsert":
636
- return "Before Insert";
820
+ return translations.markdown.triggerEvents.beforeInsert;
637
821
  case "beforeupdate":
638
- return "Before Update";
822
+ return translations.markdown.triggerEvents.beforeUpdate;
639
823
  case "beforedelete":
640
- return "Before Delete";
824
+ return translations.markdown.triggerEvents.beforeDelete;
641
825
  case "afterinsert":
642
- return "After Insert";
826
+ return translations.markdown.triggerEvents.afterInsert;
643
827
  case "afterupdate":
644
- return "After Update";
828
+ return translations.markdown.triggerEvents.afterUpdate;
645
829
  case "afterdelete":
646
- return "After Delete";
830
+ return translations.markdown.triggerEvents.afterDelete;
647
831
  case "afterundelete":
648
- return "After Undelete";
832
+ return translations.markdown.triggerEvents.afterUndelete;
649
833
  default:
650
834
  return event;
651
835
  }
@@ -662,19 +846,19 @@ function triggerMetadataToRenderable(triggerMetadata, linkGenerator, baseHeading
662
846
  name: triggerMetadata.name,
663
847
  type: "trigger",
664
848
  headingLevel: 1,
665
- heading: triggerMetadata.name + " Trigger",
849
+ heading: triggerMetadata.name + " " + translations.markdown.typeSuffixes.trigger,
666
850
  objectName: triggerMetadata.object_name,
667
851
  events: triggerMetadata.events.map(formatEvent)
668
852
  };
669
853
  }
670
- function objectMetadataToRenderable(objectMetadata, config) {
854
+ function objectMetadataToRenderable(objectMetadata, config, translations) {
671
855
  var _a;
672
856
  function toRenderablePublishBehavior(publishBehavior) {
673
857
  switch (publishBehavior) {
674
858
  case "PublishImmediately":
675
- return "Publish Immediately";
859
+ return translations.markdown.publishBehaviors.publishImmediately;
676
860
  case "PublishAfterCommit":
677
- return "Publish After Commit";
861
+ return translations.markdown.publishBehaviors.publishAfterCommit;
678
862
  default:
679
863
  return null;
680
864
  }
@@ -692,19 +876,19 @@ function objectMetadataToRenderable(objectMetadata, config) {
692
876
  hasFields: objectMetadata.fields.length > 0,
693
877
  fields: {
694
878
  headingLevel: 2,
695
- heading: "Fields",
696
- value: objectMetadata.fields.map((field) => fieldMetadataToRenderable(field, config, 3))
879
+ heading: translations.markdown.sections.fields,
880
+ value: objectMetadata.fields.map((field) => fieldMetadataToRenderable(field, config, 3, translations))
697
881
  },
698
882
  hasRecords: objectMetadata.metadataRecords.length > 0,
699
883
  metadataRecords: {
700
884
  headingLevel: 2,
701
- heading: "Records",
885
+ heading: translations.markdown.sections.records,
702
886
  value: objectMetadata.metadataRecords.map((metadata) => customMetadataToRenderable(metadata, 3))
703
887
  },
704
888
  publishBehavior: toRenderablePublishBehavior(objectMetadata.publishBehavior)
705
889
  };
706
890
  }
707
- function fieldMetadataToRenderable(field, config, headingLevel) {
891
+ function fieldMetadataToRenderable(field, config, headingLevel, translations) {
708
892
  var _a;
709
893
  return {
710
894
  type: "field",
@@ -719,7 +903,7 @@ function fieldMetadataToRenderable(field, config, headingLevel) {
719
903
  inlineHelpText: renderInlineHelpText(field.inlineHelpText, config),
720
904
  pickListValues: field.pickListValues ? {
721
905
  headingLevel: headingLevel + 1,
722
- heading: "Possible values are",
906
+ heading: translations.markdown.details.possibleValues,
723
907
  value: field.pickListValues
724
908
  } : void 0
725
909
  };
@@ -811,7 +995,7 @@ const returnReferenceAsIs = (references, _from, referenceName) => {
811
995
  };
812
996
  };
813
997
 
814
- function parsedFilesToRenderableBundle(config, parsedFiles, references) {
998
+ function parsedFilesToRenderableBundle(config, parsedFiles, references, translations) {
815
999
  const referenceFinder = apply(generateLink(config.linkingStrategy), references);
816
1000
  function toReferenceGuide(parsedFiles2) {
817
1001
  return parsedFiles2.reduce(
@@ -821,7 +1005,12 @@ function parsedFilesToRenderableBundle(config, parsedFiles, references) {
821
1005
  }
822
1006
  function toRenderables(parsedFiles2) {
823
1007
  return parsedFiles2.reduce((acc, parsedFile) => {
824
- const renderable = typeToRenderable$1(parsedFile, apply(referenceFinder, parsedFile.source.name), config);
1008
+ const renderable = typeToRenderable$1(
1009
+ parsedFile,
1010
+ apply(referenceFinder, parsedFile.source.name),
1011
+ config,
1012
+ translations
1013
+ );
825
1014
  acc.push(renderable);
826
1015
  return acc;
827
1016
  }, []);
@@ -889,25 +1078,25 @@ function toMap(metadata) {
889
1078
  return map;
890
1079
  }
891
1080
 
892
- var __defProp$l = Object.defineProperty;
893
- var __defProps$l = Object.defineProperties;
894
- var __getOwnPropDescs$l = Object.getOwnPropertyDescriptors;
895
- var __getOwnPropSymbols$l = Object.getOwnPropertySymbols;
896
- var __hasOwnProp$l = Object.prototype.hasOwnProperty;
897
- var __propIsEnum$l = Object.prototype.propertyIsEnumerable;
898
- var __defNormalProp$l = (obj, key, value) => key in obj ? __defProp$l(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
899
- var __spreadValues$l = (a, b) => {
1081
+ var __defProp$m = Object.defineProperty;
1082
+ var __defProps$m = Object.defineProperties;
1083
+ var __getOwnPropDescs$m = Object.getOwnPropertyDescriptors;
1084
+ var __getOwnPropSymbols$m = Object.getOwnPropertySymbols;
1085
+ var __hasOwnProp$m = Object.prototype.hasOwnProperty;
1086
+ var __propIsEnum$m = Object.prototype.propertyIsEnumerable;
1087
+ var __defNormalProp$m = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1088
+ var __spreadValues$m = (a, b) => {
900
1089
  for (var prop in b || (b = {}))
901
- if (__hasOwnProp$l.call(b, prop))
902
- __defNormalProp$l(a, prop, b[prop]);
903
- if (__getOwnPropSymbols$l)
904
- for (var prop of __getOwnPropSymbols$l(b)) {
905
- if (__propIsEnum$l.call(b, prop))
906
- __defNormalProp$l(a, prop, b[prop]);
1090
+ if (__hasOwnProp$m.call(b, prop))
1091
+ __defNormalProp$m(a, prop, b[prop]);
1092
+ if (__getOwnPropSymbols$m)
1093
+ for (var prop of __getOwnPropSymbols$m(b)) {
1094
+ if (__propIsEnum$m.call(b, prop))
1095
+ __defNormalProp$m(a, prop, b[prop]);
907
1096
  }
908
1097
  return a;
909
1098
  };
910
- var __spreadProps$l = (a, b) => __defProps$l(a, __getOwnPropDescs$l(b));
1099
+ var __spreadProps$m = (a, b) => __defProps$m(a, __getOwnPropDescs$m(b));
911
1100
  var __async$5 = (__this, __arguments, generator) => {
912
1101
  return new Promise((resolve, reject) => {
913
1102
  var fulfilled = (value) => {
@@ -975,7 +1164,7 @@ function addMetadata(rawMetadataContent, parsedFile) {
975
1164
  _function.pipe(
976
1165
  parsedFile.type,
977
1166
  (type) => addFileMetadataToTypeAnnotation(type, rawMetadataContent),
978
- E__namespace.map((type) => __spreadProps$l(__spreadValues$l({}, parsedFile), { type })),
1167
+ E__namespace.map((type) => __spreadProps$m(__spreadValues$m({}, parsedFile), { type })),
979
1168
  E__namespace.mapLeft(
980
1169
  (error) => errorToReflectionErrors(error, isInSource(parsedFile.source) ? parsedFile.source.filePath : "")
981
1170
  )
@@ -997,7 +1186,7 @@ function concatAnnotations(type, metadataInput) {
997
1186
  return _function.pipe(
998
1187
  metadataInput,
999
1188
  parseApexMetadata,
1000
- E__namespace.map((metadataMap) => __spreadProps$l(__spreadValues$l({}, type), {
1189
+ E__namespace.map((metadataMap) => __spreadProps$m(__spreadValues$m({}, type), {
1001
1190
  annotations: [...type.annotations, ...mapToAnnotations(metadataMap)]
1002
1191
  }))
1003
1192
  );
@@ -1034,26 +1223,26 @@ function inheritanceChainFromParentClassName(repository, className) {
1034
1223
 
1035
1224
  const parsedFilesToTypes = (parsedFiles) => parsedFiles.map((parsedFile) => parsedFile.type);
1036
1225
 
1037
- var __defProp$k = Object.defineProperty;
1038
- var __defProps$k = Object.defineProperties;
1039
- var __getOwnPropDescs$k = Object.getOwnPropertyDescriptors;
1040
- var __getOwnPropSymbols$k = Object.getOwnPropertySymbols;
1041
- var __hasOwnProp$k = Object.prototype.hasOwnProperty;
1042
- var __propIsEnum$k = Object.prototype.propertyIsEnumerable;
1043
- var __defNormalProp$k = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1044
- var __spreadValues$k = (a, b) => {
1226
+ var __defProp$l = Object.defineProperty;
1227
+ var __defProps$l = Object.defineProperties;
1228
+ var __getOwnPropDescs$l = Object.getOwnPropertyDescriptors;
1229
+ var __getOwnPropSymbols$l = Object.getOwnPropertySymbols;
1230
+ var __hasOwnProp$l = Object.prototype.hasOwnProperty;
1231
+ var __propIsEnum$l = Object.prototype.propertyIsEnumerable;
1232
+ var __defNormalProp$l = (obj, key, value) => key in obj ? __defProp$l(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1233
+ var __spreadValues$l = (a, b) => {
1045
1234
  for (var prop in b || (b = {}))
1046
- if (__hasOwnProp$k.call(b, prop))
1047
- __defNormalProp$k(a, prop, b[prop]);
1048
- if (__getOwnPropSymbols$k)
1049
- for (var prop of __getOwnPropSymbols$k(b)) {
1050
- if (__propIsEnum$k.call(b, prop))
1051
- __defNormalProp$k(a, prop, b[prop]);
1235
+ if (__hasOwnProp$l.call(b, prop))
1236
+ __defNormalProp$l(a, prop, b[prop]);
1237
+ if (__getOwnPropSymbols$l)
1238
+ for (var prop of __getOwnPropSymbols$l(b)) {
1239
+ if (__propIsEnum$l.call(b, prop))
1240
+ __defNormalProp$l(a, prop, b[prop]);
1052
1241
  }
1053
1242
  return a;
1054
1243
  };
1055
- var __spreadProps$k = (a, b) => __defProps$k(a, __getOwnPropDescs$k(b));
1056
- const addInheritanceChainToTypes = (parsedFiles) => parsedFiles.map((parsedFile) => __spreadProps$k(__spreadValues$k({}, parsedFile), {
1244
+ var __spreadProps$l = (a, b) => __defProps$l(a, __getOwnPropDescs$l(b));
1245
+ const addInheritanceChainToTypes = (parsedFiles) => parsedFiles.map((parsedFile) => __spreadProps$l(__spreadValues$l({}, parsedFile), {
1057
1246
  type: addInheritanceChain(parsedFile.type, parsedFilesToTypes(parsedFiles))
1058
1247
  }));
1059
1248
  function addInheritanceChain(current, repository) {
@@ -1061,31 +1250,31 @@ function addInheritanceChain(current, repository) {
1061
1250
  return current;
1062
1251
  } else {
1063
1252
  const inheritanceChain = createInheritanceChain(repository, current);
1064
- return __spreadProps$k(__spreadValues$k({}, current), {
1253
+ return __spreadProps$l(__spreadValues$l({}, current), {
1065
1254
  inheritanceChain
1066
1255
  });
1067
1256
  }
1068
1257
  }
1069
1258
 
1070
- var __defProp$j = Object.defineProperty;
1071
- var __defProps$j = Object.defineProperties;
1072
- var __getOwnPropDescs$j = Object.getOwnPropertyDescriptors;
1073
- var __getOwnPropSymbols$j = Object.getOwnPropertySymbols;
1074
- var __hasOwnProp$j = Object.prototype.hasOwnProperty;
1075
- var __propIsEnum$j = Object.prototype.propertyIsEnumerable;
1076
- var __defNormalProp$j = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1077
- var __spreadValues$j = (a, b) => {
1259
+ var __defProp$k = Object.defineProperty;
1260
+ var __defProps$k = Object.defineProperties;
1261
+ var __getOwnPropDescs$k = Object.getOwnPropertyDescriptors;
1262
+ var __getOwnPropSymbols$k = Object.getOwnPropertySymbols;
1263
+ var __hasOwnProp$k = Object.prototype.hasOwnProperty;
1264
+ var __propIsEnum$k = Object.prototype.propertyIsEnumerable;
1265
+ var __defNormalProp$k = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1266
+ var __spreadValues$k = (a, b) => {
1078
1267
  for (var prop in b || (b = {}))
1079
- if (__hasOwnProp$j.call(b, prop))
1080
- __defNormalProp$j(a, prop, b[prop]);
1081
- if (__getOwnPropSymbols$j)
1082
- for (var prop of __getOwnPropSymbols$j(b)) {
1083
- if (__propIsEnum$j.call(b, prop))
1084
- __defNormalProp$j(a, prop, b[prop]);
1268
+ if (__hasOwnProp$k.call(b, prop))
1269
+ __defNormalProp$k(a, prop, b[prop]);
1270
+ if (__getOwnPropSymbols$k)
1271
+ for (var prop of __getOwnPropSymbols$k(b)) {
1272
+ if (__propIsEnum$k.call(b, prop))
1273
+ __defNormalProp$k(a, prop, b[prop]);
1085
1274
  }
1086
1275
  return a;
1087
1276
  };
1088
- var __spreadProps$j = (a, b) => __defProps$j(a, __getOwnPropDescs$j(b));
1277
+ var __spreadProps$k = (a, b) => __defProps$k(a, __getOwnPropDescs$k(b));
1089
1278
  const addInheritedMembersToTypes = (parsedFiles) => parsedFiles.map((parsedFile) => addInheritedMembers(parsedFilesToTypes(parsedFiles), parsedFile));
1090
1279
  function addInheritedMembers(repository, parsedFile) {
1091
1280
  function addInheritedMembersToType(repository2, current) {
@@ -1097,7 +1286,7 @@ function addInheritedMembers(repository, parsedFile) {
1097
1286
  return addInheritedClassMembers(current, repository2);
1098
1287
  }
1099
1288
  }
1100
- return __spreadProps$j(__spreadValues$j({}, parsedFile), {
1289
+ return __spreadProps$k(__spreadValues$k({}, parsedFile), {
1101
1290
  type: addInheritedMembersToType(repository, parsedFile.type)
1102
1291
  });
1103
1292
  }
@@ -1109,11 +1298,11 @@ function addInheritedInterfaceMethods(interfaceMirror, repository) {
1109
1298
  return interfaceMirror2.extended_interfaces;
1110
1299
  }
1111
1300
  const parents = getParents(parentExtractor, interfaceMirror, repository);
1112
- return __spreadProps$j(__spreadValues$j({}, interfaceMirror), {
1301
+ return __spreadProps$k(__spreadValues$k({}, interfaceMirror), {
1113
1302
  methods: parents.reduce(
1114
1303
  (acc, currentValue) => [
1115
1304
  ...acc,
1116
- ...currentValue.methods.filter((method) => !methodAlreadyExists(method.name, acc)).map((method) => __spreadProps$j(__spreadValues$j({}, method), {
1305
+ ...currentValue.methods.filter((method) => !methodAlreadyExists(method.name, acc)).map((method) => __spreadProps$k(__spreadValues$k({}, method), {
1117
1306
  inherited: true
1118
1307
  }))
1119
1308
  ],
@@ -1129,12 +1318,12 @@ function addInheritedClassMembers(classMirror, repository) {
1129
1318
  return classMirror2.extended_class ? [classMirror2.extended_class] : [];
1130
1319
  }
1131
1320
  function filterMember(members, existing) {
1132
- return members.filter((member) => member.access_modifier.toLowerCase() !== "private").filter((member) => !memberAlreadyExists(member.name, existing)).map((member) => __spreadProps$j(__spreadValues$j({}, member), {
1321
+ return members.filter((member) => member.access_modifier.toLowerCase() !== "private").filter((member) => !memberAlreadyExists(member.name, existing)).map((member) => __spreadProps$k(__spreadValues$k({}, member), {
1133
1322
  inherited: true
1134
1323
  }));
1135
1324
  }
1136
1325
  const parents = getParents(parentExtractor, classMirror, repository);
1137
- return __spreadProps$j(__spreadValues$j({}, classMirror), {
1326
+ return __spreadProps$k(__spreadValues$k({}, classMirror), {
1138
1327
  fields: parents.reduce(
1139
1328
  (acc, currentValue) => [...acc, ...filterMember(currentValue.fields, acc)],
1140
1329
  classMirror.fields
@@ -1165,24 +1354,24 @@ const typeDocPartial = `
1165
1354
  {{#> documentablePartialTemplate}}
1166
1355
 
1167
1356
  {{#if doc.group}}
1168
- **Group** {{doc.group}}
1357
+ **{{@root.translations.markdown.details.group}}** {{doc.group}}
1169
1358
  {{/if}}
1170
1359
 
1171
1360
  {{#if doc.author}}
1172
- **Author** {{doc.author}}
1361
+ **{{@root.translations.markdown.details.author}}** {{doc.author}}
1173
1362
  {{/if}}
1174
1363
 
1175
1364
  {{#if doc.date}}
1176
- **Date** {{doc.date}}
1365
+ **{{@root.translations.markdown.details.date}}** {{doc.date}}
1177
1366
  {{/if}}
1178
1367
 
1179
1368
  {{#each doc.sees}}
1180
- **See** {{link this}}
1369
+ **{{@root.translations.markdown.details.see}}** {{link this}}
1181
1370
 
1182
1371
  {{/each}}
1183
1372
 
1184
1373
  {{#if namespace}}
1185
- ## Namespace
1374
+ ## {{@root.translations.markdown.sections.namespace}}
1186
1375
  {{namespace}}
1187
1376
  {{/if}}
1188
1377
 
@@ -1333,13 +1522,13 @@ const classMarkdownTemplate = `
1333
1522
  {{> typeDocumentation}}
1334
1523
 
1335
1524
  {{#if extends.length}}
1336
- **Inheritance**
1525
+ **{{@root.translations.markdown.inheritance.inheritance}}**
1337
1526
 
1338
1527
  {{#each extends}}{{link this}}{{#unless @last}} < {{/unless}}{{/each}}
1339
1528
  {{/if}}
1340
1529
 
1341
1530
  {{#if implements}}
1342
- **Implements**
1531
+ **{{@root.translations.markdown.inheritance.implements}}**
1343
1532
 
1344
1533
  {{#each implements}}
1345
1534
  {{link this}}{{#unless @last}}, {{/unless}}
@@ -1509,34 +1698,34 @@ const link = (source) => {
1509
1698
  }
1510
1699
  };
1511
1700
 
1512
- var __defProp$i = Object.defineProperty;
1513
- var __defProps$i = Object.defineProperties;
1514
- var __getOwnPropDescs$i = Object.getOwnPropertyDescriptors;
1515
- var __getOwnPropSymbols$i = Object.getOwnPropertySymbols;
1516
- var __hasOwnProp$i = Object.prototype.hasOwnProperty;
1517
- var __propIsEnum$i = Object.prototype.propertyIsEnumerable;
1518
- var __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$i(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1519
- var __spreadValues$i = (a, b) => {
1701
+ var __defProp$j = Object.defineProperty;
1702
+ var __defProps$j = Object.defineProperties;
1703
+ var __getOwnPropDescs$j = Object.getOwnPropertyDescriptors;
1704
+ var __getOwnPropSymbols$j = Object.getOwnPropertySymbols;
1705
+ var __hasOwnProp$j = Object.prototype.hasOwnProperty;
1706
+ var __propIsEnum$j = Object.prototype.propertyIsEnumerable;
1707
+ var __defNormalProp$j = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1708
+ var __spreadValues$j = (a, b) => {
1520
1709
  for (var prop in b || (b = {}))
1521
- if (__hasOwnProp$i.call(b, prop))
1522
- __defNormalProp$i(a, prop, b[prop]);
1523
- if (__getOwnPropSymbols$i)
1524
- for (var prop of __getOwnPropSymbols$i(b)) {
1525
- if (__propIsEnum$i.call(b, prop))
1526
- __defNormalProp$i(a, prop, b[prop]);
1710
+ if (__hasOwnProp$j.call(b, prop))
1711
+ __defNormalProp$j(a, prop, b[prop]);
1712
+ if (__getOwnPropSymbols$j)
1713
+ for (var prop of __getOwnPropSymbols$j(b)) {
1714
+ if (__propIsEnum$j.call(b, prop))
1715
+ __defNormalProp$j(a, prop, b[prop]);
1527
1716
  }
1528
1717
  return a;
1529
1718
  };
1530
- var __spreadProps$i = (a, b) => __defProps$i(a, __getOwnPropDescs$i(b));
1719
+ var __spreadProps$j = (a, b) => __defProps$j(a, __getOwnPropDescs$j(b));
1531
1720
  const commonDefaults = {
1532
1721
  targetDir: "./docs/"
1533
1722
  };
1534
- const markdownAndChangelogDefaults = __spreadProps$i(__spreadValues$i({}, commonDefaults), {
1723
+ const markdownAndChangelogDefaults = __spreadProps$j(__spreadValues$j({}, commonDefaults), {
1535
1724
  scope: ["global"],
1536
1725
  customObjectVisibility: ["public"],
1537
1726
  exclude: []
1538
1727
  });
1539
- const markdownDefaults = __spreadProps$i(__spreadValues$i({}, markdownAndChangelogDefaults), {
1728
+ const markdownDefaults = __spreadProps$j(__spreadValues$j({}, markdownAndChangelogDefaults), {
1540
1729
  defaultGroupName: "Miscellaneous",
1541
1730
  customObjectsGroupName: "Custom Objects",
1542
1731
  triggersGroupName: "Triggers",
@@ -1548,13 +1737,13 @@ const markdownDefaults = __spreadProps$i(__spreadValues$i({}, markdownAndChangel
1548
1737
  includeFieldSecurityMetadata: false,
1549
1738
  includeInlineHelpTextMetadata: false
1550
1739
  });
1551
- const openApiDefaults = __spreadProps$i(__spreadValues$i({}, commonDefaults), {
1740
+ const openApiDefaults = __spreadProps$j(__spreadValues$j({}, commonDefaults), {
1552
1741
  fileName: "openapi",
1553
1742
  title: "Apex REST API",
1554
1743
  apiVersion: "1.0.0",
1555
1744
  exclude: []
1556
1745
  });
1557
- const changeLogDefaults = __spreadProps$i(__spreadValues$i({}, markdownAndChangelogDefaults), {
1746
+ const changeLogDefaults = __spreadProps$j(__spreadValues$j({}, markdownAndChangelogDefaults), {
1558
1747
  fileName: "changelog",
1559
1748
  skipIfNoChanges: true
1560
1749
  });
@@ -1564,11 +1753,11 @@ const customObjectTemplate = `
1564
1753
 
1565
1754
  {{{renderContent doc.description}}}
1566
1755
 
1567
- ## API Name
1756
+ ## {{@root.translations.markdown.details.apiName}}
1568
1757
  \`{{apiName}}\`
1569
1758
 
1570
1759
  {{#if publishBehavior}}
1571
- ## Publish Behavior
1760
+ ## {{@root.translations.markdown.sections.publishBehavior}}
1572
1761
 
1573
1762
  **{{publishBehavior}}**
1574
1763
  {{/if}}
@@ -1578,7 +1767,7 @@ const customObjectTemplate = `
1578
1767
  {{#each fields.value}}
1579
1768
  {{ heading headingLevel heading }}
1580
1769
  {{#if required}}
1581
- **Required**
1770
+ **{{@root.translations.markdown.details.required}}**
1582
1771
  {{/if}}
1583
1772
 
1584
1773
  {{#if description}}
@@ -1586,26 +1775,26 @@ const customObjectTemplate = `
1586
1775
  {{/if}}
1587
1776
 
1588
1777
  {{#if inlineHelpText}}
1589
- **Inline Help Text**
1778
+ **{{@root.translations.markdown.details.inlineHelpText}}**
1590
1779
  {{inlineHelpText}}
1591
1780
  {{/if}}
1592
1781
 
1593
1782
  {{#if complianceGroup}}
1594
- **Compliance Group**
1783
+ **{{@root.translations.markdown.details.complianceGroup}}**
1595
1784
  {{complianceGroup}}
1596
1785
  {{/if}}
1597
1786
 
1598
1787
  {{#if securityClassification}}
1599
- **Security Classification**
1788
+ **{{@root.translations.markdown.details.securityClassification}}**
1600
1789
  {{securityClassification}}
1601
1790
  {{/if}}
1602
1791
 
1603
- **API Name**
1792
+ **{{@root.translations.markdown.details.apiName}}**
1604
1793
 
1605
1794
  \`{{{apiName}}}\`
1606
1795
 
1607
1796
  {{#if fieldType}}
1608
- **Type**
1797
+ **{{@root.translations.markdown.details.type}}**
1609
1798
 
1610
1799
  *{{fieldType}}*
1611
1800
 
@@ -1627,14 +1816,14 @@ const customObjectTemplate = `
1627
1816
  {{ heading headingLevel heading }}
1628
1817
 
1629
1818
  {{#if protected}}
1630
- \`Protected\`
1819
+ \`{{@root.translations.markdown.details.protected}}\`
1631
1820
  {{/if}}
1632
1821
 
1633
1822
  {{#if description}}
1634
1823
  {{{renderContent description}}}
1635
1824
  {{/if}}
1636
1825
 
1637
- **API Name**
1826
+ **{{@root.translations.markdown.details.apiName}}**
1638
1827
 
1639
1828
  \`{{{apiName}}}\`
1640
1829
 
@@ -1657,14 +1846,33 @@ const triggerMarkdownTemplate = `
1657
1846
  {{/each}}
1658
1847
  `.trim();
1659
1848
 
1660
- const convertToDocumentationBundle = (referenceGuideTitle, referenceGuideTemplate, { referencesByGroup, renderables }) => ({
1849
+ var __defProp$i = Object.defineProperty;
1850
+ var __defProps$i = Object.defineProperties;
1851
+ var __getOwnPropDescs$i = Object.getOwnPropertyDescriptors;
1852
+ var __getOwnPropSymbols$i = Object.getOwnPropertySymbols;
1853
+ var __hasOwnProp$i = Object.prototype.hasOwnProperty;
1854
+ var __propIsEnum$i = Object.prototype.propertyIsEnumerable;
1855
+ var __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$i(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1856
+ var __spreadValues$i = (a, b) => {
1857
+ for (var prop in b || (b = {}))
1858
+ if (__hasOwnProp$i.call(b, prop))
1859
+ __defNormalProp$i(a, prop, b[prop]);
1860
+ if (__getOwnPropSymbols$i)
1861
+ for (var prop of __getOwnPropSymbols$i(b)) {
1862
+ if (__propIsEnum$i.call(b, prop))
1863
+ __defNormalProp$i(a, prop, b[prop]);
1864
+ }
1865
+ return a;
1866
+ };
1867
+ var __spreadProps$i = (a, b) => __defProps$i(a, __getOwnPropDescs$i(b));
1868
+ const convertToDocumentationBundle = (referenceGuideTitle, referenceGuideTemplate, translations, { referencesByGroup, renderables }) => ({
1661
1869
  referenceGuide: {
1662
1870
  frontmatter: null,
1663
1871
  content: referencesToReferenceGuideContent(referenceGuideTitle, referencesByGroup, referenceGuideTemplate),
1664
1872
  outputDocPath: "index.md"
1665
1873
  },
1666
1874
  docs: renderables.map(
1667
- (renderable) => renderableToPageData(Object.values(referencesByGroup).flat(), renderable)
1875
+ (renderable) => renderableToPageData(Object.values(referencesByGroup).flat(), renderable, translations)
1668
1876
  )
1669
1877
  });
1670
1878
  function referencesToReferenceGuideContent(referenceGuideTitle, references, template) {
@@ -1683,7 +1891,7 @@ function referencesToReferenceGuideContent(referenceGuideTitle, references, temp
1683
1891
  })
1684
1892
  );
1685
1893
  }
1686
- function renderableToPageData(referenceGuideReference, renderable) {
1894
+ function renderableToPageData(referenceGuideReference, renderable, translations) {
1687
1895
  function buildDocOutput(renderable2, docContents) {
1688
1896
  var _a;
1689
1897
  const reference = referenceGuideReference.find(
@@ -1702,9 +1910,14 @@ function renderableToPageData(referenceGuideReference, renderable) {
1702
1910
  type: renderable2.type
1703
1911
  };
1704
1912
  }
1705
- return _function.pipe(renderable, resolveApexTypeTemplate, compile$1, (docContents) => buildDocOutput(renderable, docContents));
1913
+ return _function.pipe(
1914
+ renderable,
1915
+ (r) => resolveApexTypeTemplate(r, translations),
1916
+ compile$1,
1917
+ (docContents) => buildDocOutput(renderable, docContents)
1918
+ );
1706
1919
  }
1707
- function resolveApexTypeTemplate(renderable) {
1920
+ function resolveApexTypeTemplate(renderable, translations) {
1708
1921
  function getTemplate(renderable2) {
1709
1922
  switch (renderable2.type) {
1710
1923
  case "enum":
@@ -1721,7 +1934,9 @@ function resolveApexTypeTemplate(renderable) {
1721
1934
  }
1722
1935
  return {
1723
1936
  template: getTemplate(renderable),
1724
- source: renderable
1937
+ source: __spreadProps$i(__spreadValues$i({}, renderable), {
1938
+ translations
1939
+ })
1725
1940
  };
1726
1941
  }
1727
1942
  function compile$1(request) {
@@ -2619,12 +2834,14 @@ var __async$3 = (__this, __arguments, generator) => {
2619
2834
  });
2620
2835
  };
2621
2836
  function generateDocs(unparsedBundles, config) {
2837
+ const translations = mergeTranslations({ markdown: config.translations });
2622
2838
  const convertToReferences = apply(parsedFilesToReferenceGuide, config);
2623
2839
  const convertToRenderableBundle = apply(parsedFilesToRenderableBundle, config);
2624
2840
  const convertToDocumentationBundleForTemplate = apply(
2625
2841
  convertToDocumentationBundle,
2626
2842
  config.referenceGuideTitle,
2627
- config.referenceGuideTemplate
2843
+ config.referenceGuideTemplate,
2844
+ translations
2628
2845
  );
2629
2846
  const sort = apply(sortTypesAndMembers, config.sortAlphabetically);
2630
2847
  function filterOutCustomFieldsAndMetadata(parsedFiles) {
@@ -2661,7 +2878,7 @@ function generateDocs(unparsedBundles, config) {
2661
2878
  ),
2662
2879
  TE__namespace.flatMap(({ parsedFiles, references }) => transformReferenceHook(config)({ references, parsedFiles })),
2663
2880
  TE__namespace.map(
2664
- ({ parsedFiles, references }) => convertToRenderableBundle(filterOutCustomFieldsAndMetadata(parsedFiles), references)
2881
+ ({ parsedFiles, references }) => convertToRenderableBundle(filterOutCustomFieldsAndMetadata(parsedFiles), references, translations)
2665
2882
  ),
2666
2883
  TE__namespace.map(convertToDocumentationBundleForTemplate),
2667
2884
  TE__namespace.flatMap(transformDocumentationBundleHook(config)),
@@ -4117,7 +4334,7 @@ function getRemovedValues(oldPlaceToSearch, newPlaceToSearch, keyToSearch, typeN
4117
4334
  return oldPlaceToSearch[keyToSearch].filter((oldValue) => !newPlaceToSearch[keyToSearch].some((newValue) => areEqualFn(oldValue, newValue))).map((value) => value.name).map((name) => ({ __typename: typeName, name }));
4118
4335
  }
4119
4336
 
4120
- function convertToRenderableChangelog(changelog, newManifest) {
4337
+ function convertToRenderableChangelog(changelog, newManifest, translations) {
4121
4338
  const allNewTypes = [...changelog.newApexTypes, ...changelog.newCustomObjects].map(
4122
4339
  (newType) => newManifest.find((type) => type.name.toLowerCase() === newType.toLowerCase())
4123
4340
  );
@@ -4138,63 +4355,71 @@ function convertToRenderableChangelog(changelog, newManifest) {
4138
4355
  return {
4139
4356
  newClasses: newClasses.length > 0 ? {
4140
4357
  __type: "class",
4141
- heading: "New Classes",
4142
- description: "These classes are new.",
4358
+ heading: translations.changelog.newClasses.heading,
4359
+ description: translations.changelog.newClasses.description,
4143
4360
  types: newClasses.map(typeToRenderable)
4144
4361
  } : null,
4145
4362
  newInterfaces: newInterfaces.length > 0 ? {
4146
4363
  __type: "interface",
4147
- heading: "New Interfaces",
4148
- description: "These interfaces are new.",
4364
+ heading: translations.changelog.newInterfaces.heading,
4365
+ description: translations.changelog.newInterfaces.description,
4149
4366
  types: newInterfaces.map(typeToRenderable)
4150
4367
  } : null,
4151
4368
  newEnums: newEnums.length > 0 ? {
4152
4369
  __type: "enum",
4153
- heading: "New Enums",
4154
- description: "These enums are new.",
4370
+ heading: translations.changelog.newEnums.heading,
4371
+ description: translations.changelog.newEnums.description,
4155
4372
  types: newEnums.map(typeToRenderable)
4156
4373
  } : null,
4157
- removedTypes: changelog.removedApexTypes.length > 0 ? { heading: "Removed Types", description: "These types have been removed.", types: changelog.removedApexTypes } : null,
4374
+ removedTypes: changelog.removedApexTypes.length > 0 ? {
4375
+ heading: translations.changelog.removedTypes.heading,
4376
+ description: translations.changelog.removedTypes.description,
4377
+ types: changelog.removedApexTypes
4378
+ } : null,
4158
4379
  newOrModifiedMembers: changelog.newOrModifiedApexMembers.length > 0 ? {
4159
- heading: "New or Modified Members in Existing Types",
4160
- description: "These members have been added or modified.",
4161
- modifications: changelog.newOrModifiedApexMembers.map(toRenderableModification)
4380
+ heading: translations.changelog.newOrModifiedMembers.heading,
4381
+ description: translations.changelog.newOrModifiedMembers.description,
4382
+ modifications: changelog.newOrModifiedApexMembers.map(
4383
+ (member) => toRenderableModification(member, translations)
4384
+ )
4162
4385
  } : null,
4163
4386
  newCustomObjects: newCustomObjects.length > 0 ? {
4164
4387
  __type: "customobject",
4165
- heading: "New Custom Objects",
4166
- description: "These custom objects are new.",
4388
+ heading: translations.changelog.newCustomObjects.heading,
4389
+ description: translations.changelog.newCustomObjects.description,
4167
4390
  types: newCustomObjects.map((type) => ({
4168
4391
  name: type.name,
4169
4392
  description: type.description ? [type.description] : void 0
4170
4393
  }))
4171
4394
  } : null,
4172
4395
  removedCustomObjects: changelog.removedCustomObjects.length > 0 ? {
4173
- heading: "Removed Custom Objects",
4174
- description: "These custom objects have been removed.",
4396
+ heading: translations.changelog.removedCustomObjects.heading,
4397
+ description: translations.changelog.removedCustomObjects.description,
4175
4398
  types: changelog.removedCustomObjects
4176
4399
  } : null,
4177
4400
  newOrRemovedCustomFields: newOrModifiedCustomFields.length > 0 ? {
4178
- heading: "New or Removed Fields to Custom Objects or Standard Objects",
4179
- description: "These custom fields have been added or removed.",
4180
- modifications: newOrModifiedCustomFields.map(toRenderableModification)
4401
+ heading: translations.changelog.newOrRemovedCustomFields.heading,
4402
+ description: translations.changelog.newOrRemovedCustomFields.description,
4403
+ modifications: newOrModifiedCustomFields.map((member) => toRenderableModification(member, translations))
4181
4404
  } : null,
4182
4405
  newOrRemovedCustomMetadataTypeRecords: newOrModifiedCustomMetadataTypeRecords.length > 0 ? {
4183
- heading: "New or Removed Custom Metadata Type Records",
4184
- description: "These custom metadata type records have been added or removed.",
4185
- modifications: newOrModifiedCustomMetadataTypeRecords.map(toRenderableModification)
4406
+ heading: translations.changelog.newOrRemovedCustomMetadataTypeRecords.heading,
4407
+ description: translations.changelog.newOrRemovedCustomMetadataTypeRecords.description,
4408
+ modifications: newOrModifiedCustomMetadataTypeRecords.map(
4409
+ (member) => toRenderableModification(member, translations)
4410
+ )
4186
4411
  } : null,
4187
4412
  newTriggers: changelog.newTriggers.length > 0 ? {
4188
- heading: "New Triggers",
4189
- description: "These triggers are new.",
4413
+ heading: translations.changelog.newTriggers.heading,
4414
+ description: translations.changelog.newTriggers.description,
4190
4415
  triggerData: changelog.newTriggers.map((trigger) => ({
4191
4416
  triggerName: trigger.triggerName,
4192
4417
  objectName: trigger.objectName
4193
4418
  }))
4194
4419
  } : null,
4195
4420
  removedTriggers: changelog.removedTriggers.length > 0 ? {
4196
- heading: "Removed Triggers",
4197
- description: "These triggers have been removed.",
4421
+ heading: translations.changelog.removedTriggers.heading,
4422
+ description: translations.changelog.removedTriggers.description,
4198
4423
  triggerData: changelog.removedTriggers.map((trigger) => ({
4199
4424
  triggerName: trigger.triggerName,
4200
4425
  objectName: trigger.objectName
@@ -4213,13 +4438,15 @@ function typeToRenderable(type) {
4213
4438
  description: adapt()
4214
4439
  };
4215
4440
  }
4216
- function toRenderableModification(newOrModifiedMember) {
4441
+ function toRenderableModification(newOrModifiedMember, translations) {
4217
4442
  return {
4218
4443
  typeName: newOrModifiedMember.typeName,
4219
- modifications: newOrModifiedMember.modifications.map(toRenderableModificationDescription)
4444
+ modifications: newOrModifiedMember.modifications.map(
4445
+ (mod) => toRenderableModificationDescription(mod, translations)
4446
+ )
4220
4447
  };
4221
4448
  }
4222
- function toRenderableModificationDescription(memberModificationType) {
4449
+ function toRenderableModificationDescription(memberModificationType, translations) {
4223
4450
  function withDescription(memberModificationType2) {
4224
4451
  if (memberModificationType2.description) {
4225
4452
  return `${memberModificationType2.name}. ${memberModificationType2.description}`;
@@ -4228,38 +4455,38 @@ function toRenderableModificationDescription(memberModificationType) {
4228
4455
  }
4229
4456
  switch (memberModificationType.__typename) {
4230
4457
  case "NewEnumValue":
4231
- return `New Enum Value: ${withDescription(memberModificationType)}`;
4458
+ return `${translations.changelog.memberModifications.newEnumValue}: ${withDescription(memberModificationType)}`;
4232
4459
  case "RemovedEnumValue":
4233
- return `Removed Enum Value: ${memberModificationType.name}`;
4460
+ return `${translations.changelog.memberModifications.removedEnumValue}: ${memberModificationType.name}`;
4234
4461
  case "NewMethod":
4235
- return `New Method: ${withDescription(memberModificationType)}`;
4462
+ return `${translations.changelog.memberModifications.newMethod}: ${withDescription(memberModificationType)}`;
4236
4463
  case "RemovedMethod":
4237
- return `Removed Method: ${memberModificationType.name}`;
4464
+ return `${translations.changelog.memberModifications.removedMethod}: ${memberModificationType.name}`;
4238
4465
  case "NewProperty":
4239
- return `New Property: ${withDescription(memberModificationType)}`;
4466
+ return `${translations.changelog.memberModifications.newProperty}: ${withDescription(memberModificationType)}`;
4240
4467
  case "RemovedProperty":
4241
- return `Removed Property: ${memberModificationType.name}`;
4468
+ return `${translations.changelog.memberModifications.removedProperty}: ${memberModificationType.name}`;
4242
4469
  case "NewField":
4243
- return `New Field: ${withDescription(memberModificationType)}`;
4470
+ return `${translations.changelog.memberModifications.newField}: ${withDescription(memberModificationType)}`;
4244
4471
  case "RemovedField":
4245
- return `Removed Field: ${memberModificationType.name}`;
4472
+ return `${translations.changelog.memberModifications.removedField}: ${memberModificationType.name}`;
4246
4473
  case "NewType":
4247
- return `New Type: ${withDescription(memberModificationType)}`;
4474
+ return `${translations.changelog.memberModifications.newType}: ${withDescription(memberModificationType)}`;
4248
4475
  case "RemovedType":
4249
- return `Removed Type: ${memberModificationType.name}`;
4476
+ return `${translations.changelog.memberModifications.removedType}: ${memberModificationType.name}`;
4250
4477
  case "NewCustomMetadataRecord":
4251
- return `New Custom Metadata Record: ${withDescription(memberModificationType)}`;
4478
+ return `${translations.changelog.memberModifications.newCustomMetadataRecord}: ${withDescription(memberModificationType)}`;
4252
4479
  case "RemovedCustomMetadataRecord":
4253
- return `Removed Custom Metadata Record: ${memberModificationType.name}`;
4480
+ return `${translations.changelog.memberModifications.removedCustomMetadataRecord}: ${memberModificationType.name}`;
4254
4481
  case "NewTrigger":
4255
- return `New Trigger: ${withDescription(memberModificationType)}`;
4482
+ return `${translations.changelog.memberModifications.newTrigger}: ${withDescription(memberModificationType)}`;
4256
4483
  case "RemovedTrigger":
4257
- return `Removed Trigger: ${memberModificationType.name}`;
4484
+ return `${translations.changelog.memberModifications.removedTrigger}: ${memberModificationType.name}`;
4258
4485
  }
4259
4486
  }
4260
4487
 
4261
4488
  const changelogTemplate = `
4262
- # Changelog
4489
+ # {{#if title}}{{title}}{{else}}Changelog{{/if}}
4263
4490
 
4264
4491
  {{#if newClasses}}
4265
4492
  ## {{newClasses.heading}}
@@ -4510,9 +4737,10 @@ function generateChangeLog(oldBundles, newBundles, config) {
4510
4737
  if (config.skipIfNoChanges && !hasChanges(changelog)) {
4511
4738
  return skip();
4512
4739
  }
4740
+ const translations = mergeTranslations({ changelog: config.translations });
4513
4741
  return _function.pipe(
4514
- convertToRenderableChangelog(changelog, newManifest.types),
4515
- compile,
4742
+ convertToRenderableChangelog(changelog, newManifest.types, translations),
4743
+ compile(translations),
4516
4744
  (content) => convertToPageData(content, changelog)
4517
4745
  );
4518
4746
  }
@@ -4570,12 +4798,16 @@ function toManifests({ oldVersion, newVersion }) {
4570
4798
  newManifest: parsedFilesToManifest(newVersion)
4571
4799
  };
4572
4800
  }
4573
- function compile(renderable) {
4574
- const compilationRequest = {
4575
- template: changelogTemplate,
4576
- source: renderable
4801
+ function compile(translations) {
4802
+ return (renderable) => {
4803
+ const compilationRequest = {
4804
+ template: changelogTemplate,
4805
+ source: __spreadProps$1(__spreadValues$1({}, renderable), {
4806
+ title: translations.changelog.title
4807
+ })
4808
+ };
4809
+ return Template.getInstance().compile(compilationRequest);
4577
4810
  };
4578
- return Template.getInstance().compile(compilationRequest);
4579
4811
  }
4580
4812
  function toPageData(fileName, content, changelog) {
4581
4813
  return {