رفتن به مطلب

SubAI، یک اپلیکیشن نوشته شده با پایتون برای ترجمه خودکار فایل‌های زیرنویس (SRT) با استفاده از API Gemini است. هدف این پروژه، ارائه ابزاری ساده و کاربردی برای ترجمه زیرنویس‌ها به زبان‌های مختلف است


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

این برنامه امکانات متعددی را در اختیار کاربران قرار می‌دهد که آن را به ابزاری متمایز تبدیل می‌کند:

  • رابط کاربری زیبا و کاربرپسند: طراحی شده با PyQT5،شامل جدول نمایش زیرنویس‌ها، دکمه‌های کنترلی و منوهای تنظیمات است.

  • پشتیبانی از زبان‌های متنوع: امکان انتخاب زبان‌های هدف مانند انگلیسی، فرانسه، آلمانی، اسپانیایی، فارسی، چینی و ژاپنی.

  • ترجمه مبتنی بر هوش مصنوعی: استفاده از API مدل‌های زبانی پیشرفته (مانند Gemini) برای ترجمه دقیق و سریع.

  • مدیریت کش ترجمه: قابلیت ذخیره ترجمه‌ها در حافظه RAM یا فایل SQLite برای جلوگیری از ترجمه‌های تکراری.

  • کنترل فرآیند ترجمه: امکان شروع، توقف و ادامه ترجمه‌ها همراه با نوار پیشرفت.

  • تنظیمات پیشرفته: گزینه‌هایی برای تنظیم نرخ درخواست‌ها (RPM)، مدل زبانی، اندازه دسته (Batch Size) و نوع کش.

معماری و پیاده‌سازی

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

  1. کلاس اصلی (SubtitleTranslatorApp):

    • هسته برنامه که رابط کاربری را مدیریت می‌کند.

    • شامل ویجت‌هایی مانند QTableWidget برای نمایش زیرنویس‌ها، QPushButton برای اقدامات کاربر و QProgressBar برای نشان دادن پیشرفت ترجمه.

    • از QSqlDatabase برای مدیریت دیتابیس تنظیمات و کش استفاده می‌کند.

  2. پنجره‌های تنظیمات (SettingsDialog و AdvancedSettingsDialog):

    • پنجره تنظیمات عمومی برای ورود کلید API و تنظیمات پروکسی.

    • پنجره تنظیمات پیشرفته برای مدیریت پارامترهای ترجمه مانند RPM و مدل زبانی.

  3. همزمانی (TranslationWorker):

    • یک کلاس مبتنی بر QThread که ترجمه‌ها را به صورت ناهمزمان انجام می‌دهد.

    • از QNetworkAccessManager برای ارسال درخواست‌های HTTP به API ترجمه استفاده می‌کند.

    • پشتیبانی از پردازش دسته‌ای (Batch Processing) برای بهینه‌سازی درخواست‌ها.

  4. منابع و دیتابیس:

    • فایل‌های منبع مانند لوگوی برنامه (logo.png) با استفاده از سیستم منابع Qt (main.qrc) مدیریت می‌شوند.

    • دیتابیس SQLite برای ذخیره تنظیمات و کش ترجمه‌ها.

برنامه‌های آینده

این پروژه هنوز جای توسعه دارد. برخی از ایده‌ها برای آینده شامل موارد زیر است:

  • پشتیبانی کامل از فرمت‌های زیرنویس: اضافه کردن Parser پیشرفته‌تر برای SRT و فرمت‌های دیگر مانند ASS.

  • ترجمه آفلاین: ادغام مدل‌های محلی هوش مصنوعی برای استفاده بدون اینترنت.

  • مدل های متنوع:افزوده شدن مدل های متنوع هوش مصنوعی در کنار Gemini

  • بهینه‌سازی بیشتر: کاهش حجم و بهبود زمان پاسخ‌دهی API.

نحوه استفاده

برای استفاده از این نرم‌افزار:

  1. با توجه به توضیحات فایل README پایتون و نیازمندی های برنامه را نصب نمایید و اجرا کنید.

  2. از منوی "Public Settings" کلید API و پروکسی (در صورت نیاز) را تنظیم کنید.

  3. از منوی "Advanced Settings" پارامترهای ترجمه را مشخص کنید.

  4. فایل SRT را با دکمه "Choose File" انتخاب کنید.

  5. زبان مقصد را انتخاب کرده و "Start Translate" را بزنید.

  6. پس از اتمام ترجمه، فایل نهایی را با "Save" ذخیره کنید.

این نرم‌افزار نه تنها ابزاری کاربردی برای کاربران عادی است، بلکه برای توسعه‌دهندگان نیز یک مطالعه موردی جذاب از مهندسی نرم‌افزار بهینه ارائه می‌دهد. اگر علاقه‌مند به مشارکت در توسعه یا استفاده از این پروژه هستید، خوشحال می‌شوم بازخورد شما را دریافت کنم.


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

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

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

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

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

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