i18n-error-base
En Error-basisklasse, der skifter fejlmeddelelser i takt med Valibots sprogindstilling.
En Error-basisklasse, der skifter message med Valibots lang.
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 slår lang op ved hver læsning. Skift uden at genskabe instanser. Uregistrerede sprog bruger konstruktørens standardmeddelelse.
Funktioner
- Løser
messagedynamisk med ValibotssetGlobalConfig({ lang }) - Registrer sprogspecifikke meddelelser efterfølgende med
setErrorMessage. Funktioner, der modtagermeta, er også tilladt - Uregistrerede sprog bruger konstruktørens standardmeddelelse
- Tilføjer et præfiks via
static prefixpr. klasse - Beholder
metaog sender den til meddelelsesfunktioner instanceof Error,causeogstackvirker som normalt
Struktur
Installation
Tilføjelse af pakken og dens peer-afhængighed.
Brug
Fra definition til sprogskift, præfiks og fallback.
API-reference
Specifikationer for I18nErrorBase og setErrorMessage.
Sådan fungerer det
message løses i følgende rækkefølge ved hver adgang.
- Henter
langfragetGlobalConfig()."en", når den ikke er angivet - Hvis en
(klasse × lang)-registrering findes, køres den medmeta - Ellers returneres konstruktørens standardmeddelelse
- Hvis
static prefixer angivet, sættes det foran
Næste trin
Start med Installation, og se derefter forløbet i Brug. Detaljer står i API-referencen.