@@ -36,6 +54,7 @@ YTSage is designed for users who want a **simple yet powerful YouTube downloader
- A clean, modern PySide6 interface
- One-click downloads for video, audio, and subtitles
- Advanced features like SponsorBlock, subtitle merging, and playlist selection
+- Optional Generic Mode for yt-dlp-supported sites beyond YouTube
- Cross-platform support and easy installation
@@ -46,13 +65,13 @@ YTSage is designed for users who want a **simple yet powerful YouTube downloader
| Core Features | Advanced Features | Extra Features |
|-----------------------------------|-----------------------------------------|------------------------------------|
| 🎥 Format Table | 🚫 SponsorBlock Integration | 🎞️ FPS/HDR Display |
-| 🎵 Audio Extraction | 📝 Multi-Subtitle Select & Merge | 🔄 Auto-Update yt-dlp |
+| 🎵 Audio Extraction | 📝 Multi-Subtitle Select & Merge | 🔄 Auto-Update yt-dlp |
| ✨ Simple UI | 💾 Save Description & Thumbnail | 🛠️ FFmpeg/yt-dlp/Deno Detection |
| 📋 Playlist Support & Selector | 🚀 Speed Limiter | ⚙️ Custom Commands |
| 📑 Embed Chapters | ✂️ Trim Video Sections | 🍪 Login with Cookies |
| 📜 Download History | 🔄 Release Channel Selection | 🌐 Proxy Support |
| 🎚️ Audio Format Conversion | 🎬 Video Format Settings | 🆙 Built-in Updater Tab |
-
+| 🌍 Generic Mode | 🔊 Audio Normalization (EBU R128) | 🌍 Localization in 14 Languages |
@@ -248,36 +267,77 @@ python -m ytsage.main
-🧰 Advanced Options
+🌍 Generic Mode for non-YouTube sites
-- **Subtitle Options:** Filter languages and embed into video file
-- **Subtitle Merge:** Merge subtitles into video file for hardcoded subtitles
-- **Custom Commands:** Access advanced yt-dlp features via command line arguments
-- **Save Description:** Save the description of the video as a text file
-- **Save Thumbnail:** Save the thumbnail of the video as an image file
-- **Embed Chapters:** Embed chapter markers as metadata in the downloaded video file for compatible video players
+Use Generic Mode when you want YTSage to accept URLs from sites supported by yt-dlp, such as Dailymotion, CBC Gem, TikTok, and others.
+
+How to use it:
+
+1. Open `Download Settings`.
+2. Enable `Generic Mode`.
+3. Paste a supported non-YouTube video or playlist URL.
+4. Click `Analyze`.
+5. Choose a format and download as usual.
+
+Notes:
+
+- Generic Mode only changes URL validation inside YTSage. The target site must still be supported by your installed yt-dlp version.
+- Some sites require cookies, a login session, a proxy, or extra yt-dlp arguments depending on the extractor.
+- If a site fails, update yt-dlp first from the built-in updater tab before reporting the issue.
+
+
+
+
+🧰 Media and Download Options
+
+- **Subtitle Options:** Filter languages and embed subtitles into the video file
+- **Subtitle Merge:** Merge subtitles into the video file for hardcoded subtitles
+- **Save Description:** Save the video description as a text file
+- **Save Thumbnail:** Save the video thumbnail as an image file
+- **Embed Chapters:** Embed chapter markers as metadata for compatible video players
- **Remove Sponsor Segments:** Remove sponsor segments from the video using SponsorBlock
-- **Speed Limiter:** Limit the download speed (e.g., `500K` for 500 KB/s)
-- **Login with Cookies:** Login to YouTube using cookies to access private content
+- **Trim Video:** Download only specific parts of a video by specifying time ranges in `HH:MM:SS` format
+
+
+
+
+⚙️ Output and File Settings
+
+- **Speed Limiter:** Limit the download speed, for example `500K` for 500 KB/s
+- **Save Download Path:** Save the default download path for future downloads. Available in **Download Settings → Download Path**.
+- **Output Filename Format:** Customize the output filename format using variables like `%(title)s`, `%(uploader)s`, and `%(resolution)s`. Available in **Download Settings → Filename Format**.
+- **Force Output Format:** Force video downloads into a specific container format such as `mp4`, `webm`, or `mkv`. Available in **Download Settings → Output Format Settings**.
+- **Audio Format Conversion:** Convert audio-only downloads to preferred formats such as `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, or `Best`. Available in **Download Settings → Audio Format Settings**.
+- **Audio Normalization:** Standardize volume for audio-only downloads using EBU R128.
+
+
+
+
+🌐 Access and Network
+
+- **Login with Cookies:** Login to YouTube using cookies to access private content.
How to use it:
- 1. **Recommended:** Use the built-in "Extract cookies from browser" option in the app. Select your browser (Chrome, Firefox, etc.) and then select Profile (optional).
+ 1. **Recommended:** Use the built-in `Extract cookies from browser` option in the app, then select your browser and optionally a profile.
2. Alternatively, extract cookies manually:
- a. Extract cookies from your browser using an extension like [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
+ a. Export cookies from your browser using an extension like [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
b. Copy the cookies in Netscape format
c. Create a file named `cookies.txt` and paste the cookies into it
d. Select the `cookies.txt` file in the app
-- **Save Download Path:** Save the default download path for future downloads. Available in **Download Settings → Download Path**.
-- **Output Filename Format:** Customize the output filename format using variables like `%(title)s`, `%(uploader)s`, `%(resolution)s`, etc. Available in **Download Settings → Filename Format**.
-- **Updater Tab:** Unified tab in Custom Options for managing all updates:
- - **yt-dlp Updates:** Check and update yt-dlp to the latest version, with release channel selection (Stable/Nightly)
- - **FFmpeg Version Checker:** Check your FFmpeg version with direct links to installation guides
- - **Deno Updates:** Check and update Deno runtime to the latest version
-- **FFmpeg/yt-dlp/Deno Detection:** Automatically detect FFmpeg/yt-dlp/Deno path and version. You can use this option by clicking on about button.
-- **Trim Video:** Download only specific parts of a video by specifying time ranges (HH:MM:SS format)
-- **Proxy Support:** Use a proxy server for downloads (e.g., `http://:`)
-- **Force Output Format:** Force video downloads in a specific container format (e.g., `mp4`, `webm`, `mkv`). Available in **Download Settings → Output Format Settings**.
-- **Audio Format Conversion:** Convert audio-only downloads to preferred formats (`AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, or `Best`). Ideal for video editing software like DaVinci Resolve. Available in **Download Settings → Audio Format Settings**.
-- **Download History:** View past downloads with thumbnails and statuses. You can use this option by clicking on the **History** button.
+- **Proxy Support:** Use a proxy server for downloads, for example `http://:`
+- **Generic Mode:** Allow YTSage to analyze and download from non-YouTube sites supported by yt-dlp. Enable it from **Download Settings → Generic Mode**.
+
+
+
+
+🛠️ Tools and Maintenance
+
+- **Custom Commands:** Access advanced yt-dlp features via command line arguments
+- **Updater Tab:** Manage built-in update tools from one place in Custom Options:
+ - **yt-dlp Updates:** Check for updates and switch between Stable and Nightly release channels
+ - **FFmpeg Version Checker:** Check your FFmpeg version and open installation guides
+ - **Deno Updates:** Check and update the Deno runtime
+- **FFmpeg/yt-dlp/Deno Detection:** Automatically detect FFmpeg, yt-dlp, and Deno paths and versions from the About dialog.
+- **Download History:** View past downloads with thumbnails and statuses from the **History** button.
@@ -298,6 +358,18 @@ YTSage supports **14 languages** for worldwide accessibility. Select your prefer
| 🇧🇷 Portuguese | `pt` | 🇷🇺 Russian | `ru` |
| 🇹🇷 Turkish | `tr` | 🇨🇳 Chinese | `zh` |
+### README Translations
+
+| Language | File | Language | File |
+|----------|------|----------|------|
+| 🇺🇸 English | [README.md](README.md) | 🇪🇸 Spanish | [README.es.md](readme-translations/README.es.md) |
+| 🇸🇦 Arabic | [README.ar.md](readme-translations/README.ar.md) | 🇫🇷 French | [README.fr.md](readme-translations/README.fr.md) |
+| 🇩🇪 German | [README.de.md](readme-translations/README.de.md) | 🇮🇳 Hindi | [README.hi.md](readme-translations/README.hi.md) |
+| 🇮🇩 Indonesian | [README.id.md](readme-translations/README.id.md) | 🇮🇹 Italian | [README.it.md](readme-translations/README.it.md) |
+| 🇯🇵 Japanese | [README.ja.md](readme-translations/README.ja.md) | 🇵🇱 Polish | [README.pl.md](readme-translations/README.pl.md) |
+| 🇧🇷 Portuguese | [README.pt.md](readme-translations/README.pt.md) | 🇷🇺 Russian | [README.ru.md](readme-translations/README.ru.md) |
+| 🇹🇷 Turkish | [README.tr.md](readme-translations/README.tr.md) | 🇨🇳 Chinese | [README.zh.md](readme-translations/README.zh.md) |
+
> 💡 **Want to contribute a translation?** Check out the [Contributing](#contributing) section to help us add more languages!
@@ -358,6 +430,16 @@ If you see this error on macOS Sonoma or newer, you need to remove the quarantin
+
+## 💖 Sponsor
+
+If YTSage saves you time, consider sponsoring the project. Sponsorship helps cover development time, testing across platforms, and future improvements.
+
+- GitHub Sponsors: https://github.com/sponsors/oop7
+- The sponsor link is also available directly inside the app from the About dialog.
+
+[](https://github.com/sponsors/oop7)
+
## 👥 Contributing
@@ -378,6 +460,12 @@ We welcome contributions! Here's how you can help:
```
5. 🔄 Open a Pull Request
+### 🌍 Contributing Translations
+
+- Update the matching localized README file (for example `readme-translations/README.es.md`)
+- Keep app strings in sync by editing `ytsage/languages/.json`
+- If your language is missing, start from `README.md` and create `README..md`
+
📂 Project Structure
diff --git a/pyproject.toml b/pyproject.toml
index 6f1876e..c2f7f9d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "ytsage"
-version = "5.0.0"
+version = "5.0.2b"
description = "Modern YouTube downloader with a clean PySide6 interface."
authors = [
{ name = "oop7", email = "oop7_support@proton.me" },
diff --git a/readme-translations/README.ar.md b/readme-translations/README.ar.md
new file mode 100644
index 0000000..0f6c9d3
--- /dev/null
+++ b/readme-translations/README.ar.md
@@ -0,0 +1,618 @@
+
+
+---
+
+
+## ❓ لماذا YTSage؟
+
+تم تصميم YTSage للمستخدمين الذين يريدون **برنامج تنزيل YouTube بسيطًا وقويًا**. على عكس الأدوات الأخرى، فهو يقدم:
+
+- واجهة PySide6 نظيفة وحديثة
+- التنزيلات بنقرة واحدة للفيديو والصوت والترجمات
+- ميزات متقدمة مثل SponsorBlock ودمج الترجمة واختيار قائمة التشغيل
+- الوضع العام الاختياري للمواقع التي تدعم yt-dlp خارج YouTube
+- دعم عبر الأنظمة الأساسية وسهولة التثبيت
+
+
+## ✨المميزات
+
+
+
+| الميزات الأساسية | الميزات المتقدمة | ميزات إضافية |
+|-----------------------------------|--------------------------------------------------------|-----|
+| 🎥 تنسيق الجدول | 🚫 تكامل SponsorBlock | 🎞️ عرض FPS/HDR |
+| 🎵 استخراج الصوت | 📝 تحديد ودمج الترجمة المتعددة | 🔄 التحديث التلقائي yt-dlp |
+| ✨ واجهة مستخدم بسيطة | 💾 حفظ الوصف والصورة المصغرة | 🛠️ كشف FFmpeg/yt-dlp/Deno |
+| 📋 دعم قائمة التشغيل والمحدد | 🚀 محدد السرعة | ⚙️ أوامر مخصصة |
+| 📑 تضمين الفصول | ✂️ تقليم أقسام الفيديو | 🍪 تسجيل الدخول باستخدام ملفات تعريف الارتباط |
+| 📜 تحميل التاريخ | 🔄 إطلاق اختيار القناة | 🌐 دعم الوكيل |
+| 🎚️ تحويل تنسيق الصوت | 🎬 إعدادات تنسيق الفيديو | 🆙 علامة تبويب التحديث المدمجة |
+| 🌍 الوضع العام | 🔊 تسوية الصوت (EBU R128) | 🌍 التعريب بـ 14 لغة |
+
+
+## 📖 الاستخدام
+
+
+🎯 الاستخدام الأساسي
+
+1. ** إطلاق YTSage **
+2. **الصق عنوان URL لموقع YouTube** (أو استخدم الزر "لصق عنوان URL")
+3. **انقر على "تحليل"**
+4. **حدد التنسيق:**
+ - `Video` لتنزيل الفيديو
+ - `Audio Only` لاستخراج الصوت
+5. **اختر الخيارات:**
+ - تمكين الترجمة واختيار اللغة
+ - تمكين دمج الترجمة
+ - حفظ الصورة المصغرة
+ - إزالة شرائح الراعي
+ - حفظ الوصف
+ - تضمين الفصول
+6. **حدد دليل المخرجات**
+7. **انقر على "تنزيل"**
+
+> 💡 دليل التنزيل الافتراضي هو مجلد "التنزيلات" الخاص بالمستخدم.
+
+
+
+
+📋 تنزيل قائمة التشغيل
+
+1. **لصق عنوان URL لقائمة التشغيل**
+2. **انقر على "تحليل"**
+3. **حدد مقاطع الفيديو من محدد قائمة التشغيل (اختياري، الإعداد الافتراضي هو الكل)**
+4. **اختر التنسيق/الجودة المطلوبة**
+5. **انقر على "تنزيل"**
+
+> 💡 يتعامل التطبيق تلقائيًا مع قائمة انتظار التنزيل
+
+
+
+
+🌍 الوضع العام للمواقع غير التابعة لليوتيوب
+
+استخدم الوضع العام عندما تريد أن يقبل YTSage عناوين URL من المواقع التي يدعمها yt-dlp، مثل Dailymotion وCBC Gem وTikTok وغيرها.
+
+كيفية استخدامه:
+
+1. افتح `Download Settings`.
+2. تفعيل `Generic Mode`.
+3. الصق عنوان URL لفيديو أو قائمة تشغيل مدعومة غير تابعة لـ YouTube.
+4. اضغط على `Analyze`.
+5. اختر التنسيق وقم بتنزيله كالمعتاد.
+
+ملاحظات:
+
+- الوضع العام يغير فقط التحقق من صحة عنوان URL داخل YTSage. يجب أن يظل الموقع المستهدف مدعومًا بإصدار yt-dlp المثبت لديك.
+- تتطلب بعض المواقع ملفات تعريف الارتباط، أو جلسة تسجيل دخول، أو وكيلًا، أو وسائط yt-dlp إضافية اعتمادًا على المستخرج.
+- إذا فشل أحد المواقع، فقم بتحديث yt-dlp أولاً من علامة تبويب المحدث المضمنة قبل الإبلاغ عن المشكلة.
+
+
+
+
+🧰 خيارات الوسائط والتنزيل
+
+- **خيارات الترجمة:** تصفية اللغات وتضمين الترجمة في ملف الفيديو
+- **دمج الترجمة:** دمج الترجمات في ملف الفيديو للحصول على ترجمات مضمنة
+- **حفظ الوصف:** احفظ وصف الفيديو كملف نصي
+- **حفظ الصورة المصغرة:** احفظ الصورة المصغرة للفيديو كملف صورة
+- **تضمين الفصول:** تضمين علامات الفصل كبيانات وصفية لمشغلات الفيديو المتوافقة
+- **إزالة شرائح الجهات الراعية:** قم بإزالة شرائح الجهات الراعية من الفيديو باستخدام SponsorBlock
+- **قص الفيديو:** قم بتنزيل أجزاء محددة فقط من الفيديو عن طريق تحديد نطاقات زمنية بتنسيق `HH:MM:SS`
+
+
+
+
+⚙️ إعدادات الإخراج والملف
+
+- **محدد السرعة:** حدد سرعة التنزيل، على سبيل المثال `500K` لـ 500 كيلو بايت/ثانية
+- **حفظ مسار التنزيل:** احفظ مسار التنزيل الافتراضي للتنزيلات المستقبلية. متوفر في **إعدادات التنزيل → مسار التنزيل**.
+- **تنسيق اسم ملف الإخراج:** قم بتخصيص تنسيق اسم ملف الإخراج باستخدام متغيرات مثل `%(title)s`، `%(uploader)s`، و`%(resolution)s`. متوفر في **إعدادات التنزيل → تنسيق اسم الملف**.
+- **تنسيق الإخراج الإجباري:** فرض تنزيلات الفيديو في تنسيق حاوية محدد مثل `mp4` أو `webm` أو `mkv`. متوفر في **إعدادات التنزيل ← إعدادات تنسيق الإخراج**.
+- **تحويل تنسيق الصوت:** تحويل التنزيلات الصوتية فقط إلى التنسيقات المفضلة مثل `AAC`، `MP3`، `FLAC`، `WAV`، `Opus`، `M4A`، `Vorbis` أو `Best`. متوفر في **إعدادات التنزيل → إعدادات تنسيق الصوت**.
+- **تطبيع الصوت:** توحيد مستوى الصوت للتنزيلات الصوتية فقط باستخدام EBU R128.
+
+
+
+
+🌐 الوصول والشبكة
+
+- **تسجيل الدخول باستخدام ملفات تعريف الارتباط:** قم بتسجيل الدخول إلى YouTube باستخدام ملفات تعريف الارتباط للوصول إلى المحتوى الخاص.
+ كيفية استخدامه:
+ 1. **موصى به:** استخدم خيار `Extract cookies from browser` المدمج في التطبيق، ثم حدد المتصفح الخاص بك وملفًا شخصيًا بشكل اختياري.
+ 2. بدلاً من ذلك، قم باستخراج ملفات تعريف الارتباط يدويًا:
+ أ. قم بتصدير ملفات تعريف الارتباط من متصفحك باستخدام ملحق مثل [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
+ ب. انسخ ملفات تعريف الارتباط بتنسيق Netscape
+ ج. أنشئ ملفًا باسم `cookies.txt` والصق ملفات تعريف الارتباط فيه
+ د. حدد الملف `cookies.txt` في التطبيق
+- **دعم الوكيل:** استخدم خادمًا وكيلاً للتنزيلات، على سبيل المثال `http://:`
+- **الوضع العام:** اسمح لـ YTSage بالتحليل والتنزيل من مواقع غير تابعة لـ YouTube والتي يدعمها yt-dlp. قم بتمكينه من **إعدادات التنزيل → الوضع العام**.
+
+
+
+
+🛠️ الأدوات والصيانة
+
+- **الأوامر المخصصة:** الوصول إلى ميزات yt-dlp المتقدمة عبر وسيطات سطر الأوامر
+- **علامة تبويب التحديث:** إدارة أدوات التحديث المضمنة من مكان واحد في الخيارات المخصصة:
+ - **تحديثات yt-dlp:** تحقق من وجود تحديثات وقم بالتبديل بين قنوات الإصدار الثابت وقنوات الإصدار الليلي
+ - **مدقق إصدار FFmpeg:** تحقق من إصدار FFmpeg الخاص بك وافتح أدلة التثبيت
+ - **تحديثات Deno:** التحقق من وقت تشغيل Deno وتحديثه
+- **اكتشاف FFmpeg/yt-dlp/Deno:** اكتشاف مسارات وإصدارات FFmpeg وyt-dlp وDeno تلقائيًا من مربع الحوار "حول".
+- **سجل التنزيلات:** اعرض التنزيلات السابقة باستخدام الصور المصغرة والحالات من زر **السجل**.
+
+
+
+
+🌍 التعريب
+
+يدعم YTSage **14 لغة** لسهولة الوصول إليها في جميع أنحاء العالم. اختر لغتك المفضلة من **خيارات مخصصة → اللغة**.
+
+### اللغات المدعومة
+
+| اللغة | الكود | اللغة | الكود |
+|----------|------|---------|------|
+| 🇺🇸 إنجليزي | `en` | 🇪🇸 الاسبانية | `es` |
+| 🇸🇦 عربي | `ar` | 🇫🇷 فرنسي | `fr` |
+| 🇩🇪 ألماني | `de` | 🇮🇳 هندي | `hi` |
+| 🇮🇩 إندونيسي | `id` | 🇮🇹 إيطالي | `it` |
+| 🇯🇵 ياباني | `ja` | 🇵🇱 بولندية | `pl` |
+| 🇧🇷 برتغالية | `pt` | 🇷🇺 روسي | `ru` |
+| 🇹🇷 تركي | `tr` | 🇨🇳 صيني | `zh` |
+
+### ترجمات README
+
+| اللغة | ملف | اللغة | ملف |
+|----------|------|---------|------|
+| 🇺🇸 إنجليزي | [README.md](../README.md) | 🇪🇸 الاسبانية | [README.es.md](README.es.md)
+| 🇸🇦 عربي | [README.ar.md](README.ar.md) | 🇫🇷 فرنسي | [README.fr.md](README.fr.md) |
+| 🇩🇪 ألماني | [README.de.md](README.de.md) | 🇮🇳 هندي | [README.hi.md](README.hi.md) |
+| 🇮🇩 إندونيسي | [README.id.md](README.id.md) | 🇮🇹 إيطالي | [README.it.md](README.it.md) |
+| 🇯🇵 ياباني | [README.ja.md](README.ja.md) | 🇵🇱 بولندية | [README.pl.md](README.pl.md) |
+| 🇧🇷 برتغالية | [README.pt.md](README.pt.md) | 🇷🇺 روسي | [README.ru.md](README.ru.md) |
+| 🇹🇷 تركي | [README.tr.md](README.tr.md) | 🇨🇳 صيني | [README.zh.md](README.zh.md) |
+
+> 💡 **هل تريد المساهمة في الترجمة؟** راجع قسم [Contributing](#contributing) لمساعدتنا في إضافة المزيد من اللغات!
+
+
+
+
+## 🛠️ استكشاف الأخطاء وإصلاحها
+
+
+انقر لعرض المشكلات والحلول الشائعة
+
+- **تنسيق الجدول لا يتم عرضه:** قم بتحديث yt-dlp إلى الإصدار الأحدث، ثم قم بالتبديل إلى yt-dlp ليلاً.
+- **فشل التنزيل:** تحقق من اتصالك بالإنترنت وتأكد من توفر الفيديو.
+- **أخطاء تنزيل محددة:**
+ - **مقاطع الفيديو الخاصة:** استخدم مصادقة ملفات تعريف الارتباط للوصول إلى المحتوى الخاص.
+ - **محتوى مقيد بالفئة العمرية:** قم بتسجيل الدخول إلى حساب YouTube لعرض مقاطع الفيديو المقيدة بالفئة العمرية.
+ - **مقاطع الفيديو المحظورة جغرافيًا:** فكر في استخدام VPN لتجاوز القيود الإقليمية.
+ - **مقاطع الفيديو المحذوفة/المحذوفة:** لم يعد الفيديو متاحًا على YouTube.
+ - **البث المباشر:** لا يمكن تنزيل البث المباشر؛ انتظر حتى ينتهي الدفق.
+ - **أخطاء الشبكة:** تحقق من اتصالك بالإنترنت وحاول مرة أخرى.
+ - **عناوين URL غير صالحة:** تأكد من أن عنوان URL صحيح ومن نظام أساسي مدعوم.
+ - **المحتوى المميز:** يتطلب عضوية YouTube Premium.
+ - **حظر حقوق الطبع والنشر:** تم حظر المحتوى بسبب قيود حقوق الطبع والنشر.
+- **فصل ملفات الفيديو والصوت بعد التنزيل:** يحدث هذا عندما يكون FFmpeg مفقودًا أو لم يتم اكتشافه. يتطلب YTSage FFmpeg لدمج تدفقات الفيديو والصوت عالية الجودة.
+ - **الحل:** تأكد من تثبيت FFmpeg وإمكانية الوصول إليه في PATH الخاص بنظامك. بالنسبة لمستخدمي Windows، الخيار الأسهل هو تنزيل الملف `YTSage-v-ffmpeg.exe`، والذي يأتي مرفقًا مع FFmpeg.
+
+---
+
+#### 🛡️ تحذير Windows Defender / مضاد الفيروسات
+
+قد تقوم بعض برامج مكافحة الفيروسات بوضع علامة على الملفات `.exe` على أنها ملفات إيجابية كاذبة. هذا **قيد معروف** للتطبيقات المجمعة.
+
+**لماذا يحدث هذا:**
+- يمكن للاستدلالات المضادة للفيروسات أن تخطئ في تعريف الملفات التنفيذية المعبأة على أنها مشبوهة
+
+** البدائل الآمنة: **
+- ✅ **استخدم تثبيت النقطة:** `pip install ytsage` (مستحسن)
+- ✅ **البناء من المصدر**: باتباع هذا [guide](../.github/CI_CD_README.md)
+- ✅ **أدرج التطبيق في القائمة البيضاء** في برنامج مكافحة الفيروسات لديك
+
+#### 🍎 macOS: "التطبيق تالف ولا يمكن فتحه"
+إذا رأيت هذا الخطأ على نظام التشغيل macOS Sonoma أو الإصدارات الأحدث، فستحتاج إلى إزالة سمة العزل.
+
+1. **افتح الوحدة الطرفية** (يمكنك العثور عليها باستخدام Spotlight).
+2. **اكتب الأمر التالي** لكن **لا** تضغط على Enter بعد. تأكد من تضمين المساحة في النهاية:
+ ```bash
+ xattr -d com.apple.quarantine
+ ```
+3. **اسحب الملف `YTSage.app`** من نافذة Finder وأفلته مباشرةً في نافذة الوحدة الطرفية. سيؤدي هذا تلقائيًا إلى لصق مسار الملف الصحيح.
+4. **اضغط على Enter** لتشغيل الأمر.
+5. **حاول فتح YTSage.app مرة أخرى.** من المفترض الآن أن يتم تشغيله بشكل صحيح.
+
+---
+
+#### **مواقع التكوين (متقدمة)**
+- **ويندوز:** `%LOCALAPPDATA%\YTSage`
+- **ماك:** `~/Library/Application Support/YTSage`
+- **لينكس:** `~/.local/share/YTSage`
+
+
+
+
+## 💖 الراعي
+
+إذا كان YTSage يوفر عليك الوقت، ففكر في رعاية المشروع. تساعد الرعاية في تغطية وقت التطوير والاختبار عبر الأنظمة الأساسية والتحسينات المستقبلية.
+
+- رعاة GitHub: https://github.com/sponsors/oop7
+- رابط الراعي متاح أيضًا مباشرة داخل التطبيق من مربع الحوار "حول".
+
+[](https://github.com/sponsors/oop7)
+
+
+## 👥 المساهمة
+
+نحن نرحب بالمساهمات! إليك كيف يمكنك المساعدة:
+
+1. 🍴 شوكة المستودع
+2. 🌿 قم بإنشاء فرع الميزات الخاص بك:
+ ```bash
+ git checkout -b feature/AmazingFeature
+ ```
+3. 💾 قم بإجراء التغييرات:
+ ```bash
+ git commit -m 'Add some AmazingFeature'
+ ```
+4. 📤 اضغط على الفرع:
+ ```bash
+ git push origin feature/AmazingFeature
+ ```
+5. 🔄 افتح طلب السحب
+
+### 🌍 المساهمة بالترجمات
+
+- قم بتحديث ملف README المترجم المطابق (على سبيل المثال `README.es.md`)
+- حافظ على مزامنة سلاسل التطبيق عن طريق تحرير `ytsage/languages/.json`
+- إذا كانت لغتك مفقودة، ابدأ من `README.md` وأنشئ `README..md`
+
+
+📂 هيكل المشروع
+
+## 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
+```
+
+
+
+## ⭐️ تاريخ النجوم
+
+
+
+---
+
+
+## ❓ Warum YTSage?
+
+YTSage wurde für Benutzer entwickelt, die einen **einfachen, aber leistungsstarken YouTube-Downloader** suchen. Im Gegensatz zu anderen Tools bietet es:
+
+- Eine saubere, moderne PySide6-Schnittstelle
+- Ein-Klick-Downloads für Video, Audio und Untertitel
+- Erweiterte Funktionen wie SponsorBlock, Zusammenführen von Untertiteln und Auswahl von Wiedergabelisten
+- Optionaler generischer Modus für von YT-DLP unterstützte Websites außerhalb von YouTube
+- Plattformübergreifende Unterstützung und einfache Installation
+
+
+## ✨ Funktionen
+
+
+
+
+## 🚀 Installation
+
+### ⚡ Schnellinstallation (empfohlen)
+
+Installieren Sie YTSage von PyPI:
+
+```bash
+pip install ytsage
+```
+
+
+🔄Aktualisieren Sie eine vorhandene Installation
+
+```bash
+pip install --upgrade ytsage
+```
+
+
+
+Starten Sie dann die App:
+
+```bash
+ytsage
+```
+
+### 📦 Vorgefertigte ausführbare Dateien
+
+> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
+
+#### 🪟 Windows
+
+| Formatieren | Beschreibung |
+|--------|-------------|
+|  | Standardinstallationsprogramm |
+|  | Mit FFmpeg gebündelt |
+|  | Portable Version, keine Installation erforderlich |
+|  | Tragbar mit FFmpeg, gezippt |
+
+
+🛠️ Installationsschritte
+
+1. **EXE-Installationsprogramm (`.exe`)**: Doppelklicken Sie auf die Datei und folgen Sie dem Setup-Assistenten.
+2. **Portable Version (`.zip`)**: Extrahieren Sie das Archiv an den gewünschten Speicherort und führen Sie `ytsage.exe` aus.
+3. **FFmpeg gebündelt**: Wählen Sie die gebündelten FFmpeg-Versionen, wenn Sie FFmpeg nicht auf Ihrem System installiert haben.
+
+
+#### 🐧 Linux
+
+| Formatieren | Beschreibung |
+|--------|-------------|
+|  | Debian-Paket |
+|  | AppImage, tragbar |
+|  | RPM-Paket |
+|  | Flatpak-Bundle |
+
+
+🛠️ Installationsschritte
+
+- **DEB (`.deb`)**:
+ ```bash
+ sudo dpkg -i ytsage_*.deb
+ sudo apt-get install -f # Fix missing dependencies if any
+ ```
+- **RPM (`.rpm`)**:
+ ```bash
+ sudo rpm -i ytsage-*.rpm
+ ```
+- **AppImage (`.AppImage`)**:
+ ```bash
+ chmod +x YTSage-*.AppImage
+ ./YTSage-*.AppImage
+ ```
+- **Flatpak**: Folgen Sie den Anweisungen auf Flathub oder führen Sie Folgendes aus:
+ ```bash
+ flatpak install flathub io.github.oop7.ytsage
+ ```
+
+
+#### 🍎 macOS
+
+| Formatieren | Beschreibung |
+|--------|-------------|
+|  | Gezippte Anwendung für Apple Silicon |
+|  | Disk-Image-Installationsprogramm für Apple Silicon |
+
+
+🛠️ Installationsschritte
+
+- **DMG-Installationsprogramm (`.dmg`)**: Doppelklicken Sie zum Mounten und ziehen Sie dann `YTSage.app` in Ihren Anwendungsordner.
+- **App-Archiv (`.zip`)**: Extrahieren Sie die ZIP-Datei und verschieben Sie `YTSage.app` in Ihren Anwendungsordner.
+
+*Hinweis: Wenn Sie auf den Fehler „App ist beschädigt“ stoßen, sehen Sie sich das [macOS troubleshooting section](#troubleshooting) unten an.*
+
+
+---
+
+
+💻 Manuelle Installation von der Quelle
+
+### 1. Klonen Sie das Repository
+
+```bash
+git clone https://github.com/oop7/YTSage.git
+cd YTSage
+```
+
+### 2. Abhängigkeiten installieren
+
+#### ⚡ Mit UV
+
+```bash
+uv pip install .
+```
+
+#### 📦 Oder mit Standard-Pip
+
+```bash
+pip install .
+```
+
+### 3. Führen Sie die Anwendung aus
+
+```bash
+python -m ytsage.main
+```
+
+
+
+
+## 📸 Screenshots
+
+
+
+
+
+
+
+
+
Download-Einstellungen
+
Playlist-Download
+
+
+
+
+
+
+
Audioformat
+
Benutzerdefinierte Optionen
+
+
+
+
+## 📖 Verwendung
+
+
+🎯 Grundlegende Verwendung
+
+1. **YTSage starten**
+2. **YouTube-URL einfügen** (oder verwenden Sie die Schaltfläche „URL einfügen“)
+3. **Klicken Sie auf „Analysieren“**
+4. **Format auswählen:**
+ - `Video` für Video-Downloads
+ - `Audio Only` zur Audioextraktion
+5. **Optionen wählen:**
+ - Untertitel aktivieren und Sprache auswählen
+ - Untertitelzusammenführung aktivieren
+ - Miniaturansicht speichern
+ - Entfernen Sie Sponsorsegmente
+ - Beschreibung speichern
+ - Kapitel einbetten
+6. **Ausgabeverzeichnis auswählen**
+7. **Klicken Sie auf „Herunterladen“**
+
+> 💡 Das Standard-Download-Verzeichnis ist der Ordner „Downloads“ des Benutzers.
+
+
+
+
+📋 Playlist-Download
+
+1. **Playlist-URL einfügen**
+2. **Klicken Sie auf „Analysieren“**
+3. **Wählen Sie Videos aus der Playlist-Auswahl aus (optional, standardmäßig alle)**
+4. **Wählen Sie das gewünschte Format/die gewünschte Qualität**
+5. **Klicken Sie auf „Herunterladen“**
+
+> 💡 Die Anwendung verwaltet die Download-Warteschlange automatisch
+
+
+
+
+🌍 Allgemeiner Modus für Nicht-YouTube-Websites
+
+Verwenden Sie den generischen Modus, wenn Sie möchten, dass YTSage URLs von Websites akzeptiert, die von yt-dlp unterstützt werden, wie z. B. Dailymotion, CBC Gem, TikTok und andere.
+
+So verwenden Sie es:
+
+1. Öffnen Sie `Download Settings`.
+2. Aktivieren Sie `Generic Mode`.
+3. Fügen Sie eine unterstützte Nicht-YouTube-Video- oder Playlist-URL ein.
+4. Klicken Sie auf `Analyze`.
+5. Wählen Sie ein Format und laden Sie es wie gewohnt herunter.
+
+Hinweise:
+
+- Der generische Modus ändert nur die URL-Validierung innerhalb von YTSage. Die Zielsite muss weiterhin von Ihrer installierten yt-dlp-Version unterstützt werden.
+- Einige Websites erfordern je nach Extraktor Cookies, eine Anmeldesitzung, einen Proxy oder zusätzliche YT-DLP-Argumente.
+- Wenn eine Site ausfällt, aktualisieren Sie yt-dlp zunächst über die Registerkarte des integrierten Updaters, bevor Sie das Problem melden.
+
+
+
+
+🧰 Medien- und Download-Optionen
+
+- **Untertiteloptionen:** Sprachen filtern und Untertitel in die Videodatei einbetten
+- **Untertitel zusammenführen:** Untertitel für fest codierte Untertitel in die Videodatei einbinden
+- **Beschreibung speichern:** Speichern Sie die Videobeschreibung als Textdatei
+- **Miniaturansicht speichern:** Speichern Sie die Miniaturansicht des Videos als Bilddatei
+- **Kapitel einbetten:** Betten Sie Kapitelmarkierungen als Metadaten für kompatible Videoplayer ein
+- **Sponsorensegmente entfernen:** Entfernen Sie Sponsorsegmente aus dem Video mit SponsorBlock
+- **Video zuschneiden:** Laden Sie nur bestimmte Teile eines Videos herunter, indem Sie Zeitbereiche im Format `HH:MM:SS` angeben
+
+
+
+
+⚙️ Ausgabe- und Dateieinstellungen
+
+- **Geschwindigkeitsbegrenzer:** Begrenzen Sie die Download-Geschwindigkeit, zum Beispiel `500K` auf 500 KB/s
+- **Download-Pfad speichern:** Speichern Sie den Standard-Download-Pfad für zukünftige Downloads. Verfügbar unter **Download-Einstellungen → Download-Pfad**.
+- **Format des Ausgabedateinamens:** Passen Sie das Format des Ausgabedateinamens mithilfe von Variablen wie `%(title)s`, `%(uploader)s` und `%(resolution)s` an. Verfügbar unter **Download-Einstellungen → Dateinamenformat**.
+- **Ausgabeformat erzwingen:** Video-Downloads in ein bestimmtes Containerformat wie `mp4`, `webm` oder `mkv` erzwingen. Verfügbar unter **Download-Einstellungen → Ausgabeformat-Einstellungen**.
+- **Audioformatkonvertierung:** Konvertieren Sie reine Audio-Downloads in bevorzugte Formate wie `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` oder `Best`. Verfügbar unter **Download-Einstellungen → Audioformat-Einstellungen**.
+- **Audio-Normalisierung:** Standardisieren Sie die Lautstärke für reine Audio-Downloads mit EBU R128.
+
+
+
+
+🌐 Zugang und Netzwerk
+
+- **Mit Cookies anmelden:** Melden Sie sich mit Cookies bei YouTube an, um auf private Inhalte zuzugreifen.
+ So verwenden Sie es:
+ 1. **Empfohlen:** Verwenden Sie die integrierte Option „Extract cookies from browser“ in der App und wählen Sie dann Ihren Browser und optional ein Profil aus.
+ 2. Alternativ können Sie Cookies auch manuell extrahieren:
+ a. Exportieren Sie Cookies aus Ihrem Browser mit einer Erweiterung wie [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
+ b. Kopieren Sie die Cookies im Netscape-Format
+ c. Erstellen Sie eine Datei mit dem Namen `cookies.txt` und fügen Sie die Cookies darin ein
+ d. Wählen Sie in der App die Datei „cookies.txt“ aus
+- **Proxy-Unterstützung:** Verwenden Sie einen Proxy-Server für Downloads, zum Beispiel `http://:`
+- **Generischer Modus:** Ermöglicht YTSage die Analyse und den Download von Nicht-YouTube-Websites, die von yt-dlp unterstützt werden. Aktivieren Sie es über **Download-Einstellungen → Allgemeiner Modus**.
+
+
+
+
+🛠️ Werkzeuge und Wartung
+
+- **Benutzerdefinierte Befehle:** Greifen Sie über Befehlszeilenargumente auf erweiterte yt-dlp-Funktionen zu
+- **Registerkarte „Updater“:** Integrierte Update-Tools von einem Ort aus in den benutzerdefinierten Optionen verwalten:
+ - **yt-dlp-Updates:** Suchen Sie nach Updates und wechseln Sie zwischen den Veröffentlichungskanälen Stable und Nightly
+ - **FFmpeg-Versionsprüfer:** Überprüfen Sie Ihre FFmpeg-Version und öffnen Sie die Installationsanleitungen
+ - **Deno-Updates:** Überprüfen und aktualisieren Sie die Deno-Laufzeitumgebung
+- **FFmpeg/yt-dlp/Deno-Erkennung:** Erkennt automatisch FFmpeg-, yt-dlp- und Deno-Pfade und -Versionen im Info-Dialog.
+- **Download-Verlauf:** Zeigen Sie frühere Downloads mit Miniaturansichten und Status über die Schaltfläche **Verlauf** an.
+
+
+
+
+🌍 Lokalisierung
+
+YTSage unterstützt **14 Sprachen** für weltweite Zugänglichkeit. Wählen Sie Ihre bevorzugte Sprache unter **Benutzerdefinierte Optionen → Sprache** aus.
+
+### Unterstützte Sprachen
+
+| Sprache | Code | Sprache | Code |
+|----------|------|----------|------|
+| 🇺🇸 Englisch | `en` | 🇪🇸 Spanisch | `es` |
+| 🇸🇦 Arabisch | `ar` | 🇫🇷 Französisch | `fr` |
+| 🇩🇪 Deutsch | `de` | 🇮🇳 Hindi | `hi` |
+| 🇮🇩 Indonesisch | `id` | 🇮🇹 Italienisch | `it` |
+| 🇯🇵 Japanisch | `ja` | 🇵🇱 Polnisch | `pl` |
+| 🇧🇷 Portugiesisch | `pt` | 🇷🇺 Russisch | `ru` |
+| 🇹🇷 Türkisch | `tr` | 🇨🇳 Chinesisch | `zh` |
+
+### README-Übersetzungen
+
+| Sprache | Datei | Sprache | Datei |
+|----------|------|----------|------|
+| 🇺🇸 Englisch | [README.md](../README.md) | 🇪🇸 Spanisch | [README.es.md](README.es.md)
+| 🇸🇦 Arabisch | [README.ar.md](README.ar.md) | 🇫🇷 Französisch | [README.fr.md](README.fr.md) |
+| 🇩🇪 Deutsch | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) |
+| 🇮🇩 Indonesisch | [README.id.md](README.id.md) | 🇮🇹 Italienisch | [README.it.md](README.it.md) |
+| 🇯🇵 Japanisch | [README.ja.md](README.ja.md) | 🇵🇱 Polnisch | [README.pl.md](README.pl.md) |
+| 🇧🇷 Portugiesisch | [README.pt.md](README.pt.md) | 🇷🇺 Russisch | [README.ru.md](README.ru.md) |
+| 🇹🇷 Türkisch | [README.tr.md](README.tr.md) | 🇨🇳 Chinesisch | [README.zh.md](README.zh.md) |
+
+> 💡 **Möchten Sie eine Übersetzung beisteuern?** Schauen Sie sich den Abschnitt [Contributing](#contributing) an, um uns beim Hinzufügen weiterer Sprachen zu helfen!
+
+
+
+
+## 🛠️ Fehlerbehebung
+
+
+Klicken Sie hier, um häufige Probleme und Lösungen anzuzeigen
+
+- **Formattabelle wird nicht angezeigt:** Aktualisieren Sie yt-dlp auf die neueste Version und wechseln Sie jede Nacht zu yt-dlp.
+- **Download schlägt fehl:** Überprüfen Sie Ihre Internetverbindung und stellen Sie sicher, dass das Video verfügbar ist.
+- **Spezifische Downloadfehler:**
+ - **Private Videos:** Verwenden Sie die Cookie-Authentifizierung, um auf private Inhalte zuzugreifen.
+ - **Inhalte mit Altersbeschränkung:** Melden Sie sich bei Ihrem YouTube-Konto an, um Videos mit Altersbeschränkung anzusehen.
+ - **Geoblockierte Videos:** Erwägen Sie die Verwendung eines VPN, um regionale Beschränkungen zu umgehen.
+ - **Entfernte/gelöschte Videos:** Das Video ist nicht mehr auf YouTube verfügbar.
+ - **Live-Streams:** Live-Streams können nicht heruntergeladen werden; Warten Sie, bis der Stream beendet ist.
+ - **Netzwerkfehler:** Überprüfen Sie Ihre Internetverbindung und versuchen Sie es erneut.
+ - **Ungültige URLs:** Stellen Sie sicher, dass die URL korrekt ist und von einer unterstützten Plattform stammt.
+ - **Premium-Inhalte:** Erfordert eine YouTube Premium-Mitgliedschaft.
+ - **Urheberrechtliche Sperren:** Der Inhalt ist aufgrund von Urheberrechtsbeschränkungen gesperrt.
+- **Video- und Audiodateien nach dem Download trennen:** Dies passiert, wenn FFmpeg fehlt oder nicht erkannt wird. YTSage benötigt FFmpeg, um hochwertige Video- und Audiostreams zusammenzuführen.
+ - **Lösung:** Stellen Sie sicher, dass FFmpeg im PATH Ihres Systems installiert und zugänglich ist. Für Windows-Benutzer ist es am einfachsten, die Datei „YTSage-v-ffmpeg.exe“ herunterzuladen, die im Lieferumfang von FFmpeg enthalten ist.
+
+---
+
+#### 🛡️ Windows Defender/Antivirus-Warnung
+
+Einige Antivirenprogramme kennzeichnen die „.exe“-Dateien möglicherweise als falsch positive Ergebnisse. Dies ist eine **bekannte Einschränkung** von Paketanwendungen.
+
+**Warum das passiert:**
+– Antivirus-Heuristiken können gepackte ausführbare Dateien fälschlicherweise als verdächtig identifizieren
+
+**Sichere Alternativen:**
+- ✅ **Pip-Installation verwenden:** `pip install ytsage` (empfohlen)
+- ✅ **Aus dem Quellcode erstellen**: Folgen Sie diesem [guide](../.github/CI_CD_README.md)
+- ✅ **Setzen Sie die Anwendung in Ihre Antivirensoftware auf die Whitelist
+
+#### 🍎 macOS: „App ist beschädigt und kann nicht geöffnet werden“
+Wenn dieser Fehler unter macOS Sonoma oder neuer auftritt, müssen Sie das Quarantäneattribut entfernen.
+
+1. **Öffnen Sie das Terminal** (Sie können es mit Spotlight finden).
+2. **Geben Sie den folgenden Befehl ein**, drücken Sie aber noch nicht die Eingabetaste. Achten Sie darauf, das Leerzeichen am Ende einzufügen:
+ ```bash
+ xattr -d com.apple.quarantine
+ ```
+3. **Ziehen Sie die Datei „YTSage.app“ aus Ihrem Finder-Fenster und legen Sie sie direkt im Terminalfenster ab. Dadurch wird automatisch der richtige Dateipfad eingefügt.
+4. **Drücken Sie die Eingabetaste**, um den Befehl auszuführen.
+5. **Versuchen Sie erneut, YTSage.app zu öffnen.** Es sollte jetzt korrekt starten.
+
+---
+
+#### **Konfigurationsorte (Erweitert)**
+- **Windows:** `%LOCALAPPDATA%\YTSage`
+- **macOS:** `~/Library/Application Support/YTSage`
+- **Linux:** `~/.local/share/YTSage`
+
+
+
+
+## 💖 Sponsor
+
+Wenn Sie mit YTSage Zeit sparen, sollten Sie das Projekt sponsern. Durch Sponsoring können Entwicklungszeit, plattformübergreifende Tests und zukünftige Verbesserungen abgedeckt werden.
+
+- GitHub-Sponsoren: https://github.com/sponsors/oop7
+- Der Sponsor-Link ist auch direkt in der App im Info-Dialog verfügbar.
+
+[](https://github.com/sponsors/oop7)
+
+
+## 👥 Mitwirken
+
+Wir freuen uns über Beiträge! So können Sie helfen:
+
+1. 🍴 Forken Sie das Repository
+2. 🌿 Erstellen Sie Ihren Feature-Branch:
+ ```bash
+ git checkout -b feature/AmazingFeature
+ ```
+3. 💾 Übernehmen Sie Ihre Änderungen:
+ ```bash
+ git commit -m 'Add some AmazingFeature'
+ ```
+4. 📤 Zur Filiale schieben:
+ ```bash
+ git push origin feature/AmazingFeature
+ ```
+5. 🔄 Öffnen Sie eine Pull-Anfrage
+
+### 🌍 Mitwirkende Übersetzungen
+
+- Aktualisieren Sie die passende lokalisierte README-Datei (zum Beispiel `README.es.md`)
+- Halten Sie App-Strings synchron, indem Sie `ytsage/languages/.json` bearbeiten
+- Wenn Ihre Sprache fehlt, beginnen Sie mit `README.md` und erstellen Sie `README..md`
+
+
+📂 Projektstruktur
+
+## YTSage – Projektstruktur
+
+Dieses Dokument beschreibt die organisierte Ordnerstruktur von YTSage.
+
+### 📁 Projektstruktur
+
+```
+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
+```
+
+
+
+## ⭐️ Sterngeschichte
+
+
+
+## 📜 Lizenz
+
+Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei „LICENSE“.
+
+## 🙏 Danksagungen
+
+
+Danksagungen anzeigen
+
+
+
+
Ein herzliches Dankeschön an alle, die zu diesem Projekt beigetragen haben, indem sie ein Problem geöffnet haben, um eine Verbesserung vorzuschlagen oder einen Fehler zu melden.
+
+
+
+## ⚠️ Haftungsausschluss
+
+Dieses Tool ist nur für den persönlichen Gebrauch bestimmt. Bitte respektieren Sie die Nutzungsbedingungen und die Rechte der Inhaltsersteller von YouTube.
+
+---
+
+
+
+Hergestellt mit ❤️ von [oop7](https://github.com/oop7)
+
+
diff --git a/readme-translations/README.es.md b/readme-translations/README.es.md
new file mode 100644
index 0000000..aa47714
--- /dev/null
+++ b/readme-translations/README.es.md
@@ -0,0 +1,618 @@
+
+
+---
+
+
+## ❓ ¿Por qué YTSage?
+
+YTSage está diseñado para usuarios que desean un **descargador de YouTube simple pero potente**. A diferencia de otras herramientas, ofrece:
+
+- Una interfaz PySide6 limpia y moderna
+- Descargas con un solo clic de vídeo, audio y subtítulos.
+- Funciones avanzadas como SponsorBlock, combinación de subtítulos y selección de listas de reproducción
+- Modo genérico opcional para sitios compatibles con yt-dlp más allá de YouTube
+- Soporte multiplataforma y fácil instalación.
+
+
+## ✨ Características
+
+
+
+| Características principales | Funciones avanzadas | Funciones adicionales |
+|-----------------------------------|-----------------------------------------|------------------------------------|
+| 🎥 Tabla de formato | 🚫 Integración de SponsorBlock | 🎞️ Pantalla FPS/HDR |
+| 🎵 Extracción de audio | 📝 Seleccionar y fusionar múltiples subtítulos | 🔄 Actualización automática yt-dlp |
+| ✨ Interfaz de usuario sencilla | 💾 Guardar descripción y miniatura | 🛠️ FFmpeg/yt-dlp/Detección de Deno |
+| 📋 Soporte y selector de listas de reproducción | 🚀 Limitador de velocidad | ⚙️ Comandos personalizados |
+| 📑 Insertar capítulos | ✂️ Recortar secciones de video | 🍪 Iniciar sesión con cookies |
+| 📜 Historial de descargas | 🔄 Selección de canal de lanzamiento | 🌐 Soporte de proxy |
+| 🎚️ Conversión de formato de audio | 🎬 Configuración de formato de vídeo | 🆙 Pestaña de actualización incorporada |
+| 🌍 Modo Genérico | 🔊 Normalización de audio (EBU R128) | 🌍 Localización en 14 idiomas |
+
+
+
+## 🚀 Instalación
+
+### ⚡ Instalación rápida (recomendado)
+
+Instale YTSage desde PyPI:
+
+```bash
+pip install ytsage
+```
+
+
+🔄 Actualizar una instalación existente
+
+```bash
+pip install --upgrade ytsage
+```
+
+
+
+Luego inicie la aplicación:
+
+```bash
+ytsage
+```
+
+### 📦 Ejecutables prediseñados
+
+> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
+
+#### 🪟Ventanas
+
+| Formato | Descripción |
+|--------|-------------|
+|  | Instalador estándar |
+|  | Con FFmpeg incluido |
+|  | Versión portátil, no requiere instalación |
+|  | Portátil con FFmpeg, con cremallera |
+
+
+🛠️ Pasos de instalación
+
+1. **Instalador EXE (`.exe`)**: haga doble clic en el archivo y siga el asistente de configuración.
+2. **Versión portátil (`.zip`)**: extraiga el archivo a la ubicación deseada y ejecute `ytsage.exe`.
+3. **FFmpeg incluido**: elija las versiones incluidas de FFmpeg si no tiene FFmpeg instalado en su sistema.
+
+
+#### 🐧Linux
+
+| Formato | Descripción |
+|--------|-------------|
+|  | Paquete Debian |
+|  | AppImage, portátil |
+|  | Paquete RPM |
+|  | Paquete plano |
+
+
+🛠️ Pasos de instalación
+
+- **DEB (`.deb`)**:
+ ```bash
+ sudo dpkg -i ytsage_*.deb
+ sudo apt-get install -f # Fix missing dependencies if any
+ ```
+- **RPM (`.rpm`)**:
+ ```bash
+ sudo rpm -i ytsage-*.rpm
+ ```
+- **Imagen de aplicación (`.AppImage`)**:
+ ```bash
+ chmod +x YTSage-*.AppImage
+ ./YTSage-*.AppImage
+ ```
+- **Flatpak**: siga las instrucciones en Flathub o ejecute:
+ ```bash
+ flatpak install flathub io.github.oop7.ytsage
+ ```
+
+
+#### 🍎macOS
+
+| Formato | Descripción |
+|--------|-------------|
+|  | Aplicación comprimida para Apple Silicon |
+|  | Instalador de imágenes de disco para Apple Silicon |
+
+
+🛠️ Pasos de instalación
+
+- **Instalador de DMG (`.dmg`)**: haga doble clic para montar, luego arrastre `YTSage.app` a su carpeta de Aplicaciones.
+- **Archivo de aplicaciones (`.zip`)**: extrae el zip y mueve `YTSage.app` a tu carpeta de Aplicaciones.
+
+*Nota: Si encuentra el error "La aplicación está dañada", consulte el [macOS troubleshooting section](#troubleshooting) a continuación.*
+
+
+---
+
+
+💻 Instalación manual desde la fuente
+
+### 1. Clonar el repositorio
+
+```bash
+git clone https://github.com/oop7/YTSage.git
+cd YTSage
+```
+
+### 2. Instalar dependencias
+
+#### ⚡ Con ultravioleta
+
+```bash
+uv pip install .
+```
+
+#### 📦 O con pip estándar
+
+```bash
+pip install .
+```
+
+### 3. Ejecute la aplicación
+
+```bash
+python -m ytsage.main
+```
+
+
+
+
+## 📸 Capturas de pantalla
+
+
+
+
+
+
+
+
+
Configuración de descarga
+
Descargar lista de reproducción
+
+
+
+
+
+
+
Formato de audio
+
Opciones personalizadas
+
+
+
+
+## 📖 Uso
+
+
+🎯 Uso básico
+
+1. **Inicie YTSage**
+2. **Pegue la URL de YouTube** (o use el botón "Pegar URL")
+3. **Haga clic en "Analizar"**
+4. **Seleccione formato:**
+ - `Video` para descargas de videos
+ - `Audio Only` para extracción de audio
+5. **Elija Opciones:**
+ - Habilitar subtítulos y seleccionar idioma.
+ - Habilitar la combinación de subtítulos
+ - Guardar miniatura
+ - Eliminar segmentos de patrocinadores
+ - Guardar descripción
+ - Insertar capítulos
+6. **Seleccione el directorio de salida**
+7. **Haga clic en "Descargar"**
+
+> 💡 El directorio de descarga predeterminado es la carpeta "Descargas" del usuario.
+
+
+
+
+📋 Descarga de lista de reproducción
+
+1. **Pegar URL de la lista de reproducción**
+2. **Haga clic en "Analizar"**
+3. **Seleccione videos del selector de lista de reproducción (opcional, el valor predeterminado es todos)**
+4. **Elija el formato/calidad deseado**
+5. **Haga clic en "Descargar"**
+
+> 💡 La aplicación maneja automáticamente la cola de descarga
+
+
+
+
+🌍 Modo genérico para sitios que no son de YouTube
+
+Utilice el modo genérico cuando desee que YTSage acepte URL de sitios compatibles con yt-dlp, como Dailymotion, CBC Gem, TikTok y otros.
+
+Cómo usarlo:
+
+1. Abra `Download Settings`.
+2. Habilite `Generic Mode`.
+3. Pegue una URL de lista de reproducción o video compatible que no sea de YouTube.
+4. Haga clic en `Analyze`.
+5. Elija un formato y descárguelo como de costumbre.
+
+Notas:
+
+- El modo genérico solo cambia la validación de URL dentro de YTSage. El sitio de destino aún debe ser compatible con la versión de yt-dlp instalada.
+- Algunos sitios requieren cookies, una sesión de inicio de sesión, un proxy o argumentos yt-dlp adicionales según el extractor.
+- Si un sitio falla, actualice primero yt-dlp desde la pestaña de actualización integrada antes de informar el problema.
+
+
+
+
+🧰 Opciones de descarga y medios
+
+- **Opciones de subtítulos:** Filtrar idiomas e incrustar subtítulos en el archivo de video
+- **Combinación de subtítulos:** Combina subtítulos en el archivo de video para obtener subtítulos codificados
+- **Guardar descripción:** Guarde la descripción del video como un archivo de texto.
+- **Guardar miniatura:** Guarda la miniatura del vídeo como un archivo de imagen.
+- **Incrustar capítulos:** Incrustar marcadores de capítulos como metadatos para reproductores de video compatibles
+- **Eliminar segmentos de patrocinador:** Elimina segmentos de patrocinador del video usando SponsorBlock
+- **Recortar video:** Descargue solo partes específicas de un video especificando rangos de tiempo en formato `HH:MM:SS`
+
+
+
+
+⚙️ Configuración de archivos y salida
+
+- **Limitador de velocidad:** Limita la velocidad de descarga, por ejemplo `500K` a 500 KB/s
+- **Guardar ruta de descarga:** Guarde la ruta de descarga predeterminada para futuras descargas. Disponible en **Configuración de descarga → Ruta de descarga**.
+- **Formato de nombre de archivo de salida:** Personalice el formato de nombre de archivo de salida usando variables como `%(title)s`, `%(uploader)s` y `%(resolution)s`. Disponible en **Configuración de descarga → Formato de nombre de archivo**.
+- **Forzar formato de salida:** Fuerza las descargas de videos en un formato contenedor específico como `mp4`, `webm` o `mkv`. Disponible en **Configuración de descarga → Configuración de formato de salida**.
+- **Conversión de formato de audio:** Convierta descargas de solo audio a formatos preferidos como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` o `Best`. Disponible en **Configuración de descarga → Configuración de formato de audio**.
+- **Normalización de audio:** Estandarice el volumen para descargas de solo audio usando EBU R128.
+
+
+
+
+🌐 Acceso y Red
+
+- **Iniciar sesión con cookies:** Inicie sesión en YouTube utilizando cookies para acceder a contenido privado.
+ Cómo usarlo:
+ 1. **Recomendado:** Utilice la opción `Extract cookies from browser` incorporada en la aplicación, luego seleccione su navegador y, opcionalmente, un perfil.
+ 2. Alternativamente, extraiga las cookies manualmente:
+ un. Exporte cookies desde su navegador usando una extensión como [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
+ B. Copiar las cookies en formato Netscape
+ c. Cree un archivo llamado `cookies.txt` y pegue las cookies en él
+ d. Seleccione el archivo `cookies.txt` en la aplicación
+- **Soporte de proxy:** Utilice un servidor proxy para descargas, por ejemplo `http://:`
+- **Modo genérico:** Permita que YTSage analice y descargue desde sitios que no sean de YouTube compatibles con yt-dlp. Habilítelo desde **Configuración de descarga → Modo genérico**.
+
+
+
+
+🛠️ Herramientas y Mantenimiento
+
+- **Comandos personalizados:** Acceda a funciones avanzadas de yt-dlp a través de argumentos de línea de comando
+- **Pestaña Actualizador:** Administre las herramientas de actualización integradas desde un solo lugar en Opciones personalizadas:
+ - **Actualizaciones de yt-dlp:** Busque actualizaciones y cambie entre los canales de lanzamiento estable y nocturno
+ - **Comprobador de versiones de FFmpeg:** Verifique su versión de FFmpeg y abra las guías de instalación
+ - **Actualizaciones de Deno:** Verifique y actualice el tiempo de ejecución de Deno
+- **Detección de FFmpeg/yt-dlp/Deno:** Detecta automáticamente las rutas y versiones de FFmpeg, yt-dlp y Deno desde el cuadro de diálogo Acerca de.
+- **Historial de descargas:** Vea descargas anteriores con miniaturas y estados desde el botón **Historial**.
+
+
+
+
+🌍 Localización
+
+YTSage admite **14 idiomas** para accesibilidad mundial. Seleccione su idioma preferido en **Opciones personalizadas → Idioma**.
+
+### Idiomas admitidos
+
+| Idioma | Código | Idioma | Código |
+|----------|------|----------|------|
+| 🇺🇸 Inglés | `en` | 🇪🇸 Español | `es` |
+| 🇸🇦 Árabe | `ar` | 🇫🇷 Francés | `fr` |
+| 🇩🇪 Alemán | `de` | 🇮🇳 hindi | `hi` |
+| 🇮🇩 Indonesio | `id` | 🇮🇹 Italiano | `it` |
+| 🇯🇵 Japonés | `ja` | 🇵🇱 Polaco | `pl` |
+| 🇧🇷 Portugués | `pt` | 🇷🇺 Ruso | `ru` |
+| 🇹🇷 Turco | `tr` | 🇨🇳 Chino | `zh` |
+
+### Léame Traducciones
+
+| Idioma | Archivo | Idioma | Archivo |
+|----------|------|----------|------|
+| 🇺🇸 Inglés | [README.md](../README.md) | 🇪🇸 Español | [README.es.md](README.es.md)
+| 🇸🇦 Árabe | [README.ar.md](README.ar.md) | 🇫🇷 Francés | [README.fr.md](README.fr.md) |
+| 🇩🇪 Alemán | [README.de.md](README.de.md) | 🇮🇳 hindi | [README.hi.md](README.hi.md) |
+| 🇮🇩 Indonesio | [README.id.md](README.id.md) | 🇮🇹 Italiano | [README.it.md](README.it.md) |
+| 🇯🇵 Japonés | [README.ja.md](README.ja.md) | 🇵🇱 Polaco | [README.pl.md](README.pl.md) |
+| 🇧🇷 Portugués | [README.pt.md](README.pt.md) | 🇷🇺 Ruso | [README.ru.md](README.ru.md) |
+| 🇹🇷 Turco | [README.tr.md](README.tr.md) | 🇨🇳 Chino | [README.zh.md](README.zh.md) |
+
+> 💡 **¿Quieres contribuir con una traducción?** ¡Consulta la sección [Contributing](#contributing) para ayudarnos a agregar más idiomas!
+
+
+
+
+## 🛠️ Solución de problemas
+
+
+Haga clic para ver problemas y soluciones comunes
+
+- **La tabla de formato no se muestra:** Actualice yt-dlp a la última versión y cambie a yt-dlp todas las noches.
+- **La descarga falla:** Verifique su conexión a Internet y asegúrese de que el video esté disponible.
+- **Errores de descarga específicos:**
+ - **Vídeos privados:** Utilice la autenticación de cookies para acceder a contenido privado.
+ - **Contenido restringido por edad:** Inicie sesión en su cuenta de YouTube para ver videos restringidos por edad.
+ - **Videos bloqueados geográficamente:** Considere usar una VPN para evitar las restricciones regionales.
+ - **Videos eliminados/eliminados:** El video ya no está disponible en YouTube.
+ - **Transmisiones en vivo:** Las transmisiones en vivo no se pueden descargar; espera a que termine la transmisión.
+ - **Errores de red:** Verifica tu conexión a Internet y vuelve a intentarlo.
+ - **URL no válidas:** Asegúrese de que la URL sea correcta y provenga de una plataforma compatible.
+ - **Contenido premium:** Requiere membresía de YouTube Premium.
+ - **Bloqueos de derechos de autor:** El contenido está bloqueado debido a restricciones de derechos de autor.
+- **Separar archivos de video y audio después de la descarga:** Esto sucede cuando falta FFmpeg o no se detecta. YTSage requiere FFmpeg para fusionar transmisiones de audio y video de alta calidad.
+ - **Solución:** Asegúrese de que FFmpeg esté instalado y sea accesible en la RUTA de su sistema. Para los usuarios de Windows, la opción más sencilla es descargar el archivo `YTSage-v-ffmpeg.exe`, que viene incluido con FFmpeg.
+
+---
+
+#### 🛡️ Advertencia de Windows Defender/Antivirus
+
+Algunos programas antivirus pueden marcar los archivos `.exe` como falsos positivos. Esta es una **limitación conocida** de las aplicaciones empaquetadas.
+
+**Por qué sucede esto:**
+- La heurística antivirus puede identificar erróneamente ejecutables empaquetados como sospechosos.
+
+**Alternativas seguras:**
+- ✅ **Usar instalación de pip:** `pip install ytsage` (recomendado)
+- ✅ **Construir desde la fuente**: siguiendo esto [guide](../.github/CI_CD_README.md)
+- ✅ **Incluye la aplicación en la lista blanca** en tu software antivirus
+
+#### 🍎 macOS: "La aplicación está dañada y no se puede abrir"
+Si ve este error en macOS Sonoma o posterior, debe eliminar el atributo de cuarentena.
+
+1. **Abrir Terminal** (puedes encontrarlo usando Spotlight).
+2. **Escriba el siguiente comando** pero **no** presione Entrar todavía. Asegúrate de incluir el espacio al final:
+ ```bash
+ xattr -d com.apple.quarantine
+ ```
+3. **Arrastre el archivo `YTSage.app`** desde la ventana de su Finder y suéltelo directamente en la ventana de Terminal. Esto pegará automáticamente la ruta del archivo correcta.
+4. **Presione Entrar** para ejecutar el comando.
+5. **Intenta abrir YTSage.app nuevamente.** Ahora debería iniciarse correctamente.
+
+---
+
+#### **Ubicaciones de configuración (avanzada)**
+- **Windows:** `%LOCALAPPDATA%\YTSage`
+- **macOS:** `~/Library/Application Support/YTSage`
+- **Linux:** `~/.local/share/YTSage`
+
+
+
+
+## 💖 Patrocinador
+
+Si YTSage le ahorra tiempo, considere patrocinar el proyecto. El patrocinio ayuda a cubrir el tiempo de desarrollo, las pruebas en todas las plataformas y las mejoras futuras.
+
+- Patrocinadores de GitHub: https://github.com/sponsors/oop7
+- El enlace del patrocinador también está disponible directamente dentro de la aplicación desde el cuadro de diálogo Acerca de.
+
+[](https://github.com/sponsors/oop7)
+
+
+## 👥 Contribuyendo
+
+¡Agradecemos las contribuciones! Así es como puedes ayudar:
+
+1. 🍴 Bifurca el repositorio
+2. 🌿 Crea tu rama de funciones:
+ ```bash
+ git checkout -b feature/AmazingFeature
+ ```
+3. 💾 Confirme sus cambios:
+ ```bash
+ git commit -m 'Add some AmazingFeature'
+ ```
+4. 📤 Empuje a la sucursal:
+ ```bash
+ git push origin feature/AmazingFeature
+ ```
+5. 🔄 Abra una solicitud de extracción
+
+### 🌍 Contribuyendo con traducciones
+
+- Actualice el archivo README localizado coincidente (por ejemplo `README.es.md`)
+- Mantenga las cadenas de aplicaciones sincronizadas editando `ytsage/languages/.json`
+- Si falta su idioma, comience desde `README.md` y cree `README..md`
+
+
+📂 Estructura del proyecto
+
+## YTSage - Estructura del proyecto
+
+Este documento describe la estructura de carpetas organizada de YTSage.
+
+### 📁 Estructura del proyecto
+
+```
+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
+```
+
+
+
+## ⭐️ Historia de las estrellas
+
+
+
+
+
+## ⚠️ Descargo de responsabilidad
+
+Esta herramienta es sólo para uso personal. Respete los términos de servicio de YouTube y los derechos de los creadores de contenido.
+
+---
+
+
+
+Hecho con ❤️ por [oop7](https://github.com/oop7)
+
+
diff --git a/readme-translations/README.fr.md b/readme-translations/README.fr.md
new file mode 100644
index 0000000..67829dc
--- /dev/null
+++ b/readme-translations/README.fr.md
@@ -0,0 +1,618 @@
+
+
+
+
+
+[](https://www.python.org/downloads/)
+[](https://pepy.tech/project/ytsage)
+[](https://github.com/oop7/YTSage/releases)
+[](https://opensource.org/licenses/MIT)
+[](https://github.com/oop7/YTSage/releases)
+[](https://github.com/oop7/YTSage/stargazers)
+[](https://pypi.org/project/ytsage/)
+[](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.
+
+### 🌍 Langues 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)
+
+
+
+---
+
+
+## ❓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 :
+
+- Une interface PySide6 propre et moderne
+- 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
+
+
+## ✨ Caractéristiques
+
+
+
+| 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é |
+| 🌍 Mode générique | 🔊 Normalisation audio (EBU R128) | 🌍 Localisation en 14 langues |
+
+
+
+## 🚀Installation
+
+### ⚡ Installation rapide (recommandé)
+
+Installez YTSage depuis PyPI :
+
+```bash
+pip install ytsage
+```
+
+
+🔄 Mettre à jour une installation existante
+
+```bash
+pip install --upgrade ytsage
+```
+
+
+
+Lancez ensuite l'application :
+
+```bash
+ytsage
+```
+
+### 📦 Exécutables prédéfinis
+
+> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
+
+#### 🪟Fenêtres
+
+| Formater | Descriptif |
+|--------|-------------|
+|  | Installateur standard |
+|  | Avec FFmpeg fourni |
+|  | 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.
+
+
+#### 🐧Linux
+
+| Formater | Descriptif |
+|--------|-------------|
+|  | Paquet Debian |
+|  | AppImage, portable |
+|  | Paquet RPM |
+|  | Paquet Flatpak |
+
+
+🛠️ Étapes d'installation
+
+- **DEB (`.deb`)** :
+ ```bash
+ sudo dpkg -i ytsage_*.deb
+ sudo apt-get install -f # Fix missing dependencies if any
+ ```
+- **RPM (`.rpm`)** :
+ ```bash
+ sudo rpm -i ytsage-*.rpm
+ ```
+- **AppImage (`.AppImage`)** :
+ ```bash
+ chmod +x YTSage-*.AppImage
+ ./YTSage-*.AppImage
+ ```
+- **Flatpak** : suivez les instructions sur Flathub ou exécutez :
+ ```bash
+ flatpak install flathub io.github.oop7.ytsage
+ ```
+
+
+#### 🍎macOS
+
+| Formater | Descriptif |
+|--------|-------------|
+|  | Application zippée pour Apple Silicon |
+|  | Programme d’installation 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.
+
+*Remarque : si vous rencontrez une erreur « L'application est endommagée », consultez le [macOS troubleshooting section](#troubleshooting) ci-dessous.*
+
+
+---
+
+
+💻 Installation manuelle à partir de la source
+
+### 1. Cloner le référentiel
+
+```bash
+git clone https://github.com/oop7/YTSage.git
+cd YTSage
+```
+
+### 2. Installer les dépendances
+
+#### ⚡Avec uv
+
+```bash
+uv pip install .
+```
+
+#### 📦 Ou avec pip standard
+
+```bash
+pip install .
+```
+
+### 3. Exécutez l'application
+
+```bash
+python -m ytsage.main
+```
+
+
+
+
+## 📸 Captures d'écran
+
+
+
+
+
+
+
+
+
Paramètres de téléchargement
+
Téléchargement de la liste de lecture
+
+
+
+
+
+
+
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
+ - `Audio Only` pour l'extraction audio
+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 description
+ - Intégrer des chapitres
+6. **Sélectionnez le répertoire de sortie**
+7. **Cliquez sur "Télécharger"**
+
+> 💡 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
+
+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"**
+
+> 💡 L'application gère automatiquement la file d'attente de téléchargement
+
+
+
+
+🌍 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.
+
+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.
+4. Cliquez sur `Analyze`.
+5. Choisissez un format et téléchargez comme d'habitude.
+
+Remarques :
+
+- 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.
+- 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.
+
+
+
+
+🧰 Options multimé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`
+
+
+
+
+⚙️ 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.
+
+
+
+
+🌐 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)
+ 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**.
+
+
+
+
+🛠️ Outils et entretien
+
+- **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**.
+
+
+
+
+🌍 Localisation
+
+YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélectionnez votre langue préférée dans **Options personnalisées → Langue**.
+
+### Langues prises en charge
+
+| Langue | Codes | Langue | Codes |
+|--------------|------|--------------|------|
+| 🇺🇸 Anglais | `en` | Espagnol | `es` |
+| 🇸🇦 Arabe | `ar` | 🇫🇷 Français | `fr` |
+| 🇩🇪 Allemand | `de` | 🇮🇳 Hindi | `hi` |
+| 🇮🇩 Indonésien | `id` | 🇮🇹 Italien | `it` |
+| 🇯🇵 Japonais | `ja` | 🇵🇱 Polonais | `pl` |
+| 🇧🇷 Portugais | `pt` | 🇷🇺 Russe | `ru` |
+| 🇹🇷 Turc | `tr` | 🇨🇳 Chinois | `zh` |
+
+### Traductions README
+
+| Langue | Fichier | Langue | Fichier |
+|--------------|------|--------------|------|
+| 🇺🇸 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) |
+| 🇯🇵 Japonais | [README.ja.md](README.ja.md) | 🇵🇱 Polonais | [README.pl.md](README.pl.md) |
+| 🇧🇷 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 !
+
+
+
+
+## 🛠️ Dépannage
+
+
+Cliquez pour afficher 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.
+
+---
+
+#### 🛡️ Avertissement Windows Defender / Antivirus
+
+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
+
+**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
+
+#### 🍎 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.
+
+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.
+
+---
+
+#### **Emplacements de configuration (avancé)**
+- **Windows :** `%LOCALAPPDATA%\YTSage`
+- **macOS :** `~/Library/Application Support/YTSage`
+- **Linux :** `~/.local/share/YTSage`
+
+
+
+
+## 💖 Parrainer
+
+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.
+
+- 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.
+
+[](https://github.com/sponsors/oop7)
+
+
+## 👥 Contribuer
+
+Nous apprécions les contributions ! Voici comment vous pouvez aider :
+
+1. 🍴 Forkez le référentiel
+2. 🌿 Créez votre branche de fonctionnalités :
+ ```bash
+ git checkout -b feature/AmazingFeature
+ ```
+3. 💾 Validez vos modifications :
+ ```bash
+ git commit -m 'Add some AmazingFeature'
+ ```
+4. 📤 Push vers l'agence :
+ ```bash
+ git push origin feature/AmazingFeature
+ ```
+5. 🔄 Ouvrir une Pull Request
+
+### 🌍 Contribuer aux traductions
+
+- Mettez à jour le fichier README localisé correspondant (par exemple `README.es.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`
+
+
+📂 Structure du projet
+
+## YTSage – Structure du projet
+
+Ce document décrit la structure des dossiers organisés 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
+```
+
+
+
+## ⭐️ Histoire des étoiles
+
+
+
+## 📜 Licence
+
+Ce projet est sous licence MIT - voir le fichier [LICENSE](../LICENSE) pour plus de détails.
+
+## 🙏 Remerciements
+
+
+Afficher les remerciements
+
+
+
+
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.
+
+
+
+## ⚠️ Avis 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.
+
+---
+
+
+
+Réalisé avec ❤️ par [oop7](https://github.com/oop7)
+
+
diff --git a/readme-translations/README.hi.md b/readme-translations/README.hi.md
new file mode 100644
index 0000000..faa7d61
--- /dev/null
+++ b/readme-translations/README.hi.md
@@ -0,0 +1,617 @@
+
+
+---
+
+
+## ❓ YTSage क्यों?
+
+YTSage उन उपयोगकर्ताओं के लिए डिज़ाइन किया गया है जो **सरल लेकिन शक्तिशाली YouTube डाउनलोडर** चाहते हैं। अन्य उपकरणों के विपरीत, यह प्रदान करता है:
+
+- एक साफ़, आधुनिक PySide6 इंटरफ़ेस
+- वीडियो, ऑडियो और उपशीर्षक के लिए एक-क्लिक डाउनलोड
+- स्पॉन्सरब्लॉक, उपशीर्षक विलय और प्लेलिस्ट चयन जैसी उन्नत सुविधाएँ
+- YouTube से परे yt-dlp-समर्थित साइटों के लिए वैकल्पिक जेनेरिक मोड
+- क्रॉस-प्लेटफ़ॉर्म समर्थन और आसान स्थापना
+
+
+## ✨ विशेषताएँ
+
+
+
+
+## 🚀 स्थापना
+
+### ⚡ त्वरित इंस्टाल (अनुशंसित)
+
+PyPI से YTSage इंस्टॉल करें:
+
+```bash
+pip install ytsage
+```
+
+
+🔄मौजूदा इंस्टॉलेशन को अपडेट करें
+
+```bash
+pip install --upgrade ytsage
+```
+
+
+
+फिर ऐप लॉन्च करें:
+
+```bash
+ytsage
+```
+
+### 📦 पूर्व-निर्मित निष्पादनयोग्य
+
+> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
+
+#### 🪟 खिड़कियाँ
+
+| प्रारूप | विवरण |
+|-------|----|
+|  | मानक इंस्टॉलर |
+|  | FFmpeg बंडल के साथ |
+|  | पोर्टेबल संस्करण, किसी इंस्टॉलेशन की आवश्यकता नहीं |
+|  | FFmpeg के साथ पोर्टेबल, ज़िपित |
+
+
+🛠️ इंस्टालेशन चरण
+
+1. **EXE इंस्टॉलर (`.exe`)**: फ़ाइल पर डबल-क्लिक करें और सेटअप विज़ार्ड का पालन करें।
+2. **पोर्टेबल संस्करण (`.zip`)**: संग्रह को अपने इच्छित स्थान पर निकालें और `ytsage.exe` चलाएँ।
+3. **एफएफएमपीईजी बंडल**: यदि आपके सिस्टम पर एफएफएमपीईजी स्थापित नहीं है तो एफएफएमपीईजी बंडल संस्करण चुनें।
+
+
+#### 🐧 लिनक्स
+
+| प्रारूप | विवरण |
+|-------|----|
+|  | डेबियन पैकेज |
+|  | ऐपइमेज, पोर्टेबल |
+|  | आरपीएम पैकेज |
+|  | फ़्लैटपैक बंडल |
+
+
+🛠️ इंस्टालेशन चरण
+
+- **DEB (`.deb`)**:
+ ```bash
+ sudo dpkg -i ytsage_*.deb
+ sudo apt-get install -f # Fix missing dependencies if any
+ ```
+- **आरपीएम (`.rpm`)**:
+ ```bash
+ sudo rpm -i ytsage-*.rpm
+ ```
+- **ऐपइमेज (`.AppImage`)**:
+ ```bash
+ chmod +x YTSage-*.AppImage
+ ./YTSage-*.AppImage
+ ```
+- **फ्लैटपैक**: फ़्लैटहब पर निर्देशों का पालन करें या चलाएँ:
+ ```bash
+ flatpak install flathub io.github.oop7.ytsage
+ ```
+
+
+#### 🍎 मैकओएस
+
+| प्रारूप | विवरण |
+|-------|----|
+|  | एप्पल सिलिकॉन के लिए ज़िप्ड एप्लिकेशन |
+|  | एप्पल सिलिकॉन के लिए डिस्क छवि इंस्टॉलर |
+
+
+🛠️ इंस्टालेशन चरण
+
+- **डीएमजी इंस्टॉलर (`.dmg`)**: माउंट करने के लिए डबल-क्लिक करें, फिर `YTSage.app` को अपने एप्लिकेशन फ़ोल्डर में खींचें।
+- **ऐप आर्काइव (`.zip`)**: ज़िप निकालें और `YTSage.app` को अपने एप्लिकेशन फ़ोल्डर में ले जाएं।
+
+*ध्यान दें: यदि आपको "ऐप क्षतिग्रस्त है" त्रुटि आती है, तो नीचे [macOS troubleshooting section](#troubleshooting) देखें।*
+
+
+---
+
+
+💻 स्रोत से मैन्युअल इंस्टालेशन
+
+### 1. रिपॉजिटरी को क्लोन करें
+
+```bash
+git clone https://github.com/oop7/YTSage.git
+cd YTSage
+```
+
+### 2. निर्भरताएँ स्थापित करें
+
+#### ⚡ यूवी के साथ
+
+```bash
+uv pip install .
+```
+
+#### 📦 या मानक पाइप के साथ
+
+```bash
+pip install .
+```
+
+### 3. एप्लिकेशन चलाएँ
+
+```bash
+python -m ytsage.main
+```
+
+
+
+
+## 📸 स्क्रीनशॉट
+
+
+
+
+
+
+
+
+
डाउनलोड सेटिंग्स
+
प्लेलिस्ट डाउनलोड
+
+
+
+
+
+
+
ऑडियो फॉर्मेट
+
कस्टम विकल्प
+
+
+
+
+## 📖 प्रयोग
+
+
+🎯 मूल उपयोग
+
+1. **YTSage लॉन्च करें**
+2. **यूट्यूब यूआरएल चिपकाएँ** (या "यूआरएल चिपकाएँ" बटन का उपयोग करें)
+3. **"विश्लेषण करें" पर क्लिक करें**
+4. **प्रारूप चुनें:**
+ - वीडियो डाउनलोड के लिए `Video`
+ - ऑडियो निष्कर्षण के लिए `Audio Only`
+5. **विकल्प चुनें:**
+ - उपशीर्षक सक्षम करें और भाषा चुनें
+ - उपशीर्षक मर्ज सक्षम करें
+ - थंबनेल सहेजें
+ - प्रायोजक खंड हटाएँ
+ - विवरण सहेजें
+ - अध्याय एम्बेड करें
+6. **आउटपुट डायरेक्टरी चुनें**
+7. **"डाउनलोड" पर क्लिक करें**
+
+> 💡 डिफ़ॉल्ट डाउनलोड निर्देशिका उपयोगकर्ता का "डाउनलोड" फ़ोल्डर है।
+
+
+
+
+📋 प्लेलिस्ट डाउनलोड
+
+1. **प्लेलिस्ट यूआरएल चिपकाएँ**
+2. **"विश्लेषण करें" पर क्लिक करें**
+3. **प्लेलिस्ट चयनकर्ता से वीडियो चुनें (वैकल्पिक, सभी के लिए डिफ़ॉल्ट)**
+4. **वांछित प्रारूप/गुणवत्ता चुनें**
+5. **"डाउनलोड" पर क्लिक करें**
+
+> 💡 एप्लिकेशन स्वचालित रूप से डाउनलोड कतार को संभालता है
+
+
+
+
+🌍 गैर-यूट्यूब साइटों के लिए जेनेरिक मोड
+
+जब आप चाहते हैं कि YTSage, yt-dlp द्वारा समर्थित साइटों, जैसे कि डेलीमोशन, CBC जेम, टिकटॉक और अन्य से यूआरएल स्वीकार करे, तो जेनेरिक मोड का उपयोग करें।
+
+इसका उपयोग कैसे करें:
+
+1. `Download Settings` खोलें।
+2. `Generic Mode` सक्षम करें।
+3. एक समर्थित गैर-यूट्यूब वीडियो या प्लेलिस्ट यूआरएल चिपकाएँ।
+4. `Analyze` पर क्लिक करें।
+5. एक प्रारूप चुनें और हमेशा की तरह डाउनलोड करें।
+
+टिप्पणियाँ:
+
+- जेनेरिक मोड केवल YTSage के अंदर URL सत्यापन को बदलता है। लक्ष्य साइट को अभी भी आपके स्थापित yt-dlp संस्करण द्वारा समर्थित होना चाहिए।
+- कुछ साइटों को एक्सट्रैक्टर के आधार पर कुकीज़, एक लॉगिन सत्र, एक प्रॉक्सी, या अतिरिक्त yt-dlp तर्क की आवश्यकता होती है।
+- यदि कोई साइट विफल हो जाती है, तो समस्या की रिपोर्ट करने से पहले अंतर्निहित अपडेटर टैब से yt-dlp को अपडेट करें।
+
+
+
+
+🧰मीडिया और डाउनलोड विकल्प
+
+- **उपशीर्षक विकल्प:** भाषाओं को फ़िल्टर करें और वीडियो फ़ाइल में उपशीर्षक एम्बेड करें
+- **उपशीर्षक मर्ज:** हार्डकोडेड उपशीर्षक के लिए उपशीर्षक को वीडियो फ़ाइल में मर्ज करें
+- **विवरण सहेजें:** वीडियो विवरण को टेक्स्ट फ़ाइल के रूप में सहेजें
+- **थंबनेल सहेजें:** वीडियो थंबनेल को एक छवि फ़ाइल के रूप में सहेजें
+- **अध्याय एम्बेड करें:**संगत वीडियो प्लेयर के लिए मेटाडेटा के रूप में अध्याय मार्कर एम्बेड करें
+- **प्रायोजक खंड हटाएं:** SponsorBlock का उपयोग करके वीडियो से प्रायोजक खंड हटाएं
+- **वीडियो ट्रिम करें:** `HH:MM:SS` प्रारूप में समय सीमा निर्दिष्ट करके वीडियो के केवल विशिष्ट भागों को डाउनलोड करें
+
+
+
+
+⚙️ आउटपुट और फ़ाइल सेटिंग्स
+
+- **स्पीड लिमिटर:** डाउनलोड स्पीड सीमित करें, उदाहरण के लिए `500K` 500 KB/s के लिए
+- **डाउनलोड पथ सहेजें:** भविष्य के डाउनलोड के लिए डिफ़ॉल्ट डाउनलोड पथ सहेजें। **डाउनलोड सेटिंग → डाउनलोड पथ** में उपलब्ध है।
+- **आउटपुट फ़ाइल नाम प्रारूप:** `%(title)s`, `%(uploader)s`, और `%(resolution)s` जैसे वेरिएबल का उपयोग करके आउटपुट फ़ाइल नाम प्रारूप को अनुकूलित करें। **डाउनलोड सेटिंग्स → फ़ाइल नाम प्रारूप** में उपलब्ध है।- **फोर्स आउटपुट फॉर्मेट:** वीडियो डाउनलोड को एक विशिष्ट कंटेनर फॉर्मेट जैसे `mp4`, `webm`, या `mkv` में फोर्स करें। **डाउनलोड सेटिंग्स → आउटपुट फॉर्मेट सेटिंग्स** में उपलब्ध है।
+- **ऑडियो प्रारूप रूपांतरण:** केवल-ऑडियो डाउनलोड को पसंदीदा प्रारूपों में परिवर्तित करें जैसे `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, या `Best`. **डाउनलोड सेटिंग्स → ऑडियो फॉर्मेट सेटिंग्स** में उपलब्ध है।
+- **ऑडियो सामान्यीकरण:** EBU R128 का उपयोग करके केवल-ऑडियो डाउनलोड के लिए वॉल्यूम को मानकीकृत करें।
+
+
+
+
+🌐 पहुंच और नेटवर्क
+
+- **कुकीज़ के साथ लॉगिन करें:** निजी सामग्री तक पहुंचने के लिए कुकीज़ का उपयोग करके यूट्यूब पर लॉगिन करें।
+ इसका उपयोग कैसे करें:
+ 1. **अनुशंसित:** ऐप में अंतर्निहित `Extract cookies from browser` विकल्प का उपयोग करें, फिर अपना ब्राउज़र और वैकल्पिक रूप से एक प्रोफ़ाइल चुनें।
+ 2. वैकल्पिक रूप से, कुकीज़ को मैन्युअल रूप से निकालें:
+ ए. [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) जैसे एक्सटेंशन का उपयोग करके अपने ब्राउज़र से कुकीज़ निर्यात करें
+ बी. कुकीज़ को नेटस्केप प्रारूप में कॉपी करें
+ सी. `cookies.txt` नाम की एक फ़ाइल बनाएं और उसमें कुकीज़ पेस्ट करें
+ घ. ऐप में `cookies.txt` फ़ाइल चुनें
+- **प्रॉक्सी समर्थन:** डाउनलोड के लिए प्रॉक्सी सर्वर का उपयोग करें, उदाहरण के लिए `http://:`
+- **जेनेरिक मोड:** YTSage को yt-dlp द्वारा समर्थित गैर-यूट्यूब साइटों से विश्लेषण और डाउनलोड करने की अनुमति दें। इसे **डाउनलोड सेटिंग्स → जेनेरिक मोड** से सक्षम करें।
+
+
+
+
+🛠️ उपकरण और रखरखाव
+
+- **कस्टम कमांड:** कमांड लाइन तर्कों के माध्यम से उन्नत yt-dlp सुविधाओं तक पहुंचें
+- **अपडेटर टैब:** कस्टम विकल्पों में एक ही स्थान से अंतर्निहित अपडेट टूल प्रबंधित करें:
+ - **yt-dlp अपडेट:** अपडेट की जांच करें और स्थिर और रात्रिकालीन रिलीज़ चैनलों के बीच स्विच करें
+ - **एफएफएमपीईजी संस्करण जांचकर्ता:** अपना एफएफएमपीईजी संस्करण जांचें और इंस्टॉलेशन गाइड खोलें
+ - **डेनो अपडेट:** डेनो रनटाइम की जांच करें और अपडेट करें
+- **FFmpeg/yt-dlp/Deno डिटेक्शन:** अबाउट डायलॉग से FFmpeg, yt-dlp, और Deno पथ और संस्करणों का स्वचालित रूप से पता लगाएं।
+- **डाउनलोड इतिहास:** **इतिहास** बटन से थंबनेल और स्थितियों के साथ पिछले डाउनलोड देखें।
+
+
+
+
+🌍 स्थानीयकरण
+
+YTSage दुनिया भर में पहुंच के लिए **14 भाषाओं** का समर्थन करता है। **कस्टम विकल्प → भाषा** से अपनी पसंदीदा भाषा चुनें।
+
+### समर्थित भाषाएँ
+
+| भाषा | कोड | भाषा | कोड |
+|-------|------|-------|------|
+| 🇺🇸 अंग्रेजी | `en` | 🇪🇸स्पेनिश | `es` |
+| 🇸🇦 अरबी | `ar` | 🇫🇷 फ्रेंच | `fr` |
+| 🇩🇪 जर्मन | `de` | 🇮🇳 हिंदी | `hi` |
+| 🇮🇩 इंडोनेशियाई | `id` | 🇮🇹इतालवी | `it` |
+| 🇯🇵 जापानी | `ja` | 🇵🇱 पोलिश | `pl` |
+| 🇧🇷 पुर्तगाली | `pt` | 🇷🇺 रूसी | `ru` |
+| 🇹🇷तुर्की | `tr` | 🇨🇳 चीनी | `zh` |
+
+### README अनुवाद
+
+| भाषा | फ़ाइल | भाषा | फ़ाइल |
+|-------|------|-------|------|
+| 🇺🇸 अंग्रेजी | [README.md](../README.md) | 🇪🇸स्पेनिश | [README.es.md](README.es.md)
+| 🇸🇦 अरबी | [README.ar.md](README.ar.md) | 🇫🇷 फ्रेंच | [README.fr.md](README.fr.md) |
+| 🇩🇪 जर्मन | [README.de.md](README.de.md) | 🇮🇳 हिंदी | [README.hi.md](README.hi.md) |
+| 🇮🇩 इंडोनेशियाई | [README.id.md](README.id.md) | 🇮🇹इतालवी | [README.it.md](README.it.md) |
+| 🇯🇵 जापानी | [README.ja.md](README.ja.md) | 🇵🇱 पोलिश | [README.pl.md](README.pl.md) |
+| 🇧🇷 पुर्तगाली | [README.pt.md](README.pt.md) | 🇷🇺 रूसी | [README.ru.md](README.ru.md) |
+| 🇹🇷तुर्की | [README.tr.md](README.tr.md) | 🇨🇳 चीनी | [README.zh.md](README.zh.md) |
+
+> 💡 **अनुवाद में योगदान देना चाहते हैं?** अधिक भाषाएँ जोड़ने में हमारी सहायता के लिए [Contributing](#contributing) अनुभाग देखें!
+
+
+
+
+## 🛠️समस्या निवारण
+
+
+सामान्य समस्याएं और समाधान देखने के लिए क्लिक करें
+
+- **प्रारूप तालिका प्रदर्शित नहीं हो रही है:** yt-dlp को नवीनतम संस्करण में अपडेट करें, और रात में yt-dlp पर स्विच करें।
+- **डाउनलोड विफल:** अपना इंटरनेट कनेक्शन जांचें और सुनिश्चित करें कि वीडियो उपलब्ध है।
+- **विशिष्ट डाउनलोड त्रुटियाँ:**
+ - **निजी वीडियो:** निजी सामग्री तक पहुंचने के लिए कुकी प्रमाणीकरण का उपयोग करें।
+ - **आयु-प्रतिबंधित सामग्री:** आयु-प्रतिबंधित वीडियो देखने के लिए YouTube खाते में लॉगिन करें।
+ - **जियो-अवरुद्ध वीडियो:** क्षेत्रीय प्रतिबंधों को बायपास करने के लिए वीपीएन का उपयोग करने पर विचार करें।
+ - **हटाए गए/हटाए गए वीडियो:** वीडियो अब YouTube पर उपलब्ध नहीं है।
+ - **लाइव स्ट्रीम:** लाइव स्ट्रीम डाउनलोड नहीं की जा सकतीं; स्ट्रीम समाप्त होने की प्रतीक्षा करें.
+ - **नेटवर्क त्रुटियां:** अपना इंटरनेट कनेक्शन जांचें और पुनः प्रयास करें।
+ - **अमान्य यूआरएल:** सुनिश्चित करें कि यूआरएल सही है और समर्थित प्लेटफॉर्म से है।
+ - **प्रीमियम सामग्री:** YouTube प्रीमियम सदस्यता की आवश्यकता है।
+ - **कॉपीराइट ब्लॉक:** कॉपीराइट प्रतिबंधों के कारण सामग्री अवरुद्ध है।
+- **डाउनलोड के बाद वीडियो और ऑडियो फ़ाइलों को अलग करें:** ऐसा तब होता है जब FFmpeg गायब है या पता नहीं चला है। उच्च गुणवत्ता वाले वीडियो और ऑडियो स्ट्रीम को मर्ज करने के लिए YTSage को FFmpeg की आवश्यकता होती है।
+ - **समाधान:** सुनिश्चित करें कि FFmpeg आपके सिस्टम के PATH में स्थापित और पहुंच योग्य है। विंडोज़ उपयोगकर्ताओं के लिए, सबसे आसान विकल्प `YTSage-v-ffmpeg.exe` फ़ाइल डाउनलोड करना है, जो FFmpeg के साथ बंडल में आती है।
+
+---
+
+#### 🛡️ विंडोज डिफेंडर / एंटीवायरस चेतावनी
+
+कुछ एंटीवायरस सॉफ़्टवेयर `.exe` फ़ाइलों को गलत सकारात्मक के रूप में चिह्नित कर सकते हैं। यह पैकेज्ड एप्लिकेशन की **ज्ञात सीमा** है।
+
+**ऐसा क्यों होता है:**
+- एंटीवायरस अनुमान पैक किए गए निष्पादन योग्य को संदिग्ध के रूप में गलत पहचान सकता है
+
+**सुरक्षित विकल्प:**
+- ✅ **पाइप इंस्टॉलेशन का उपयोग करें:** `pip install ytsage` (अनुशंसित)
+- ✅ **स्रोत से निर्माण**: इसका पालन करके [guide](../.github/CI_CD_README.md)
+- ✅ **एप्लिकेशन को अपने एंटीवायरस सॉफ़्टवेयर में श्वेतसूची में डालें**
+
+#### 🍎 macOS: "ऐप क्षतिग्रस्त है और खोला नहीं जा सकता"
+यदि आपको यह त्रुटि macOS सोनोमा या नए पर दिखाई देती है, तो आपको संगरोध विशेषता को हटाना होगा।
+
+1. **टर्मिनल खोलें** (आप इसे स्पॉटलाइट का उपयोग करके पा सकते हैं)।
+2. **निम्न आदेश टाइप करें** लेकिन **अभी तक Enter न दबाएँ। अंत में स्थान शामिल करना सुनिश्चित करें:
+ ```bash
+ xattr -d com.apple.quarantine
+ ```
+3. ** `YTSage.app` फ़ाइल** को अपनी फाइंडर विंडो से खींचें और इसे सीधे टर्मिनल विंडो में छोड़ें। इससे स्वचालित रूप से सही फ़ाइल पथ पेस्ट हो जाएगा.
+4. कमांड चलाने के लिए **एंटर** दबाएं।
+5. **YTSage.app को दोबारा खोलने का प्रयास करें।** इसे अब सही ढंग से लॉन्च होना चाहिए।
+
+---
+
+#### **कॉन्फ़िगरेशन स्थान (उन्नत)**
+- **विंडोज़:** `%LOCALAPPDATA%\YTSage`
+- **मैकओएस:** `~/Library/Application Support/YTSage`
+- **लिनक्स:** `~/.local/share/YTSage`
+
+
+
+
+## 💖 प्रायोजक
+
+यदि YTSage आपका समय बचाता है, तो परियोजना को प्रायोजित करने पर विचार करें। प्रायोजन विकास के समय, सभी प्लेटफार्मों पर परीक्षण और भविष्य में सुधारों को कवर करने में मदद करता है।
+
+- GitHub प्रायोजक: https://github.com/sponsors/oop7
+- प्रायोजक लिंक सीधे ऐप के अंदर अबाउट डायलॉग से भी उपलब्ध है।
+
+[](https://github.com/sponsors/oop7)
+
+
+## 👥 योगदान दे रहे हैं
+
+हम योगदान का स्वागत करते हैं! यहां बताया गया है कि आप कैसे मदद कर सकते हैं:
+
+1. 🍴 रिपॉजिटरी को फोर्क करें
+2. 🌿 अपनी फीचर शाखा बनाएं:
+ ```bash
+ git checkout -b feature/AmazingFeature
+ ```
+3. 💾 अपने परिवर्तन प्रतिबद्ध करें:
+ ```bash
+ git commit -m 'Add some AmazingFeature'
+ ```
+4. 📤 शाखा को धक्का:
+ ```bash
+ git push origin feature/AmazingFeature
+ ```
+5. 🔄 एक पुल अनुरोध खोलें
+
+### 🌍 अनुवाद में योगदान
+
+- मिलान वाली स्थानीयकृत README फ़ाइल को अपडेट करें (उदाहरण के लिए `README.es.md`)
+- `ytsage/languages/.json` को संपादित करके ऐप स्ट्रिंग्स को सिंक में रखें
+- यदि आपकी भाषा गायब है, तो `README.md` से शुरू करें और `README..md` बनाएं
+
+
+📂 परियोजना संरचना
+
+## 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
+```
+
+
+
+## ⭐️ सितारा इतिहास
+
+
+
+
+
+## ⚠️ अस्वीकरण
+
+यह उपकरण केवल व्यक्तिगत उपयोग के लिए है. कृपया YouTube की सेवा की शर्तों और सामग्री निर्माताओं के अधिकारों का सम्मान करें।
+
+---
+
+
+
+❤️ के साथ [oop7](https://github.com/oop7) द्वारा बनाया गया
+
+
diff --git a/readme-translations/README.id.md b/readme-translations/README.id.md
new file mode 100644
index 0000000..7d2239e
--- /dev/null
+++ b/readme-translations/README.id.md
@@ -0,0 +1,618 @@
+
+
+
+
+
+[](https://www.python.org/downloads/)
+[](https://pepy.tech/project/ytsage)
+[](https://github.com/oop7/YTSage/releases)
+[](https://opensource.org/licenses/MIT)
+[](https://github.com/oop7/YTSage/releases)
+[](https://github.com/oop7/YTSage/stargazers)
+[](https://pypi.org/project/ytsage/)
+[](https://github.com/sponsors/oop7)
+
+**Pengunduh YouTube modern dengan antarmuka PySide6 yang bersih.**
+Unduh video dalam kualitas apa pun, ekstrak audio, ambil subtitle, dan banyak lagi.
+
+### 🌍 README Bahasa
+
+Bahasa Inggris: [EN](../README.md)
+| Nilai: [AR](README.ar.md)
+| Jerman: [DE](README.de.md)
+| Spanyol: [ES](README.es.md)
+| Perancis: [FR](README.fr.md)
+| nilai: [HI](README.hi.md)
+| Bahasa Indonesia: [ID](README.id.md)
+| Italia: [IT](README.it.md)
+| Nilai: [JA](README.ja.md)
+| Polski: [PL](README.pl.md)
+| Portugis: [PT](README.pt.md)
+| Jawaban: [RU](README.ru.md)
+| Turki: [TR](README.tr.md)
+| nama: [ZH](README.zh.md)
+
+
+
+---
+
+
+## ❓ Mengapa YTSage?
+
+YTSage dirancang untuk pengguna yang menginginkan **pengunduh YouTube yang sederhana namun kuat**. Tidak seperti alat lainnya, alat ini menawarkan:
+
+- Antarmuka PySide6 yang bersih dan modern
+- Unduhan sekali klik untuk video, audio, dan subtitle
+- Fitur lanjutan seperti SponsorBlock, penggabungan subtitle, dan pemilihan playlist
+- Mode Generik Opsional untuk situs yang didukung yt-dlp di luar YouTube
+- Dukungan lintas platform dan instalasi mudah
+
+
+## ✨ Fitur
+
+
+
+| Fitur Inti | Fitur Lanjutan | Fitur Ekstra |
+|----------------------------------||-----------------------------------------|------------------------------------|
+| 🎥 Format Tabel | 🚫 Integrasi Blok Sponsor | 🎞️ Tampilan FPS/HDR |
+| 🎵 Ekstraksi Audio | 📝 Pilih & Gabungkan Multi-Subjudul | 🔄 Perbarui Otomatis yt-dlp |
+| ✨ UI Sederhana | 💾 Simpan Deskripsi & Gambar Kecil | 🛠️ Deteksi FFmpeg/yt-dlp/Deno |
+| 📋 Dukungan & Pemilih Daftar Putar | 🚀 Pembatas Kecepatan | ⚙️ Perintah Khusus |
+| 📑 Sematkan Bab | ✂️ Pangkas Bagian Video | 🍪 Masuk dengan Cookie |
+| 📜 Unduh Riwayat | 🔄 Rilis Pilihan Saluran | 🌐 Dukungan Proksi |
+| 🎚️ Konversi Format Audio | 🎬 Pengaturan Format Video | 🆙 Tab Pembaruan Bawaan |
+| 🌍 Mode Generik | 🔊 Normalisasi Audio (EBU R128) | 🌍 Lokalisasi dalam 14 Bahasa |
+
+
+
+## 🚀 Instalasi
+
+### ⚡ Instal Cepat (Disarankan)
+
+Instal YTSage dari PyPI:
+
+```bash
+pip install ytsage
+```
+
+
+🔄 Perbarui instalasi yang ada
+
+```bash
+pip install --upgrade ytsage
+```
+
+
+
+Kemudian luncurkan aplikasi:
+
+```bash
+ytsage
+```
+
+### 📦 Executable yang sudah dibuat sebelumnya
+
+> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
+
+#### 🪟 Jendela
+
+| Format | Deskripsi |
+|--------|-------------|
+|  | Pemasang standar |
+|  | Dengan FFmpeg dibundel |
+|  | Versi portabel, tidak perlu instalasi |
+|  | Portabel dengan FFmpeg, zip |
+
+
+🛠️ Langkah Instalasi
+
+1. **EXE Installer (`.exe`)**: Klik dua kali file tersebut dan ikuti panduan pengaturan.
+2. **Versi Portabel (`.zip`)**: Ekstrak arsip ke lokasi yang Anda inginkan dan jalankan `ytsage.exe`.
+3. **FFmpeg Bundled**: Pilih versi paket FFmpeg jika Anda belum menginstal FFmpeg di sistem Anda.
+
+
+#### 🐧 Linux
+
+| Format | Deskripsi |
+|--------|-------------|
+|  | Paket Debian |
+|  | AppImage, portabel |
+|  | Paket RPM |
+|  | Paket Flatpak |
+
+
+🛠️ Langkah Instalasi
+
+- **DEB (`.deb`)**:
+ ```bash
+ sudo dpkg -i ytsage_*.deb
+ sudo apt-get install -f # Fix missing dependencies if any
+ ```
+- **RPM (`.rpm`)**:
+ ```bash
+ sudo rpm -i ytsage-*.rpm
+ ```
+- **Gambar Aplikasi (`.AppImage`)**:
+ ```bash
+ chmod +x YTSage-*.AppImage
+ ./YTSage-*.AppImage
+ ```
+- **Flatpak**: Ikuti instruksi di Flathub atau jalankan:
+ ```bash
+ flatpak install flathub io.github.oop7.ytsage
+ ```
+
+
+#### 🍎 macOS
+
+| Format | Deskripsi |
+|--------|-------------|
+|  | Aplikasi zip untuk Apple Silicon |
+|  | Penginstal gambar disk untuk Apple Silicon |
+
+
+🛠️ Langkah Instalasi
+
+- **Pemasang DMG (`.dmg`)**: Klik dua kali untuk memasang, lalu seret `YTSage.app` ke dalam folder Aplikasi Anda.
+- **Arsip Aplikasi (`.zip`)**: Ekstrak zip dan pindahkan `YTSage.app` ke folder Aplikasi Anda.
+
+*Catatan: Jika Anda mengalami kesalahan "Aplikasi rusak", lihat [macOS troubleshooting section](#troubleshooting) di bawah.*
+
+
+---
+
+
+💻 Instalasi Manual dari Sumber
+
+### 1. Kloning Repositori
+
+```bash
+git clone https://github.com/oop7/YTSage.git
+cd YTSage
+```
+
+### 2. Instal Dependensi
+
+#### ⚡ Dengan UV
+
+```bash
+uv pip install .
+```
+
+#### 📦 Atau dengan pip standar
+
+```bash
+pip install .
+```
+
+### 3. Jalankan Aplikasi
+
+```bash
+python -m ytsage.main
+```
+
+
+
+
+## 📸 Tangkapan layar
+
+
+
+
+
+
+
+
+
Pengaturan Unduhan
+
Unduh Daftar Putar
+
+
+
+
+
+
+
Format Audio
+
Opsi Khusus
+
+
+
+
+## 📖 Penggunaan
+
+
+🎯 Penggunaan Dasar
+
+1. **Luncurkan YTSage**
+2. **Tempel URL YouTube** (atau gunakan tombol "Tempel URL")
+3. **Klik "Analisis"**
+4. **Pilih Format:**
+ - `Video` untuk mengunduh video
+ - `Audio Only` untuk ekstraksi audio
+5. **Pilih Opsi:**
+ - Aktifkan subtitle & pilih bahasa
+ - Aktifkan penggabungan subtitle
+ - Simpan gambar kecil
+ - Hapus segmen sponsor
+ - Simpan deskripsi
+ - Sematkan bab
+6. **Pilih Direktori Keluaran**
+7. **Klik "Unduh"**
+
+> 💡 Direktori unduhan default adalah folder "Unduhan" milik pengguna.
+
+
+
+
+📋 Unduh Daftar Putar
+
+1. **Tempel URL Daftar Putar**
+2. **Klik "Analisis"**
+3. **Pilih video dari pemilih daftar putar (opsional, default untuk semua)**
+4. **Pilih format/kualitas yang diinginkan**
+5. **Klik "Unduh"**
+
+> 💡 Aplikasi secara otomatis menangani antrian unduhan
+
+
+
+
+🌍 Mode Generik untuk situs non-YouTube
+
+Gunakan Mode Generik bila Anda ingin YTSage menerima URL dari situs yang didukung oleh yt-dlp, seperti Dailymotion, CBC Gem, TikTok, dan lainnya.
+
+Cara menggunakannya:
+
+1. Buka `Download Settings`.
+2. Aktifkan `Generic Mode`.
+3. Tempelkan URL video atau playlist non-YouTube yang didukung.
+4. Klik `Analyze`.
+5. Pilih format dan unduh seperti biasa.
+
+Catatan:
+
+- Mode Generik hanya mengubah validasi URL di dalam YTSage. Situs target harus tetap didukung oleh versi yt-dlp yang Anda instal.
+- Beberapa situs memerlukan cookie, sesi login, proxy, atau argumen yt-dlp tambahan tergantung pada ekstraktornya.
+- Jika situs gagal, perbarui yt-dlp terlebih dahulu dari tab pembaru bawaan sebelum melaporkan masalah tersebut.
+
+
+
+
+🧰 Opsi Media dan Unduhan
+
+- **Opsi Subtitle:** Filter bahasa dan sematkan subtitle ke dalam file video
+- **Penggabungan Subtitle:** Menggabungkan subtitle ke dalam file video untuk subtitle hardcode
+- **Simpan Deskripsi:** Simpan deskripsi video sebagai file teks
+- **Simpan Gambar Kecil:** Menyimpan gambar kecil video sebagai file gambar
+- **Sematkan Bab:** Sematkan penanda bab sebagai metadata untuk pemutar video yang kompatibel
+- **Hapus Segmen Sponsor:** Hapus segmen sponsor dari video menggunakan SponsorBlock
+- **Pangkas Video:** Unduh hanya bagian tertentu dari video dengan menentukan rentang waktu dalam format `HH:MM:SS`
+
+
+
+
+⚙️ Pengaturan Output dan File
+
+- **Pembatas Kecepatan:** Batasi kecepatan unduh, misalnya `500K` sebesar 500 KB/dtk
+- **Simpan Jalur Unduhan:** Simpan jalur unduhan default untuk unduhan berikutnya. Tersedia di **Pengaturan Unduhan → Jalur Unduhan**.
+- **Format Nama File Keluaran:** Sesuaikan format nama file keluaran menggunakan variabel seperti `%(title)s`, `%(uploader)s`, dan `%(resolution)s`. Tersedia di **Pengaturan Unduhan → Format Nama File**.
+- **Format Output Paksa:** Paksa pengunduhan video ke dalam format wadah tertentu seperti `mp4`, `webm`, atau `mkv`. Tersedia di **Pengaturan Unduhan → Pengaturan Format Output**.
+- **Konversi Format Audio:** Konversi unduhan audio saja ke format pilihan seperti `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, atau `Best`. Tersedia di **Pengaturan Unduhan → Pengaturan Format Audio**.
+- **Normalisasi Audio:** Standarkan volume untuk unduhan audio saja menggunakan EBU R128.
+
+
+
+
+🌐 Akses dan Jaringan
+
+- **Masuk dengan Cookie:** Masuk ke YouTube menggunakan cookie untuk mengakses konten pribadi.
+ Cara menggunakannya:
+ 1. **Disarankan:** Gunakan opsi `Extract cookies from browser` bawaan di aplikasi, lalu pilih browser Anda dan opsional profil.
+ 2. Alternatifnya, ekstrak cookie secara manual:
+ sebuah. Ekspor cookie dari browser Anda menggunakan ekstensi seperti [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
+ b. Salin cookie dalam format Netscape
+ c. Buat file bernama `cookies.txt` dan tempel cookie ke dalamnya
+ d. Pilih file `cookies.txt` di aplikasi
+- **Dukungan Proxy:** Gunakan server proxy untuk mendownload, misalnya `http://:`
+- **Mode Generik:** Izinkan YTSage menganalisis dan mengunduh dari situs non-YouTube yang didukung oleh yt-dlp. Aktifkan dari **Pengaturan Unduhan → Mode Generik**.
+
+
+
+
+🛠️ Alat dan Perawatan
+
+- **Perintah Khusus:** Akses fitur yt-dlp tingkat lanjut melalui argumen baris perintah
+- **Tab Pembaruan:** Kelola alat pembaruan bawaan dari satu tempat di Opsi Kustom:
+ - **Pembaruan yt-dlp:** Periksa pembaruan dan beralih antara saluran rilis Stabil dan Malam
+ - **Pemeriksa Versi FFmpeg:** Periksa versi FFmpeg Anda dan buka panduan instalasi
+ - **Pembaruan Deno:** Periksa dan perbarui runtime Deno
+- **Deteksi FFmpeg/yt-dlp/Deno:** Secara otomatis mendeteksi jalur dan versi FFmpeg, yt-dlp, dan Deno dari dialog Tentang.
+- **Riwayat Unduhan:** Lihat unduhan sebelumnya dengan thumbnail dan status dari tombol **Riwayat**.
+
+
+
+
+🌍 Lokalisasi
+
+YTSage mendukung **14 bahasa** untuk aksesibilitas di seluruh dunia. Pilih bahasa pilihan Anda dari **Opsi Kustom → Bahasa**.
+
+### Bahasa yang Didukung
+
+| Bahasa | Kode | Bahasa | Kode |
+|----------|------|----------|------|
+| 🇮🇩 Bahasa Inggris | `en` | 🇪🇪 Spanyol | `es` |
+| Arab Saudi | `ar` | 🇫🇷 Perancis | `fr` |
+| 🇩🇪 Jerman | `de` | 🇮🇩 Hindi | `hi` |
+| 🇮🇩 Bahasa Indonesia | `id` | 🇮🇹 Italia | `it` |
+| 🇯ppa Jepang | `ja` | 🇱 Polandia | `pl` |
+| 🇧🇷 Portugis | `pt` | 🇷л Rusia | `ru` |
+| 🇹🇷 Turki | `tr` | CNY Cina | `zh` |
+
+### README Terjemahan
+
+| Bahasa | Berkas | Bahasa | Berkas |
+|----------|------|----------|------|
+| 🇮🇩 Bahasa Inggris | [README.md](../README.md) | 🇪🇪 Spanyol | [README.es.md](README.es.md)
+| Arab Saudi | [README.ar.md](README.ar.md) | 🇫🇷 Perancis | [README.fr.md](README.fr.md) |
+| 🇩🇪 Jerman | [README.de.md](README.de.md) | 🇮🇩 Hindi | [README.hi.md](README.hi.md) |
+| 🇮🇩 Bahasa Indonesia | [README.id.md](README.id.md) | 🇮🇹 Italia | [README.it.md](README.it.md) |
+| 🇯ppa Jepang | [README.ja.md](README.ja.md) | 🇱 Polandia | [README.pl.md](README.pl.md) |
+| 🇧🇷 Portugis | [README.pt.md](README.pt.md) | 🇷л Rusia | [README.ru.md](README.ru.md) |
+| 🇹🇷 Turki | [README.tr.md](README.tr.md) | CNY Cina | [README.zh.md](README.zh.md) |
+
+> 💡 **Ingin berkontribusi terjemahan?** Lihat bagian [Contributing](#contributing) untuk membantu kami menambahkan lebih banyak bahasa!
+
+
+
+
+## 🛠️ Pemecahan masalah
+
+
+Klik untuk melihat masalah umum dan solusinya
+
+- **Format tabel tidak ditampilkan:** Perbarui yt-dlp ke versi terbaru, dan beralih ke yt-dlp setiap malam.
+- **Pengunduhan gagal:** Periksa koneksi internet Anda dan pastikan video tersedia.
+- **Kesalahan pengunduhan tertentu:**
+ - **Video pribadi:** Gunakan autentikasi cookie untuk mengakses konten pribadi.
+ - **Konten dengan batasan usia:** Masuk ke akun YouTube untuk melihat video dengan batasan usia.
+ - **Video yang diblokir secara geografis:** Pertimbangkan untuk menggunakan VPN untuk melewati batasan regional.
+ - **Video yang dihapus/dihapus:** Video tidak lagi tersedia di YouTube.
+ - **Streaming langsung:** Streaming langsung tidak dapat diunduh; tunggu hingga streaming berakhir.
+ - **Kesalahan jaringan:** Periksa koneksi internet Anda dan coba lagi.
+ - **URL tidak valid:** Pastikan URL benar dan berasal dari platform yang didukung.
+ - **Konten premium:** Memerlukan keanggotaan YouTube Premium.
+ - **Pemblokiran hak cipta:** Konten diblokir karena pembatasan hak cipta.
+- **Pisahkan file video dan audio setelah diunduh:** Ini terjadi jika FFmpeg hilang atau tidak terdeteksi. YTSage memerlukan FFmpeg untuk menggabungkan aliran video dan audio berkualitas tinggi.
+ - **Solusi:** Pastikan FFmpeg diinstal dan dapat diakses di PATH sistem Anda. Untuk pengguna Windows, opsi termudah adalah mengunduh file `YTSage-v-ffmpeg.exe`, yang disertakan dengan FFmpeg.
+
+---
+
+#### 🛡️ Peringatan Windows Defender / Antivirus
+
+Beberapa perangkat lunak antivirus mungkin menandai file `.exe` sebagai positif palsu. Ini adalah **batasan umum** pada aplikasi paket.
+
+**Mengapa ini terjadi:**
+- Heuristik antivirus dapat salah mengidentifikasi executable yang dikemas sebagai sesuatu yang mencurigakan
+
+**Alternatif yang aman:**
+- ✅ **Gunakan instalasi pip:** `pip install ytsage` (disarankan)
+- ✅ **Bangun dari sumber**: dengan mengikuti [guide](../.github/CI_CD_README.md) ini
+- ✅ **Masukkan aplikasi ke daftar putih** di perangkat lunak antivirus Anda
+
+#### 🍎 macOS: "Aplikasi rusak dan tidak dapat dibuka"
+Jika Anda melihat kesalahan ini di macOS Sonoma atau lebih baru, Anda harus menghapus atribut karantina.
+
+1. **Buka Terminal** (Anda dapat menemukannya menggunakan Spotlight).
+2. **Ketik perintah berikut** tetapi **jangan** tekan Enter dulu. Pastikan untuk menyertakan spasi di akhir:
+ ```bash
+ xattr -d com.apple.quarantine
+ ```
+3. **Seret file `YTSage.app`** dari jendela Finder Anda dan letakkan langsung ke jendela Terminal. Ini secara otomatis akan menempelkan jalur file yang benar.
+4. **Tekan Enter** untuk menjalankan perintah.
+5. **Coba buka YTSage.app lagi.** Sekarang seharusnya sudah diluncurkan dengan benar.
+
+---
+
+#### **Lokasi Konfigurasi (Lanjutan)**
+- **Jendela:** `%LOCALAPPDATA%\YTSage`
+- **macOS:** `~/Library/Application Support/YTSage`
+- **Linux:** `~/.local/share/YTSage`
+
+
+
+
+## 💖 Sponsor
+
+Jika YTSage menghemat waktu Anda, pertimbangkan untuk mensponsori proyek tersebut. Sponsor membantu menutupi waktu pengembangan, pengujian lintas platform, dan peningkatan di masa depan.
+
+- Sponsor GitHub: https://github.com/sponsors/oop7
+- Tautan sponsor juga tersedia langsung di dalam aplikasi dari dialog Tentang.
+
+[](https://github.com/sponsors/oop7)
+
+
+## 👥 Berkontribusi
+
+Kami menyambut kontribusi! Inilah cara Anda dapat membantu:
+
+1. 🍴 Cabangkan repositori
+2. 🌿 Buat cabang fitur Anda:
+ ```bash
+ git checkout -b feature/AmazingFeature
+ ```
+3. 💾 Komit perubahan Anda:
+ ```bash
+ git commit -m 'Add some AmazingFeature'
+ ```
+4. 📤 Dorong ke cabang:
+ ```bash
+ git push origin feature/AmazingFeature
+ ```
+5. 🔄 Buka Permintaan Tarik
+
+### 🌍 Berkontribusi pada Terjemahan
+
+- Perbarui file README lokal yang cocok (misalnya `README.es.md`)
+- Jaga agar string aplikasi tetap sinkron dengan mengedit `ytsage/languages/.json`
+- Jika bahasa Anda hilang, mulai dari `README.md` dan buat `README..md`
+
+
+📂 Struktur Proyek
+
+## YTSage - Struktur Proyek
+
+Dokumen ini menjelaskan struktur folder YTSage yang terorganisir.
+
+### 📁 Struktur Proyek
+
+```
+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
+```
+
+
+
+## ⭐️ Sejarah Bintang
+
+
+
+## 📜 Lisensi
+
+Proyek ini dilisensikan di bawah Lisensi MIT - lihat file [LICENSE](../LICENSE) untuk detailnya.
+
+## 🙏 Ucapan Terima Kasih
+
+
+Tampilkan Ucapan Terima Kasih
+
+
+
+
Terima kasih yang sebesar-besarnya kepada semua orang yang telah berkontribusi pada proyek ini dengan membuka terbitan untuk menyarankan perbaikan atau melaporkan bug.
+
+---
+
+
+## ❓Perché YTSage?
+
+YTSage è progettato per gli utenti che desiderano un **downloader YouTube semplice ma potente**. A differenza di altri strumenti, offre:
+
+- Un'interfaccia PySide6 pulita e moderna
+- Download con un clic per video, audio e sottotitoli
+- Funzionalità avanzate come SponsorBlock, fusione dei sottotitoli e selezione della playlist
+- Modalità generica opzionale per i siti supportati da yt-dlp oltre YouTube
+- Supporto multipiattaforma e facilità di installazione
+
+
+## ✨Caratteristiche
+
+
+
+| Caratteristiche principali | Funzionalità avanzate | Funzionalità extra |
+|------------------------------------|----------------------------------------------|------------------------------------|
+| 🎥 Tabella dei formati | 🚫Integrazione SponsorBlock | 🎞️ Visualizzazione FPS/HDR |
+| 🎵Estrazione audio | 📝 Seleziona e unisci più sottotitoli | 🔄 Aggiornamento automatico yt-dlp |
+| ✨Interfaccia utente semplice | 💾 Salva descrizione e miniatura | 🛠️ Rilevamento FFmpeg/yt-dlp/Deno |
+| 📋 Supporto e selettore playlist | 🚀Limitatore di velocità | ⚙️ Comandi personalizzati |
+| 📑 Incorpora capitoli | ✂️ Taglia le sezioni video | 🍪 Accedi con i cookie |
+| 📜 Scarica Cronologia | 🔄 Rilascio Selezione canale | 🌐Supporto proxy |
+| 🎚️ Conversione del formato audio | 🎬 Impostazioni formato video | 🆙 Scheda Aggiornamento integrata |
+| 🌍 Modalità generica | 🔊 Normalizzazione audio (EBU R128) | 🌍 Localizzazione in 14 lingue |
+
+
+
+## 🚀 Installazione
+
+### ⚡ Installazione rapida (consigliata)
+
+Installa YTSage da PyPI:
+
+```bash
+pip install ytsage
+```
+
+
+🔄 Aggiorna un'installazione esistente
+
+```bash
+pip install --upgrade ytsage
+```
+
+
+
+Quindi avvia l'app:
+
+```bash
+ytsage
+```
+
+### 📦 Eseguibili predefiniti
+
+> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
+
+#### 🪟 Finestre
+
+| Formato | Descrizione |
+|--------|-------------|
+|  | Programma di installazione standard |
+|  | Con FFmpeg in bundle |
+|  | Versione portatile, nessuna installazione richiesta |
+|  | Portatile con FFmpeg, zippato |
+
+
+🛠️ Passaggi di installazione
+
+1. **Programma di installazione EXE (`.exe`)**: fare doppio clic sul file e seguire la procedura guidata di installazione.
+2. **Versione portatile (`.zip`)**: estrai l'archivio nella posizione desiderata ed esegui `ytsage.exe`.
+3. **FFmpeg in bundle**: scegli le versioni in bundle di FFmpeg se non hai FFmpeg installato sul tuo sistema.
+
+
+#### 🐧Linux
+
+| Formato | Descrizione |
+|--------|-------------|
+|  | Pacchetto Debian |
+|  | AppImage, portatile |
+|  | Pacchetto RPM |
+|  | Pacchetto Flatpack |
+
+
+🛠️ Passaggi di installazione
+
+- **DEB (`.deb`)**:
+ ```bash
+ sudo dpkg -i ytsage_*.deb
+ sudo apt-get install -f # Fix missing dependencies if any
+ ```
+- **Giri/min (`.rpm`)**:
+ ```bash
+ sudo rpm -i ytsage-*.rpm
+ ```
+- **AppImage (`.AppImage`)**:
+ ```bash
+ chmod +x YTSage-*.AppImage
+ ./YTSage-*.AppImage
+ ```
+- **Flatpak**: segui le istruzioni su Flathub o esegui:
+ ```bash
+ flatpak install flathub io.github.oop7.ytsage
+ ```
+
+
+#### 🍎 macOS
+
+| Formato | Descrizione |
+|--------|-------------|
+|  | Applicazione zippata per Apple Silicon |
+|  | Programma di installazione dell'immagine disco per Apple Silicon |
+
+
+🛠️ Passaggi di installazione
+
+- **DMG Installer (`.dmg`)**: fai doppio clic per montare, quindi trascina `YTSage.app` nella cartella Applicazioni.
+- **Archivio app (`.zip`)**: estrai il file zip e sposta `YTSage.app` nella cartella Applicazioni.
+
+*Nota: se riscontri l'errore "L'app è danneggiata", consulta [macOS troubleshooting section](#troubleshooting) di seguito.*
+
+
+---
+
+
+💻 Installazione manuale dalla fonte
+
+### 1. Clonare il repository
+
+```bash
+git clone https://github.com/oop7/YTSage.git
+cd YTSage
+```
+
+### 2. Installa le dipendenze
+
+#### ⚡ Con uv
+
+```bash
+uv pip install .
+```
+
+#### 📦 Oppure con pip standard
+
+```bash
+pip install .
+```
+
+### 3. Eseguire l'applicazione
+
+```bash
+python -m ytsage.main
+```
+
+
+
+
+## 📸 Schermate
+
+
+
+
+
+
+
+
+
Scarica impostazioni
+
Scarica playlist
+
+
+
+
+
+
+
Formato audio
+
Opzioni personalizzate
+
+
+
+
+## 📖 Utilizzo
+
+
+🎯 Utilizzo di base
+
+1. **Avvia YTSage**
+2. **Incolla l'URL di YouTube** (o utilizza il pulsante "Incolla URL")
+3. **Fai clic su "Analizza"**
+4. **Seleziona formato:**
+ - `Video` per i download di video
+ - `Audio Only` per l'estrazione audio
+5. **Scegli le opzioni:**
+ - Abilita i sottotitoli e seleziona la lingua
+ - Abilita l'unione dei sottotitoli
+ - Salva miniatura
+ - Rimuovere i segmenti dello sponsor
+ - Salva descrizione
+ - Incorpora capitoli
+6. **Seleziona directory di output**
+7. **Fai clic su "Scarica"**
+
+> 💡 La directory di download predefinita è la cartella "Download" dell'utente.
+
+
+
+
+📋 Download della playlist
+
+1. **Incolla l'URL della playlist**
+2. **Fai clic su "Analizza"**
+3. **Seleziona i video dal selettore della playlist (facoltativo, l'impostazione predefinita è tutti)**
+4. **Scegli il formato/la qualità desiderata**
+5. **Fai clic su "Scarica"**
+
+> 💡 L'applicazione gestisce automaticamente la coda di download
+
+
+
+
+🌍 Modalità generica per siti non YouTube
+
+Utilizza la modalità generica quando desideri che YTSage accetti URL da siti supportati da yt-dlp, come Dailymotion, CBC Gem, TikTok e altri.
+
+Come usarlo:
+
+1. Apri `Download Settings`.
+2. Abilita `Generic Mode`.
+3. Incolla un video o un URL di playlist non YouTube supportato.
+4. Fare clic su `Analyze`.
+5. Scegli un formato e scarica come al solito.
+
+Note:
+
+- La modalità generica modifica solo la convalida dell'URL all'interno di YTSage. Il sito di destinazione deve essere ancora supportato dalla versione yt-dlp installata.
+- Alcuni siti richiedono cookie, una sessione di accesso, un proxy o argomenti yt-dlp aggiuntivi a seconda dell'estrattore.
+- Se un sito non funziona, aggiorna prima yt-dlp dalla scheda di aggiornamento integrata prima di segnalare il problema.
+
+
+
+
+🧰 Opzioni multimediali e di download
+
+- **Opzioni sottotitoli:** Filtra le lingue e incorpora i sottotitoli nel file video
+- **Unione sottotitoli:** unisci i sottotitoli nel file video per i sottotitoli hardcoded
+- **Salva descrizione:** salva la descrizione del video come file di testo
+- **Salva miniatura:** salva la miniatura del video come file immagine
+- **Incorpora capitoli:** incorpora indicatori di capitolo come metadati per lettori video compatibili
+- **Rimuovi segmenti di sponsor:** rimuovi i segmenti di sponsor dal video utilizzando SponsorBlock
+- **Taglia video:** scarica solo parti specifiche di un video specificando gli intervalli di tempo nel formato `HH:MM:SS`
+
+
+
+
+⚙️ Impostazioni file e output
+
+- **Limitatore di velocità:** Limita la velocità di download, ad esempio `500K` per 500 KB/s
+- **Salva percorso di download:** salva il percorso di download predefinito per download futuri. Disponibile in **Impostazioni di download → Percorso di download**.
+- **Formato nome file di output:** Personalizza il formato del nome file di output utilizzando variabili come `%(title)s`, `%(uploader)s` e `%(resolution)s`. Disponibile in **Impostazioni download → Formato nome file**.
+- **Forza formato output:** forza i download dei video in un formato contenitore specifico come `mp4`, `webm` o `mkv`. Disponibile in **Impostazioni download → Impostazioni formato output**.
+- **Conversione del formato audio:** Converti i download solo audio nei formati preferiti come `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, o `Best`. Disponibile in **Impostazioni download → Impostazioni formato audio**.
+- **Normalizzazione audio:** Standardizza il volume per i download solo audio utilizzando EBU R128.
+
+
+
+
+🌐 Accesso e Rete
+
+- **Accedi con i cookie:** Accedi a YouTube utilizzando i cookie per accedere ai contenuti privati.
+ Come usarlo:
+ 1. **Consigliato:** utilizza l'opzione `Extract cookies from browser` integrata nell'app, quindi seleziona il browser e, facoltativamente, un profilo.
+ 2. In alternativa, estrarre manualmente i cookie:
+ un. Esporta i cookie dal tuo browser utilizzando un'estensione come [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
+ b. Copia i cookie in formato Netscape
+ c. Crea un file denominato `cookies.txt` e incollaci i cookie
+ d. Seleziona il file `cookies.txt` nell'app
+- **Supporto proxy:** utilizza un server proxy per i download, ad esempio `http://:`
+- **Modalità generica:** consente a YTSage di analizzare e scaricare da siti non YouTube supportati da yt-dlp. Abilitalo da **Impostazioni download → Modalità generica**.
+
+
+
+
+🛠️ Attrezzi e Manutenzione
+
+- **Comandi personalizzati:** accedi alle funzionalità avanzate di yt-dlp tramite argomenti della riga di comando
+- **Scheda Aggiornamento:** gestisci gli strumenti di aggiornamento integrati da un'unica posizione in Opzioni personalizzate:
+ - **Aggiornamenti yt-dlp:** controlla gli aggiornamenti e passa tra i canali di rilascio stabile e notturno
+ - **Controllo versione FFmpeg:** controlla la tua versione di FFmpeg e apri le guide di installazione
+ - **Aggiornamenti Deno:** controlla e aggiorna il runtime Deno
+- **Rilevamento FFmpeg/yt-dlp/Deno:** rileva automaticamente i percorsi e le versioni di FFmpeg, yt-dlp e Deno dalla finestra di dialogo Informazioni.
+- **Cronologia download:** visualizza i download precedenti con miniature e stati dal pulsante **Cronologia**.
+
+
+
+
+🌍 Localizzazione
+
+YTSage supporta **14 lingue** per l'accessibilità in tutto il mondo. Seleziona la tua lingua preferita da **Opzioni personalizzate → Lingua**.
+
+### Lingue supportate
+
+| Lingua | Codice | Lingua | Codice |
+|----------|------|----------|------|
+| 🇺🇸 Inglese | `en` | 🇪🇸Spagnolo | `es` |
+| 🇸🇦 Arabo | `ar` | 🇫🇷 Francese | `fr` |
+| 🇩🇪 Tedesco | `de` | 🇮🇳 Hindi | `hi` |
+| 🇮🇩 Indonesiano | `id` | 🇮🇹Italiano | `it` |
+| 🇯🇵Giapponese | `ja` | 🇵🇱 Polacco | `pl` |
+| 🇧🇷 Portoghese | `pt` | 🇷🇺 Russo | `ru` |
+| 🇹🇷 Turco | `tr` | 🇨🇳Cinese | `zh` |
+
+### Traduzioni README
+
+| Lingua | File | Lingua | File |
+|----------|------|----------|------|
+| 🇺🇸 Inglese | [README.md](../README.md) | 🇪🇸Spagnolo | [README.es.md](README.es.md)
+| 🇸🇦 Arabo | [README.ar.md](README.ar.md) | 🇫🇷 Francese | [README.fr.md](README.fr.md) |
+| 🇩🇪 Tedesco | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) |
+| 🇮🇩 Indonesiano | [README.id.md](README.id.md) | 🇮🇹Italiano | [README.it.md](README.it.md) |
+| 🇯🇵Giapponese | [README.ja.md](README.ja.md) | 🇵🇱 Polacco | [README.pl.md](README.pl.md) |
+| 🇧🇷 Portoghese | [README.pt.md](README.pt.md) | 🇷🇺 Russo | [README.ru.md](README.ru.md) |
+| 🇹🇷 Turco | [README.tr.md](README.tr.md) | 🇨🇳Cinese | [README.zh.md](README.zh.md) |
+
+> 💡 **Vuoi contribuire con una traduzione?** Dai un'occhiata alla sezione [Contributing](#contributing) per aiutarci ad aggiungere altre lingue!
+
+
+
+
+## 🛠️ Risoluzione dei problemi
+
+
+Fai clic per visualizzare problemi e soluzioni comuni
+
+- **La tabella di formato non viene visualizzata:** Aggiorna yt-dlp alla versione più recente e passa a yt-dlp ogni notte.
+- **Download non riuscito:** controlla la tua connessione Internet e assicurati che il video sia disponibile.
+- **Errori di download specifici:**
+ - **Video privati:** utilizza l'autenticazione tramite cookie per accedere ai contenuti privati.
+ - **Contenuti soggetti a limiti di età:** accedi all'account YouTube per visualizzare video soggetti a limiti di età.
+ - **Video geo-bloccati:** valuta la possibilità di utilizzare una VPN per aggirare le restrizioni regionali.
+ - **Video rimossi/eliminati:** il video non è più disponibile su YouTube.
+ - **Streaming live:** Gli streaming live non possono essere scaricati; attendere la fine dello streaming.
+ - **Errori di rete:** controlla la connessione Internet e riprova.
+ - **URL non validi:** assicurati che l'URL sia corretto e provenga da una piattaforma supportata.
+ - **Contenuti premium:** richiede l'abbonamento a YouTube Premium.
+ - **Blocchi dovuti al copyright:** Il contenuto è bloccato a causa di restrizioni sul copyright.
+- **Separare i file video e audio dopo il download:** Ciò accade quando FFmpeg manca o non viene rilevato. YTSage richiede FFmpeg per unire flussi video e audio di alta qualità.
+ - **Soluzione:** assicurati che FFmpeg sia installato e accessibile nel PATH del tuo sistema. Per gli utenti Windows, l'opzione più semplice è scaricare il file `YTSage-v-ffmpeg.exe`, fornito in bundle con FFmpeg.
+
+---
+
+#### 🛡️ Avviso Windows Defender/Antivirus
+
+Alcuni software antivirus potrebbero contrassegnare i file `.exe` come falsi positivi. Questa è una **limitazione nota** delle applicazioni in pacchetto.
+
+**Perché ciò accade:**
+- L'euristica dell'antivirus può identificare erroneamente gli eseguibili compressi come sospetti
+
+**Alternative sicure:**
+- ✅ **Utilizza installazione pip:** `pip install ytsage` (consigliato)
+- ✅ **Crea dal codice sorgente**: seguendo questo [guide](../.github/CI_CD_README.md)
+- ✅ **Autorizza l'applicazione** nel tuo software antivirus
+
+#### 🍎 macOS: "L'app è danneggiata e non può essere aperta"
+Se visualizzi questo errore su macOS Sonoma o versioni successive, devi rimuovere l'attributo quarantena.
+
+1. **Apri Terminale** (puoi trovarlo utilizzando Spotlight).
+2. **Digita il seguente comando** ma **non** premere ancora Invio. Assicurati di includere lo spazio alla fine:
+ ```bash
+ xattr -d com.apple.quarantine
+ ```
+3. **Trascina il file `YTSage.app`** dalla finestra del Finder e rilascialo direttamente nella finestra Terminale. Questo incollerà automaticamente il percorso file corretto.
+4. **Premere Invio** per eseguire il comando.
+5. **Prova ad aprire nuovamente YTSage.app.** Ora dovrebbe avviarsi correttamente.
+
+---
+
+#### **Posizioni di configurazione (avanzate)**
+- **Windows:** `%LOCALAPPDATA%\YTSage`
+- **macOS:** `~/Library/Application Support/YTSage`
+- **Linux:** `~/.local/share/YTSage`
+
+
+
+
+## 💖 Sponsor
+
+Se YTSage ti fa risparmiare tempo, valuta la possibilità di sponsorizzare il progetto. La sponsorizzazione aiuta a coprire i tempi di sviluppo, i test su tutte le piattaforme e i miglioramenti futuri.
+
+- Sponsor GitHub: https://github.com/sponsors/oop7
+- Il collegamento allo sponsor è disponibile anche direttamente all'interno dell'app dalla finestra di dialogo Informazioni.
+
+[](https://github.com/sponsors/oop7)
+
+
+## 👥 Contribuire
+
+Diamo il benvenuto ai contributi! Ecco come puoi aiutare:
+
+1. 🍴 Effettua il fork del repository
+2. 🌿 Crea il tuo ramo di funzionalità:
+ ```bash
+ git checkout -b feature/AmazingFeature
+ ```
+3. 💾 Applica le tue modifiche:
+ ```bash
+ git commit -m 'Add some AmazingFeature'
+ ```
+4. 📤 Spingere verso il ramo:
+ ```bash
+ git push origin feature/AmazingFeature
+ ```
+5. 🔄 Apri una richiesta di pull
+
+### 🌍 Contribuire alle traduzioni
+
+- Aggiorna il file README localizzato corrispondente (ad esempio `README.es.md`)
+- Mantieni sincronizzate le stringhe dell'app modificando `ytsage/languages/.json`
+- Se manca la tua lingua, inizia da `README.md` e crea `README..md`
+
+
+📂 Struttura del progetto
+
+## YTSage - Struttura del progetto
+
+Questo documento descrive la struttura di cartelle organizzata di YTSage.
+
+### 📁 Struttura del progetto
+
+```
+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
+```
+
+
+
+## ⭐️ Storia delle stelle
+
+
+
+## 📜 Licenza
+
+Questo progetto è concesso in licenza con la licenza MIT: per i dettagli vedere il file [LICENSE](../LICENSE).
+
+## 🙏Ringraziamenti
+
+
+Mostra Ringraziamenti
+
+
+
+
Un sentito ringraziamento a tutti coloro che hanno contribuito a questo progetto aprendo un issue per suggerire un miglioramento o segnalare un bug.
+
+
+
+## ⚠️ Disclaimer
+
+Questo strumento è solo per uso personale. Rispetta i termini di servizio di YouTube e i diritti dei creatori di contenuti.
+
+---
+
+
+
+Realizzato con ❤️ da [oop7](https://github.com/oop7)
+
+
diff --git a/readme-translations/README.ja.md b/readme-translations/README.ja.md
new file mode 100644
index 0000000..2787fdf
--- /dev/null
+++ b/readme-translations/README.ja.md
@@ -0,0 +1,617 @@
+
+
+---
+
+
+## ❓ Dlaczego YTSage?
+
+YTSage jest przeznaczony dla użytkowników, którzy chcą **prostego, ale potężnego narzędzia do pobierania YouTube**. W odróżnieniu od innych narzędzi oferuje:
+
+- Czysty, nowoczesny interfejs PySide6
+- Pobieranie wideo, audio i napisów jednym kliknięciem
+- Zaawansowane funkcje, takie jak SponsorBlock, łączenie napisów i wybór listy odtwarzania
+- Opcjonalny tryb ogólny dla witryn obsługujących yt-dlp poza YouTube
+- Obsługa wielu platform i łatwa instalacja
+
+
+## ✨ Funkcje
+
+
+
+| Podstawowe funkcje | Zaawansowane funkcje | Dodatkowe funkcje |
+|----------------------------------|------------------------------------------------------|-----------------------------------|
+| 🎥 Formatuj tabelę | 🚫 Integracja z blokiem sponsorskim | 🎞️ Wyświetlacz FPS/HDR |
+| 🎵 Ekstrakcja dźwięku | 📝 Wybierz i połącz wiele napisów | 🔄 Automatyczna aktualizacja yt-dlp |
+| ✨ Prosty interfejs użytkownika | 💾 Zapisz opis i miniaturę | 🛠️ Wykrywanie FFmpeg/yt-dlp/Deno |
+| 📋 Obsługa i wybór list odtwarzania | 🚀 Ogranicznik prędkości | ⚙️ Polecenia niestandardowe |
+| 📑 Umieść rozdziały | ✂️ Przytnij sekcje wideo | 🍪 Zaloguj się za pomocą plików cookie |
+| 📜 Pobierz historię | 🔄 Zwolnij wybór kanału | 🌐 Wsparcie proxy |
+| 🎚️ Konwersja formatu audio | 🎬 Ustawienia formatu wideo | 🆙 Wbudowana zakładka Aktualizator |
+| 🌍 Tryb ogólny | 🔊 Normalizacja dźwięku (EBU R128) | 🌍 Lokalizacja w 14 językach |
+
+
+
+## 🚀 Instalacja
+
+### ⚡ Szybka instalacja (zalecane)
+
+Zainstaluj YTSage z PyPI:
+
+```bash
+pip install ytsage
+```
+
+
+🔄 Zaktualizuj istniejącą instalację
+
+```bash
+pip install --upgrade ytsage
+```
+
+
+
+Następnie uruchom aplikację:
+
+```bash
+ytsage
+```
+
+### 📦 Gotowe pliki wykonywalne
+
+> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
+
+#### 🪟 Okna
+
+| Formatuj | Opis |
+|------------|------------|
+|  | Standardowy instalator |
+|  | Z pakietem FFmpeg |
+|  | Wersja przenośna, nie wymaga instalacji |
+|  | Przenośny z FFmpeg, spakowany |
+
+
+🛠️ Kroki instalacji
+
+1. **Instalator EXE (`.exe`)**: Kliknij dwukrotnie plik i postępuj zgodnie z instrukcjami kreatora instalacji.
+2. **Wersja przenośna (`.zip`)**: Wypakuj archiwum do wybranej lokalizacji i uruchom `ytsage.exe`.
+3. **FFmpeg w pakiecie**: Wybierz wersję w pakiecie FFmpeg, jeśli nie masz zainstalowanego FFmpeg w swoim systemie.
+
+
+#### 🐧 Linux
+
+| Formatuj | Opis |
+|------------|------------|
+|  | Pakiet Debiana |
+|  | Obraz aplikacji, przenośny |
+|  | Pakiet RPM |
+|  | Pakiet Flatpak |
+
+
+🛠️ Kroki instalacji
+
+- **DEB (`.deb`)**:
+ ```bash
+ sudo dpkg -i ytsage_*.deb
+ sudo apt-get install -f # Fix missing dependencies if any
+ ```
+- **RPM (`.rpm`)**:
+ ```bash
+ sudo rpm -i ytsage-*.rpm
+ ```
+- **Obraz aplikacji (`.AppImage`)**:
+ ```bash
+ chmod +x YTSage-*.AppImage
+ ./YTSage-*.AppImage
+ ```
+- **Flatpak**: Postępuj zgodnie z instrukcjami na Flathubie lub uruchom:
+ ```bash
+ flatpak install flathub io.github.oop7.ytsage
+ ```
+
+
+#### 🍎 macOS
+
+| Formatuj | Opis |
+|------------|------------|
+|  | Spakowana aplikacja dla Apple Silicon |
+|  | Instalator obrazu dysku dla Apple Silicon |
+
+
+🛠️ Kroki instalacji
+
+- **Instalator DMG (`.dmg`)**: Kliknij dwukrotnie, aby zamontować, a następnie przeciągnij `YTSage.app` do folderu Aplikacje.
+- **Archiwum aplikacji (`.zip`)**: Wypakuj plik ZIP i przenieś `YTSage.app` do folderu Aplikacje.
+
+*Uwaga: jeśli napotkasz błąd „Aplikacja jest uszkodzona”, zobacz [macOS troubleshooting section](#troubleshooting) poniżej.*
+
+
+---
+
+
+💻 Instalacja ręczna ze źródła
+
+### 1. Sklonuj repozytorium
+
+```bash
+git clone https://github.com/oop7/YTSage.git
+cd YTSage
+```
+
+### 2. Zainstaluj zależności
+
+#### ⚡ Z uv
+
+```bash
+uv pip install .
+```
+
+#### 📦 Lub ze standardową końcówką
+
+```bash
+pip install .
+```
+
+### 3. Uruchom aplikację
+
+```bash
+python -m ytsage.main
+```
+
+
+
+
+## 📸 Zrzuty ekranu
+
+
+
+
+
+
+
+
+
Pobierz ustawienia
+
Pobieranie listy odtwarzania
+
+
+
+
+
+
+
Format audio
+
Opcje niestandardowe
+
+
+
+
+## 📖 Użycie
+
+
+🎯 Podstawowe użycie
+
+1. **Uruchom YTSage**
+2. **Wklej adres URL YouTube** (lub użyj przycisku „Wklej adres URL”)
+3. **Kliknij „Analizuj”**
+4. **Wybierz format:**
+ - `Video` do pobierania plików wideo
+ - `Audio Only` do ekstrakcji dźwięku
+5. **Wybierz opcje:**
+ - Włącz napisy i wybierz język
+ - Włącz scalanie napisów
+ - Zapisz miniaturę
+ - Usuń segmenty sponsorów
+ - Zapisz opis
+ - Osadzaj rozdziały
+6. **Wybierz katalog wyjściowy**
+7. **Kliknij „Pobierz”**
+
+> 💡 Domyślnym katalogiem pobierania jest folder „Pobrane” użytkownika.
+
+
+
+
+📋 Pobieranie listy odtwarzania
+
+1. **Wklej adres URL listy odtwarzania**
+2. **Kliknij „Analizuj”**
+3. **Wybierz filmy z selektora playlist (opcjonalnie, domyślnie wszystkie)**
+4. **Wybierz żądany format/jakość**
+5. **Kliknij „Pobierz”**
+
+> 💡 Aplikacja automatycznie obsługuje kolejkę pobierania
+
+
+
+
+🌍 Tryb ogólny dla witryn innych niż YouTube
+
+Użyj trybu ogólnego, jeśli chcesz, aby YTSage akceptował adresy URL z witryn obsługiwanych przez yt-dlp, takich jak Dailymotion, CBC Gem, TikTok i inne.
+
+Jak z niego korzystać:
+
+1. Otwórz `Download Settings`.
+2. Włącz `Generic Mode`.
+3. Wklej obsługiwany adres URL filmu lub listy odtwarzania spoza YouTube.
+4. Kliknij `Analyze`.
+5. Wybierz format i pobierz jak zwykle.
+
+Uwagi:
+
+- Tryb ogólny zmienia tylko weryfikację adresu URL w YTSage. Witryna docelowa musi nadal być obsługiwana przez zainstalowaną wersję yt-dlp.
+- Niektóre witryny wymagają plików cookie, sesji logowania, serwera proxy lub dodatkowych argumentów yt-dlp, w zależności od ekstraktora.
+- Jeśli witryna ulegnie awarii, przed zgłoszeniem problemu zaktualizuj najpierw yt-dlp z wbudowanej karty aktualizatora.
+
+
+
+
+🧰 Opcje multimediów i pobierania
+
+- **Opcje napisów:** Filtruj języki i osadzaj napisy w pliku wideo
+- **Scalanie napisów:** Łączenie napisów z plikiem wideo w celu uzyskania napisów zakodowanych na stałe
+- **Zapisz opis:** Zapisz opis filmu jako plik tekstowy
+- **Zapisz miniaturę:** zapisz miniaturę wideo jako plik obrazu
+- **Osadzanie rozdziałów:** Osadzanie znaczników rozdziałów jako metadanych dla zgodnych odtwarzaczy wideo
+- **Usuń segmenty sponsora:** Usuń segmenty sponsora z filmu za pomocą funkcji SponsorBlock
+- **Przytnij wideo:** Pobierz tylko określone fragmenty filmu, określając zakresy czasu w formacie `HH:MM:SS`
+
+
+
+
+⚙️ Ustawienia wyjściowe i plikowe
+
+- **Ogranicznik prędkości:** Ogranicz prędkość pobierania, na przykład `500K` dla 500 KB/s
+- **Zapisz ścieżkę pobierania:** zapisz domyślną ścieżkę pobierania dla przyszłych pobrań. Dostępne w **Ustawienia pobierania → Ścieżka pobierania**.
+- **Format nazwy pliku wyjściowego:** Dostosuj format nazwy pliku wyjściowego za pomocą zmiennych takich jak `%(title)s`, `%(uploader)s` i `%(resolution)s`. Dostępne w **Ustawienia pobierania → Format nazwy pliku**.
+- **Wymuś format wyjściowy:** Wymuś pobieranie plików wideo w określonym formacie kontenera, takim jak `mp4`, `webm` lub `mkv`. Dostępne w **Ustawienia pobierania → Ustawienia formatu wyjściowego**.
+- **Konwersja formatu audio:** Konwertuj pliki do pobrania zawierające wyłącznie dźwięk do preferowanych formatów, takich jak `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` lub `Best`. Dostępne w **Ustawienia pobierania → Ustawienia formatu audio**.
+- **Normalizacja dźwięku:** Ujednolicenie głośności pobieranych plików zawierających wyłącznie dźwięk za pomocą EBU R128.
+
+
+
+
+🌐 Dostęp i sieć
+
+- **Zaloguj się za pomocą plików cookie:** zaloguj się do YouTube za pomocą plików cookie, aby uzyskać dostęp do prywatnych treści.
+ Jak z niego korzystać:
+ 1. **Zalecane:** Skorzystaj z wbudowanej opcji `Extract cookies from browser` w aplikacji, a następnie wybierz przeglądarkę i opcjonalnie profil.
+ 2. Alternatywnie wyodrębnij pliki cookie ręcznie:
+ a. Eksportuj pliki cookie ze swojej przeglądarki za pomocą rozszerzenia takiego jak [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
+ b. Skopiuj pliki cookie w formacie Netscape
+ c. Utwórz plik o nazwie `cookies.txt` i wklej do niego pliki cookie
+ d. Wybierz plik `cookies.txt` w aplikacji
+- **Obsługa proxy:** Do pobierania używaj serwera proxy, na przykład `http://:`
+- **Tryb ogólny:** Zezwól YTSage na analizowanie i pobieranie z witryn innych niż YouTube obsługiwanych przez yt-dlp. Włącz tę opcję w **Ustawienia pobierania → Tryb ogólny**.
+
+
+
+
+🛠️ Narzędzia i konserwacja
+
+- **Niestandardowe polecenia:** Dostęp do zaawansowanych funkcji yt-dlp poprzez argumenty wiersza poleceń
+- **Karta Aktualizator:** Zarządzaj wbudowanymi narzędziami aktualizacji z jednego miejsca w Opcjach niestandardowych:
+ - **Aktualizacje yt-dlp:** sprawdź dostępność aktualizacji i przełączaj się między kanałami wersji stabilnej i nocnej
+ - **Kontrola wersji FFmpeg:** Sprawdź wersję FFmpeg i otwórz przewodniki instalacji
+ - **Aktualizacje Deno:** Sprawdź i zaktualizuj środowisko wykonawcze Deno
+- **Wykrywanie FFmpeg/yt-dlp/Deno:** Automatycznie wykrywa ścieżki i wersje FFmpeg, yt-dlp i Deno w oknie dialogowym Informacje.
+- **Historia pobierania:** Przeglądaj wcześniejsze pobrania z miniaturami i statusami za pomocą przycisku **Historia**.
+
+
+
+
+🌍 Lokalizacja
+
+YTSage obsługuje **14 języków**, zapewniając dostępność na całym świecie. Wybierz preferowany język z **Opcje niestandardowe → Język**.
+
+### Obsługiwane języki
+
+| Język | Kod | Język | Kod |
+|---------|------|----------|------|
+| 🇺🇸 Angielski | `en` | 🇪🇸 Hiszpański | `es` |
+| 🇸🇦 arabski | `ar` | 🇫🇷 Francuski | `fr` |
+| 🇩🇪 niemiecki | `de` | 🇮🇳 hindi | `hi` |
+| 🇮🇩 Indonezyjski | `id` | 🇮🇹 włoski | `it` |
+| 🇯🇵 Japoński | `ja` | 🇵🇱polski | `pl` |
+| 🇧🇷 portugalski | `pt` | 🇷🇺 Rosyjski | `ru` |
+| 🇹🇷 Turecki | `tr` | 🇨🇳 chiński | `zh` |
+
+### Tłumaczenia README
+
+| Język | Plik | Język | Plik |
+|---------|------|----------|------|
+| 🇺🇸 Angielski | [README.md](../README.md) | 🇪🇸 Hiszpański | [README.es.md](README.es.md)
+| 🇸🇦 arabski | [README.ar.md](README.ar.md) | 🇫🇷 Francuski | [README.fr.md](README.fr.md) |
+| 🇩🇪 niemiecki | [README.de.md](README.de.md) | 🇮🇳 hindi | [README.hi.md](README.hi.md) |
+| 🇮🇩 Indonezyjski | [README.id.md](README.id.md) | 🇮🇹 włoski | [README.it.md](README.it.md) |
+| 🇯🇵 Japoński | [README.ja.md](README.ja.md) | 🇵🇱polski | [README.pl.md](README.pl.md) |
+| 🇧🇷 portugalski | [README.pt.md](README.pt.md) | 🇷🇺 Rosyjski | [README.ru.md](README.ru.md) |
+| 🇹🇷 Turecki | [README.tr.md](README.tr.md) | 🇨🇳 chiński | [README.zh.md](README.zh.md) |
+
+> 💡 **Chcesz dodać tłumaczenie?** Sprawdź sekcję [Contributing](#contributing), aby pomóc nam dodać więcej języków!
+
+
+
+
+## 🛠️ Rozwiązywanie problemów
+
+
+Kliknij, aby wyświetlić typowe problemy i rozwiązania
+
+- **Tabela formatów nie wyświetla się:** Aktualizuj yt-dlp do najnowszej wersji i co wieczór przełączaj się na yt-dlp.
+- **Pobieranie nie powiodło się:** Sprawdź swoje połączenie internetowe i upewnij się, że plik wideo jest dostępny.
+- **Specyficzne błędy pobierania:**
+ - **Prywatne filmy:** Użyj uwierzytelniania plików cookie, aby uzyskać dostęp do prywatnych treści.
+ - **Treści z ograniczeniami wiekowymi:** Zaloguj się do konta YouTube, aby oglądać filmy z ograniczeniami wiekowymi.
+ - **Filmy z blokadą geograficzną:** rozważ użycie VPN w celu ominięcia ograniczeń regionalnych.
+ - **Usunięte/usunięte filmy:** Film nie jest już dostępny w serwisie YouTube.
+ - **Transmisje na żywo:** Transmisji na żywo nie można pobrać; poczekaj, aż strumień się zakończy.
+ - **Błędy sieciowe:** Sprawdź swoje połączenie internetowe i spróbuj ponownie.
+ - **Nieprawidłowe adresy URL:** Upewnij się, że adres URL jest poprawny i pochodzi z obsługiwanej platformy.
+ – **Treści premium:** wymaga członkostwa YouTube Premium.
+ - **Bloki dotyczące praw autorskich:** Treść jest blokowana ze względu na ograniczenia praw autorskich.
+- **Oddziel pliki wideo i audio po pobraniu:** Dzieje się tak, gdy brakuje FFmpeg lub nie został on wykryty. YTSage wymaga FFmpeg do łączenia wysokiej jakości strumieni wideo i audio.
+ - **Rozwiązanie:** Upewnij się, że FFmpeg jest zainstalowany i dostępny w PATH twojego systemu. Dla użytkowników systemu Windows najłatwiejszą opcją jest pobranie pliku `YTSage-v-ffmpeg.exe`, który jest dostarczany w pakiecie z FFmpeg.
+
+---
+
+#### 🛡️ Ostrzeżenie o programie Windows Defender/antywirusie
+
+Niektóre programy antywirusowe mogą oznaczać pliki `.exe` jako fałszywe alarmy. Jest to **znane ograniczenie** aplikacji w pakietach.
+
+**Dlaczego tak się dzieje:**
+- Heurystyka antywirusowa może błędnie zidentyfikować spakowane pliki wykonywalne jako podejrzane
+
+**Bezpieczne alternatywy:**
+- ✅ **Użyj instalacji pip:** `pip install ytsage` (zalecane)
+- ✅ **Kompiluj ze źródła**: postępując zgodnie z tym [guide](../.github/CI_CD_README.md)
+- ✅ **Dodaj aplikację do białej listy** w swoim oprogramowaniu antywirusowym
+
+#### 🍎 macOS: „Aplikacja jest uszkodzona i nie można jej otworzyć”
+Jeśli widzisz ten błąd w systemie macOS Sonoma lub nowszym, musisz usunąć atrybut kwarantanny.
+
+1. **Otwórz Terminal** (możesz go znaleźć za pomocą Spotlight).
+2. **Wpisz następujące polecenie**, ale **nie** jeszcze naciskaj Enter. Pamiętaj o dodaniu spacji na końcu:
+ ```bash
+ xattr -d com.apple.quarantine
+ ```
+3. **Przeciągnij plik `YTSage.app`** z okna Findera i upuść go bezpośrednio w oknie Terminala. Spowoduje to automatyczne wklejenie prawidłowej ścieżki pliku.
+4. **Naciśnij Enter**, aby uruchomić polecenie.
+5. **Spróbuj ponownie otworzyć YTSage.app.** Powinna teraz uruchomić się poprawnie.
+
+---
+
+#### **Lokacje konfiguracji (zaawansowane)**
+- **Windows:** `%LOCALAPPDATA%\YTSage`
+- **macOS:** `~/Library/Application Support/YTSage`
+- **Linux:** `~/.local/share/YTSage`
+
+
+
+
+## 💖 Sponsor
+
+Jeśli YTSage pozwoli Ci zaoszczędzić czas, rozważ sponsorowanie projektu. Sponsoring pomaga pokryć czas opracowywania, testowania na różnych platformach i przyszłych ulepszeń.
+
+- Sponsorzy GitHuba: https://github.com/sponsors/oop7
+- Link sponsora jest również dostępny bezpośrednio w aplikacji, w oknie dialogowym Informacje.
+
+[](https://github.com/sponsors/oop7)
+
+
+## 👥 Wkład
+
+Zapraszamy do wpłat! Oto jak możesz pomóc:
+
+1. 🍴Rozwidl repozytorium
+2. 🌿 Utwórz gałąź funkcji:
+ ```bash
+ git checkout -b feature/AmazingFeature
+ ```
+3. 💾 Zatwierdź zmiany:
+ ```bash
+ git commit -m 'Add some AmazingFeature'
+ ```
+4. 📤 Pchnij do oddziału:
+ ```bash
+ git push origin feature/AmazingFeature
+ ```
+5. 🔄 Otwórz żądanie ściągnięcia
+
+### 🌍 Tłumaczenia wspierające
+
+- Zaktualizuj pasujący zlokalizowany plik README (na przykład `README.es.md`)
+- Synchronizuj ciągi aplikacji, edytując `ytsage/languages/.json`
+- Jeśli brakuje Twojego języka, zacznij od `README.md` i utwórz `README..md`
+
+
+📂 Struktura projektu
+
+## YTSage – Struktura projektu
+
+Ten dokument opisuje zorganizowaną strukturę folderów YTSage.
+
+### 📁 Struktura projektu
+
+```
+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
+```
+
+
+
+## ⭐️ Historia gwiazd
+
+
+
+## 📜Licencja
+
+Ten projekt jest objęty licencją MIT — szczegółowe informacje można znaleźć w pliku [LICENSE](../LICENSE).
+
+## 🙏 Podziękowania
+
+
+Pokaż podziękowania
+
+
+
+
Serdecznie dziękujemy wszystkim, którzy przyczynili się do tego projektu, otwierając problem, aby zasugerować ulepszenie lub zgłosić błąd.
+
+
+
+## ⚠️ Zastrzeżenie
+
+To narzędzie jest przeznaczone wyłącznie do użytku osobistego. Prosimy o przestrzeganie warunków korzystania z usługi YouTube i praw twórców treści.
+
+---
+
+
+
+Wykonane z ❤️ przez [oop7](https://github.com/oop7)
+
+
diff --git a/readme-translations/README.pt.md b/readme-translations/README.pt.md
new file mode 100644
index 0000000..ca7bd2a
--- /dev/null
+++ b/readme-translations/README.pt.md
@@ -0,0 +1,618 @@
+
+
+
+
+
+[](https://www.python.org/downloads/)
+[](https://pepy.tech/project/ytsage)
+[](https://github.com/oop7/YTSage/releases)
+[](https://opensource.org/licenses/MIT)
+[](https://github.com/oop7/YTSage/releases)
+[](https://github.com/oop7/YTSage/stargazers)
+[](https://pypi.org/project/ytsage/)
+[](https://github.com/sponsors/oop7)
+
+**Um downloader moderno do YouTube com uma interface PySide6 limpa.**
+Baixe vídeos em qualquer qualidade, extraia áudio, busque legendas e muito mais.
+
+### 🌍 LEIA-ME Idiomas
+
+Inglês: [EN](../README.md)
+| Nome: [AR](README.ar.md)
+| Alemão: [DE](README.de.md)
+| Espanhol: [ES](README.es.md)
+| Francês: [FR](README.fr.md)
+| Nome: [HI](README.hi.md)
+| Bahasa Indonésia: [ID](README.id.md)
+| Italiano: [IT](README.it.md)
+| Nome do usuário: [JA](README.ja.md)
+| Polaco: [PL](README.pl.md)
+| Português: [PT](README.pt.md)
+| Russo: [RU](README.ru.md)
+| Turco: [TR](README.tr.md)
+| 中文: [ZH](README.zh.md)
+
+
+
+---
+
+
+## ❓ Por que YTSage?
+
+YTSage foi projetado para usuários que desejam um **baixador de YouTube simples, mas poderoso**. Ao contrário de outras ferramentas, oferece:
+
+- Uma interface PySide6 limpa e moderna
+- Downloads com um clique para vídeo, áudio e legendas
+- Recursos avançados como SponsorBlock, mesclagem de legendas e seleção de playlist
+- Modo genérico opcional para sites compatíveis com yt-dlp além do YouTube
+- Suporte multiplataforma e fácil instalação
+
+
+## ✨ Recursos
+
+
+
+| Recursos principais | Recursos Avançados | Recursos extras |
+|-----------------------------------|---------------------------------------------------|-----------------------------------|
+| 🎥 Tabela de Formatos | 🚫 Integração SponsorBlock | 🎞️ Tela FPS/HDR |
+| 🎵 Extração de Áudio | 📝 Seleção e mesclagem de múltiplas legendas | 🔄 Atualização automática do yt-dlp |
+| ✨ UI simples | 💾 Salvar descrição e miniatura | 🛠️ Detecção de FFmpeg/yt-dlp/Deno |
+| 📋 Suporte e seletor de lista de reprodução | 🚀 Limitador de velocidade | ⚙️ Comandos personalizados |
+| 📑 Incorporar capítulos | ✂️ Cortar seções de vídeo | 🍪 Login com Cookies |
+| 📜 Histórico de downloads | 🔄 Seleção de canal de lançamento | 🌐 Suporte a proxy |
+| 🎚️ Conversão de formato de áudio | 🎬 Configurações de formato de vídeo | 🆙 Guia Atualizador integrado |
+| 🌍 Modo Genérico | 🔊 Normalização de Áudio (EBU R128) | 🌍 Localização em 14 idiomas |
+
+
+
+## 🚀 Instalação
+
+### ⚡ Instalação rápida (recomendado)
+
+Instale YTSage do PyPI:
+
+```bash
+pip install ytsage
+```
+
+
+🔄 Atualizar uma instalação existente
+
+```bash
+pip install --upgrade ytsage
+```
+
+
+
+Em seguida, inicie o aplicativo:
+
+```bash
+ytsage
+```
+
+### 📦 Executáveis pré-construídos
+
+> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
+
+#### 🪟 Janelas
+
+| Formato | Descrição |
+|--------|------------|
+|  | Instalador padrão |
+|  | Com FFmpeg incluído |
+|  | Versão portátil, sem necessidade de instalação |
+|  | Portátil com FFmpeg, compactado |
+
+
+🛠️ Etapas de instalação
+
+1. **EXE Installer (`.exe`)**: Clique duas vezes no arquivo e siga o assistente de configuração.
+2. **Versão portátil (`.zip`)**: Extraia o arquivo para o local desejado e execute `ytsage.exe`.
+3. **FFmpeg Bundled**: Escolha as versões empacotadas do FFmpeg se você não tiver o FFmpeg instalado em seu sistema.
+
+
+#### 🐧Linux
+
+| Formato | Descrição |
+|--------|------------|
+|  | Pacote Debian |
+|  | AppImage, portátil |
+|  | Pacote RPM |
+|  | Pacote Flatpak |
+
+
+🛠️ Etapas de instalação
+
+- **DEB (`.deb`)**:
+ ```bash
+ sudo dpkg -i ytsage_*.deb
+ sudo apt-get install -f # Fix missing dependencies if any
+ ```
+- **RPM (`.rpm`)**:
+ ```bash
+ sudo rpm -i ytsage-*.rpm
+ ```
+- **AppImage (`.AppImage`)**:
+ ```bash
+ chmod +x YTSage-*.AppImage
+ ./YTSage-*.AppImage
+ ```
+- **Flatpak**: Siga as instruções no Flathub ou execute:
+ ```bash
+ flatpak install flathub io.github.oop7.ytsage
+ ```
+
+
+#### 🍎 macOS
+
+| Formato | Descrição |
+|--------|------------|
+|  | Aplicativo compactado para Apple Silicon |
+|  | Instalador de imagem de disco para Apple Silicon |
+
+
+🛠️ Etapas de instalação
+
+- **Instalador DMG (`.dmg`)**: Clique duas vezes para montar e arraste `YTSage.app` para a pasta Aplicativos.
+- **Arquivo de aplicativos (`.zip`)**: Extraia o zip e mova `YTSage.app` para a pasta Aplicativos.
+
+*Observação: se você encontrar um erro "O aplicativo está danificado", consulte [macOS troubleshooting section](#troubleshooting) abaixo.*
+
+
+---
+
+
+💻 Instalação manual da fonte
+
+### 1. Clone o repositório
+
+```bash
+git clone https://github.com/oop7/YTSage.git
+cd YTSage
+```
+
+### 2. Instalar dependências
+
+#### ⚡ Com UV
+
+```bash
+uv pip install .
+```
+
+#### 📦 Ou com pip padrão
+
+```bash
+pip install .
+```
+
+### 3. Execute o aplicativo
+
+```bash
+python -m ytsage.main
+```
+
+
+
+
+## 📸 Capturas de tela
+
+
+
+
+
+
+
+
+
Configurações de download
+
Baixar lista de reprodução
+
+
+
+
+
+
+
Formato de áudio
+
Opções personalizadas
+
+
+
+
+## 📖 Uso
+
+
+🎯 Uso Básico
+
+1. **Inicie o YTSage**
+2. **Colar URL do YouTube** (ou usar o botão "Colar URL")
+3. **Clique em "Analisar"**
+4. **Selecione Formato:**
+ - `Video` para downloads de vídeos
+ - `Audio Only` para extração de áudio
+5. **Escolha Opções:**
+ - Ative legendas e selecione o idioma
+ - Ativar mesclagem de legendas
+ - Salvar miniatura
+ - Remover segmentos de patrocinadores
+ - Salvar descrição
+ - Incorporar capítulos
+6. **Selecione Diretório de Saída**
+7. **Clique em "Baixar"**
+
+> 💡 O diretório de download padrão é a pasta "Downloads" do usuário.
+
+
+
+
+📋 Baixar lista de reprodução
+
+1. **Colar URL da lista de reprodução**
+2. **Clique em "Analisar"**
+3. **Selecione vídeos no seletor de playlist (opcional, o padrão é todos)**
+4. **Escolha o formato/qualidade desejado**
+5. **Clique em "Baixar"**
+
+> 💡 O aplicativo gerencia automaticamente a fila de download
+
+
+
+
+🌍 Modo genérico para sites que não são do YouTube
+
+Use o modo genérico quando quiser que o YTSage aceite URLs de sites suportados pelo yt-dlp, como Dailymotion, CBC Gem, TikTok e outros.
+
+Como usar:
+
+1. Abra `Download Settings`.
+2. Ative `Generic Mode`.
+3. Cole um URL de vídeo ou lista de reprodução compatível que não seja do YouTube.
+4. Clique em `Analyze`.
+5. Escolha um formato e baixe normalmente.
+
+Notas:
+
+- O Modo Genérico altera apenas a validação de URL dentro do YTSage. O site de destino ainda deve ser compatível com a versão yt-dlp instalada.
+- Alguns sites exigem cookies, uma sessão de login, um proxy ou argumentos yt-dlp extras, dependendo do extrator.
+- Se um site falhar, atualize o yt-dlp primeiro na guia do atualizador integrado antes de relatar o problema.
+
+
+
+
+🧰 Opções de mídia e download
+
+- **Opções de legenda:** Filtre idiomas e incorpore legendas no arquivo de vídeo
+- **Mesclagem de legendas:** Mesclar legendas no arquivo de vídeo para legendas codificadas
+- **Salvar descrição:** Salve a descrição do vídeo como um arquivo de texto
+- **Salvar miniatura:** Salve a miniatura do vídeo como um arquivo de imagem
+- **Incorporar capítulos:** Incorpore marcadores de capítulo como metadados para players de vídeo compatíveis
+- **Remover segmentos de patrocinadores:** Remova segmentos de patrocinadores do vídeo usando SponsorBlock
+- **Cortar vídeo:** baixe apenas partes específicas de um vídeo especificando intervalos de tempo no formato `HH:MM:SS`
+
+
+
+
+⚙️ Configurações de saída e arquivo
+
+- **Limitador de velocidade:** Limite a velocidade de download, por exemplo `500K` para 500 KB/s
+- **Salvar caminho de download:** Salve o caminho de download padrão para downloads futuros. Disponível em **Configurações de download → Caminho de download**.
+- **Formato do nome do arquivo de saída:** Personalize o formato do nome do arquivo de saída usando variáveis como `%(title)s`, `%(uploader)s` e `%(resolution)s`. Disponível em **Configurações de download → Formato do nome do arquivo**.
+- **Forçar formato de saída:** Força downloads de vídeo em um formato de contêiner específico, como `mp4`, `webm` ou `mkv`. Disponível em **Configurações de download → Configurações de formato de saída**.
+- **Conversão de formato de áudio:** Converta downloads somente de áudio para formatos preferidos, como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` ou `Best`. Disponível em **Configurações de download → Configurações de formato de áudio**.
+- **Normalização de áudio:** Padronize o volume para downloads somente de áudio usando EBU R128.
+
+
+
+
+🌐 Acesso e Rede
+
+- **Login com Cookies:** Faça login no YouTube usando cookies para acessar conteúdo privado.
+ Como usar:
+ 1. **Recomendado:** Use a opção `Extract cookies from browser` integrada no aplicativo e selecione seu navegador e, opcionalmente, um perfil.
+ 2. Como alternativa, extraia os cookies manualmente:
+ uma. Exporte cookies do seu navegador usando uma extensão como [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
+ b. Copie os cookies no formato Netscape
+ c. Crie um arquivo chamado `cookies.txt` e cole os cookies nele
+ d. Selecione o arquivo `cookies.txt` no aplicativo
+- **Suporte a proxy:** Use um servidor proxy para downloads, por exemplo `http://:`
+- **Modo genérico:** permite que o YTSage analise e faça download de sites que não sejam do YouTube suportados pelo yt-dlp. Habilite-o em **Configurações de download → Modo genérico**.
+
+
+
+
+🛠️ Ferramentas e Manutenção
+
+- **Comandos personalizados:** Acesse recursos avançados do yt-dlp por meio de argumentos de linha de comando
+- **Guia Atualizador:** Gerencie ferramentas de atualização integradas em um só lugar nas Opções Personalizadas:
+ - **Atualizações do yt-dlp:** verifique se há atualizações e alterne entre canais de lançamento estável e noturno
+ - **Verificador de versão do FFmpeg:** Verifique sua versão do FFmpeg e abra os guias de instalação
+ - **Atualizações do Deno:** Verifique e atualize o tempo de execução do Deno
+- **Detecção de FFmpeg/yt-dlp/Deno:** Detecta automaticamente caminhos e versões de FFmpeg, yt-dlp e Deno na caixa de diálogo Sobre.
+- **Histórico de downloads:** Veja downloads anteriores com miniaturas e status no botão **Histórico**.
+
+
+
+
+🌍 Localização
+
+YTSage oferece suporte a **14 idiomas** para acessibilidade mundial. Selecione seu idioma preferido em **Opções personalizadas → Idioma**.
+
+### Idiomas Suportados
+
+| Idioma | Código | Idioma | Código |
+|----------|------|----------|------|
+| 🇺🇸 Inglês | `en` | 🇪🇸 Espanhol | `es` |
+| 🇸🇦 Árabe | `ar` | 🇫🇷 Francês | `fr` |
+| 🇩🇪 Alemão | `de` | 🇮🇳 Hindi | `hi` |
+| 🇮🇩 Indonésio | `id` | 🇮🇹 Italiano | `it` |
+| 🇯🇵 Japonês | `ja` | 🇵🇱 Polonês | `pl` |
+| 🇧🇷 Português | `pt` | 🇷🇺 Russo | `ru` |
+| 🇹🇷 Turco | `tr` | 🇨🇳 Chinês | `zh` |
+
+### LEIA-ME Traduções
+
+| Idioma | Arquivo | Idioma | Arquivo |
+|----------|------|----------|------|
+| 🇺🇸 Inglês | [README.md](../README.md) | 🇪🇸 Espanhol | [README.es.md](README.es.md)
+| 🇸🇦 Árabe | [README.ar.md](README.ar.md) | 🇫🇷 Francês | [README.fr.md](README.fr.md) |
+| 🇩🇪 Alemão | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) |
+| 🇮🇩 Indonésio | [README.id.md](README.id.md) | 🇮🇹 Italiano | [README.it.md](README.it.md) |
+| 🇯🇵 Japonês | [README.ja.md](README.ja.md) | 🇵🇱 Polonês | [README.pl.md](README.pl.md) |
+| 🇧🇷 Português | [README.pt.md](README.pt.md) | 🇷🇺 Russo | [README.ru.md](README.ru.md) |
+| 🇹🇷 Turco | [README.tr.md](README.tr.md) | 🇨🇳 Chinês | [README.zh.md](README.zh.md) |
+
+> 💡 **Quer contribuir com uma tradução?** Confira a seção [Contributing](#contributing) para nos ajudar a adicionar mais idiomas!
+
+
+
+
+## 🛠️ Solução de problemas
+
+
+Clique para ver problemas e soluções comuns
+
+- **Tabela de formato não exibida:** Atualize yt-dlp para a versão mais recente e mude para yt-dlp todas as noites.
+- **Falha no download:** Verifique sua conexão com a Internet e certifique-se de que o vídeo esteja disponível.
+- **Erros específicos de download:**
+ - **Vídeos privados:** Use autenticação de cookies para acessar conteúdo privado.
+ - **Conteúdo com restrição de idade:** Faça login na conta do YouTube para visualizar vídeos com restrição de idade.
+ - **Vídeos bloqueados geograficamente:** considere usar uma VPN para contornar restrições regionais.
+ - **Vídeos removidos/excluídos:** O vídeo não está mais disponível no YouTube.
+ - **Transmissões ao vivo:** As transmissões ao vivo não podem ser baixadas; espere o fluxo terminar.
+ - **Erros de rede:** Verifique sua conexão com a Internet e tente novamente.
+ - **URLs inválidos:** certifique-se de que o URL esteja correto e seja de uma plataforma compatível.
+ - **Conteúdo Premium:** Requer assinatura do YouTube Premium.
+ - **Bloqueios de direitos autorais:** O conteúdo está bloqueado devido a restrições de direitos autorais.
+- **Arquivos de vídeo e áudio separados após o download:** Isso acontece quando o FFmpeg está ausente ou não é detectado. YTSage requer FFmpeg para mesclar fluxos de vídeo e áudio de alta qualidade.
+ - **Solução:** Certifique-se de que o FFmpeg esteja instalado e acessível no PATH do seu sistema. Para usuários do Windows, a opção mais fácil é baixar o arquivo `YTSage-v-ffmpeg.exe`, que vem junto com o FFmpeg.
+
+---
+
+#### 🛡️ Aviso do Windows Defender / Antivírus
+
+Alguns softwares antivírus podem sinalizar os arquivos `.exe` como falsos positivos. Esta é uma **limitação conhecida** dos aplicativos empacotados.
+
+**Por que isso acontece:**
+- A heurística antivírus pode identificar erroneamente executáveis compactados como suspeitos
+
+**Alternativas seguras:**
+- ✅ **Use instalação pip:** `pip install ytsage` (recomendado)
+- ✅ **Construir a partir da fonte**: seguindo isto [guide](../.github/CI_CD_README.md)
+- ✅ **Coloque o aplicativo na lista de permissões** em seu software antivírus
+
+#### 🍎 macOS: "O aplicativo está danificado e não pode ser aberto"
+Se você vir esse erro no macOS Sonoma ou mais recente, será necessário remover o atributo de quarentena.
+
+1. **Abra o Terminal** (você pode encontrá-lo usando o Spotlight).
+2. **Digite o seguinte comando** mas **não** pressione Enter ainda. Certifique-se de incluir o espaço no final:
+ ```bash
+ xattr -d com.apple.quarantine
+ ```
+3. **Arraste o arquivo `YTSage.app`** da janela do Finder e solte-o diretamente na janela do Terminal. Isso colará automaticamente o caminho correto do arquivo.
+4. **Pressione Enter** para executar o comando.
+5. **Tente abrir YTSage.app novamente.** Agora ele deve iniciar corretamente.
+
+---
+
+#### **Locais de configuração (avançado)**
+- **Janelas:** `%LOCALAPPDATA%\YTSage`
+- **macOS:** `~/Library/Application Support/YTSage`
+- **Linux:** `~/.local/share/YTSage`
+
+
+
+
+## 💖 Patrocinador
+
+Se o YTSage economizar seu tempo, considere patrocinar o projeto. O patrocínio ajuda a cobrir o tempo de desenvolvimento, testes em plataformas e melhorias futuras.
+
+- Patrocinadores do GitHub: https://github.com/sponsors/oop7
+- O link do patrocinador também está disponível diretamente no aplicativo, na caixa de diálogo Sobre.
+
+[](https://github.com/sponsors/oop7)
+
+
+## 👥 Contribuindo
+
+Aceitamos contribuições! Veja como você pode ajudar:
+
+1. 🍴 Bifurque o repositório
+2. 🌿 Crie seu branch de recursos:
+ ```bash
+ git checkout -b feature/AmazingFeature
+ ```
+3. 💾 Confirme suas alterações:
+ ```bash
+ git commit -m 'Add some AmazingFeature'
+ ```
+4. 📤 Empurre para o galho:
+ ```bash
+ git push origin feature/AmazingFeature
+ ```
+5. 🔄 Abra uma solicitação pull
+
+### 🌍 Contribuindo com traduções
+
+- Atualize o arquivo README localizado correspondente (por exemplo `README.es.md`)
+- Mantenha as strings do aplicativo sincronizadas editando `ytsage/languages/.json`
+- Se o seu idioma estiver faltando, comece em `README.md` e crie `README..md`
+
+
+📂 Estrutura do Projeto
+
+## YTSage - Estrutura do Projeto
+
+Este documento descreve a estrutura de pastas organizada do YTSage.
+
+### 📁 Estrutura do Projeto
+
+```
+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
+```
+
+
+
+## ⭐️ História da estrela
+
+
+
+## 📜 Licença
+
+Este projeto está licenciado sob a licença MIT - consulte o arquivo [LICENSE](../LICENSE) para obter detalhes.
+
+## 🙏 Agradecimentos
+
+
+Mostrar agradecimentos
+
+
+
+
Um sincero obrigado a todos que contribuíram para este projeto abrindo um problema para sugerir uma melhoria ou relatar um bug.
+
+
+
+## ⚠️ Isenção de responsabilidade
+
+Esta ferramenta é apenas para uso pessoal. Respeite os termos de serviço do YouTube e os direitos dos criadores de conteúdo.
+
+---
+
+
+
+Feito com ❤️ por [oop7](https://github.com/oop7)
+
+
diff --git a/readme-translations/README.ru.md b/readme-translations/README.ru.md
new file mode 100644
index 0000000..3c6c1de
--- /dev/null
+++ b/readme-translations/README.ru.md
@@ -0,0 +1,618 @@
+
+
+---
+
+
+## ❓ Почему YTSage?
+
+YTSage предназначен для пользователей, которым нужен **простой, но мощный загрузчик YouTube**. В отличие от других инструментов, он предлагает:
+
+- Чистый, современный интерфейс PySide6.
+- Загрузка видео, аудио и субтитров в один клик.
+- Расширенные функции, такие как SponsorBlock, объединение субтитров и выбор списка воспроизведения.
+– Дополнительный общий режим для сайтов, поддерживаемых yt-dlp, за пределами YouTube.
+- Кроссплатформенная поддержка и простота установки.
+
+
+## ✨ Особенности
+
+
+
+| Основные возможности | Расширенные возможности | Дополнительные возможности |
+|-----------------------------------|-----------------------------------------|------------------------------------|
+| 🎥 Формат таблицы | 🚫 Интеграция SponsorBlock | 🎞️ Отображение FPS/HDR |
+| 🎵 Извлечение аудио | 📝 Выбор и объединение нескольких субтитров | 🔄 Автоматическое обновление yt-dlp |
+| ✨ Простой интерфейс | 💾 Сохранить описание и миниатюру | 🛠️ Обнаружение FFmpeg/yt-dlp/Deno |
+| 📋 Поддержка и выбор плейлистов | 🚀 Ограничитель скорости | ⚙️ Пользовательские команды |
+| 📑 Встроить главы | ✂️ Обрезать разделы видео | 🍪 Вход с помощью файлов cookie |
+| 📜 История загрузок | 🔄 Выбор канала выпуска | 🌐 Поддержка прокси |
+| 🎚️ Преобразование аудиоформатов | 🎬 Настройки формата видео | 🆙 Встроенная вкладка «Обновление» |
+| 🌍 Общий режим | 🔊 Нормализация звука (EBU R128) | 🌍 Локализация на 14 языках |
+
+
+
+## 🚀 Установка
+
+### ⚡ Быстрая установка (рекомендуется)
+
+Установите YTSage из PyPI:
+
+```bash
+pip install ytsage
+```
+
+
+🔄 Обновите существующую установку
+
+```bash
+pip install --upgrade ytsage
+```
+
+
+
+Затем запустите приложение:
+
+```bash
+ytsage
+```
+
+### 📦 Готовые исполняемые файлы
+
+> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
+
+#### 🪟 Окна
+
+| Формат | Описание |
+|--------|-------------|
+|  | Стандартный установщик |
+|  | В комплекте FFmpeg |
+|  | Портативная версия, установка не требуется |
+|  | Портативный с FFmpeg, в архиве |
+
+
+🛠️ Этапы установки
+
+1. **Установщик EXE (`.exe`)**: дважды щелкните файл и следуйте указаниям мастера установки.
+2. **Портативная версия (`.zip`)**: распакуйте архив в нужное место и запустите `ytsage.exe`.
+3. **FFmpeg Bundled**: выберите версии в комплекте FFmpeg, если в вашей системе не установлен FFmpeg.
+
+
+#### 🐧 Линукс
+
+| Формат | Описание |
+|--------|-------------|
+|  | Пакет Debian |
+|  | AppImage, портативный |
+|  | пакет RPM |
+|  | Комплект Flatpak |
+
+
+🛠️ Этапы установки
+
+- **DEB (`.deb`)**:
+ ```bash
+ sudo dpkg -i ytsage_*.deb
+ sudo apt-get install -f # Fix missing dependencies if any
+ ```
+- **Об/мин (`.rpm`)**:
+ ```bash
+ sudo rpm -i ytsage-*.rpm
+ ```
+- **AppImage (`.AppImage`)**:
+ ```bash
+ chmod +x YTSage-*.AppImage
+ ./YTSage-*.AppImage
+ ```
+- **Flatpak**: следуйте инструкциям на Flathub или запустите:
+ ```bash
+ flatpak install flathub io.github.oop7.ytsage
+ ```
+
+
+#### 🍎 macOS
+
+| Формат | Описание |
+|--------|-------------|
+|  | Заархивированное приложение для Apple Silicon |
+|  | Установщик образа диска для Apple Silicon |
+
+
+🛠️ Этапы установки
+
+- **Установщик DMG (`.dmg`)**: дважды щелкните, чтобы смонтировать, затем перетащите `YTSage.app` в папку «Приложения».
+- **Архив приложений (`.zip`)**: распакуйте zip-архив и переместите `YTSage.app` в папку «Приложения».
+
+*Примечание. Если вы столкнулись с ошибкой «Приложение повреждено», см. [macOS troubleshooting section](#troubleshooting) ниже.*
+
+
+---
+
+
+💻 Ручная установка из исходного кода
+
+### 1. Клонировать репозиторий
+
+```bash
+git clone https://github.com/oop7/YTSage.git
+cd YTSage
+```
+
+### 2. Установите зависимости
+
+#### ⚡ С уф
+
+```bash
+uv pip install .
+```
+
+#### 📦 Или со стандартным пипом
+
+```bash
+pip install .
+```
+
+### 3. Запустите приложение
+
+```bash
+python -m ytsage.main
+```
+
+
+
+
+## 📸 Скриншоты
+
+
+
+
+
+
+
+
+
Настройки загрузки
+
Скачать плейлист
+
+
+
+
+
+
+
Аудиоформат
+
Пользовательские параметры
+
+
+
+
+## 📖 Использование
+
+
+🎯 Базовое использование
+
+1. **Запустите YTSage**
+2. **Вставьте URL-адрес YouTube** (или нажмите кнопку «Вставить URL-адрес»).
+3. **Нажмите «Анализ»**.
+4. **Выберите формат:**
+ - `Video` для загрузки видео.
+ - `Audio Only` для извлечения звука
+5. **Выберите параметры:**
+ - Включить субтитры и выбрать язык
+ - Включить объединение субтитров
+ - Сохранить миниатюру
+ - Удалить спонсорские сегменты
+ - Сохранить описание
+ - Вставлять главы
+6. **Выберите выходной каталог**
+7. **Нажмите «Загрузить»**.
+
+> 💡 Каталогом загрузки по умолчанию является папка «Загрузки» пользователя.
+
+
+
+
+📋 Скачать плейлист
+
+1. **Вставьте URL-адрес плейлиста**
+2. **Нажмите «Анализ»**.
+3. **Выберите видео в селекторе плейлиста (необязательно, по умолчанию — все)**
+4. **Выберите желаемый формат/качество**
+5. **Нажмите «Загрузить»**.
+
+> 💡 Приложение автоматически обрабатывает очередь загрузки
+
+
+
+
+🌍 Общий режим для сайтов, не принадлежащих YouTube
+
+Используйте общий режим, если хотите, чтобы YTSage принимал URL-адреса с сайтов, поддерживаемых yt-dlp, таких как Dailymotion, CBC Gem, TikTok и других.
+
+Как его использовать:
+
+1. Откройте `Download Settings`.
+2. Включите `Generic Mode`.
+3. Вставьте поддерживаемый URL-адрес видео или списка воспроизведения, не относящегося к YouTube.
+4. Нажмите `Analyze`.
+5. Выберите формат и загрузите как обычно.
+
+Примечания:
+
+- Общий режим изменяет только проверку URL-адреса внутри YTSage. Целевой сайт по-прежнему должен поддерживаться установленной версией yt-dlp.
+– Некоторым сайтам требуются файлы cookie, сеанс входа в систему, прокси-сервер или дополнительные аргументы yt-dlp в зависимости от экстрактора.
+– Если на сайте произошел сбой, сначала обновите yt-dlp на вкладке встроенного средства обновления, прежде чем сообщать о проблеме.
+
+
+
+
+🧰 Параметры мультимедиа и загрузки
+
+- **Параметры субтитров:** фильтруйте языки и встраивайте субтитры в видеофайл.
+- **Объединение субтитров:** объединение субтитров в видеофайл для жестко запрограммированных субтитров.
+- **Сохранить описание:** сохранить описание видео в виде текстового файла.
+- **Сохранить миниатюру:** сохраните миниатюру видео как файл изображения.
+- **Встроить главы.** Встраивайте маркеры глав в качестве метаданных для совместимых видеопроигрывателей.
+- **Удалить спонсорские сегменты.** Удалите спонсорские сегменты из видео с помощью SponsorBlock.
+- **Обрезать видео:** загружайте только определенные части видео, указав временные диапазоны в формате `HH:MM:SS`.
+
+
+
+
+⚙️ Настройки вывода и файла
+
+- **Ограничитель скорости:** Ограничьте скорость загрузки, например `500K` до 500 КБ/с.
+- **Сохранить путь загрузки:** сохраните путь загрузки по умолчанию для будущих загрузок. Доступно в **Настройки загрузки → Путь загрузки**.
+- **Формат имени выходного файла:** Настройте формат имени выходного файла, используя такие переменные, как `%(title)s`, `%(uploader)s` и `%(resolution)s`. Доступно в **Настройки загрузки → Формат имени файла**.
+- **Принудительный формат вывода.** Принудительно загружайте видео в определенный формат контейнера, например `mp4`, `webm` или `mkv`. Доступно в **Настройки загрузки → Настройки формата вывода**.
+- **Преобразование аудиоформата:** конвертируйте загрузки, содержащие только аудио, в предпочтительные форматы, такие как `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` или `Best`. Доступно в **Настройки загрузки → Настройки аудиоформата**.
+- **Нормализация звука:** Стандартизируйте громкость для загрузок, содержащих только аудио, используя EBU R128.
+
+
+
+
+🌐 Доступ и сеть
+
+- **Войти с помощью файлов cookie:** войдите на YouTube, используя файлы cookie, чтобы получить доступ к личному контенту.
+ Как его использовать:
+ 1. **Рекомендуется**. Используйте встроенную опцию `Extract cookies from browser` в приложении, затем выберите браузер и, при необходимости, профиль.
+ 2. Альтернативно извлеките файлы cookie вручную:
+ а. Экспортируйте файлы cookie из вашего браузера, используя расширение, например [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file).
+ б. Скопируйте файлы cookie в формате Netscape.
+ в. Создайте файл с именем `cookies.txt` и вставьте в него файлы cookie.
+ д. Выберите файл `cookies.txt` в приложении.
+- **Поддержка прокси:** используйте прокси-сервер для загрузки, например `http://:`
+- **Общий режим.** Разрешить YTSage анализировать и загружать контент с сайтов, не принадлежащих YouTube, и поддерживаемых yt-dlp. Включите его в разделе **Настройки загрузки → Общий режим**.
+
+
+
+
+🛠️ Инструменты и уход
+
+– **Пользовательские команды.** Доступ к расширенным функциям yt-dlp с помощью аргументов командной строки.
+- **Вкладка «Обновление».** Управляйте встроенными инструментами обновления из одного места в пользовательских настройках:
+ - **Обновления yt-dlp:** проверяйте наличие обновлений и переключайтесь между стабильными и ночными выпусками.
+ - **Проверка версии FFmpeg:** проверьте версию FFmpeg и откройте руководства по установке.
+ - **Обновления Deno:** проверьте и обновите среду выполнения Deno.
+- **Обнаружение FFmpeg/yt-dlp/Deno:** автоматическое определение путей и версий FFmpeg, yt-dlp и Deno в диалоговом окне «О программе».
+- **История загрузок.** Просматривайте прошлые загрузки с помощью миниатюр и статусов с помощью кнопки **История**.
+
+
+
+
+🌍 Локализация
+
+YTSage поддерживает **14 языков**, что обеспечивает доступность по всему миру. Выберите предпочитаемый язык в меню **Пользовательские параметры → Язык**.
+
+### Поддерживаемые языки
+
+| Язык | Код | Язык | Код |
+|----------|------|----------|------|
+| 🇺🇸 Английский | `en` | 🇪🇸 Испанский | `es` |
+| 🇸🇦 Арабский | `ar` | 🇫🇷 Французский | `fr` |
+| 🇩🇪 немецкий | `de` | 🇮🇳 Хинди | `hi` |
+| 🇮🇩 Индонезийский | `id` | 🇮🇹 Итальянский | `it` |
+| 🇯🇵 Японский | `ja` | 🇵🇱 Польский | `pl` |
+| 🇧🇷 Португальский | `pt` | 🇷🇺 Русский | `ru` |
+| 🇹🇷 Турецкий | `tr` | 🇨🇳 Китайский | `zh` |
+
+### README Переводы
+
+| Язык | Файл | Язык | Файл |
+|----------|------|----------|------|
+| 🇺🇸 Английский | [README.md](../README.md) | 🇪🇸 Испанский | [README.es.md](README.es.md)
+| 🇸🇦 Арабский | [README.ar.md](README.ar.md) | 🇫🇷 Французский | [README.fr.md](README.fr.md) |
+| 🇩🇪 немецкий | [README.de.md](README.de.md) | 🇮🇳 Хинди | [README.hi.md](README.hi.md) |
+| 🇮🇩 Индонезийский | [README.id.md](README.id.md) | 🇮🇹 Итальянский | [README.it.md](README.it.md) |
+| 🇯🇵 Японский | [README.ja.md](README.ja.md) | 🇵🇱 Польский | [README.pl.md](README.pl.md) |
+| 🇧🇷 Португальский | [README.pt.md](README.pt.md) | 🇷🇺 Русский | [README.ru.md](README.ru.md) |
+| 🇹🇷 Турецкий | [README.tr.md](README.tr.md) | 🇨🇳 Китайский | [README.zh.md](README.zh.md) |
+
+> 💡 **Хотите сделать перевод?** Посетите раздел [Contributing](#contributing), чтобы мы могли добавить больше языков!
+
+
+
+
+## 🛠️ Устранение неполадок
+
+
+Нажмите, чтобы просмотреть распространенные проблемы и решения
+
+– **Таблица формата не отображается.** Обновите yt-dlp до последней версии и переключайтесь на yt-dlp каждую ночь.
+- **Не удалось загрузить.** Проверьте подключение к Интернету и убедитесь, что видео доступно.
+- **Конкретные ошибки загрузки:**
+ - **Частные видео.** Используйте аутентификацию с помощью файлов cookie для доступа к частному контенту.
+ - **Контент с возрастными ограничениями.** Войдите в аккаунт YouTube, чтобы просмотреть видео с возрастными ограничениями.
+ – **Видео с геоблокировкой.** Рассмотрите возможность использования VPN, чтобы обойти региональные ограничения.
+ – **Удалены видео:** Видео больше не доступно на YouTube.
+ - **Прямые трансляции:** Прямые трансляции невозможно загрузить; дождитесь окончания потока.
+ - **Ошибки сети.** Проверьте подключение к Интернету и повторите попытку.
+ - **Недопустимые URL-адреса.** Убедитесь, что URL-адрес правильный и принадлежит поддерживаемой платформе.
+ - **Премиум-контент:** требуется подписка YouTube Premium.
+ - **Блокировка авторских прав.** Контент блокируется из-за ограничений авторских прав.
+- **Разделение видео и аудиофайлов после загрузки.** Это происходит, когда FFmpeg отсутствует или не обнаружен. YTSage требует FFmpeg для объединения высококачественных видео и аудио потоков.
+ - **Решение:** Убедитесь, что FFmpeg установлен и доступен в PATH вашей системы. Для пользователей Windows самый простой вариант — загрузить файл `YTSage-v-ffmpeg.exe`, который поставляется в комплекте с FFmpeg.
+
+---
+
+#### 🛡️ Предупреждение Защитника Windows/антивируса
+
+Некоторые антивирусные программы могут помечать файлы `.exe` как ложные срабатывания. Это **известное ограничение** пакетных приложений.
+
+**Почему это происходит:**
+- Антивирусная эвристика может ошибочно идентифицировать упакованные исполняемые файлы как подозрительные.
+
+**Безопасные альтернативы:**
+- ✅ **Используйте установку pip:** `pip install ytsage` (рекомендуется)
+- ✅ **Сборка из исходного кода**: следуя этому [guide](../.github/CI_CD_README.md)
+- ✅ **Внесите приложение в белый список** в антивирусном программном обеспечении.
+
+#### 🍎 macOS: «Приложение повреждено и его невозможно открыть»
+Если вы видите эту ошибку в macOS Sonoma или более поздней версии, вам необходимо удалить атрибут карантина.
+
+1. **Откройте терминал** (его можно найти с помощью Spotlight).
+2. **Введите следующую команду**, но **не** пока нажимайте Enter. Обязательно добавьте пробел в конце:
+ ```bash
+ xattr -d com.apple.quarantine
+ ```
+3. **Перетащите файл `YTSage.app`** из окна Finder и поместите его прямо в окно терминала. Это автоматически вставит правильный путь к файлу.
+4. **Нажмите Enter**, чтобы запустить команду.
+5. **Попробуйте снова открыть YTSage.app.** Теперь оно должно запуститься правильно.
+
+---
+
+#### **Места конфигурации (дополнительно)**
+- **Windows:** `%LOCALAPPDATA%\YTSage`
+- **macOS:** `~/Library/Application Support/YTSage`
+- **Linux:** `~/.local/share/YTSage`
+
+
+
+
+## 💖 Спонсор
+
+Если YTSage сэкономит вам время, рассмотрите возможность спонсирования проекта. Спонсорство помогает покрыть время разработки, тестирования на разных платформах и будущих улучшений.
+
+- Спонсоры GitHub: https://github.com/sponsors/oop7
+- Спонсорская ссылка также доступна непосредственно внутри приложения из диалогового окна «О программе».
+
+[](https://github.com/sponsors/oop7)
+
+
+## 👥 Вклад
+
+Мы приветствуем вклады! Вот как вы можете помочь:
+
+1. 🍴 Форкните репозиторий
+2. 🌿 Создайте свою ветку функций:
+ ```bash
+ git checkout -b feature/AmazingFeature
+ ```
+3. 💾 Зафиксируйте изменения:
+ ```bash
+ git commit -m 'Add some AmazingFeature'
+ ```
+4. 📤 Нажмите на ветку:
+ ```bash
+ git push origin feature/AmazingFeature
+ ```
+5. 🔄 Откройте запрос на включение
+
+### 🌍 Участие в переводах
+
+- Обновите соответствующий локализованный файл README (например, `README.es.md`).
+- Синхронизируйте строки приложения, отредактировав `ytsage/languages/.json`.
+- Если ваш язык отсутствует, начните с `README.md` и создайте `README..md`.
+
+
+📂 Структура проекта
+
+## 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
+```
+
+
+
+## ⭐️ Звездная история
+
+
+
+
+
+## ⚠️ Отказ от ответственности
+
+Этот инструмент предназначен только для личного использования. Пожалуйста, соблюдайте условия обслуживания YouTube и права создателей контента.
+
+---
+
+
+
+Сделано с ❤️ автором [oop7](https://github.com/oop7)
+
+
diff --git a/readme-translations/README.tr.md b/readme-translations/README.tr.md
new file mode 100644
index 0000000..686ef2f
--- /dev/null
+++ b/readme-translations/README.tr.md
@@ -0,0 +1,617 @@
+
+
+
+
+
+[](https://www.python.org/downloads/)
+[](https://pepy.tech/project/ytsage)
+[](https://github.com/oop7/YTSage/releases)
+[](https://opensource.org/licenses/MIT)
+[](https://github.com/oop7/YTSage/releases)
+[](https://github.com/oop7/YTSage/stargazers)
+[](https://pypi.org/project/ytsage/)
+[](https://github.com/sponsors/oop7)
+
+**Temiz bir PySide6 arayüzüne sahip modern bir YouTube indiricisi.**
+Videoları istediğiniz kalitede indirin, ses çıkarın, altyazıları getirin ve daha fazlasını yapın.
+
+### 🌍 BENİOKU Diller
+
+İngilizce: [EN](../README.md)
+| Cevap: [AR](README.ar.md)
+| Almanca: [DE](README.de.md)
+| İspanyolca: [ES](README.es.md)
+| Fransızca: [FR](README.fr.md)
+| Adres: [HI](README.hi.md)
+| Bahasa Endonezya: [ID](README.id.md)
+| İtalyanca: [IT](README.it.md)
+| Şarkı sözü: [JA](README.ja.md)
+| Polski: [PL](README.pl.md)
+| Portekizce: [PT](README.pt.md)
+| Rusça: [RU](README.ru.md)
+| Türkçe: [TR](README.tr.md)
+| Adres: [ZH](README.zh.md)
+
+
+
+---
+
+
+## ❓ Neden YTSage?
+
+YTSage, **basit ama güçlü bir YouTube indiricisi** isteyen kullanıcılar için tasarlanmıştır. Diğer araçların aksine şunları sunar:
+
+- Temiz, modern bir PySide6 arayüzü
+- Video, ses ve altyazılar için tek tıklamayla indirmeler
+- SponsorBlock, altyazı birleştirme ve oynatma listesi seçimi gibi gelişmiş özellikler
+- YouTube'un ötesinde yt-dlp destekli siteler için İsteğe Bağlı Genel Mod
+- Platformlar arası destek ve kolay kurulum
+
+
+## ✨ Özellikler
+
+
+
+| Temel Özellikler | Gelişmiş Özellikler | Ekstra Özellikler |
+|-------------------------------------|--------------------------------------------------|
+| 🎥 Format Tablosu | 🚫 SponsorBlock Entegrasyonu | 🎞️ FPS/HDR Ekran |
+| 🎵 Ses Çıkarma | 📝 Çoklu Altyazı Seç ve Birleştir | 🔄 yt-dlp'yi Otomatik Güncelle |
+| ✨ Basit kullanıcı arayüzü | 💾 Açıklamayı ve Küçük Resmi Kaydet | 🛠️ FFmpeg/yt-dlp/Deno Algılama |
+| 📋 Çalma Listesi Desteği ve Seçici | 🚀 Hız Sınırlayıcı | ⚙️ Özel Komutlar |
+| 📑 Bölümleri Yerleştir | ✂️ Video Bölümlerini Kırp | 🍪 Çerezlerle Giriş Yapın |
+| 📜 Geçmişi İndir | 🔄 Kanal Seçimini Serbest Bırak | 🌐 Proxy Desteği |
+| 🎚️ Ses Formatı Dönüştürme | 🎬 Video Formatı Ayarları | 🆙 Yerleşik Güncelleyici Sekmesi |
+| 🌍 Genel Mod | 🔊 Ses Normalizasyonu (EBU R128) | 🌍 14 Dilde Yerelleştirme |
+
+
+
+
+## ⚠️ Yasal Uyarı
+
+Bu araç yalnızca kişisel kullanım içindir. Lütfen YouTube'un hizmet şartlarına ve içerik oluşturucuların haklarına saygı gösterin.
+
+---
+
+
+
+[oop7](https://github.com/oop7) tarafından ❤️ ile yapılmıştır
+
+
diff --git a/readme-translations/README.zh.md b/readme-translations/README.zh.md
new file mode 100644
index 0000000..3b483f7
--- /dev/null
+++ b/readme-translations/README.zh.md
@@ -0,0 +1,617 @@
+