الانتقال إلى المحتوى
i18n-error-base
العربية
Esc
↑↓تنقل↵فتح⌘Jمعاينة
في هذه الصفحة

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 تعمل كالمعتاد

البنية

آلية العمل

message تُحلّ بالترتيب التالي عند كل قراءة.

  1. تحصل على lang من getGlobalConfig(). وعند عدم الضبط تكون "en"
  2. إذا وُجد تسجيل (الفئة × اللغة)، تُنفَّذ مع meta
  3. وإلا تُرجَع الرسالة الافتراضية للمُنشئ
  4. إذا ضُبط static prefix يُوصَل في البداية

الخطوات التالية

ابدأ من التثبيت، ثم انظر التدفق في الاستخدام. التفاصيل في مرجع API.

هل كانت هذه الصفحة مفيدة؟