---
title: i18n-error-base
description: Valibot की भाषा सेटिंग के साथ त्रुटि संदेश बदलने वाला Error का आधार वर्ग।
---

Valibot के `lang` के साथ `message` बदलने वाला `Error` आधार वर्ग है।

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

- Valibot के `setGlobalConfig({ lang })` के साथ `message` को गतिशील रूप से हल करता है
- `setErrorMessage` से बाद में प्रत्येक भाषा के संदेश पंजीकृत करें। `meta` लेने वाला फ़ंक्शन भी चलता है
- अपंजीकृत भाषाएँ कंस्ट्रक्टर के डिफ़ॉल्ट संदेश का उपयोग करती हैं
- प्रति-वर्ग `static prefix` से उपसर्ग जोड़ता है
- `meta` रखता है और संदेश निर्माण फ़ंक्शन को देता है
- `instanceof Error`, `cause`, `stack` सामान्य रूप से काम करते हैं

## संरचना [#structure]

**[इंस्टॉलेशन](/i18n-error-base/hi/installation)**

पैकेज जोड़ने और peer निर्भरता के बारे में।

**[उपयोग](/i18n-error-base/hi/usage)**

परिभाषा से परिवर्तन, prefix, फ़ॉलबैक तक।

**[API संदर्भ](/i18n-error-base/hi/api)**

`I18nErrorBase` और `setErrorMessage` की विशिष्टता।

## कार्यप्रणाली [#how-it-works]

`message` प्रत्येक पठन पर निम्न क्रम में हल होता है।

1. `getGlobalConfig()` से `lang` लेता है। सेट न होने पर `"en"` है
2. `(वर्ग × lang)` पंजीकरण हो तो `meta` देकर चलाता है
3. अन्यथा कंस्ट्रक्टर का डिफ़ॉल्ट संदेश लौटाता है
4. `static prefix` सेट हो तो शुरुआत में जोड़ता है

:::tip
पंजीकृत संदेश प्रत्येक पठन पर `meta` से बनते हैं, इसलिए परिवर्तन तुरंत दिखता है।
:::

## अगले चरण [#next-steps]

[इंस्टॉलेशन](/i18n-error-base/hi/installation) से शुरू करें, फिर [उपयोग](/i18n-error-base/hi/usage) में प्रक्रिया देखें। विवरण [API संदर्भ](/i18n-error-base/hi/api) में है।
