موتور هوشمند، محلی و فوقسریع اصلاح متون دوزبانه (فارسی و انگلیسی) در وب مدرن و چتباتهای هوش مصنوعی
[ English Documentation | مستندات انگلیسی ]
- چرا RTL Atelier؟ (بیان مسئله و تمایز کلیدی)
- حالتهای سهگانه چیدمان و جهت متن
- قابلیتهای شاخص و نوآوریهای نسخه جدید
- قلمهای توکار و پشتیبانی از قلم دلخواه
- اصلاح هوشمند خط، نیمفاصله و نشانهگذاری
- راهنمای گامبهگام نصب و راهاندازی
- کلیدهای میانبر
- معماری فنی و امنیت ۱۰۰٪ محلی
- راهنمای توسعهدهندگان و آزمونها
- مجوز و مشارکت
در وب امروز، بهویژه هنگام تعامل با پلتفرمهای مدرن هوش مصنوعی نظیر ChatGPT، Claude، DeepSeek، Gemini، Qwen، Grok و Perplexity، ترکیب زبانهای راستبهچپ (فارسی و عربی) با زبانهای چپبهراست (انگلیسی، کدها و شناسهها) با مشکلات جدی مواجه است:
- 💥 جابجایی کلمات و نسخهها: ترکیب کلمات انگلیسی و اعداد (مانند
GPT-4یاPython 3.12) در متن فارسی معکوس شده و به صورت4-GPTنمایش مییابد. - 🌀 تخریب چیدمان سایتها (Layout Breakdown): افزونههای ساده با اعمال مستقیم و سراسری جهت راستبهچپ، ساختار فلکسباکس و گرید صفحات را جابجا میکنند و منوها و داشبوردها به هم میریزند.
- 🔒 مسدودسازی قلم توسط سیاستهای امنیتی (CSP Block): سرویسهای حساسی مانند کلاد به دلیل قوانین امنیتی سختگیرانه، اجازهٔ بارگذاری فایلهای فونت را از طریق لینکهای وب یا استایلشیتهای معمولی نمیدهند.
- 🕳️ پدیدار نشدن تغییرات در چتهای قدیمی و اسکرول مجازی: هنگام تعویض گفتگوها در برنامههای تکصفحهای یا اسکرول کردن پیامهای گذشته، تغییرات متن اعمال نمیشوند و نیاز به رفرش مداوم ایجاد میشود.
RTL Atelier پاسخی مهندسیشده و قطعی به تمام این چالشهاست: یک موتور دوجهتهٔ مستقل و بلادرنگ در مرورگر که هر پاراگراف را به صورت مجزا تحلیل نموده، اصطلاحات فنی را ایزوله میکند، قلمهای زیبای فارسی را بدون تداخل اعمال مینماید و در عین حال ساختار لایوت سایت و بلوکهای کد را کاملاً حفظ میکند.
[نمایش پیشفرض و بههمریخته مرورگرها]
نادرست: است . GPT-4 مدل جدیدترین این (نرم افزار)
نادرست: مي روم و مي گويم .
[نمایش استاندارد با RTL Atelier]
درست: این جدیدترین مدل GPT-4 است. (نرمافزار)
درست: میروم و میگویم.
RTL Atelier دارای سه حالت جهتدهی دقیق برای سناریوهای مختلف مطالعه و وبگردی است:
| حالت چیدمان | عملکرد دقیق و رفتار مهندسیشده | سناریوی کاربردی |
|---|---|---|
Auto (هوشمند) |
سازماندهی هوشمند متن بدون دستکاری لایوت: تنها پاراگرافها، لیستها و متون فارسی راستچین میشوند. ساختار کلی صفحه، ستونهای وبسایت، المانهای فلکس و گرید کاملاً دستنخورده باقی میمانند. | وبگردی روزمره، مطالعه مقالات، کار با فرمها و داشبوردهای اداری |
RTL (راستچین سراسری) |
بهینهسازی کامل ساختار برای زبان فارسی: کل بدنه، جداول، سایدبارها و منوها راستچین میشوند، دقیقاً مثل اینکه سایت از ابتدا برای زبان فارسی طراحی شده باشد. بلوکهای کد و فرمولهای ریاضی محافظت میشوند. | چتباتهای خارجی و سایتهای مطالعهٔ متنی که نیاز به چیدمان بومی دارند |
LTR (چپچین سراسری) |
چیدمان استاندارد انگلیسی به همراه قلم دلخواه: جهت صفحه کاملاً چپبهراست تنظیم شده و فونت انتخابی کاربر روی متون اعمال میشود؛ بدون تغییر در ارقام و ساختار لاتین. | مطالعه مستندات فنی و مقالات انگلیسی با فونت سفارشی |
[!TIP] بازگشتپذیری ۱۰۰٪: با بازگشت از حالتهای
RTLیاLTRبه حالتAuto، کلیهٔ صفات و استایلهای تغییر یافته دقیقاً به وضعیت اولیه سایت بازمیگردند.
یک محیط مانیتورینگ بلادرنگ درون پاپآپ افزونه که اطلاعات کاملی از وضعیت صفحه در اختیارتان میگذارد:
- نشانگر زنده سلامت (Health Indicator): پایش وضعیت موتور در نوار عنوان پاپآپ با رنگهای سبز، زرد و قرمز.
- شبکه تلهمتری ۲×۲ (Live Telemetry Grid):
- پاراگرافهای شناساییشده: تعداد دقیق بلوکهای متنی صفحه و درصد پوشش متن فارسی.
- حالت جهت متن: نمایش وضعیت فعال (
Auto،RTLیاLTR). - محیطهای چت شناساییشده: تشخیص هوشمند کانتینرهای پیام در پلتفرمهای هوش مصنوعی.
- صف پردازش زمانبند: بررسی لحظهای عمق صف و اطمینان از عملکرد بدون وقفه.
- بررسی وضعیت قلم و امنیت (Font & CSP Security Verification): اعتبارسنجی زندهٔ بارگذاری قلم در حافظه از طریق
document.fonts.check(). - توصیههای هوشمند رفع اختلال: ارائهٔ راهکارهای پویا در صورت تأخیر در رندرینگ سایتها.
- دکمه «اسکن عمیق و رفع فوری مشکل» (Run Deep Scan & Quick Fix): بازنشانی سریع و اسکن لحظهای المانهای صفحه بدون نیاز به بارگذاری مجدد (Reload).
- دکمه «کپی گزارش کامل» (Copy Full Technical Report): تهیه گزارش ساختاریافته در قالب مارکداون برای ارسال یا بررسی فنی.
پلتفرمهایی نظیر Claude.ai دارای هدرهای امنیتی سختگیرانهای هستند که فونتهای تزریقشده از طریق فایلهای وب را مسدود میکنند:
- در RTL Atelier، بایتهای باینری قلم از طریق پردازش پسزمینه با دسترسی ممتاز خوانده شده و مستقیماً به حافظه اسکریپت صفحه منتقل میشوند.
- فونت با استفاده از
new FontFace(family, arrayBuffer)و متدdocument.fonts.add()در لحظه فعال میشود. این روش هیچ درخواست شبکهای ارسال نکرده و به طور ۱۰۰٪ از قوانین CSP عبور میکند.
- بهینهسازی زمانبندی پردازش متن با بودجهٔ ۱۶ میلیثانیهای در هر فریم نمایش.
- استفاده از
requestAnimationFrameهمراه با ترنهای سریعsetTimeout(0)مانع از گرسنگی حلقه رندر ریاکت ۱۸ (React 18 Concurrent Starvation) در چتهای سنگین میشود.
- پاکسازی خودکار کش گرهها هنگام جابجایی بین گفتگوهای گذشته.
- اجرای امواج چندمرحلهای جاروب هیدراسیون در زمانهای ۸۰، ۲۰۰، ۵۰۰، ۱۲۰۰ و ۲۵۰۰ میلیثانیه برای اعمال فونت و راستچینسازی بدون وقفه.
RTL Atelier با ۷ خانواده قلم فارسی با وزنهای گوناگون عرضه میشود:
- 💎 وزیر (Vazir): قلم پیشفرض مدرن و فوقالعاده خوانا در ۵ وزن (Thin, Light, Regular, Medium, Bold)
- 🍃 شبنم (Shabnam): قلم چشمنواز و نرم در ۵ وزن
- 🌊 ساحل (Sahel): قلم شیک با خوانایی عالی در ۳ وزن (Regular, Bold, Black)
- ☀️ صمیم (Samim): قلم مینیمال و تمیز در ۲ وزن
- 🕊️ پرستو (Parastoo): قلم رسمی و متوازن در ۲ وزن
- 🌾 گندم (Gandom): قلم سنتی با هندسهٔ دقیق
- 🌸 تنها (Tanha): قلم مناسب تیترها و عناوین
کافیست فایل فونت دلخواه خود را با پسوندهای .woff2، .woff، .ttf یا .otf داخل پنجره پاپآپ رها کنید تا درجا به فهرست قلمها اضافه شده و روی صفحات وب اعمال گردد.
- 🔄 یکسانسازی حروف: تبدیل خودکار «ي» و «ك» عربی به «ی» و «ک» فارسی و حذف کشیدگیهای غیرضروری (تطویل).
- ✂️ تنظیم هوشمند نیمفاصله (ZWNJ): درج نیمفاصله استاندارد در پیشوندهای «می/نمی» و پسوندهای جمع و تفضیلی («ها/های/ترین»).
- 📐 تنظیم فواصل علائم نگارشی: اصلاح چسبیدگی و فاصلهٔ استاندارد در ویرگول، نقطه، دونقطه، پرانتزها و علامت سؤال.
- 🔢 تبدیل هوشمند ارقام: امکان تبدیل ارقام به فارسی با حفظ هوشمندانهٔ عبارات فنی، کدها، کلاسهای CSS و آدرسهای IP.
برای اجرای نسخهٔ توسعه، ابتدا build را بسازید؛ چون پوشهٔ dist/ فایل تولیدی است و عمداً در Git ذخیره نمیشود.
۱. مخزن را کلون کنید و build تولیدی را بسازید:
git clone https://github.com/<YOUR_USERNAME>/rtl-atelier.git
cd rtl-atelier
npm run build۲. مرورگر خود را باز کرده و به بخش مدیریت افزونهها بروید:
chrome://extensions
۳. گزینهٔ Developer mode را روشن کنید.
۴. روی Load unpacked کلیک کرده و پوشهٔ ریشهٔ پروژهٔ Smart-RTL را انتخاب کنید.
۵. پس از هر تغییر در کد، برای بازسازی فایلهای تولیدی دوباره npm run build را اجرا کنید و افزونه را در صفحهٔ Extensions با Reload بازخوانی کنید.
| کلید میانبر | عملکرد |
|---|---|
| Alt + Shift + R | فعال یا غیرفعال کردن افزونه روی وبسایت جاری |
| Alt + Shift + T | روشن یا خاموش کردن کلید اصلی افزونه در سراسر مرورگر |
(امکان سفارشیسازی کلیدها در آدرس chrome://extensions/shortcuts فراهم است)
flowchart TD
subgraph Browser ["محیط امن داخل مرورگر کاربر"]
Page["صفحه وب (DOM)"]
CS["Content Script Bundle"]
SW["Service Worker (MV3 پسزمینه)"]
Popup["پاپآپ رابط کاربری (UI)"]
end
Page -->|رویدادهای جهش DOM| CS
CS -->|تحلیل متن و تفکیک جهات| Engine["موتور RtlEngine"]
Engine -->|ایزولاسیون عبارات لاتین| Flow["Smart BiDi Flow"]
Engine -->|ثبت تاریخچه تغییرات| Patch["PatchStore"]
Engine -->|تزریق قلم در حافظه| FF["FontFace API"]
Popup <-->|ارتباط سریع IPC| SW
CS <-->|همگامسازی تنظیمات| SW
SW <-->|ذخیرهسازی ایمن| Storage["chrome.storage.local"]
- 🛡️ حفظ کامل حریم خصوصی (Zero Telemetry): هیچ دادهای از متون یا تاریخچهٔ مرور شما به هیچ سروری ارسال نمیشود؛ تمام پردازشها ۱۰۰٪ داخل حافظه مرورگر شما انجام میپذیرد.
- ⚡ بدون هیچگونه وابستگی خارجی (Zero Dependencies): تمام هسته پروژه بدون استفاده از فریمورکهای سنگین و تنها با استانداردهای بومی وب توسعه داده شده است.
- 🧩 سازگاری کامل با Manifest V3: بر اساس جدیدترین رهنمودهای امنیتی وب و پلتفرم افزونههای گوگل.
پروژه دارای ۲۱۷ آزمون خودکار برای تضمین پایداری در انواع سناریوها، آزمونهای مرزی و پلتفرمهای چت است:
# اجرای مجموعه کامل آزمونها
npm test
# بازتولید فایلهای قلم و مانیفستها
npm run fonts
# بیلد و باندل کدهای اسکریپت
npm run bundle
# ساخت بسته انتشار zip افزونه
npm run package
# اعتبارسنجی کامل چرخه انتشار (Tests + Icons + Fonts + Bundles + Package + Smoke)
npm run verifyاین پروژه به عنوان یک نرمافزار آزاد تحت مجوز معتبر MIT License منتشر شده است. از نظرات، گزارش مشکلات و مشارکتهای سازندهٔ شما به گرمی استقبال میکنیم.