بیشتر سایتها و اپها برای فارسیزبانها به همان شکلهای کوچک خراب میشوند: فاصلهای که سمت اشتباه افتاده، فلشی که برعکس است، ایمیلی که بههم میریزد، یا کلمهای که با «ي» عربی تایپ شده و جستوجو پیدایش نمیکند. rtlint اینها را در کد پیدا میکند و بیشترشان را خودش درست میکند.
margin-left، کلاسهای ml-4 و text-left در Tailwind، استایلهای React، و آیکونهای جلو و عقب.
«ي» و «ك» عربی، نیمفاصله در «میخواهم» و «کتابها»، رقم عربی، «،» و «؟» فارسی، و حروف کپیشده از PDF.
<html> بدون dir="rtl"، فیلدهای ایمیل و تلفن، و نویسههای نامرئی حملهی Trojan Source.
هر دو کارت زیر در یک صفحهی فارسی (راستبهچپ) هستند و فقط CSS آنها فرق دارد:
عکس به متن چسبیده، فلش کنار متن مانده و «بعدی» به عقب اشاره میکند.
.avatar { margin-right: 12px }
.arrow { margin-left: auto }
فاصله سمت درست است و فلش به جلو اشاره میکند؛ همین CSS در انگلیسی هم درست کار میکند.
.avatar { margin-inline-end: 12px }
.arrow { margin-inline-start: auto }
[dir="rtl"] .arrow { transform: scaleX(-1) }
کد HTML شما همینجا در یک صفحهی فارسی اجرا میشود، قبل و بعد از اصلاح. اسکریپتها اجرا نمیشوند.
Ctrl+Enter اصلاح خودکار · Ctrl+S دانلود فایل اصلاحشده · فایل را روی جعبهی کد بکشید و رها کنید.
فقط Node.js نسخهی ۲۰ یا بالاتر لازم است. در پوشهی پروژه اجرا کنید:
npx @pouyam/rtlint --lang fa npx @pouyam/rtlint --lang fa --fix
دستور اول فقط گزارش میدهد؛ دومی اصلاحهای امن را روی فایلها اعمال میکند. افزونهی ESLint و Stylelint و GitHub Action هم دارد.