i18n-error-base
Базов клас за Error, който превключва съобщенията за грешки според езиковата настройка на Valibot.
Error базов клас, който превключва message с lang на Valibot.
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 при всеки достъп. Превключвайте без повторно създаване на инстанции. Нерегистрираните езици използват съобщението по подразбиране от конструктора.
Характеристики
- Разрешава
messageдинамично сsetGlobalConfig({ lang })на Valibot - Регистрира впоследствие съобщения по език чрез
setErrorMessage. Допустими са и функции, получаващиmeta - Нерегистрираните езици използват съобщението по подразбиране от конструктора
- Добавя префикс чрез
static prefixна ниво клас - Пази
metaи го подава на фабричните функции за съобщения instanceof Error,causeиstackработят както обикновено
Структура
Инсталиране
Как да добавите пакета и peer зависимостта.
Употреба
От дефиниране до превключване, префикс и резервен вариант.
API справка
Спецификации за I18nErrorBase и setErrorMessage.
Как работи
message се разрешава при всеки достъп в следния ред.
- Взема
langотgetGlobalConfig()."en"когато не е зададен - Ако има регистрация
(клас × lang), я изпълнява сmeta - Иначе връща съобщението по подразбиране от конструктора
- Ако е зададен
static prefix, го добавя в началото
Следващи стъпки
Започнете с Инсталиране, после вижте процеса в Употреба. Подробностите са в API справка.