diff --git a/readme-translations/README.ar.md b/readme-translations/README.ar.md index 84326b6..4a16982 100644 --- a/readme-translations/README.ar.md +++ b/readme-translations/README.ar.md @@ -12,33 +12,33 @@ [](https://pypi.org/project/ytsage/) [](https://github.com/sponsors/oop7) -**أداة تنزيل حديثة من YouTube بواجهة PySide6 نظيفة.** -قم بتنزيل مقاطع الفيديو بأي جودة، واستخرج الصوت، واجلب الترجمات، والمزيد. +**برنامج تحميل من يوتيوب عصري بواجهة PySide6 أنيقة.** +قم بتحميل الفيديوهات بأي جودة، استخراج الصوت، جلب الترجمات، والمزيد. -### 🌍 اقرأني اللغات +### 🌍 لغات README الإنجليزية: [EN](../README.md) | العربية: [AR](README.ar.md) | الألمانية: [DE](README.de.md) -| الاسبانية: [ES](README.es.md) +| الإسبانية: [ES](README.es.md) | الفرنسية: [FR](README.fr.md) | الهندية: [HI](README.hi.md) -| البهاسا الإندونيسية: [ID](README.id.md) -| إيطاليانو: [IT](README.it.md) -| العنوان: [JA](README.ja.md) -| بولسكي: [PL](README.pl.md) +| الإندونيسية: [ID](README.id.md) +| الإيطالية: [IT](README.it.md) +| اليابانية: [JA](README.ja.md) +| البولندية: [PL](README.pl.md) | البرتغالية: [PT](README.pt.md) -| Русский: [RU](README.ru.md) +| الروسية: [RU](README.ru.md) | التركية: [TR](README.tr.md) -| 中文: [ZH](README.zh.md) +| الصينية: [ZH](README.zh.md)
التثبيت • المميزات • الاستخدام • لقطات الشاشة • - استكشاف الأخطاء وإصلاحها • - Sponsor • + استكشاف الأخطاء • + الدعم • المساهمة
@@ -49,44 +49,45 @@ ## ❓ لماذا YTSage؟ -تم تصميم YTSage للمستخدمين الذين يريدون **برنامج تنزيل YouTube بسيطًا وقويًا**. على عكس الأدوات الأخرى، فهو يقدم: +تم تصميم YTSage للمستخدمين الذين يريدون **أداة تحميل يوتيوب بسيطة لكن قوية**. على عكس الأدوات الأخرى، فإنه يوفر: -- واجهة PySide6 نظيفة وحديثة -- التنزيلات بنقرة واحدة للفيديو والصوت والترجمات -- ميزات متقدمة مثل SponsorBlock ودمج الترجمة واختيار قائمة التشغيل -- الوضع العام الاختياري للمواقع التي تدعم yt-dlp خارج YouTube -- دعم عبر الأنظمة الأساسية وسهولة التثبيت +- واجهة PySide6 عصرية ونظيفة +- تحميل بنقرة واحدة للفيديو والصوت والترجمات +- ميزات متقدمة مثل SponsorBlock، دمج الترجمات، واختيار قوائم التشغيل +- وضع عام (Generic Mode) اختياري للمواقع التي يدعمها yt-dlp بخلاف يوتيوب +- دعم منصات متعددة وتثبيت سهل -## ✨المميزات +## ✨ المميزات![]() |
- ![]() |
+ ![]() |
+ ![]() |
| إعدادات التحميل | -تنزيل قائمة التشغيل | +تحميل قوائم التشغيل | |
![]() |
- ![]() |
+ ![]() |
+ ![]() |
| تنسيق الصوت | +صيغة الصوت | خيارات مخصصة |
.json`
-- إذا كانت لغتك مفقودة، ابدأ من `README.md` وأنشئ `README..md`
+- حدث ملف README المترجم (مثل `readme-translations/README.ar.md`)
+- حافظ على تزامن نصوص التطبيق بتعديل `ytsage/languages/.json`
+- إذا كانت لغتك غير موجودة، ابدأ من `README.md` وأنشئ ملفًا جديدًا باسم `README..md`
📂 هيكل المشروع
## YTSage - هيكل المشروع
-يصف هذا المستند بنية المجلد المنظم لـ YTSage.
+يوضح هذا المستند التنظيم الهيكلي لمجلدات YTSage.
### 📁 هيكل المشروع
```
YTSage/
-├── 📁 .github/ # GitHub configuration
-│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates
-│ │ └── 🐛-bug-report.md # Bug report template
-│ ├─── 📁 workflows/ # GitHub Actions workflows
-│ │ ├── build-linux.yml # Linux build workflow
-│ │ ├── build-macos.yml # macOS build workflow
-│ │ │── build-windows.yml # Windows build workflow
-| | └── release-all.yml # Master release workflow
-│ └── 📄 CI_CD_README.md # CI/CD documentation
-├── 📁 branding/ # Branding assets (Screenshots, SVGs)
-│ ├── 📁 icons/ # Application icons
-│ ├── 📁 screenshots/ # Screenshots for documentation
-│ └── 📁 svg/ # SVG assets
-├── 📄 LICENSE # License file
-├── 📄 pyproject.toml # Project metadata and dependencies
-├── 📄 README.md # Project documentation
-├── 📄 requirements.txt # Python dependencies (dev)
-└── 📁 ytsage/ # Source package
- ├── 📁 assets/ # Runtime assets
- │ ├── 📁 Icon/ # Application icons
- │ └── 📁 sound/ # Audio files
- ├── 📁 languages/ # Localization files
- │ ├── 📄 ar.json # Arabic translation
- │ ├── 📄 de.json # German translation
- │ ├── 📄 en.json # English translation
- │ └── ... # Other languages
- ├── 📁 core/ # Core business logic
- │ ├── 📄 __init__.py # Core package init
- │ ├── 📄 ytsage_deno.py # Deno integration
- │ ├── 📄 ytsage_downloader.py # Download functionality
- │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration
- │ ├── 📄 ytsage_utils.py # Utility functions
- │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration
- ├── 📁 gui/ # User interface components
- │ ├── 📄 __init__.py # GUI package init
- │ ├── 📄 ytsage_gui_main.py # Main application window
- │ └── 📁 ytsage_gui_dialogs/ # Dialog classes
- ├── 📁 utils/ # Utility modules
- │ ├── 📄 __init__.py # Utils package init
- │ ├── 📄 ytsage_config_manager.py # Configuration management
- │ └── 📄 ytsage_logger.py # Logging utilities
- ├── 📄 __init__.py # Package entry point
- └── 📄 main.py # Main execution script
+├── 📁 .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 # سكربت التشغيل الرئيسي
```
-## ⭐️ تاريخ النجوم
+## ⭐️ سجل النجوم
-## تاريخ النجوم
+## Star History
@@ -539,65 +544,66 @@ YTSage/
-## 📜 الترخيص
+## 📜 الرخصة
-هذا المشروع مرخص بموجب ترخيص MIT - راجع الملف [LICENSE](../LICENSE) للحصول على التفاصيل.
+هذا المشروع مرخص بموجب رخصة MIT - راجع ملف [LICENSE](LICENSE) لمزيد من التفاصيل.
## 🙏 شكر وتقدير
-إظهار الشكر والتقدير
+عرض الشكر والتقدير
-شكرًا جزيلًا لكل من ساهم في هذا المشروع من خلال فتح مشكلة لاقتراح تحسين أو الإبلاغ عن خطأ.
+شكر كبير لكل من ساهم في هذا المشروع بفتح تذكرة لاقتراح تحسين أو الإبلاغ عن خطأ.
المكونات الأساسية
yt-dlp
- تحميل المحرك
+ محرك التحميل
FFmpeg
معالجة الوسائط
- دينو
- وقت التشغيل للتكامل مع yt-dlp
+ Deno
+ بيئة التشغيل لتكامل yt-dlp
- المكتبات والأطر
+ المكتبات وإطارات العمل
PySide6
- إطار واجهة المستخدم الرسومية
+ إطار عمل الواجهة الرسومية
- الوسادة
+ Pillow
معالجة الصور
- الطلبات
+
+ requests
طلبات HTTP
- التغليف
- التعامل مع الإصدار والحزمة
+ packaging
+ إدارة الإصدارات والحزم
- تخفيض السعر
- عرض تخفيض السعر
+ markdown
+ معالجة Markdown
loguru
- التسجيل
+ تسجيل السجلات
الأصول والمساهمون
- إشعار جديد 09 من Universfield
- صوت الإشعارات
+ New Notification 09 by Universfield
+ صوت التنبيه
- الفيروس185
- مساهم الكود
+ viru185
+ مساهم بالكود
@@ -605,14 +611,14 @@ YTSage/
-## ⚠️إخلاء المسؤولية
+## ⚠️ إخلاء مسؤولية
-هذه الأداة للاستخدام الشخصي فقط. يرجى احترام شروط خدمة YouTube وحقوق منشئي المحتوى.
+تُستخدم هذه الأداة للاستخدام الشخصي فقط. يرجى احترام شروط خدمة يوتيوب وحقوق منشئي المحتوى.
---
-صُنع باستخدام ❤️ بواسطة [oop7](https://github.com/oop7)
+صنع بـ ❤️ بواسطة [oop7](https://github.com/oop7)
diff --git a/readme-translations/README.fr.md b/readme-translations/README.fr.md
index 855b229..89d6e46 100644
--- a/readme-translations/README.fr.md
+++ b/readme-translations/README.fr.md
@@ -13,33 +13,33 @@
[](https://github.com/sponsors/oop7)
**Un téléchargeur YouTube moderne avec une interface PySide6 épurée.**
-Téléchargez des vidéos dans n'importe quelle qualité, extrayez l'audio, récupérez des sous-titres, et bien plus encore.
+Téléchargez des vidéos dans n'importe quelle qualité, extrayez l'audio, récupérez les sous-titres, et plus encore.
-### 🌍 Langues README
+### 🌍 Langues du README
-Anglais : [EN](../README.md)
-| Titre : [AR](README.ar.md)
-| Allemand : [DE](README.de.md)
-| Espagnol : [ES](README.es.md)
-| Anglais: [FR](README.fr.md)
-| Nom : [HI](README.hi.md)
-| Bahasa Indonésie : [ID](README.id.md)
-| Italien : [IT](README.it.md)
-| Nom : [JA](README.ja.md)
-| Polski : [PL](README.pl.md)
-| Portugais : [PT](README.pt.md)
-| Russe : [RU](README.ru.md)
-| Turc : [TR](README.tr.md)
-| Nom : [ZH](README.zh.md)
+Anglais : [EN](../README.md)
+| Arabe : [AR](README.ar.md)
+| Allemand : [DE](README.de.md)
+| Espagnol : [ES](README.es.md)
+| Français : [FR](README.fr.md)
+| Hindi : [HI](README.hi.md)
+| Indonésien : [ID](README.id.md)
+| Italien : [IT](README.it.md)
+| Japonais : [JA](README.ja.md)
+| Polonais : [PL](README.pl.md)
+| Portugais : [PT](README.pt.md)
+| Russe : [RU](README.ru.md)
+| Turc : [TR](README.tr.md)
+| Chinois : [ZH](README.zh.md)
Installation •
- Caractéristiques •
+ Fonctionnalités •
Utilisation •
Captures d'écran •
Dépannage •
- Commanditaire •
- Contribuer
+ Sponsor •
+ Contribution
@@ -47,39 +47,40 @@ Anglais : [EN](../README.md)
---
-## ❓Pourquoi YTSage ?
+## ❓ Pourquoi YTSage ?
-YTSage est conçu pour les utilisateurs qui souhaitent un **téléchargeur YouTube simple mais puissant**. Contrairement à d’autres outils, il propose :
+YTSage est conçu pour les utilisateurs qui recherchent un **téléchargeur YouTube simple mais puissant**. Contrairement à d'autres outils, il offre :
-- Une interface PySide6 propre et moderne
+- Une interface PySide6 moderne et épurée
- Téléchargements en un clic pour la vidéo, l'audio et les sous-titres
-- Fonctionnalités avancées telles que SponsorBlock, la fusion de sous-titres et la sélection de listes de lecture
-- Mode générique en option pour les sites pris en charge par yt-dlp au-delà de YouTube
-- Prise en charge multiplateforme et installation facile
+- Fonctionnalités avancées comme SponsorBlock, la fusion des sous-titres et la sélection de playlists
+- Mode générique (Generic Mode) optionnel pour les sites pris en charge par yt-dlp au-delà de YouTube
+- Support multiplateforme et installation facile
-## ✨ Caractéristiques
+## ✨ Fonctionnalités
-| Fonctionnalités principales | Fonctionnalités avancées | Fonctionnalités supplémentaires |
-|--------------------------------------------------|-----------------------------------------|--------------------------------------------------|
-| 🎥 Formater le tableau | 🚫 Intégration SponsorBlock | 🎞️ Affichage FPS/HDR |
-| 🎵 Extraction audio | 📝 Sélection et fusion de sous-titres multiples | 🔄 Mise à jour automatique yt-dlp |
-| ✨ Interface utilisateur simple | 💾 Enregistrer la description et la vignette | 🛠️ Détection FFmpeg/yt-dlp/Deno |
-| 📋 Prise en charge et sélecteur de playlist | 🚀 Limiteur de vitesse | ⚙️ Commandes personnalisées |
-| 📑 Intégrer les chapitres | ✂️ Couper les sections vidéo | 🍪 Connectez-vous avec les cookies |
-| 📜 Historique des téléchargements | 🔄 Sélection des chaînes de sortie | 🌐 Assistance proxy |
-| 🎚️ Conversion de formats audio | 🎬 Paramètres de format vidéo | 🆙 Onglet de mise à jour intégré |
+| Fonctionnalités de base | Fonctionnalités avancées | Fonctionnalités supplémentaires |
+|-----------------------------------|-----------------------------------------|------------------------------------|
+| 🎥 Tableau des formats | 🚫 Intégration de SponsorBlock | 🎞️ Affichage FPS/HDR |
+| 🎵 Extraction audio | 📝 Sélection et fusion de sous-titres | 🔄 Mise à jour automatique de yt-dlp |
+| ✨ Interface utilisateur simple | 💾 Enregistrement de la description et de la miniature | 🛠️ Détection de FFmpeg/yt-dlp/Deno |
+| 📋 Support et sélecteur de playlists | 🚀 Limiteur de vitesse | ⚙️ Commandes personnalisées |
+| 📑 Intégration des chapitres | ✂️ Découpage de sections vidéo | 🍪 Connexion avec Cookies |
+| 📜 Historique des téléchargements | 🔄 Sélection du canal de version | 🌐 Support Proxy |
+| 🎚️ Conversion du format audio | 🎬 Paramètres de format vidéo | 🆙 Onglet de mise à jour intégré |
| 🌍 Mode générique | 🔊 Normalisation audio (EBU R128) | 🌍 Localisation en 14 langues |
+| 💾 Exportation de playlists | ⚙️ Qualité et sous-titres par défaut | |
-## 🚀Installation
+## 🚀 Installation
-### ⚡ Installation rapide (recommandé)
+### ⚡ Installation rapide (Recommandé)
-Installez YTSage depuis PyPI :
+Installez YTSage via PyPI :
```bash
pip install ytsage
@@ -100,81 +101,81 @@ Lancez ensuite l'application :
ytsage
```
-### 📦 Exécutables prédéfinis
+### 📦 Exécutables pré-construits
-> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
+> [👉 Télécharger la dernière version](https://github.com/oop7/YTSage/releases/latest)
-#### 🪟Fenêtres
+#### 🪟 Windows
-| Formater | Descriptif |
+| Format | Description |
|--------|-------------|
|  | Installateur standard |
-|  | Avec FFmpeg fourni |
+|  | Avec FFmpeg inclus |
|  | Version portable, aucune installation requise |
|  | Portable avec FFmpeg, zippé |
🛠️ Étapes d'installation
-1. **EXE Installer (`.exe`)** : Double-cliquez sur le fichier et suivez l'assistant d'installation.
-2. **Version portable (`.zip`)** : Extrayez l'archive à l'emplacement souhaité et exécutez `ytsage.exe`.
-3. **FFmpeg Bundled** : Choisissez les versions groupées de FFmpeg si FFmpeg n'est pas installé sur votre système.
+1. **Installateur EXE (`.exe`)** : Double-cliquez sur le fichier et suivez l'assistant de configuration.
+2. **Version portable (`.zip`)** : Extrayez l'archive vers l'emplacement souhaité et lancez `ytsage.exe`.
+3. **FFmpeg inclus** : Choisissez les versions avec FFmpeg inclus si vous n'avez pas FFmpeg installé sur votre système.
-#### 🐧Linux
+#### 🐧 Linux
-| Formater | Descriptif |
+| Format | Description |
|--------|-------------|
|  | Paquet Debian |
|  | AppImage, portable |
|  | Paquet RPM |
-|  | Paquet Flatpak |
+|  | Flatpak Bundle |
🛠️ Étapes d'installation
-- **DEB (`.deb`)** :
+- **DEB (`.deb`)** :
```bash
sudo dpkg -i ytsage_*.deb
- sudo apt-get install -f # Fix missing dependencies if any
+ sudo apt-get install -f # Répare les dépendances manquantes si nécessaire
```
-- **RPM (`.rpm`)** :
+- **RPM (`.rpm`)** :
```bash
sudo rpm -i ytsage-*.rpm
```
-- **AppImage (`.AppImage`)** :
+- **AppImage (`.AppImage`)** :
```bash
chmod +x YTSage-*.AppImage
./YTSage-*.AppImage
```
-- **Flatpak** : suivez les instructions sur Flathub ou exécutez :
+- **Flatpak** : Suivez les instructions sur Flathub ou lancez :
```bash
flatpak install flathub io.github.oop7.ytsage
```
-#### 🍎macOS
+#### 🍎 macOS
-| Formater | Descriptif |
+| Format | Description |
|--------|-------------|
|  | Application zippée pour Apple Silicon |
-|  | Programme d’installation d’image disque pour Apple Silicon |
+|  | Installateur d'image disque pour Apple Silicon |
🛠️ Étapes d'installation
-- **DMG Installer (`.dmg`)** : Double-cliquez pour monter, puis faites glisser `YTSage.app` dans votre dossier Applications.
-- **App Archive (`.zip`)** : Extrayez le zip et déplacez `YTSage.app` vers votre dossier Applications.
+- **Installateur DMG (`.dmg`)** : Double-cliquez pour monter, puis faites glisser `YTSage.app` dans votre dossier Applications.
+- **Archive d'application (`.zip`)** : Extrayez le zip et déplacez `YTSage.app` dans votre dossier Applications.
-*Remarque : si vous rencontrez une erreur « L'application est endommagée », consultez le [macOS troubleshooting section](#troubleshooting) ci-dessous.*
+*Note : Si vous rencontrez une erreur "L'application est endommagée", consultez la section de dépannage macOS ci-dessous.*
---
-💻 Installation manuelle à partir de la source
+💻 Installation manuelle à partir des sources
-### 1. Cloner le référentiel
+### 1. Cloner le dépôt
```bash
git clone https://github.com/oop7/YTSage.git
@@ -183,7 +184,7 @@ cd YTSage
### 2. Installer les dépendances
-#### ⚡Avec uv
+#### ⚡ Avec uv
```bash
uv pip install .
@@ -195,7 +196,7 @@ uv pip install .
pip install .
```
-### 3. Exécutez l'application
+### 3. Lancer l'application
```bash
python -m ytsage.main
@@ -209,147 +210,151 @@ python -m ytsage.main
- 
- 
+ 
+ 
Paramètres de téléchargement
- Téléchargement de la liste de lecture
+ Téléchargement de playlist
- 
- 
+ 
+ 
Format audio
Options personnalisées
-
+
+
## 📖 Utilisation
🎯 Utilisation de base
-1. **Lancer YTSage**
-2. **Collez l'URL YouTube** (ou utilisez le bouton « Coller l'URL »)
-3. **Cliquez sur « Analyser »**
-4. **Sélectionnez le format :**
- - `Video` pour les téléchargements de vidéos
+1. **Lancez YTSage**
+2. **Collez l'URL YouTube** (ou utilisez le bouton "Paste URL")
+3. **Cliquez sur "Analyze"**
+4. **Sélectionnez le format :**
+ - `Video` pour les téléchargements vidéo
- `Audio Only` pour l'extraction audio
-5. **Choisissez les options :**
+5. **Choisissez les options :**
- Activer les sous-titres et sélectionner la langue
- Activer la fusion des sous-titres
- - Enregistrer la vignette
- - Supprimer les segments de sponsors
+ - Enregistrer la miniature
+ - Supprimer les segments sponsorisés
- Enregistrer la description
- - Intégrer des chapitres
+ - Intégrer les chapitres
6. **Sélectionnez le répertoire de sortie**
-7. **Cliquez sur "Télécharger"**
+7. **Cliquez sur "Download"**
-> 💡 Le répertoire de téléchargement par défaut est le dossier « Téléchargements » de l'utilisateur.
+> 💡 Le répertoire de téléchargement par défaut est le dossier "Téléchargements" de l'utilisateur.
-📋 Téléchargement de la liste de lecture
+📋 Téléchargement de playlist
-1. **Coller l'URL de la liste de lecture**
-2. **Cliquez sur « Analyser »**
-3. ** Sélectionnez des vidéos dans le sélecteur de playlist (facultatif, par défaut : toutes) **
-4. **Choisissez le format/qualité souhaité**
-5. **Cliquez sur "Télécharger"**
+1. **Collez l'URL de la playlist**
+2. **Cliquez sur "Analyze"**
+3. **Sélectionnez les vidéos du sélecteur de playlist (optionnel, toutes par défaut)**
+4. **Choisissez le format/la qualité souhaitée**
+5. **Cliquez sur "Download"**
-> 💡 L'application gère automatiquement la file d'attente de téléchargement
+> 💡 L'application gère automatiquement la file d'attente de téléchargement, et vous pouvez exporter les entrées de la playlist au format `.txt`, `.csv`, `.m3u` ou `.json`.
-🌍 Mode générique pour les sites non YouTube
+🌍 Mode générique pour les sites non-YouTube
-Utilisez le mode générique lorsque vous souhaitez que YTSage accepte les URL de sites pris en charge par yt-dlp, tels que Dailymotion, CBC Gem, TikTok et autres.
+Utilisez le mode générique (Generic Mode) lorsque vous souhaitez que YTSage accepte des URL de sites pris en charge par yt-dlp, tels que Dailymotion, CBC Gem, TikTok, et d'autres.
-Comment l'utiliser :
+Comment l'utiliser :
1. Ouvrez `Download Settings`.
2. Activez `Generic Mode`.
-3. Collez une URL de vidéo ou de playlist non YouTube prise en charge.
+3. Collez une URL de vidéo ou de playlist prise en charge qui n'est pas YouTube.
4. Cliquez sur `Analyze`.
5. Choisissez un format et téléchargez comme d'habitude.
-Remarques :
+Notes :
-- Le mode générique modifie uniquement la validation de l'URL dans YTSage. Le site cible doit toujours être pris en charge par votre version yt-dlp installée.
+- Le mode générique ne modifie que la validation de l'URL à l'intérieur de YTSage. Le site cible doit toujours être pris en charge par votre version installée de yt-dlp.
- Certains sites nécessitent des cookies, une session de connexion, un proxy ou des arguments yt-dlp supplémentaires selon l'extracteur.
-- Si un site échoue, mettez d'abord à jour yt-dlp à partir de l'onglet de mise à jour intégré avant de signaler le problème.
+- Si un site échoue, mettez d'abord à jour yt-dlp depuis l'onglet de mise à jour intégré avant de signaler le problème.
-🧰 Options multimédia et de téléchargement
+🧰 Options média et de téléchargement
-- **Options de sous-titres :** Filtrez les langues et intégrez des sous-titres dans le fichier vidéo
-- **Fusion des sous-titres :** Fusionnez les sous-titres dans le fichier vidéo pour les sous-titres codés en dur
-- **Enregistrer la description :** Enregistrez la description de la vidéo sous forme de fichier texte
-- **Enregistrer la vignette :** Enregistrez la vignette de la vidéo en tant que fichier image
-- **Intégrer les chapitres :** Intégrer des marqueurs de chapitre en tant que métadonnées pour les lecteurs vidéo compatibles
-- **Supprimer les segments de sponsor :** Supprimez les segments de sponsor de la vidéo à l'aide de SponsorBlock
-- **Découper la vidéo :** Téléchargez uniquement des parties spécifiques d'une vidéo en spécifiant des plages de temps au format `HH:MM:SS`
+- **Options de sous-titres :** Filtrer les langues et intégrer les sous-titres dans le fichier vidéo.
+- **Fusion de sous-titres :** Fusionner les sous-titres dans le fichier vidéo pour des sous-titres incrustés (hardcoded).
+- **Enregistrer la description :** Enregistrer la description de la vidéo sous forme de fichier texte.
+- **Enregistrer la miniature :** Enregistrer la miniature de la vidéo sous forme de fichier image.
+- **Intégrer les chapitres :** Intégrer les marqueurs de chapitres comme métadonnées pour les lecteurs vidéo compatibles.
+- **Supprimer les segments sponsorisés :** Supprimer les segments sponsorisés de la vidéo à l'aide de SponsorBlock.
+- **Découper la vidéo :** Téléchargez uniquement des parties spécifiques d'une vidéo en spécifiant des plages temporelles au format `HH:MM:SS`.
⚙️ Paramètres de sortie et de fichier
-- **Speed Limiter :** Limitez la vitesse de téléchargement, par exemple `500K` à 500 Ko/s
-- **Enregistrer le chemin de téléchargement :** Enregistrez le chemin de téléchargement par défaut pour les prochains téléchargements. Disponible dans **Paramètres de téléchargement → Chemin de téléchargement**.
-- **Format du nom de fichier de sortie :** Personnalisez le format du nom de fichier de sortie à l'aide de variables telles que `%(title)s`, `%(uploader)s` et `%(resolution)s`. Disponible dans **Paramètres de téléchargement → Format du nom de fichier**.
-- **Forcer le format de sortie :** Forcer les téléchargements de vidéos dans un format de conteneur spécifique tel que `mp4`, `webm` ou `mkv`. Disponible dans **Paramètres de téléchargement → Paramètres du format de sortie**.
-- **Conversion de format audio :** Convertissez les téléchargements audio uniquement vers les formats préférés tels que `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, ou `Best`. Disponible dans **Paramètres de téléchargement → Paramètres de format audio**.
-- **Normalisation audio :** Standardisez le volume pour les téléchargements audio uniquement à l'aide de l'EBU R128.
-- **Connexions Simultanées:** Augmentez considérablement la vitesse de téléchargement en téléchargeant des fichiers en plusieurs fragments simultanément. Disponible dans **Paramètres de téléchargement → Général → Connexions Simultanées** (Par défaut à 1, le maximum recommandé est de 8 à 10 pour éviter le blocage d'IP).\n
+- **Limiteur de vitesse :** Limiter la vitesse de téléchargement, par exemple `500K` pour 500 Ko/s.
+- **Enregistrer le chemin de téléchargement :** Enregistre le chemin de téléchargement par défaut pour les futurs téléchargements. Disponible dans **Download Settings → Download Path**.
+- **Résolution vidéo par défaut :** Définissez votre résolution vidéo préférée par défaut pour la sélection automatique (ex : 1080p, 720p). Disponible dans **Download Settings → Default Video Resolution**.
+- **Langues de sous-titres par défaut :** Définissez les langues de sous-titres par défaut pour une sélection automatique (séparées par des virgules, ex : `fr,en`). Disponible dans **Download Settings → Default Subtitle Languages**.
+- **Format du nom de fichier de sortie :** Personnalisez le format du nom de fichier de sortie à l'aide de variables telles que `%(title)s`, `%(uploader)s`, `%(playlist_index)s` et `%(resolution)s`. Disponible dans **Download Settings → Filename Format**.
+- **Forcer le format de sortie :** Forcer les téléchargements vidéo dans un format de conteneur spécifique tel que `mp4`, `webm` ou `mkv`. Disponible dans **Download Settings → Output Format Settings**.
+- **Conversion du format audio :** Convertir les téléchargements audio uniquement dans les formats préférés tels que `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` ou `Best`. Disponible dans **Download Settings → Audio Format Settings**.
+- **Normalisation audio :** Standardiser le volume pour les téléchargements audio uniquement à l'aide de l'EBU R128.
+- **Connexions simultanées :** Augmentez considérablement la vitesse de téléchargement en téléchargeant les fichiers en plusieurs fragments simultanément. Disponible dans **Download Settings → General → Concurrent Connections** (1 par défaut, le maximum recommandé est de 8 à 10 pour éviter la limitation par IP).
+
🌐 Accès et réseau
-- **Connexion avec des cookies :** Connectez-vous à YouTube en utilisant des cookies pour accéder au contenu privé.
- Comment l'utiliser :
- 1. **Recommandé :** Utilisez l'option intégrée `Extract cookies from browser` dans l'application, puis sélectionnez votre navigateur et éventuellement un profil.
- 2. Vous pouvez également extraire les cookies manuellement :
- une. Exportez les cookies de votre navigateur en utilisant une extension comme [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
+- **Connexion avec cookies :** Connectez-vous à YouTube à l'aide de cookies pour accéder au contenu privé.
+ Comment l'utiliser :
+ 1. **Recommandé :** Utilisez l'option intégrée `Extract cookies from browser` dans l'application, puis sélectionnez votre navigateur et éventuellement un profil.
+ 2. Alternativement, extrayez les cookies manuellement :
+ a. Exportez les cookies de votre navigateur à l'aide d'une extension comme [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
b. Copiez les cookies au format Netscape
c. Créez un fichier nommé `cookies.txt` et collez-y les cookies
d. Sélectionnez le fichier `cookies.txt` dans l'application
-- **Prise en charge du proxy :** Utilisez un serveur proxy pour les téléchargements, par exemple `http://:`
-- **Mode générique :** Autorisez YTSage à analyser et à télécharger à partir de sites non YouTube pris en charge par yt-dlp. Activez-le depuis **Paramètres de téléchargement → Mode générique**.
+- **Support Proxy :** Utilisez un serveur proxy pour les téléchargements, par exemple `http://:`
+- **Mode générique :** Permet à YTSage d'analyser et de télécharger à partir de sites non-YouTube pris en charge par yt-dlp. Activez-le depuis **Download Settings → Generic Mode**.
-🛠️ Outils et entretien
+🛠️ Outils et maintenance
-- **Commandes personnalisées :** Accédez aux fonctionnalités avancées de yt-dlp via des arguments de ligne de commande
-- **Onglet Mise à jour :** Gérez les outils de mise à jour intégrés à partir d'un seul endroit dans les options personnalisées :
- - **Mises à jour yt-dlp :** Vérifiez les mises à jour et basculez entre les versions stables et nocturnes
- - **FFmpeg Version Checker :** Vérifiez votre version de FFmpeg et ouvrez les guides d'installation
- - **Mises à jour Deno :** Vérifiez et mettez à jour le runtime Deno
-- **Détection FFmpeg/yt-dlp/Deno :** Détecte automatiquement les chemins et versions FFmpeg, yt-dlp et Deno à partir de la boîte de dialogue À propos.
-- **Historique des téléchargements :** affichez les téléchargements passés avec des vignettes et des statuts à partir du bouton **Historique**.
+- **Commandes personnalisées :** Accédez aux fonctionnalités avancées de yt-dlp via des arguments de ligne de commande.
+- **Onglet de mise à jour :** Gérez les outils de mise à jour intégrés depuis un seul endroit dans Options personnalisées :
+ - **Mises à jour de yt-dlp :** Vérifiez les mises à jour et basculez entre les canaux de version Stable et Nightly.
+ - **Vérificateur de version FFmpeg :** Vérifiez votre version de FFmpeg et ouvrez les guides d'installation.
+ - **Mises à jour de Deno :** Vérifiez et mettez à jour le moteur d'exécution Deno.
+- **Détection de FFmpeg/yt-dlp/Deno :** Détecte automatiquement les chemins et les versions de FFmpeg, yt-dlp et Deno à partir de la boîte de dialogue À propos.
+- **Historique des téléchargements :** Affichez les téléchargements passés avec les miniatures et les statuts depuis le bouton **History**.
🌍 Localisation
-YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélectionnez votre langue préférée dans **Options personnalisées → Langue**.
+YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélectionnez votre langue préférée dans **Custom Options → Language**.
### Langues prises en charge
-| Langue | Codes | Langue | Codes |
-|--------------|------|--------------|------|
-| 🇺🇸 Anglais | `en` | Espagnol | `es` |
+| Langue | Code | Langue | Code |
+|----------|------|----------|------|
+| 🇺🇸 Anglais | `en` | 🇪🇸 Espagnol | `es` |
| 🇸🇦 Arabe | `ar` | 🇫🇷 Français | `fr` |
| 🇩🇪 Allemand | `de` | 🇮🇳 Hindi | `hi` |
| 🇮🇩 Indonésien | `id` | 🇮🇹 Italien | `it` |
@@ -357,11 +362,11 @@ YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélecti
| 🇧🇷 Portugais | `pt` | 🇷🇺 Russe | `ru` |
| 🇹🇷 Turc | `tr` | 🇨🇳 Chinois | `zh` |
-### Traductions README
+### Traductions du README
| Langue | Fichier | Langue | Fichier |
-|--------------|------|--------------|------|
-| 🇺🇸 Anglais | [README.md](../README.md) | Espagnol | [README.es.md](README.es.md)
+|----------|------|----------|------|
+| 🇺🇸 Anglais | [README.md](README.md) | 🇪🇸 Espagnol | [README.es.md](README.es.md) |
| 🇸🇦 Arabe | [README.ar.md](README.ar.md) | 🇫🇷 Français | [README.fr.md](README.fr.md) |
| 🇩🇪 Allemand | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) |
| 🇮🇩 Indonésien | [README.id.md](README.id.md) | 🇮🇹 Italien | [README.it.md](README.it.md) |
@@ -369,7 +374,7 @@ YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélecti
| 🇧🇷 Portugais | [README.pt.md](README.pt.md) | 🇷🇺 Russe | [README.ru.md](README.ru.md) |
| 🇹🇷 Turc | [README.tr.md](README.tr.md) | 🇨🇳 Chinois | [README.zh.md](README.zh.md) |
-> 💡 **Vous voulez contribuer à une traduction ?** Consultez la section [Contributing](#contributing) pour nous aider à ajouter plus de langues !
+> 💡 **Vous souhaitez contribuer à une traduction ?** Consultez la section [Contribution](#contributing) pour nous aider à ajouter d'autres langues !
@@ -377,22 +382,22 @@ YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélecti
## 🛠️ Dépannage
-Cliquez pour afficher les problèmes courants et les solutions
+Cliquez pour voir les problèmes courants et les solutions
-- **Le tableau de format ne s'affiche pas :** Mettez à jour yt-dlp vers la dernière version et passez à yt-dlp tous les soirs.
-- **Échec du téléchargement :** Vérifiez votre connexion Internet et assurez-vous que la vidéo est disponible.
-- **Erreurs de téléchargement spécifiques :**
- - **Vidéos privées :** Utilisez l'authentification par cookie pour accéder au contenu privé.
- - **Contenu soumis à une limite d'âge :** Connectez-vous à votre compte YouTube pour visionner des vidéos soumises à une limite d'âge.
- - **Vidéos géo-bloquées :** Pensez à utiliser un VPN pour contourner les restrictions régionales.
- - **Vidéos supprimées/supprimées :** La vidéo n'est plus disponible sur YouTube.
- - **Diffusions en direct :** Les diffusions en direct ne peuvent pas être téléchargées ; attendez la fin du flux.
- - **Erreurs réseau :** Vérifiez votre connexion Internet et réessayez.
- - **URL invalides :** Assurez-vous que l'URL est correcte et qu'elle provient d'une plate-forme prise en charge.
- - **Contenu Premium :** Nécessite un abonnement YouTube Premium.
- - **Blocs de droits d'auteur :** Le contenu est bloqué en raison de restrictions de droits d'auteur.
-- **Séparez les fichiers vidéo et audio après le téléchargement :** Cela se produit lorsque FFmpeg est manquant ou n'est pas détecté. YTSage nécessite FFmpeg pour fusionner des flux vidéo et audio de haute qualité.
- - **Solution :** Assurez-vous que FFmpeg est installé et accessible dans le PATH de votre système. Pour les utilisateurs Windows, l'option la plus simple consiste à télécharger le fichier `YTSage-v-ffmpeg.exe`, fourni avec FFmpeg.
+- **Le tableau des formats ne s'affiche pas :** Mettez à jour yt-dlp à la dernière version et passez à yt-dlp nightly.
+- **Échec du téléchargement :** Vérifiez votre connexion Internet et assurez-vous que la vidéo est disponible.
+- **Erreurs de téléchargement spécifiques :**
+ - **Vidéos privées :** Utilisez l'authentification par cookies pour accéder au contenu privé.
+ - **Contenu soumis à une limite d'âge :** Connectez-vous à votre compte YouTube pour visionner les vidéos avec limite d'âge.
+ - **Vidéos géo-bloquées :** Envisagez d'utiliser un VPN pour contourner les restrictions régionales.
+ - **Vidéos supprimées :** La vidéo n'est plus disponible sur YouTube.
+ - **Directs (Live streams) :** Les directs ne peuvent pas être téléchargés ; attendez la fin de la diffusion.
+ - **Erreurs réseau :** Vérifiez votre connexion Internet et réessayez.
+ - **URL non valides :** Assurez-vous que l'URL est correcte et provient d'une plateforme prise en charge.
+ - **Contenu Premium :** Nécessite un abonnement YouTube Premium.
+ - **Blocages pour droits d'auteur :** Le contenu est bloqué en raison de restrictions de droits d'auteur.
+- **Fichiers vidéo et audio séparés après le téléchargement :** Cela se produit lorsque FFmpeg est manquant ou non détecté. YTSage nécessite FFmpeg pour fusionner les flux vidéo et audio de haute qualité.
+ - **Solution :** Assurez-vous que FFmpeg est installé et accessible dans le PATH de votre système. Pour les utilisateurs Windows, l'option la plus simple est de télécharger le fichier `YTSage-v-ffmpeg.exe`, qui est livré avec FFmpeg.
---
@@ -400,134 +405,134 @@ YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélecti
Certains logiciels antivirus peuvent signaler les fichiers `.exe` comme de faux positifs. Il s'agit d'une **limitation connue** des applications packagées.
-**Pourquoi cela se produit :**
-- L'heuristique antivirus peut identifier à tort les exécutables compressés comme suspects
+**Pourquoi cela se produit :**
+- L'heuristique des antivirus peut identifier par erreur les exécutables packagés comme suspects.
-**Alternatives sûres :**
-- ✅ **Utiliser l'installation pip :** `pip install ytsage` (recommandé)
-- ✅ **Construire à partir des sources** : en suivant ceci [guide](../.github/CI_CD_README.md)
-- ✅ **Liste blanche de l'application** dans votre logiciel antivirus
+**Alternatives sûres :**
+- ✅ **Utilisez l'installation pip :** `pip install ytsage` (recommandé)
+- ✅ **Compiler à partir des sources** : en suivant ce [guide](.github/CI_CD_README.md)
+- ✅ **Mettre l'application en liste blanche** dans votre logiciel antivirus.
-#### 🍎 macOS : "L'application est endommagée et ne peut pas être ouverte"
-Si vous voyez cette erreur sur macOS Sonoma ou version ultérieure, vous devez supprimer l'attribut de quarantaine.
+#### 🍎 macOS : "L'application est endommagée et ne peut pas être ouverte"
+Si vous voyez cette erreur sur macOS Sonoma ou une version plus récente, vous devez supprimer l'attribut de quarantaine.
-1. **Ouvrez le terminal** (vous pouvez le trouver en utilisant Spotlight).
-2. **Tapez la commande suivante** mais **n'appuyez pas** encore sur Entrée. Assurez-vous d'inclure l'espace à la fin :
+1. **Ouvrez le Terminal** (vous pouvez le trouver en utilisant Spotlight).
+2. **Tapez la commande suivante** mais **n'appuyez pas** encore sur Entrée. Assurez-vous d'inclure l'espace à la fin :
```bash
xattr -d com.apple.quarantine
```
-3. **Faites glisser le fichier `YTSage.app`** depuis votre fenêtre du Finder et déposez-le directement dans la fenêtre du Terminal. Cela collera automatiquement le chemin de fichier correct.
-4. **Appuyez sur Entrée** pour exécuter la commande.
-5. **Essayez d'ouvrir à nouveau YTSage.app.** Il devrait maintenant se lancer correctement.
+3. **Faites glisser le fichier `YTSage.app`** depuis votre fenêtre Finder et déposez-le directement dans la fenêtre du Terminal. Cela collera automatiquement le chemin correct du fichier.
+4. **Appuyez sur Entrée** pour exécuter la commande.
+5. **Essayez d'ouvrir à nouveau YTSage.app.** Il devrait maintenant se lancer correctement.
---
-#### **Emplacements de configuration (avancé)**
-- **Windows :** `%LOCALAPPDATA%\YTSage`
-- **macOS :** `~/Library/Application Support/YTSage`
-- **Linux :** `~/.local/share/YTSage`
+#### **Emplacements de configuration (Avancé)**
+- **Windows :** `%LOCALAPPDATA%\YTSage`
+- **macOS :** `~/Library/Application Support/YTSage`
+- **Linux :** `~/.local/share/YTSage`
-## 💖 Parrainer
+## 💖 Sponsor
-Si YTSage vous fait gagner du temps, envisagez de parrainer le projet. Le parrainage permet de couvrir le temps de développement, les tests sur toutes les plateformes et les améliorations futures.
+Si YTSage vous fait gagner du temps, envisagez de sponsoriser le projet. Le parrainage aide à couvrir le temps de développement, les tests sur toutes les plateformes et les améliorations futures.
-- Commanditaires GitHub : https://github.com/sponsors/oop7
-- Le lien du sponsor est également disponible directement dans l'application à partir de la boîte de dialogue À propos.
+- GitHub Sponsors : https://github.com/sponsors/oop7
+- Le lien de parrainage est également disponible directement dans l'application via la boîte de dialogue À propos.
[](https://github.com/sponsors/oop7)
-## 👥 Contribuer
+## 👥 Contribution
-Nous apprécions les contributions ! Voici comment vous pouvez aider :
+Nous accueillons les contributions avec plaisir ! Voici comment vous pouvez aider :
-1. 🍴 Forkez le référentiel
-2. 🌿 Créez votre branche de fonctionnalités :
+1. 🍴 Forkez le dépôt
+2. 🌿 Créez votre branche de fonctionnalité :
```bash
git checkout -b feature/AmazingFeature
```
-3. 💾 Validez vos modifications :
+3. 💾 Committez vos modifications :
```bash
git commit -m 'Add some AmazingFeature'
```
-4. 📤 Push vers l'agence :
+4. 📤 Pushez vers la branche :
```bash
git push origin feature/AmazingFeature
```
-5. 🔄 Ouvrir une Pull Request
+5. 🔄 Ouvrez une Pull Request
### 🌍 Contribuer aux traductions
-- Mettez à jour le fichier README localisé correspondant (par exemple `README.es.md`)
+- Mettez à jour le fichier README localisé correspondant (par exemple `readme-translations/README.fr.md`)
- Gardez les chaînes de l'application synchronisées en éditant `ytsage/languages/.json`
-- Si votre langue est manquante, partez de `README.md` et créez `README..md`
+- Si votre langue est manquante, commencez par `README.md` et créez `README..md`
📂 Structure du projet
-## YTSage – Structure du projet
+## YTSage - Structure du projet
-Ce document décrit la structure des dossiers organisés de YTSage.
+Ce document décrit la structure organisée des dossiers de YTSage.
### 📁 Structure du projet
```
YTSage/
-├── 📁 .github/ # GitHub configuration
-│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates
-│ │ └── 🐛-bug-report.md # Bug report template
-│ ├─── 📁 workflows/ # GitHub Actions workflows
-│ │ ├── build-linux.yml # Linux build workflow
-│ │ ├── build-macos.yml # macOS build workflow
-│ │ │── build-windows.yml # Windows build workflow
-| | └── release-all.yml # Master release workflow
-│ └── 📄 CI_CD_README.md # CI/CD documentation
-├── 📁 branding/ # Branding assets (Screenshots, SVGs)
-│ ├── 📁 icons/ # Application icons
-│ ├── 📁 screenshots/ # Screenshots for documentation
-│ └── 📁 svg/ # SVG assets
-├── 📄 LICENSE # License file
-├── 📄 pyproject.toml # Project metadata and dependencies
-├── 📄 README.md # Project documentation
-├── 📄 requirements.txt # Python dependencies (dev)
-└── 📁 ytsage/ # Source package
- ├── 📁 assets/ # Runtime assets
- │ ├── 📁 Icon/ # Application icons
- │ └── 📁 sound/ # Audio files
- ├── 📁 languages/ # Localization files
- │ ├── 📄 ar.json # Arabic translation
- │ ├── 📄 de.json # German translation
- │ ├── 📄 en.json # English translation
- │ └── ... # Other languages
- ├── 📁 core/ # Core business logic
- │ ├── 📄 __init__.py # Core package init
- │ ├── 📄 ytsage_deno.py # Deno integration
- │ ├── 📄 ytsage_downloader.py # Download functionality
- │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration
- │ ├── 📄 ytsage_utils.py # Utility functions
- │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration
- ├── 📁 gui/ # User interface components
- │ ├── 📄 __init__.py # GUI package init
- │ ├── 📄 ytsage_gui_main.py # Main application window
- │ └── 📁 ytsage_gui_dialogs/ # Dialog classes
- ├── 📁 utils/ # Utility modules
- │ ├── 📄 __init__.py # Utils package init
- │ ├── 📄 ytsage_config_manager.py # Configuration management
- │ └── 📄 ytsage_logger.py # Logging utilities
- ├── 📄 __init__.py # Package entry point
- └── 📄 main.py # Main execution script
+├── 📁 .github/ # Configuration GitHub
+│ ├── 📁 ISSUE_TEMPLATE/ # Modèles de tickets
+│ │ └── 🐛-bug-report.md # Modèle de rapport de bug
+│ ├─── 📁 workflows/ # Workflows GitHub Actions
+│ │ ├── build-linux.yml # Workflow de build Linux
+│ │ ├── build-macos.yml # Workflow de build macOS
+│ │ │── build-windows.yml # Workflow de build Windows
+| | └── release-all.yml # Workflow de release master
+│ └── 📄 CI_CD_README.md # Documentation CI/CD
+├── 📁 branding/ # Actifs de marque (Captures d'écran, SVGs)
+│ ├── 📁 icons/ # Icônes de l'application
+│ ├── 📁 screenshots/ # Captures d'écran pour la documentation
+│ └── 📁 svg/ # Actifs SVG
+├── 📄 LICENSE # Fichier de licence
+├── 📄 pyproject.toml # Métadonnées du projet et dépendances
+├── 📄 README.md # Documentation du projet
+├── 📄 requirements.txt # Dépendances Python (dev)
+└── 📁 ytsage/ # Paquet source
+ ├── 📁 assets/ # Actifs d'exécution
+ │ ├── 📁 Icon/ # Icônes de l'application
+ │ └── 📁 sound/ # Fichiers audio
+ ├── 📁 languages/ # Fichiers de localisation
+ │ ├── 📄 ar.json # Traduction arabe
+ │ ├── 📄 de.json # Traduction allemande
+ │ ├── 📄 en.json # Traduction anglaise
+ │ └── ... # Autres langues
+ ├── 📁 core/ # Logique métier principale
+ │ ├── 📄 __init__.py # Initialisation du paquet core
+ │ ├── 📄 ytsage_deno.py # Intégration Deno
+ │ ├── 📄 ytsage_downloader.py # Fonctionnalité de téléchargement
+ │ ├── 📄 ytsage_ffmpeg.py # Intégration FFmpeg
+ │ ├── 📄 ytsage_utils.py # Fonctions utilitaires
+ │ └── 📄 ytsage_yt_dlp.py # Intégration yt-dlp
+ ├── 📁 gui/ # Composants de l'interface utilisateur
+ │ ├── 📄 __init__.py # Initialisation du paquet GUI
+ │ ├── 📄 ytsage_gui_main.py # Fenêtre principale de l'application
+ │ └── 📁 ytsage_gui_dialogs/ # Classes de dialogues
+ ├── 📁 utils/ # Modules utilitaires
+ │ ├── 📄 __init__.py # Initialisation du paquet utils
+ │ ├── 📄 ytsage_config_manager.py # Gestion de la configuration
+ │ └── 📄 ytsage_logger.py # Utilitaires de log
+ ├── 📄 __init__.py # Point d'entrée du paquet
+ └── 📄 main.py # Script d'exécution principal
```
-## ⭐️ Histoire des étoiles
+## ⭐️ Historique des étoiles
-## Historique des étoiles
+## Star History
@@ -541,7 +546,7 @@ YTSage/
## 📜 Licence
-Ce projet est sous licence MIT - voir le fichier [LICENSE](../LICENSE) pour plus de détails.
+Ce projet est sous licence MIT - voir le fichier [LICENSE](LICENSE) pour plus de détails.
## 🙏 Remerciements
@@ -550,7 +555,7 @@ Ce projet est sous licence MIT - voir le fichier [LICENSE](../LICENSE) pour plus
-Un merci sincère à tous ceux qui ont contribué à ce projet en ouvrant un ticket pour suggérer une amélioration ou signaler un bug.
+Un grand merci à tous ceux qui ont contribué à ce projet en ouvrant un ticket pour suggérer une amélioration ou signaler un bug.
Composants de base
@@ -560,27 +565,28 @@ Ce projet est sous licence MIT - voir le fichier [LICENSE](../LICENSE) pour plus
FFmpeg
- Traitement multimédia
+ Traitement média
- Déno
+ Deno
Runtime pour l'intégration avec yt-dlp
- Bibliothèques et frameworks
+ Bibliothèques et Frameworks
PySide6
- Cadre GUI
+ Framework GUI
- Oreiller
+ Pillow
Traitement d'images
- demandes
- Demandes HTTP
+
+ requests
+ Requêtes HTTP
- emballage
- Version et gestion des packages
+ packaging
+ Gestion des versions et des paquets
markdown
@@ -588,11 +594,11 @@ Ce projet est sous licence MIT - voir le fichier [LICENSE](../LICENSE) pour plus
loguru
- Journalisation
+ Logging
- Actifs et contributeurs
+ Actifs & Contributeurs
- Nouvelle notification 09 par Universfield
+ New Notification 09 by Universfield
Son de notification
@@ -605,7 +611,7 @@ Ce projet est sous licence MIT - voir le fichier [LICENSE](../LICENSE) pour plus
-## ⚠️ Avis de non-responsabilité
+## ⚠️ Clause de non-responsabilité
Cet outil est destiné à un usage personnel uniquement. Veuillez respecter les conditions d'utilisation de YouTube et les droits des créateurs de contenu.
@@ -613,6 +619,6 @@ Cet outil est destiné à un usage personnel uniquement. Veuillez respecter les
-Réalisé avec ❤️ par [oop7](https://github.com/oop7)
+Fait avec ❤️ par [oop7](https://github.com/oop7)