rtlint

باگ‌های راست‌به‌چپ و نگارش فارسی را قبل از کاربرانتان پیدا کنید.

بیشتر سایت‌ها و اپ‌ها برای فارسی‌زبان‌ها به همان شکل‌های کوچک خراب می‌شوند: فاصله‌ای که سمت اشتباه افتاده، فلشی که برعکس است، ایمیلی که به‌هم می‌ریزد، یا کلمه‌ای که با «ي» عربی تایپ شده و جست‌وجو پیدایش نمی‌کند. rtlint این‌ها را در کد پیدا می‌کند و بیشترشان را خودش درست می‌کند.

چیدمانی که آینه نمی‌شود

margin-left، کلاس‌های ml-4 و text-left در Tailwind، استایل‌های React، و آیکون‌های جلو و عقب.

نگارش فارسی

«ي» و «ك» عربی، نیم‌فاصله در «می‌خواهم» و «کتاب‌ها»، رقم عربی، «،» و «؟» فارسی، و حروف کپی‌شده از PDF.

جهت و امنیت

‏<html> بدون dir="rtl"، فیلدهای ایمیل و تلفن، و نویسه‌های نامرئی حمله‌ی Trojan Source.

مشکل دقیقاً چه شکلی است؟

هر دو کارت زیر در یک صفحه‌ی فارسی (راست‌به‌چپ) هستند و فقط CSS آن‌ها فرق دارد:

✗ قبل از rtlint

مریم رضایی
۳ پیام تازه

عکس به متن چسبیده، فلش کنار متن مانده و «بعدی» به عقب اشاره می‌کند.

.avatar { margin-right: 12px } .arrow { margin-left: auto }

✓ بعد از اصلاح با rtlint

مریم رضایی
۳ پیام تازه

فاصله سمت درست است و فلش به جلو اشاره می‌کند؛ همین CSS در انگلیسی هم درست کار می‌کند.

.avatar { margin-inline-end: 12px } .arrow { margin-inline-start: auto } [dir="rtl"] .arrow { transform: scaleX(-1) }
  1. یک نمونه انتخاب کنید یا کد خودتان را بچسبانید
  2. مشکل‌ها را به فارسی ببینید؛ روی هر کدام بزنید تا جایش در کد مشخص شود
  3. «اصلاح خودکار» را بزنید

کد شما

مشکل‌ها

    کد اصلاح‌شده (تغییرها پررنگ شده‌اند)
    
      

    Ctrl+Enter اصلاح خودکار · Ctrl+S دانلود فایل اصلاح‌شده · فایل را روی جعبه‌ی کد بکشید و رها کنید.

    روی پروژه‌ی خودتان

    فقط Node.js نسخه‌ی ۲۰ یا بالاتر لازم است. در پوشه‌ی پروژه اجرا کنید:

    npx @pouyam/rtlint --lang fa
    npx @pouyam/rtlint --lang fa --fix

    دستور اول فقط گزارش می‌دهد؛ دومی اصلاح‌های امن را روی فایل‌ها اعمال می‌کند. افزونه‌ی ESLint و Stylelint و GitHub Action هم دارد.

    همه‌ی قانون‌ها و توضیحشان