# General Translation Platform: Diagnostics
URL: https://generaltranslation.com/fr/docs/platform/core/reference/diagnostics.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Formatez du texte de diagnostic sans le journaliser ni le signaler. Référence de l'API pour createDiagnosticMessage et formatDiagnosticErrorDetails.

Importez ces fonctions et ces types depuis `generaltranslation/diagnostics`. Ils se contentent de produire des chaînes de caractères : ils ne journalisent rien, ne signalent aucune exception, n&#39;émettent aucune télémétrie et ne masquent pas les secrets.

| Export                                           | Description                                        |
| ------------------------------------------------ | -------------------------------------------------- |
| [`createDiagnosticMessage`](#create-message)     | Assemble du texte de diagnostic en un message.     |
| [`DiagnosticMessageInput`](#message-input)       | Champs du message et contexte facultatif.          |
| [`DiagnosticSeverity`](#severity)                | Libellés de sévérité pris en charge.                |
| [`formatDiagnosticErrorDetails`](#error-details) | Convertit une erreur inconnue en texte facultatif. |

## `createDiagnosticMessage` [#create-message]

**Signature** `(input: DiagnosticMessageInput) => string`

Combine les champs fournis dans l&#39;ordre suivant : ce qui s&#39;est passé et pourquoi, un message rassurant, le correctif et la solution de repli, les détails, puis l&#39;URL de la documentation. La fonction supprime les espaces superflus autour du texte des phrases et ajoute la ponctuation si nécessaire. La source et la sévérité, facultatives, forment le préfixe ; un `wayOut` commençant par une minuscule peut être rattaché à la phrase du correctif.

```ts
import { createDiagnosticMessage } from 'generaltranslation/diagnostics';

const message = createDiagnosticMessage({
  source: 'Importer',
  severity: 'Warning',
  whatHappened: 'The file was skipped',
  fix: 'Choose a supported format',
});
// Renvoie une chaîne de caractères ; rien n'est journalisé automatiquement.
console.log(message);
```

## `DiagnosticMessageInput` [#message-input]

**Type** object · entrée **requise** du formateur de messages

| Champ          | Description                                                               | Type                 | Facultatif | Valeur par défaut |
| -------------- | ------------------------------------------------------------------------- | -------------------- | ---------- | ----------------- |
| `whatHappened` | Explication principale.                                                   | `string`             | Non        | —                 |
| `source`       | Préfixe identifiant l’appelant.                                           | `string`             | Oui        | —                 |
| `severity`     | Libellé utilisé comme préfixe.                                            | `DiagnosticSeverity` | Oui        | —                 |
| `reassurance`  | Ce qui reste sûr ou inchangé.                                             | `string`             | Oui        | —                 |
| `why`          | Cause, rattachée à l’explication principale.                              | `string`             | Oui        | —                 |
| `fix`          | Action corrective suggérée.                                               | `string`             | Oui        | —                 |
| `wayOut`       | Solution de rechange.                                                     | `string`             | Oui        | —                 |
| `details`      | Détails supplémentaires ; les tableaux sont concaténés avec des virgules. | `string \| string[]` | Oui        | —                 |
| `docsUrl`      | URL de documentation ajoutée à la fin du message.                         | `string`             | Oui        | —                 |

Seul `whatHappened` est requis ; les champs facultatifs omis n’ajoutent aucun texte. Fournissez chaque proposition avec la casse qu’elle doit avoir dans la phrase. N’incluez aucun secret dans `details` ni dans les autres champs : le formateur ne masque aucune donnée.

```ts
import type { DiagnosticMessageInput } from 'generaltranslation/diagnostics';

const input: DiagnosticMessageInput = { whatHappened: 'No files matched' };
```

## `DiagnosticSeverity` [#severity]

**Type** `'Error' | 'Warning'`

Cette valeur détermine le libellé textuel facultatif, et non le niveau de journalisation ni la gestion des exceptions. Si la sévérité est omise, aucun préfixe de sévérité n&#39;est ajouté.

```ts
import type { DiagnosticSeverity } from 'generaltranslation/diagnostics';

const severity: DiagnosticSeverity = 'Warning';
```

## `formatDiagnosticErrorDetails` [#error-details]

**Signature** `(error: unknown) => string | undefined`

Renvoie `undefined` pour `null` ou `undefined`, et `String(error)` dans tous les autres cas. Cette fonction n&#39;extrait pas les champs structurés de l&#39;erreur et n&#39;en masque pas le contenu.

```ts
import { formatDiagnosticErrorDetails } from 'generaltranslation/diagnostics';

console.log(formatDiagnosticErrorDetails(new Error('Invalid file'))); // Error: Invalid file
console.log(formatDiagnosticErrorDetails(null)); // undefined
```

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
