---
title: i18n-error-base
description: Βασική κλάση Error που αλλάζει μηνύματα σφάλματος σε συγχρονισμό με τη ρύθμιση γλώσσας του Valibot.
---

Βασική κλάση `Error` που αλλάζει το `message` με τη `lang` του 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` αναφέρεται στη `lang` σε κάθε ανάγνωση. Αλλάξτε χωρίς νέα στιγμιότυπα. Οι μη καταχωρημένες γλώσσες χρησιμοποιούν το προεπιλεγμένο μήνυμα του κατασκευαστή.

## Χαρακτηριστικά [#features]

- Επιλύει το `message` δυναμικά με το `setGlobalConfig({ lang })` του Valibot
- Καταχωρεί μηνύματα ανά γλώσσα εκ των υστέρων με το `setErrorMessage`. Επιτρέπονται και συναρτήσεις που λαμβάνουν `meta`
- Οι μη καταχωρημένες γλώσσες χρησιμοποιούν το προεπιλεγμένο μήνυμα του κατασκευαστή
- Προσθέτει πρόθεμα μέσω `static prefix` ανά κλάση
- Διατηρεί το `meta` και το διαβιβάζει στις συναρτήσεις εργοστασίου
- Τα `instanceof Error`, `cause` και `stack` λειτουργούν κανονικά

## Δομή [#structure]

**[Εγκατάσταση](/i18n-error-base/el/installation)**

Πώς να προσθέσετε το πακέτο και την peer εξάρτηση.

**[Χρήση](/i18n-error-base/el/usage)**

Από τον ορισμό έως την εναλλαγή, το πρόθεμα και την εναλλακτική.

**[Αναφορά API](/i18n-error-base/el/api)**

Προδιαγραφές για τα `I18nErrorBase` και `setErrorMessage`.

## Πώς λειτουργεί [#how-it-works]

Το `message` επιλύεται σε κάθε ανάγνωση με την εξής σειρά.

1. Λαμβάνει τη `lang` από το `getGlobalConfig()`. `"en"` όταν δεν έχει οριστεί
2. Αν υπάρχει καταχώρηση `(κλάση × lang)`, την εκτελεί με το `meta`
3. Διαφορετικά, επιστρέφει το προεπιλεγμένο μήνυμα του κατασκευαστή
4. Αν έχει οριστεί `static prefix`, το συνδέει στην αρχή

:::tip
Τα καταχωρημένα μηνύματα δημιουργούνται από το `meta` σε κάθε ανάγνωση, οπότε οι αλλαγές ισχύουν αμέσως.
:::

## Επόμενα βήματα [#next-steps]

Ξεκινήστε με την [Εγκατάσταση](/i18n-error-base/el/installation) και δείτε τη ροή στη [Χρήση](/i18n-error-base/el/usage). Λεπτομέρειες στην [Αναφορά API](/i18n-error-base/el/api).
