---
title: i18n-error-base
description: Valibot'un dil ayarıyla senkronize olarak hata mesajlarını değiştiren temel Error sınıfı.
---

Valibot `lang` değeriyle `message` değiştiren `Error` temel sınıfıdır.

```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` her okumada `lang` değerine bakar. Yeniden oluşturmadan değiştirin. Kayıtsız diller oluşturucunun varsayılan mesajını kullanır.

## Özellikler [#features]

- Valibot `setGlobalConfig({ lang })` ile `message` dinamik çözer
- Dile özgü mesajları sonradan `setErrorMessage` ile kaydedin. `meta` alan işlevler de olur
- Kayıtsız diller oluşturucunun varsayılan mesajını kullanır
- Sınıf düzeyinde `static prefix` ile önek ekler
- `meta` saklar ve mesaj üretim işlevlerine aktarır
- `Error` türevi olduğu için `instanceof Error`, `cause` ve `stack` aynen kullanılır

## Yapı [#structure]

**[Kurulum](/i18n-error-base/tr/installation)**

Paket ekleme ve eş bağımlılık hakkında.

**[Kullanım](/i18n-error-base/tr/usage)**

Tanımdan değiştirmeye, önek ve geri dönüşe kadar.

**[API Referansı](/i18n-error-base/tr/api)**

`I18nErrorBase` ve `setErrorMessage` belirtimi.

## Nasıl çalışır [#how-it-works]

`message` her okumada aşağıdaki sırayla çözülür.

1. `getGlobalConfig()` işlevinden `lang` alınır. Ayarlanmamışsa `"en"` olur
2. `(sınıf × lang)` kaydı varsa `meta` iletilerek çalıştırılır
3. Yoksa oluşturucunun varsayılan mesajı döndürülür
4. `static prefix` ayarlanmışsa başa eklenir

:::tip
Kayıtlı mesajlar her okumada `meta` değerinden üretilir, dil değiştirme anında yansır.
:::

## Sonraki adımlar [#next-steps]

[Kurulum](/i18n-error-base/tr/installation) ile başlayın ve akışı [Kullanım](/i18n-error-base/tr/usage) bölümünde inceleyin. Ayrıntılar [API Referansı](/i18n-error-base/tr/api) bölümündedir.
