---
title: i18n-error-base
description: Clasă de bază Error care comută mesajele de eroare în funcție de setarea de limbă a Valibot.
---

Clasă de bază `Error` care comută `message` cu `lang` din Valibot.

```ts
import { setGlobalConfig } from "valibot";
import { I18nErrorBase, setErrorMessage } from "i18n-error-base";

class NotFoundError extends I18nErrorBase<{ resource: string }> {}

setErrorMessage(NotFoundError, ({ resource }) => `リソースが見つかりません: ${resource}`, "ja");
setErrorMessage(NotFoundError, ({ resource }) => `Resource not found: ${resource}`, "en");

const error = new NotFoundError({ resource: "user" }, "fallback message");

setGlobalConfig({ lang: "ja" });
console.log(error.message); // リソースが見つかりません: user

setGlobalConfig({ lang: "en" });
console.log(error.message); // Resource not found: user
```

`message` consultă `lang` la fiecare citire. Comutați fără a recrea instanțele. Limbile neînregistrate folosesc mesajul implicit din constructor.

## Caracteristici [#features]

- Rezolvă dinamic `message` cu `setGlobalConfig({ lang })` din Valibot
- Mesajele pe limbi se înregistrează ulterior cu `setErrorMessage`. Sunt permise și funcții care primesc `meta`
- Limbile neînregistrate folosesc mesajul implicit din constructor
- Adaugă un prefix prin `static prefix` la nivel de clasă
- Păstrează `meta` și îl transmite funcțiilor de generare a mesajelor
- `instanceof Error`, `cause` și `stack` funcționează ca de obicei

## Structură [#structure]

**[Instalare](/i18n-error-base/ro/installation)**

Adăugarea pachetului și dependența peer.

**[Utilizare](/i18n-error-base/ro/usage)**

De la definire la comutare, prefix și fallback.

**[Referință API](/i18n-error-base/ro/api)**

Specificațiile `I18nErrorBase` și `setErrorMessage`.

## Cum funcționează [#how-it-works]

`message` este rezolvat la fiecare citire în ordinea următoare.

1. Obține `lang` din `getGlobalConfig()`. Când nu este setat, este `"en"`
2. Dacă există o înregistrare `(clasă × lang)`, o execută cu `meta`
3. În caz contrar, returnează mesajul implicit din constructor
4. Dacă `static prefix` este setat, îl adaugă la început

:::tip
Mesajele înregistrate sunt regenerate din `meta` la fiecare citire, astfel comutarea se reflectă imediat.
:::

## Pașii următori [#next-steps]

Începeți cu [Instalarea](/i18n-error-base/ro/installation), apoi vedeți fluxul în [Utilizare](/i18n-error-base/ro/usage). Detaliile sunt în [Referința API](/i18n-error-base/ro/api).
