---
title: i18n-error-base
description: Hibaüzeneteket váltó Error alaposztály, amely a Valibot nyelvi beállításával működik együtt.
---

`Error` alaposztály, amely a Valibot `lang` beállításával váltja a `message` értékét.

```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
```

A `message` minden olvasáskor a `lang` értékre hivatkozik. Váltson a példány újraalkotása nélkül. Nem regisztrált nyelv esetén a konstruktor alapértelmezett üzenete használatos.

## Jellemzők [#features]

- A `message` értékét dinamikusan oldja fel a `setGlobalConfig({ lang })` segítségével
- A nyelvenkénti üzeneteket utólag regisztrálja a `setErrorMessage` segítségével. A `meta` értéket fogadó függvények is megadhatók
- Nem regisztrált nyelv esetén a konstruktor alapértelmezett üzenete használatos
- Osztályszintű `static prefix` segítségével előtag fűzhető az üzenet elejére
- A `meta` értéket tárolja, és átadja az üzenetgeneráló függvényeknek
- Az `instanceof Error`, a `cause` és a `stack` változatlanul használható

## Felépítés [#structure]

**[Telepítés](/i18n-error-base/hu/installation)**

A csomag hozzáadása és a peer függőség.

**[Használat](/i18n-error-base/hu/usage)**

A definíciótól a váltáson, a prefixen és a tartalék üzeneten át.

**[API-referencia](/i18n-error-base/hu/api)**

Az `I18nErrorBase` és a `setErrorMessage` specifikációja.

## Működés [#how-it-works]

A `message` minden olvasáskor az alábbi sorrendben oldódik fel.

1. Lekéri a `lang` értéket a `getGlobalConfig()` segítségével. Ha nincs beállítva, `"en"`
2. Ha van regisztrált (osztály × `lang`) függvény, végrehajtja a `meta` átadásával
3. Ha nincs, a konstruktor alapértelmezett üzenetét adja vissza
4. Ha a `static prefix` be van állítva, az üzenet elejére fűzi

:::tip
A regisztrált üzenetek minden olvasáskor újra generálódnak a `meta` alapján, így a váltás azonnal érvényesül.
:::

## Következő lépések [#next-steps]

Kezdje a [telepítéssel](/i18n-error-base/hu/installation), majd tekintse át a folyamatot a [használat](/i18n-error-base/hu/usage) oldalon. A részleteket az [API-referenciában](/i18n-error-base/hu/api) találja.
