رفتن به مطلب

Live RTL Fixer یک افزونه قدرتمند و متن‌باز برای مرورگر کروم اج و فایرفاکس است که با هدف بهبود تجربه کاربری زبان‌های راست‌به‌چپ (RTL) مانند فارسی و عربی طراحی شده است. این افزونه به‌طور خاص برای رفع مشکلات جهت‌گیری و ترازبندی متن در صفحات وب که در میان متن آنها لغات و کلمات انگلیسی و لاتین وجود دارد و موجب به هم ریختگی میشود طراحی شده است—به‌ویژه در شرایطی که از ابزارهای ترجمه مرورگر (مانند Google Translate) استفاده می‌شود. این افزونه با ارائه قابلیت‌های پیشرفته و رابط کاربری ساده، به کاربران اجازه می‌دهد متن‌ها را به‌صورت زنده و بدون نیاز به رفرش صفحه اصلاح کنند.

ویژگی‌های کلیدی

  • اصلاح زنده متن: با استفاده از MutationObserver، تغییرات DOM را در لحظه رصد می‌کند و جهت‌گیری متن (RTL یا LTR) را به‌طور خودکار یا دستی تنظیم می‌کند.

  • تشخیص هوشمند زبان: الگوریتم تشخیص زبان مبتنی بر regex، با آستانه قابل تنظیم (پیش‌فرض 0.2)، به‌صورت دقیق متن‌های RTL (مثل فارسی و عربی) و LTR (مثل انگلیسی) را شناسایی می‌کند.

  • حالت‌های خودکار و دستی: در حالت خودکار، استایل‌ها به‌طور مستقیم اعمال می‌شوند؛ در حالت دستی، کاربران می‌توانند با برچسب‌گذاری اولیه و اعمال تغییرات دلخواه کنترل بیشتری داشته باشند.

  • مدیریت استثناها: بخش‌های کد (مثل تگ‌های <code> و <pre>) از فیکس مستثنی شده‌اند تا ساختار اصلی کدها حفظ شود.

  • رابط کاربری تعاملی: پنجره popup با امکاناتی مثل فعال/غیرفعال کردن افزونه، انتخاب حالت، افزودن سایت‌ها به لیست سیاه، و ریست تغییرات.

  • بهینه‌سازی عملکرد: با محدود کردن رصد تغییرات به المنت‌های متنی و استفاده از انتخابگرهای هدفمند، بار پردازشی به حداقل رسیده است.

  • پشتیبانی از لیست سیاه: کاربران می‌توانند سایت‌هایی که نمی‌خواهند افزونه در آن‌ها اجرا شود را مشخص کنند.

جزئیات فنی

این افزونه با جاوااسکریپت خالص و APIهای کروم و فایرفاکس توسعه داده شده و از ساختار زیر بهره می‌برد:

  • فایل manifest.json: تنظیمات اصلی افزونه شامل مجوزها (activeTab, storage) و اتصال اسکریپت‌ها.

  • content.js: هسته منطقی پروژه که با MutationObserver تغییرات DOM را رصد کرده و استایل‌های direction, text-align, و unicode-bidi را اعمال می‌کند.

  • popup.js و popup.html: رابط کاربری و مدیریت تنظیمات کاربر با استفاده از chrome.storage.sync برای ذخیره‌سازی پایدار.

  • styles.css: استایل‌های کمکی برای اطمینان از سازگاری بصری.

یکی از نقاط قوت این افزونه، ماژولاریتی کد و مدیریت خطاهاست. با استفاده از توابع جداگانه (مثل detectLanguage و applyTextDirection) و try-catch، پایداری و خوانایی کد تضمین شده است. همچنین، بهینه‌سازی‌هایی مثل محدود کردن دامنه رصد به المنت‌های متنی و حذف بررسی‌های غیرضروری DOM، عملکرد را در صفحات شلوغ بهبود داده است.

موارد استفاده

این افزونه برای کاربرانی که مرتباً با محتوای چندزبانه کار می‌کنند—مثل مترجمان، توسعه‌دهندگان وب، یا خوانندگان محتوای بین‌المللی—بسیار مناسب است. به‌عنوان مثال، کافیست یک صفحه انگلیسی را با ابزار ترجمه کروم به فارسی ترجمه کنید؛ Live RTL Fixer فوراً جهت‌گیری متن را اصلاح می‌کند، بدون اینکه ساختار کد یا بخش‌های LTR را مختل کند.

نصب و استفاده

برای نصب، کافیست مخزن پروژه را از گیت‌هاب کلون کنید یا فایل ZIP را دانلود کرده و در حالت توسعه‌دهنده کروم بارگذاری کنید (chrome://extensions/). پس از نصب، آیکن افزونه در نوار ابزار ظاهر می‌شود و با یک کلیک می‌توانید تنظیمات را مدیریت کنید.توضیحات بیشتر در فایل README آورده شده است

بروزرسانی 8/1/1404 :

نسخه فایرفاکس افزوده شد

لینگ Repository فایرفاکس


مخزن گیت هاب: https://github.com/jalalvandi/
توضیحات: برای کروم فایرفاکس و اج در دسترس میباشد

بازخورد کاربر

دیدگاه‌های پیشنهاد شده

هیچ دیدگاهی برای نمایش وجود دارد.

دیدگاه خود را ارسال کنید

از استفاده از کلمات رکیک و خلاف قوانین و غیر مرتبط با موضوع خودداری کنید ...
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
افزودن دیدگاه...