ابزارهای فارسی (persian)

چیزی که یک دیزاین سیستم را واقعاً «فارسی» می‌کند فقط چیدمان راست‌به‌چپ نیست: ارقام فارسی، تقویم جلالی و قالب مبلغ تومانی هم لازم‌اند. این ماژول همهٔ این‌ها را بدون هیچ وابستگی خارجی و بر پایهٔ Intl فراهم می‌کند.

formatNumber(1234567)۱٬۲۳۴٬۵۶۷
formatCurrency(12500000)۱۲٬۵۰۰٬۰۰۰ تومان
formatPercent(0.125, 1)۱۲٫۵٪
formatJalali(date)۴ مرداد ۱۴۰۵
formatJalali(date, 'full')۱۴۰۵ مرداد ۴, یکشنبه
formatRelativeTime(dayAgo)دیروز
toFaDigits('0912-345')۰۹۱۲-۳۴۵

این نمونه هنوز برای Vue پورت نشده است؛ آنچه می‌بینید نسخهٔ ری‌اکت است.

این نمونه هنوز برای Svelte پورت نشده است؛ آنچه می‌بینید نسخهٔ ری‌اکت است.

این نمونه هنوز برای Angular پورت نشده است؛ آنچه می‌بینید نسخهٔ ری‌اکت است.

نصب

npx digdesign@latest add https://docs.digdesign.ir/r/persian.json

این دستور فایل src/lib/persian.ts را به پروژهٔ شما اضافه می‌کند؛ بدون هیچ وابستگی npm جدید.

مرجع API

ویژگینوعپیش‌فرضتوضیح
toFaDigits(value)(string | number) => string—تبدیل ارقام لاتین و عربی به ارقام فارسی.
toEnDigits(value)(string) => string—تبدیل ارقام فارسی/عربی ورودی کاربر به لاتین برای پردازش.
formatNumber(value, options?)(number, Intl.NumberFormatOptions?) => string—قالب‌بندی عدد با جداکنندهٔ هزارگان فارسی.
formatPercent(value, digits?)(number, number?) => string—قالب‌بندی درصد؛ ورودی بین ۰ و ۱.
formatCurrency(value, unit?)(number, "toman" | "rial"?) => string—قالب‌بندی مبلغ به تومان (پیش‌فرض) یا ریال.
formatJalali(date, format?)(Date, "full" | "long" | "medium" | "short"?) => string—تاریخ جلالی با Intl و تقویم persian.
formatJalaliDateTime(date)(Date) => string—تاریخ و ساعت جلالی.
formatRelativeTime(date, base?)(Date, Date?) => string—زمان نسبی فارسی مانند «۳ روز پیش».