---
title: i18n-error-base
description: Osnovna klasa za Error koja prebacuje poruke o pogreškama u skladu s jezičnom postavkom Valibota.
---

`Error` osnovna klasa koja prebacuje `message` s Valibot `lang`.

```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` se pri svakom čitanju odnosi na `lang`. Prebacite bez ponovnog stvaranja instanci. Neregistrirani jezici koriste zadanu poruku iz konstruktora.

## Značajke [#features]

- Dinamički razrješava `message` s Valibot `setGlobalConfig({ lang })`
- Naknadno registrira poruke po jeziku s `setErrorMessage`. Dopuštene su i funkcije koje primaju `meta`
- Neregistrirani jezici koriste zadanu poruku iz konstruktora
- Dodaje prefiks putem `static prefix` po klasi
- Čuva `meta` i prosljeđuje ga tvorničkim funkcijama poruka
- `instanceof Error`, `cause` i `stack` rade kao obično

## Struktura [#structure]

**[Instalacija](/i18n-error-base/hr/installation)**

Kako dodati paket i peer ovisnost.

**[Korištenje](/i18n-error-base/hr/usage)**

Od definicije do prebacivanja, prefiksa i zamjene.

**[API referenca](/i18n-error-base/hr/api)**

Specifikacije za `I18nErrorBase` i `setErrorMessage`.

## Kako funkcionira [#how-it-works]

`message` se pri svakom čitanju razrješava sljedećim redom.

1. Dohvaća `lang` iz `getGlobalConfig()`. `"en"` kad nije postavljeno
2. Ako postoji registracija `(klasa × lang)`, izvršava je s `meta`
3. Inače vraća zadanu poruku iz konstruktora
4. Ako je postavljen `static prefix`, dodaje ga na početak

:::tip
Registrirane poruke generiraju se iz `meta` pri svakom čitanju, pa prebacivanje vrijedi odmah.
:::

## Sljedeći koraci [#next-steps]

Počnite s [instalacijom](/i18n-error-base/hr/installation), pa tijek pogledajte u [korištenju](/i18n-error-base/hr/usage). Detalji su u [API referenci](/i18n-error-base/hr/api).
