---
title: i18n-error-base
description: Základná trieda Error, ktorá prepína chybové správy podľa nastavenia jazyka Valibotu.
---

Základná trieda `Error`, ktorá prepína `message` podľa `lang` Valibotu.

```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` odkazuje na `lang` pri každom čítaní. Prepínajte bez opätovného vytvárania inštancií. Neregistrované jazyky používajú predvolenú správu z konštruktora.

## Funkcie [#features]

- Dynamicky vyhodnocuje `message` pomocou `setGlobalConfig({ lang })` Valibotu
- Správy pre jazyky dodatočne registruje pomocou `setErrorMessage`. Možno aj funkcie prijímajúce `meta`
- Neregistrované jazyky používajú predvolenú správu z konštruktora
- Pridáva predponu cez `static prefix` na úrovni triedy
- Uchováva `meta` a odovzdáva ich funkciám generujúcim správy
- `instanceof Error`, `cause` aj `stack` fungujú bez zmeny

## Štruktúra [#structure]

**[Inštalácia](/i18n-error-base/sk/installation)**

Pridanie balíčka a peer závislosť.

**[Použitie](/i18n-error-base/sk/usage)**

Od definície cez prepínanie, prefix až po fallback.

**[Referenčná príručka API](/i18n-error-base/sk/api)**

Špecifikácia `I18nErrorBase` a `setErrorMessage`.

## Ako to funguje [#how-it-works]

`message` sa pri každom čítaní vyhodnocuje v nasledujúcom poradí.

1. Získa `lang` z `getGlobalConfig()`. Ak nie je nastavené, je to `"en"`
2. Ak existuje registrácia `(trieda × lang)`, spustí ju s `meta`
3. Inak vráti predvolenú správu z konštruktora
4. Ak je nastavený `static prefix`, pripojí ho na začiatok

:::tip
Registrované správy sa pri každom čítaní znova generujú z `meta`, takže prepnutie sa prejaví okamžite.
:::

## Ďalšie kroky [#next-steps]

Začnite [inštaláciou](/i18n-error-base/sk/installation) a postup nájdete v časti [Použitie](/i18n-error-base/sk/usage). Podrobnosti sú v [referenčnej príručke API](/i18n-error-base/sk/api).
