Update the English README link in readme-translations/README.ar.md to point to the repository root (../README.md) so the language table correctly references the top-level README.
30 KiB
برنامج تحميل من يوتيوب عصري بواجهة PySide6 أنيقة.
قم بتحميل الفيديوهات بأي جودة، استخراج الصوت، جلب الترجمات، والمزيد.
🌍 لغات README
الإنجليزية: EN | العربية: AR | الألمانية: DE | الإسبانية: ES | الفرنسية: FR | الهندية: HI | الإندونيسية: ID | الإيطالية: IT | اليابانية: JA | البولندية: PL | البرتغالية: PT | الروسية: RU | التركية: TR | الصينية: ZH
التثبيت • المميزات • الاستخدام • لقطات الشاشة • استكشاف الأخطاء • الدعم • المساهمة
❓ لماذا YTSage؟
تم تصميم YTSage للمستخدمين الذين يريدون أداة تحميل يوتيوب بسيطة لكن قوية. على عكس الأدوات الأخرى، فإنه يوفر:
- واجهة PySide6 عصرية ونظيفة
- تحميل بنقرة واحدة للفيديو والصوت والترجمات
- ميزات متقدمة مثل SponsorBlock، دمج الترجمات، واختيار قوائم التشغيل
- وضع عام (Generic Mode) اختياري للمواقع التي يدعمها yt-dlp بخلاف يوتيوب
- دعم منصات متعددة وتثبيت سهل
✨ المميزات
| الميزات الأساسية | الميزات المتقدمة | ميزات إضافية |
|---|---|---|
| 🎥 جدول الصيغ | 🚫 تكامل SponsorBlock | 🎞️ عرض FPS/HDR |
| 🎵 استخراج الصوت | 📝 اختيار ودمج الترجمات | 🔄 تحديث تلقائي لـ yt-dlp |
| ✨ واجهة مستخدم بسيطة | 💾 حفظ الوصف والصورة المصغرة | 🛠️ اكتشاف FFmpeg/yt-dlp/Deno |
| 📋 دعم ومحدد قوائم التشغيل | 🚀 محدد السرعة | ⚙️ أوامر مخصصة |
| 📑 دمج الفصول | ✂️ قص أجزاء الفيديو | 🍪 تسجيل الدخول بالكوكيز |
| 📜 سجل التحميلات | 🔄 اختيار قناة الإصدار | 🌐 دعم البروكسي |
| 🎚️ تحويل صيغ الصوت | 🎬 إعدادات صيغ الفيديو | 🆙 تبويب تحديث مدمج |
| 🌍 الوضع العام | 🔊 تطبيع الصوت (EBU R128) | 🌍 دعم 14 لغة |
| 💾 تصدير قوائم التشغيل | ⚙️ الجودة والترجمات الافتراضية |
🚀 التثبيت
⚡ التثبيت السريع (موصى به)
تثبيت YTSage عبر PyPI:
pip install ytsage
🔄 تحديث نسخة مثبتة
pip install --upgrade ytsage
ثم قم بتشغيل التطبيق:
ytsage
📦 حزم جاهزة للتشغيل
🪟 Windows
| الصيغة | الوصف |
|---|---|
| مثبت قياسي | |
| مع FFmpeg مدمج | |
| نسخة محمولة، لا تحتاج لتثبيت | |
| محمولة مع FFmpeg، مضغوطة |
🛠️ خطوات التثبيت
- مثبت EXE (
.exe): انقر نقرًا مزدوجًا على الملف واتبع معالج التثبيت. - النسخة المحمولة (
.zip): استخرج الملف في أي مكان وشغلytsage.exe. - FFmpeg المدمج: اختر النسخة التي تحتوي على FFmpeg إذا لم يكن مثبتًا على نظامك.
🐧 Linux
| الصيغة | الوصف |
|---|---|
| حزمة Debian | |
| AppImage، محمولة | |
| حزمة RPM | |
| Flatpak Bundle |
🛠️ خطوات التثبيت
- DEB (
.deb):sudo dpkg -i ytsage_*.deb sudo apt-get install -f # لإصلاح الاعتمادات الناقصة إذا لزم الأمر - RPM (
.rpm):sudo rpm -i ytsage-*.rpm - AppImage (
.AppImage):chmod +x YTSage-*.AppImage ./YTSage-*.AppImage - Flatpak: اتبع التعليمات على Flathub أو شغل:
flatpak install flathub io.github.oop7.ytsage
🍎 macOS
| الصيغة | الوصف |
|---|---|
| تطبيق مضغوط لـ Apple Silicon | |
| صورة قرص لـ Apple Silicon |
🛠️ خطوات التثبيت
- مثبت DMG (
.dmg): انقر نقرًا مزدوجًا لفتح القرص، ثم اسحبYTSage.appإلى مجلد Applications. - تطبيق مضغوط (
.zip): استخرج الملف وانقلYTSage.appإلى مجلد Applications.
ملاحظة: إذا واجهت خطأ "التطبيق تالف"، راجع قسم استكشاف الأخطاء لنظام macOS أدناه.
💻 التثبيت اليدوي من المصدر
1. نسخ المستودع
git clone https://github.com/oop7/YTSage.git
cd YTSage
2. تثبيت الاعتمادات
⚡ باستخدام uv
uv pip install .
📦 أو باستخدام pip العادي
pip install .
3. تشغيل التطبيق
python -m ytsage.main
📸 لقطات الشاشة
📖 الاستخدام
🎯 الاستخدام الأساسي
- شغل YTSage
- الصق رابط يوتيوب (أو استخدم زر "Paste URL")
- اضغط على "Analyze"
- اختر الصيغة:
Videoللتحميلات المرئيةAudio Onlyلاستخراج الصوت فقط
- اختر الخيارات:
- تفعيل الترجمات واختيار اللغة
- تفعيل دمج الترجمات
- حفظ الصورة المصغرة
- حذف المقاطع الإعلانية (Sponsor segments)
- حفظ الوصف
- دمج الفصول (Chapters)
- اختر مجلد الحفظ
- اضغط على "Download"
💡 مجلد التحميل الافتراضي هو مجلد "Downloads" للمستخدم.
📋 تحميل قائمة تشغيل (Playlist)
- الصق رابط قائمة التشغيل
- اضغط على "Analyze"
- اختر الفيديوهات من محدد القائمة (اختياري، يتم اختيار الكل تلقائيًا)
- اختر الصيغة/الجودة المطلوبة
- اضغط على "Download"
💡 التطبيق يتعامل مع طابور التحميل تلقائيًا، ويمكنك تصدير مدخلات القائمة كملفات
.txtأو.csvأو.m3uأو.json.
🌍 الوضع العام للمواقع غير يوتيوب
استخدم الوضع العام (Generic Mode) عندما تريد أن يقبل YTSage روابط من المواقع التي يدعمها yt-dlp، مثل Dailymotion و CBC Gem و TikTok وغيرها.
كيفية الاستخدام:
- افتح
Download Settings. - فعل
Generic Mode. - الصق رابط فيديو أو قائمة تشغيل مدعومة غير يوتيوب.
- اضغط على
Analyze. - اختر الصيغة وحمل كالمعتاد.
ملاحظات:
- الوضع العام يغير فقط التحقق من الرابط داخل YTSage. يجب أن يكون الموقع مدعومًا من نسخة yt-dlp المثبتة لديك.
- بعض المواقع تتطلب كوكيز، تسجيل دخول، بروكسي أو وسائط yt-dlp إضافية حسب نوع الموقع.
- إذا فشل موقع ما، حدث yt-dlp أولاً من تبويب التحديث المدمج قبل الإبلاغ عن المشكلة.
🧰 خيارات الميديا والتحميل
- خيارات الترجمة: تصفية اللغات وتضمين الترجمات في ملف الفيديو.
- دمج الترجمات: دمج الترجمات داخل ملف الفيديو لتكون ترجمة مدمجة (Hardcoded).
- حفظ الوصف: حفظ وصف الفيديو كملف نصي.
- حفظ الصورة المصغرة: حفظ صورة الفيديو كملف صورة.
- دمج الفصول: تضمين علامات الفصول كبيانات وصفية لمشغلات الفيديو المتوافقة.
- حذف مقاطع الرعاة: حذف الأجزاء الإعلانية من الفيديو باستخدام SponsorBlock.
- قص الفيديو: تحميل أجزاء محددة فقط من الفيديو عن طريق تحديد أوقات البداية والنهاية بصيغة
HH:MM:SS.
⚙️ إعدادات الإخراج والملفات
- محدد السرعة: تحديد سرعة التحميل، مثلاً
500Kلـ 500 كيلوبايت/ثانية. - حفظ مسار التحميل: يحفظ مسار التحميل الافتراضي للتحميلات المستقبلية. متاح في Download Settings → Download Path.
- دقة الفيديو الافتراضية: حدد دقة الفيديو المفضلة للاختيار التلقائي (مثل 1080p أو 720p). متاح في Download Settings → Default Video Resolution.
- لغات الترجمة الافتراضية: حدد لغات الترجمة للاختيار التلقائي (مفصولة بفواصل، مثل
ar,en). متاح في Download Settings → Default Subtitle Languages. - صيغة اسم الملف: تخصيص صيغة اسم الملف باستخدام متغيرات مثل
%(title)sو%(uploader)sو%(playlist_index)sو%(resolution)s. متاح في Download Settings → Filename Format. - فرض صيغة الإخراج: فرض تحميل الفيديو بصيغة محددة مثل
mp4أوwebmأوmkv. متاح في Download Settings → Output Format Settings. - تحويل صيغ الصوت: تحويل تحميلات الصوت فقط للصيغ المفضلة مثل
AACأوMP3أوFLACأوWAVأوOpusأوM4AأوVorbisأوBest. متاح في Download Settings → Audio Format Settings. - تطبيع الصوت: توحيد مستوى الصوت لتحميلات الصوت فقط باستخدام EBU R128.
- الاتصالات المتزامنة: زيادة سرعة التحميل بشكل كبير عن طريق تحميل الملف في أجزاء متعددة في وقت واحد. متاح في Download Settings → General → Concurrent Connections (القيمة الافتراضية 1، الموصى به 8-10 لتجنب حظر IP).
🌐 الوصول والشبكة
- تسجيل الدخول بالكوكيز: سجل الدخول ليوتيوب باستخدام الكوكيز للوصول للمحتوى الخاص.
كيفية الاستخدام:
- موصى به: استخدم خيار
Extract cookies from browserالمدمج في التطبيق، ثم اختر المتصفح والملف الشخصي. - بدلاً من ذلك، استخرج الكوكيز يدويًا:
أ. صدر الكوكيز من متصفحك باستخدام إضافة مثل cookie-editor
ب. انسخ الكوكيز بصيغة Netscape
ج. أنشئ ملفًا باسم
cookies.txtوالصق الكوكيز فيه د. اختر ملفcookies.txtفي التطبيق
- موصى به: استخدم خيار
- دعم البروكسي: استخدم خادم بروكسي للتحميلات، مثلاً
http://<proxy-server>:<port> - الوضع العام: يسمح لـ YTSage بتحليل والتحميل من المواقع غير يوتيوب التي يدعمها yt-dlp. فعله من Download Settings → Generic Mode.
🛠️ الأدوات والصيانة
- أوامر مخصصة: الوصول لميزات yt-dlp المتقدمة عبر وسائط موجه الأوامر.
- تبويب التحديث: إدارة أدوات التحديث من مكان واحد في الخيارات المخصصة:
- تحديثات yt-dlp: التحقق من التحديثات والتبديل بين القناة المستقرة (Stable) والليلية (Nightly).
- فاحص نسخة FFmpeg: التحقق من نسخة FFmpeg وعرض أدلة التثبيت.
- تحديثات Deno: التحقق وتحديث محرك Deno.
- اكتشاف FFmpeg/yt-dlp/Deno: يكتشف تلقائيًا المسارات والنسخ لـ FFmpeg و yt-dlp و Deno من نافذة "About".
- سجل التحميلات: عرض التحميلات السابقة مع الصور المصغرة والحالة من زر History.
🌍 الترجمة
يدعم YTSage 14 لغة للوصول العالمي. اختر لغتك المفضلة من Custom Options → Language.
اللغات المدعومة
| اللغة | الرمز | اللغة | الرمز |
|---|---|---|---|
| 🇺🇸 الإنجليزية | en |
🇪🇸 الإسبانية | es |
| 🇸🇦 العربية | ar |
🇫🇷 الفرنسية | fr |
| 🇩🇪 الألمانية | de |
🇮🇳 الهندية | hi |
| 🇮🇩 الإندونيسية | id |
🇮🇹 الإيطالية | it |
| 🇯🇵 اليابانية | ja |
🇵🇱 البولندية | pl |
| 🇧🇷 البرتغالية | pt |
🇷🇺 الروسية | ru |
| 🇹🇷 التركية | tr |
🇨🇳 الصينية | zh |
تراجم README
| اللغة | الملف | اللغة | الملف |
|---|---|---|---|
| 🇺🇸 الإنجليزية | README.md | 🇪🇸 الإسبانية | README.es.md |
| 🇸🇦 العربية | README.ar.md | 🇫🇷 الفرنسية | README.fr.md |
| 🇩🇪 الألمانية | README.de.md | 🇮🇳 الهندية | README.hi.md |
| 🇮🇩 الإندونيسية | README.id.md | 🇮🇹 الإيطالية | README.it.md |
| 🇯🇵 اليابانية | README.ja.md | 🇵🇱 البولندية | README.pl.md |
| 🇧🇷 البرتغالية | README.pt.md | 🇷🇺 الروسية | README.ru.md |
| 🇹🇷 التركية | README.tr.md | 🇨🇳 الصينية | README.zh.md |
💡 هل تريد المساعدة في الترجمة؟ راجع قسم المساهمة لمساعدتنا في إضافة المزيد من اللغات!
🛠️ استكشاف الأخطاء
اضغط لعرض المشاكل الشائعة وحلولها
- جدول الصيغ لا يظهر: حدث yt-dlp لأحدث نسخة وانتقل للقناة الليلية (Nightly).
- فشل التحميل: تحقق من اتصال الإنترنت وتأكد أن الفيديو متاح.
- أخطاء تحميل محددة:
- فيديوهات خاصة: استخدم الكوكيز للوصول للمحتوى الخاص.
- محتوى مقيد بالعمر: سجل دخولك ليوتيوب لمشاهدة الفيديوهات المقيدة.
- فيديوهات محظورة جغرافيًا: استخدم VPN لتجاوز القيود الإقليمية.
- فيديوهات محذوفة: الفيديو لم يعد متاحًا على يوتيوب.
- البث المباشر (Live): لا يمكن تحميل البث المباشر أثناء عرضه؛ انتظر حتى ينتهي.
- أخطاء الشبكة: تحقق من اتصالك وحاول مرة أخرى.
- روابط غير صالحة: تأكد من صحة الرابط وأنه من منصة مدعومة.
- محتوى Premium: يتطلب اشتراك يوتيوب بريميوم.
- حظر حقوق الملكية: المحتوى محظور بسبب قيود حقوق النشر.
- ملفات الفيديو والصوت منفصلة بعد التحميل: يحدث هذا عند فقدان FFmpeg أو عدم اكتشافه. يتطلب YTSage برنامج FFmpeg لدمج مسارات الفيديو والصوت عالية الجودة.
- الحل: تأكد من تثبيت FFmpeg وإضافته لـ PATH النظام. لمستخدمي ويندوز، الخيار الأسهل هو تحميل ملف
YTSage-v<version>-ffmpeg.exeالذي يأتي مع FFmpeg مدمجًا.
- الحل: تأكد من تثبيت FFmpeg وإضافته لـ PATH النظام. لمستخدمي ويندوز، الخيار الأسهل هو تحميل ملف
🛡️ تنبيه Windows Defender / الأنتي فيروس
قد تصنف بعض برامج الحماية ملفات .exe كبرمجيات ضارة (False Positive). هذا عيب معروف في التطبيقات المحزمة.
لماذا يحدث هذا:
- أساليب الكشف في مضادات الفيروسات قد تعتبر الملفات المحزمة مشبوهة خطأً.
البدائل الآمنة:
- ✅ استخدم تثبيت pip:
pip install ytsage(موصى به) - ✅ البناء من المصدر: باتباع هذا الدليل
- ✅ إضافة التطبيق للقائمة البيضاء في برنامج الحماية لديك.
🍎 macOS: "The app is damaged and can’t be opened"
إذا واجهت هذا الخطأ على macOS Sonoma أو أحدث، يجب عليك إزالة سمة الحجر الصحي.
- افتح الـ Terminal (يمكنك البحث عنه عبر Spotlight).
- اكتب الأمر التالي ولكن لا تضغط Enter بعد. تأكد من وجود مسافة في النهاية:
xattr -d com.apple.quarantine - اسحب ملف
YTSage.appمن نافذة Finder وأفلته في نافذة الـ Terminal. سيقوم بلصق المسار الصحيح تلقائيًا. - اضغط Enter لتنفيذ الأمر.
- حاول فتح YTSage.app مجددًا. يجب أن يعمل الآن بشكل صحيح.
مواقع الإعدادات (للمتقدمين)
- Windows:
%LOCALAPPDATA%\YTSage - macOS:
~/Library/Application Support/YTSage - Linux:
~/.local/share/YTSage
💖 الدعم
إذا وفر لك YTSage الوقت، يرجى التفكير في دعم المشروع. يساعد الدعم في تغطية وقت التطوير، الاختبار على المنصات المختلفة، والتحسينات المستقبلية.
- GitHub Sponsors: https://github.com/sponsors/oop7
- رابط الدعم متاح أيضًا داخل التطبيق عبر نافذة "About".
👥 المساهمة
نرحب بالمساهمات! إليك كيف يمكنك المساعدة:
- 🍴 عمل Fork للمستودع
- 🌿 إنشاء فرع جديد للميزة:
git checkout -b feature/AmazingFeature
- 💾 حفظ التغييرات:
git commit -m 'Add some AmazingFeature'
- 📤 رفع التغييرات:
git push origin feature/AmazingFeature
- 🔄 فتح Pull Request
🌍 المساهمة في الترجمة
- حدث ملف README المترجم (مثل
readme-translations/README.ar.md) - حافظ على تزامن نصوص التطبيق بتعديل
ytsage/languages/<code>.json - إذا كانت لغتك غير موجودة، ابدأ من
README.mdوأنشئ ملفًا جديدًا باسمREADME.<code>.md
📂 هيكل المشروع
YTSage - هيكل المشروع
يوضح هذا المستند التنظيم الهيكلي لمجلدات YTSage.
📁 هيكل المشروع
YTSage/
├── 📁 .github/ # إعدادات GitHub
│ ├── 📁 ISSUE_TEMPLATE/ # نماذج التذاكر
│ │ └── 🐛-bug-report.md # نموذج تقرير الأخطاء
│ ├─── 📁 workflows/ # سير عمل GitHub Actions
│ │ ├── build-linux.yml # بناء نسخة لينكس
│ │ ├── build-macos.yml # بناء نسخة ماك
│ │ │── build-windows.yml # بناء نسخة ويندوز
| | └── release-all.yml # سير عمل الإصدارات
│ └── 📄 CI_CD_README.md # توثيق CI/CD
├── 📁 branding/ # أصول العلامة التجارية (لقطات شاشة، SVG)
│ ├── 📁 icons/ # أيقونات التطبيق
│ ├── 📁 screenshots/ # لقطات شاشة للتوثيق
│ └── 📁 svg/ # أصول بصيغة SVG
├── 📄 LICENSE # ملف الرخصة
├── 📄 pyproject.toml # بيانات المشروع والاعتمادات
├── 📄 README.md # التوثيق الرئيسي
├── 📄 requirements.txt # اعتمادات بايثون (للمطورين)
└── 📁 ytsage/ # مجلد الأكواد المصدرية
├── 📁 assets/ # الأصول اللازمة للتشغيل
│ ├── 📁 Icon/ # أيقونات التطبيق
│ └── 📁 sound/ # ملفات صوتية
├── 📁 languages/ # ملفات الترجمة
│ ├── 📄 ar.json # الترجمة العربية
│ ├── 📄 de.json # الترجمة الألمانية
│ ├── 📄 en.json # الترجمة الإنجليزية
│ └── ... # لغات أخرى
├── 📁 core/ # المنطق البرمجي الأساسي
│ ├── 📄 __init__.py
│ ├── 📄 ytsage_deno.py # تكامل Deno
│ ├── 📄 ytsage_downloader.py # وظائف التحميل
│ ├── 📄 ytsage_ffmpeg.py # تكامل FFmpeg
│ ├── 📄 ytsage_utils.py # وظائف مساعدة
│ └── 📄 ytsage_yt_dlp.py # تكامل yt-dlp
├── 📁 gui/ # مكونات واجهة المستخدم
│ ├── 📄 __init__.py
│ ├── 📄 ytsage_gui_main.py # نافذة التطبيق الرئيسية
│ └── 📁 ytsage_gui_dialogs/ # كلاسات النوافذ الحوارية
├── 📁 utils/ # موديلات مساعدة
│ ├── 📄 __init__.py
│ ├── 📄 ytsage_config_manager.py # مدير الإعدادات
│ └── 📄 ytsage_logger.py # أداة تسجيل السجلات
├── 📄 __init__.py # نقطة دخول الحزمة
└── 📄 main.py # سكربت التشغيل الرئيسي
⭐️ سجل النجوم
📜 الرخصة
هذا المشروع مرخص بموجب رخصة MIT - راجع ملف LICENSE لمزيد من التفاصيل.
🙏 شكر وتقدير
عرض الشكر والتقدير
شكر كبير لكل من ساهم في هذا المشروع بفتح تذكرة لاقتراح تحسين أو الإبلاغ عن خطأ.
| المكونات الأساسية | |
|---|---|
| yt-dlp | محرك التحميل |
| FFmpeg | معالجة الوسائط |
| Deno | بيئة التشغيل لتكامل yt-dlp |
| المكتبات وإطارات العمل | |
| PySide6 | إطار عمل الواجهة الرسومية |
| Pillow | معالجة الصور |
| requests | طلبات HTTP |
| packaging | إدارة الإصدارات والحزم |
| markdown | معالجة Markdown |
| loguru | تسجيل السجلات |
| الأصول والمساهمون | |
| New Notification 09 by Universfield | صوت التنبيه |
| viru185 | مساهم بالكود |
⚠️ إخلاء مسؤولية
تُستخدم هذه الأداة للاستخدام الشخصي فقط. يرجى احترام شروط خدمة يوتيوب وحقوق منشئي المحتوى.
صنع بـ ❤️ بواسطة oop7



