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
messagecusetGlobalConfig({ lang })din Valibot - Mesajele pe limbi se înregistrează ulterior cu
setErrorMessage. Sunt permise și funcții care primescmeta - Limbile neînregistrate folosesc mesajul implicit din constructor
- Adaugă un prefix prin
static prefixla nivel de clasă - Păstrează
metași îl transmite funcțiilor de generare a mesajelor instanceof Error,causeșistackfuncționează ca de obicei
Structură
Instalare
Adăugarea pachetului și dependența peer.
Utilizare
De la definire la comutare, prefix și fallback.
Referință API
Specificațiile I18nErrorBase și setErrorMessage.
Cum funcționează
message este rezolvat la fiecare citire în ordinea următoare.
- Obține
langdingetGlobalConfig(). Când nu este setat, este"en" - Dacă există o înregistrare
(clasă × lang), o execută cumeta - În caz contrar, returnează mesajul implicit din constructor
- Dacă
static prefixeste 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.