Sari la conținut
i18n-error-base
Română
Esc
↑↓navighează↵deschide⌘Jprevizualizează
Pe această pagină

i18n-error-base

Clasă de bază Error care comută mesajele de eroare în funcție de setarea de limbă a Valibot.

Clasă de bază Error care comută message cu lang din 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 consultă lang la fiecare citire. Comutați fără a recrea instanțele. Limbile neînregistrate folosesc mesajul implicit din constructor.

Caracteristici

  • Rezolvă dinamic message cu setGlobalConfig({ lang }) din Valibot
  • Mesajele pe limbi se înregistrează ulterior cu setErrorMessage. Sunt permise și funcții care primesc meta
  • Limbile neînregistrate folosesc mesajul implicit din constructor
  • Adaugă un prefix prin static prefix la nivel de clasă
  • Păstrează meta și îl transmite funcțiilor de generare a mesajelor
  • instanceof Error, cause și stack funcționează ca de obicei

Structură

Cum funcționează

message este rezolvat la fiecare citire în ordinea următoare.

  1. Obține lang din getGlobalConfig(). Când nu este setat, este "en"
  2. Dacă există o înregistrare (clasă × lang), o execută cu meta
  3. În caz contrar, returnează mesajul implicit din constructor
  4. Dacă static prefix este setat, îl adaugă la început

Pașii următori

Începeți cu Instalarea, apoi vedeți fluxul în Utilizare. Detaliile sunt în Referința API.

Ți-a fost utilă această pagină?