İçeriğe geç
i18n-error-base
Türkçe
Esc
↑↓gezin↵aç⌘Jönizle
Bu sayfada

i18n-error-base

Valibot'un dil ayarıyla senkronize olarak hata mesajlarını değiştiren temel Error sınıfı.

Valibot lang değeriyle message değiştiren Error temel sınıfıdır.

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 her okumada lang değerine bakar. Yeniden oluşturmadan değiştirin. Kayıtsız diller oluşturucunun varsayılan mesajını kullanır.

Özellikler

  • Valibot setGlobalConfig({ lang }) ile message dinamik çözer
  • Dile özgü mesajları sonradan setErrorMessage ile kaydedin. meta alan işlevler de olur
  • Kayıtsız diller oluşturucunun varsayılan mesajını kullanır
  • Sınıf düzeyinde static prefix ile önek ekler
  • meta saklar ve mesaj üretim işlevlerine aktarır
  • Error türevi olduğu için instanceof Error, cause ve stack aynen kullanılır

Yapı

Nasıl çalışır

message her okumada aşağıdaki sırayla çözülür.

  1. getGlobalConfig() işlevinden lang alınır. Ayarlanmamışsa "en" olur
  2. (sınıf × lang) kaydı varsa meta iletilerek çalıştırılır
  3. Yoksa oluşturucunun varsayılan mesajı döndürülür
  4. static prefix ayarlanmışsa başa eklenir

Sonraki adımlar

Kurulum ile başlayın ve akışı Kullanım bölümünde inceleyin. Ayrıntılar API Referansı bölümündedir.

Bu sayfa yardımcı oldu mu?