i18n-error-base
Valibot-এর ভাষা সেটিংয়ের সাথে ত্রুটি বার্তা বদলে দেয় এমন Error-এর বেস ক্লাস।
Valibot-এর lang দিয়ে message বদলে দেয় এমন Error বেস ক্লাস।
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 দেখে। নতুন করে না বানিয়ে বদলান। অনিবন্ধিত ভাষা কনস্ট্রাক্টরের ডিফল্ট বার্তা ব্যবহার করে।
বৈশিষ্ট্য
- Valibot-এর
setGlobalConfig({ lang })দিয়েmessageগতিশীলভাবে রিজলভ করে setErrorMessageদিয়ে পরে প্রতিটি ভাষার বার্তা নিবন্ধন করুন।metaনেওয়া ফাংশনও চলে- অনিবন্ধিত ভাষা কনস্ট্রাক্টরের ডিফল্ট বার্তা ব্যবহার করে
- ক্লাস-প্রতি
static prefixদিয়ে উপসর্গ যোগ করে metaসংরক্ষণ করে বার্তা তৈরির ফাংশনে পাঠায়instanceof Error,cause,stackযথাযথভাবে চলে
গঠন
ইনস্টলেশন
প্যাকেজ যোগ করা এবং peer নির্ভরতা সম্পর্কে।
ব্যবহারবিধি
সংজ্ঞা থেকে বদল, prefix, ফলব্যাক পর্যন্ত।
API রেফারেন্স
I18nErrorBase ও setErrorMessage-এর বিবরণ।
কার্যপ্রণালী
message প্রতিটি পাঠে নিচের ক্রমে রিজলভ হয়।
getGlobalConfig()থেকেlangনেয়। সেট না থাকলে"en"(ক্লাস × lang)নিবন্ধন থাকলেmetaদিয়ে চালায়- না থাকলে কনস্ট্রাক্টরের ডিফল্ট বার্তা ফেরত দেয়
static prefixসেট থাকলে শুরুতে যুক্ত করে
পরবর্তী পদক্ষেপ
ইনস্টলেশন দিয়ে শুরু করুন, ব্যবহারবিধি-তে প্রবাহ দেখুন। বিস্তারিত API রেফারেন্স-তে আছে।