diff --git a/README.md b/README.md
index 0ceced3..a7264d5 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-

-

+

+

[](https://www.python.org/downloads/)
[](https://pepy.tech/project/ytsage)
@@ -12,25 +12,25 @@
[](https://pypi.org/project/ytsage/)
[](https://github.com/sponsors/oop7)
-**A modern YouTube downloader with a clean PySide6 interface.**
+**Modern YouTube downloader with a clean PySide6 interface.**
Download videos in any quality, extract audio, fetch subtitles, and more.
### 🌍 README Languages
-English: [EN](README.md)
-| العربية: [AR](readme-translations/README.ar.md)
-| Deutsch: [DE](readme-translations/README.de.md)
-| Español: [ES](readme-translations/README.es.md)
-| Français: [FR](readme-translations/README.fr.md)
-| हिन्दी: [HI](readme-translations/README.hi.md)
-| Bahasa Indonesia: [ID](readme-translations/README.id.md)
-| Italiano: [IT](readme-translations/README.it.md)
-| 日本語: [JA](readme-translations/README.ja.md)
-| Polski: [PL](readme-translations/README.pl.md)
-| Português: [PT](readme-translations/README.pt.md)
-| Русский: [RU](readme-translations/README.ru.md)
-| Türkçe: [TR](readme-translations/README.tr.md)
-| 中文: [ZH](readme-translations/README.zh.md)
+English: [EN](../README.md)
+| Arabic: [AR](README.ar.md)
+| German: [DE](README.de.md)
+| Spanish: [ES](README.es.md)
+| French: [FR](README.fr.md)
+| Hindi: [HI](README.hi.md)
+| Indonesian: [ID](README.id.md)
+| Italian: [IT](README.it.md)
+| Japanese: [JA](README.ja.md)
+| Polish: [PL](README.pl.md)
+| Portuguese: [PT](README.pt.md)
+| Russian: [RU](README.ru.md)
+| Turkish: [TR](README.tr.md)
+| Chinese: [ZH](README.zh.md)
Installation •
@@ -51,10 +51,10 @@ English: [EN](README.md)
YTSage is designed for users who want a **simple yet powerful YouTube downloader**. Unlike other tools, it offers:
-- A clean, modern PySide6 interface
+- A modern and clean 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
+- Optional Generic Mode for sites supported by yt-dlp beyond YouTube
- Cross-platform support and easy installation
@@ -62,17 +62,17 @@ YTSage is designed for users who want a **simple yet powerful YouTube downloader
-| Core Features | Advanced Features | Extra Features |
+| Core Features | Advanced Features | Extra Features |
|-----------------------------------|-----------------------------------------|------------------------------------|
-| 🎥 Format Table | 🚫 SponsorBlock Integration | 🎞️ FPS/HDR Display |
-| 🎵 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 |
-| 💾 Export Playlists | ⚙️ Default Quality & Subtitles | |
+| 🎥 Format Table | 🚫 SponsorBlock Integration | 🎞️ FPS/HDR Display |
+| 🎵 Audio Extraction | 📝 Subtitle Selection & Merging | 🔄 Auto Update yt-dlp |
+| ✨ Simple UI | 💾 Save Description & Thumbnail | 🛠️ FFmpeg/yt-dlp/Deno Detection |
+| 📋 Playlist Support & Selector | 🚀 Speed Limiter | ⚙️ Custom Commands |
+| 📑 Chapter Integration | ✂️ Video Section Trimming | 🍪 Login with Cookies |
+| 📜 Download History | 🔄 Version Channel Selection | 🌐 Proxy Support |
+| 🎚️ Audio Format Conversion | 🎬 Video Format Settings | 🆙 Built-in Updater Tab |
+| 🌍 Generic Mode | 🔊 Audio Normalization (EBU R128) | 🌍 Localized in 14 Languages |
+| 💾 Playlist Export | ⚙️ Default Quality & Subtitles | |
@@ -80,14 +80,14 @@ YTSage is designed for users who want a **simple yet powerful YouTube downloader
### ⚡ Quick Install (Recommended)
-Install YTSage from PyPI:
+Install YTSage via PyPI:
```bash
pip install ytsage
```
-🔄 Update an existing installation
+🔄 Update existing installation
```bash
pip install --upgrade ytsage
@@ -95,7 +95,7 @@ pip install --upgrade ytsage
-Then launch the app:
+Then launch the application:
```bash
ytsage
@@ -109,26 +109,26 @@ ytsage
| Format | Description |
|--------|-------------|
-|  | Standard installer |
-|  | With FFmpeg bundled |
-|  | Portable version, no installation required |
+|  | Standard Installer |
+|  | With FFmpeg Included |
+|  | Portable version, no installation needed |
|  | Portable with FFmpeg, zipped |
🛠️ Installation Steps
1. **EXE Installer (`.exe`)**: Double-click the file and follow the setup wizard.
-2. **Portable Version (`.zip`)**: Extract the archive to your desired location and run `ytsage.exe`.
-3. **FFmpeg Bundled**: Choose the FFmpeg bundled versions if you don't have FFmpeg installed on your system.
+2. **Portable Version (`.zip`)**: Extract the archive to your desired location and launch `ytsage.exe`.
+3. **FFmpeg Included**: Choose versions with FFmpeg included if you don't have FFmpeg installed on your system.
#### 🐧 Linux
| Format | Description |
|--------|-------------|
-|  | Debian package |
-|  | AppImage, portable |
-|  | RPM package |
+|  | Debian Package |
+|  | AppImage, Portable |
+|  | RPM Package |
|  | Flatpak Bundle |
@@ -137,7 +137,7 @@ ytsage
- **DEB (`.deb`)**:
```bash
sudo dpkg -i ytsage_*.deb
- sudo apt-get install -f # Fix missing dependencies if any
+ sudo apt-get install -f # Fix missing dependencies if needed
```
- **RPM (`.rpm`)**:
```bash
@@ -158,45 +158,45 @@ ytsage
| Format | Description |
|--------|-------------|
-|  | Zipped application for Apple Silicon |
-|  | Disk image installer for Apple Silicon |
+|  | Zipped Application for Apple Silicon |
+|  | Disk Image Installer for Apple Silicon |
🛠️ Installation Steps
-- **DMG Installer (`.dmg`)**: Double-click to mount, then drag `YTSage.app` into your Applications folder.
-- **App Archive (`.zip`)**: Extract the zip and move `YTSage.app` to your Applications folder.
+- **DMG Installer (`.dmg`)**: Double-click to mount, then drag `YTSage.app` to your Applications folder.
+- **Application Archive (`.zip`)**: Extract the zip and move `YTSage.app` to your Applications folder.
-*Note: If you encounter an "App is damaged" error, see the [macOS troubleshooting section](#troubleshooting) below.*
+*Note: If you encounter an "Application is damaged" error, see the macOS troubleshooting section below.*
---
-💻 Manual Installation from Source
+💻 Manual Source Installation
-### 1. Clone the Repository
+### 1. Clone the repository
```bash
git clone https://github.com/oop7/YTSage.git
cd YTSage
```
-### 2. Install Dependencies
+### 2. Install dependencies
-#### ⚡ With uv
+#### ⚡ Using uv
```bash
uv pip install .
```
-#### 📦 Or with standard pip
+#### 📦 Or using standard pip
```bash
pip install .
```
-### 3. Run the Application
+### 3. Run the application
```bash
python -m ytsage.main
@@ -210,16 +210,16 @@ python -m ytsage.main
-  |
-  |
+  |
+  |
| Download Settings |
Playlist Download |
-  |
-  |
+  |
+  |
| Audio Format |
@@ -241,16 +241,16 @@ python -m ytsage.main
- `Video` for video downloads
- `Audio Only` for audio extraction
5. **Choose Options:**
- - Enable subtitles & select language
- - Enable subtitle merge
- - Save thumbnail
- - Remove sponsor segments
- - Save description
- - Embed chapters
+ - Enable Subtitles and select language
+ - Enable Subtitle Merging
+ - Save Thumbnail
+ - Remove Sponsored Segments
+ - Save Description
+ - Embed Chapters
6. **Select Output Directory**
7. **Click "Download"**
-> 💡 The default download directory is the user's "Downloads" folder.
+> 💡 Default download directory is the user's "Downloads" folder.
@@ -263,84 +263,84 @@ python -m ytsage.main
4. **Choose desired format/quality**
5. **Click "Download"**
-> 💡 The application automatically handles the download queue, and you can export the playlist entries to `.txt`, `.csv`, `.m3u`, or `.json` using the **Save Playlist As** button.
+> 💡 The application automatically handles the download queue, and you can export playlist entries as `.txt`, `.csv`, `.m3u`, or `.json`.
-🌍 Generic Mode for non-YouTube sites
+🌍 Generic Mode for Non-YouTube Sites
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.
+2. Toggle on `Generic Mode`.
+3. Paste a supported video or playlist URL that is not from YouTube.
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.
+- Generic mode only changes the URL validation inside YTSage. The target site must still be supported by your installed version of yt-dlp.
+- Some sites require cookies, login sessions, proxy, or extra yt-dlp arguments depending on the extractor.
+- If a site fails, update yt-dlp from the built-in updater tab first before reporting an issue.
-🧰 Media and Download Options
+🧰 Media & 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
-- **Trim Video:** Download only specific parts of a video by specifying time ranges in `HH:MM:SS` format
+- **Subtitle Options:** Filter languages and embed subtitles into the video file.
+- **Subtitle Merging:** Merge subtitles into the video file for hardcoded/burned-in 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 Sponsored Segments:** Remove sponsored segments from the video using SponsorBlock.
+- **Trim Video:** Download only specific parts of a video by specifying time ranges in `HH:MM:SS` format.
-⚙️ Output and File Settings
+⚙️ Output & 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**.
-- **Default Video Resolution:** Set your preferred default video resolution for automatic selection (e.g., 1080p, 720p). Available in **Download Settings → Default Video Resolution**.
-- **Default Subtitle Languages:** Set default subtitle languages to auto-select automatically (comma-separated, e.g., `en,es`). Available in **Download Settings → Default Subtitle Languages**.
+- **Speed Limiter:** Limit download speed, e.g., `500K` for 500 KB/s.
+- **Save Download Path:** Saves the default download path for future downloads. Available in **Download Settings → Download Path**.
+- **Default Video Resolution:** Set your preferred default video resolution for auto-selection (e.g., 1080p, 720p). Available in **Download Settings → Default Video Resolution**.
+- **Default Subtitle Languages:** Set default subtitle languages for auto-selection (comma-separated, e.g., `en,es`). Available in **Download Settings → Default Subtitle Languages**.
- **Output Filename Format:** Customize the output filename format using variables like `%(title)s`, `%(uploader)s`, `%(playlist_index)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**.
+- **Force Output Format:** Force video downloads into a specific container format like `mp4`, `webm`, or `mkv`. Available in **Download Settings → Output Format Settings**.
+- **Audio Format Conversion:** Convert audio-only downloads into 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.
-- **Concurrent Connections:** Increase download speed dramatically by downloading files in multiple fragments concurrently. Available in **Download Settings → General → Concurrent Connections** (Defaults to 1, recommended maximum is 8-10 to prevent IP limiting).
+- **Concurrent Connections:** Dramatically increase download speed by downloading files in multiple fragments simultaneously. Available in **Download Settings → General → Concurrent Connections** (Default is 1, maximum recommended is 8-10 to avoid IP throttling).
-🌐 Access and Network
+🌐 Access & Network
-- **Login with Cookies:** Login to YouTube using cookies to access private content.
+- **Login with Cookies:** Log in 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, then select your browser and optionally a profile.
2. Alternatively, extract cookies manually:
- 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
+ a. Export browser cookies using an extension like [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
+ b. Copy cookies in Netscape format
+ c. Create a file named `cookies.txt` and paste cookies
d. Select the `cookies.txt` file in the app
-- **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**.
+- **Proxy Support:** Use a proxy server for downloads, e.g., `http://:`
+- **Generic Mode:** Allows YTSage to analyze and download from non-YouTube sites supported by yt-dlp. Enable from **Download Settings → Generic Mode**.
-🛠️ Tools and Maintenance
+🛠️ Tools & Maintenance
-- **Custom Commands:** Access advanced yt-dlp features via command line arguments
+- **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.
+ - **yt-dlp Updates:** Check for updates and toggle 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 detects paths and versions for FFmpeg, yt-dlp, and Deno from the About dialog.
- **Download History:** View past downloads with thumbnails and statuses from the **History** button.
@@ -348,7 +348,7 @@ Notes:
🌍 Localization
-YTSage supports **14 languages** for worldwide accessibility. Select your preferred language from **Custom Options → Language**.
+YTSage supports **14 languages** for global accessibility. Select your preferred language in **Custom Options → Language**.
### Supported Languages
@@ -366,13 +366,13 @@ YTSage supports **14 languages** for worldwide accessibility. Select your prefer
| 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) |
+| 🇺🇸 English | [README.md](README.md) | 🇪🇸 Spanish | [README.es.md](README.es.md) |
+| 🇸🇦 Arabic | [README.ar.md](README.ar.md) | 🇫🇷 French | [README.fr.md](README.fr.md) |
+| 🇩🇪 German | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) |
+| 🇮🇩 Indonesian | [README.id.md](README.id.md) | 🇮🇹 Italian | [README.it.md](README.it.md) |
+| 🇯🇵 Japanese | [README.ja.md](README.ja.md) | 🇵🇱 Polish | [README.pl.md](README.pl.md) |
+| 🇧🇷 Portuguese | [README.pt.md](README.pt.md) | 🇷🇺 Russian | [README.ru.md](README.ru.md) |
+| 🇹🇷 Turkish | [README.tr.md](README.tr.md) | 🇨🇳 Chinese | [README.zh.md](README.zh.md) |
> 💡 **Want to contribute a translation?** Check out the [Contributing](#contributing) section to help us add more languages!
@@ -384,39 +384,39 @@ YTSage supports **14 languages** for worldwide accessibility. Select your prefer
Click to view common issues and solutions
-- **Format table not displaying:** Update yt-dlp to the latest version, and switch to yt-dlp nightly.
-- **Download fails:** Check your internet connection and ensure the video is available.
-- **Specific download errors:**
- - **Private videos:** Use cookie authentication to access private content.
- - **Age-restricted content:** Login to YouTube account to view age-restricted videos.
- - **Geo-blocked videos:** Consider using a VPN to bypass regional restrictions.
- - **Removed/deleted videos:** Video is no longer available on YouTube.
- - **Live streams:** Live streams cannot be downloaded; wait for the stream to end.
- - **Network errors:** Check your internet connection and try again.
+- **Format table not appearing:** Update yt-dlp to latest version and switch to nightly yt-dlp.
+- **Download failed:** Check your internet connection and ensure the video is available.
+- **Specific Download Errors:**
+ - **Private Videos:** Use cookie authentication to access private content.
+ - **Age-Restricted Content:** Log in to your YouTube account to view age-restricted videos.
+ - **Geo-Blocked Videos:** Consider using a VPN to bypass regional restrictions.
+ - **Deleted Videos:** Video is no longer available on YouTube.
+ - **Live Streams:** Live streams cannot be downloaded; wait for the broadcast to end.
+ - **Network Errors:** Check your internet connection and try again.
- **Invalid URLs:** Ensure the URL is correct and from a supported platform.
- - **Premium content:** Requires YouTube Premium membership.
- - **Copyright blocks:** Content is blocked due to copyright restrictions.
-- **Separate video and audio files after download:** This happens when FFmpeg is missing or not detected. YTSage requires FFmpeg to merge high-quality video and audio streams.
+ - **Premium Content:** Requires a YouTube Premium subscription.
+ - **Copyright Blocks:** Content is blocked due to copyright restrictions.
+- **Video and Audio Files separate after download:** This happens when FFmpeg is missing or not detected. YTSage requires FFmpeg to merge high-quality video and audio streams.
- **Solution:** Ensure FFmpeg is installed and accessible in your system's PATH. For Windows users, the easiest option is to download the `YTSage-v-ffmpeg.exe` file, which comes bundled with FFmpeg.
---
#### 🛡️ Windows Defender / Antivirus Warning
-Some antivirus software may flag the `.exe` files as false positives. This is a **known limitation** of packaged applications.
+Some antivirus software may flag `.exe` files as false positives. This is a **known limitation** of packaged applications.
**Why this happens:**
-- Antivirus heuristics can misidentify packed executables as suspicious
+- Antivirus heuristics can mistakenly identify packaged executables as suspicious.
-**Safe alternatives:**
-- ✅ **Use pip installation:** `pip install ytsage` (recommended)
-- ✅ **Build from source**: by following this [guide](.github/CI_CD_README.md)
-- ✅ **Whitelist the application** in your antivirus software
+**Safe Alternatives:**
+- ✅ **Use pip install:** `pip install ytsage` (Recommended)
+- ✅ **Build from Source**: by following this [guide](.github/CI_CD_README.md)
+- ✅ **Whitelist the app** in your antivirus software.
-#### 🍎 macOS: "App is damaged and can’t be opened"
+#### 🍎 macOS: "Application is damaged and cannot be opened"
If you see this error on macOS Sonoma or newer, you need to remove the quarantine attribute.
-1. **Open Terminal** (you can find it using Spotlight).
+1. **Open Terminal** (you can find this using Spotlight).
2. **Type the following command** but **do not** press Enter yet. Make sure to include the space at the end:
```bash
xattr -d com.apple.quarantine
@@ -427,7 +427,7 @@ If you see this error on macOS Sonoma or newer, you need to remove the quarantin
---
-#### **Configuration Locations (Advanced)**
+#### **Config Locations (Advanced)**
- **Windows:** `%LOCALAPPDATA%\YTSage`
- **macOS:** `~/Library/Application Support/YTSage`
- **Linux:** `~/.local/share/YTSage`
@@ -437,17 +437,17 @@ 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.
+If YTSage saves you time, please consider sponsoring the project. Sponsoring helps cover development time, testing across all 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.
+- Sponsorship link is also available directly in the app via the About dialog.
[](https://github.com/sponsors/oop7)
## 👥 Contributing
-We welcome contributions! Here's how you can help:
+We welcome contributions! Here’s how you can help:
1. 🍴 Fork the repository
2. 🌿 Create your feature branch:
@@ -466,8 +466,8 @@ We welcome contributions! Here's how you can help:
### 🌍 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`
+- Update the relevant localized README file (e.g., `readme-translations/README.fr.md`)
+- Keep app strings synced by editing `ytsage/languages/.json`
- If your language is missing, start from `README.md` and create `README..md`
@@ -488,11 +488,11 @@ YTSage/
│ │ ├── build-linux.yml # Linux build workflow
│ │ ├── build-macos.yml # macOS build workflow
│ │ │── build-windows.yml # Windows build workflow
-| | └── release-all.yml # Master release workflow
+| | └── release-all.yml # Release master workflow
│ └── 📄 CI_CD_README.md # CI/CD documentation
├── 📁 branding/ # Branding assets (Screenshots, SVGs)
-│ ├── 📁 icons/ # Application icons
-│ ├── 📁 screenshots/ # Screenshots for documentation
+│ ├── 📁 icons/ # App icons
+│ ├── 📁 screenshots/ # Documentation screenshots
│ └── 📁 svg/ # SVG assets
├── 📄 LICENSE # License file
├── 📄 pyproject.toml # Project metadata and dependencies
@@ -500,8 +500,8 @@ YTSage/
├── 📄 requirements.txt # Python dependencies (dev)
└── 📁 ytsage/ # Source package
├── 📁 assets/ # Runtime assets
- │ ├── 📁 Icon/ # Application icons
- │ └── 📁 sound/ # Audio files
+ │ ├── 📁 Icon/ # App icons
+ │ └── 📁 sound/ # Sound files
├── 📁 languages/ # Localization files
│ ├── 📄 ar.json # Arabic translation
│ ├── 📄 de.json # German translation
@@ -514,13 +514,13 @@ YTSage/
│ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration
│ ├── 📄 ytsage_utils.py # Utility functions
│ └── 📄 ytsage_yt_dlp.py # yt-dlp integration
- ├── 📁 gui/ # User interface components
+ ├── 📁 gui/ # UI components
│ ├── 📄 __init__.py # GUI package init
- │ ├── 📄 ytsage_gui_main.py # Main application window
+ │ ├── 📄 ytsage_gui_main.py # Main app window
│ └── 📁 ytsage_gui_dialogs/ # Dialog classes
├── 📁 utils/ # Utility modules
│ ├── 📄 __init__.py # Utils package init
- │ ├── 📄 ytsage_config_manager.py # Configuration management
+ │ ├── 📄 ytsage_config_manager.py # Config management
│ └── 📄 ytsage_logger.py # Logging utilities
├── 📄 __init__.py # Package entry point
└── 📄 main.py # Main execution script
@@ -555,7 +555,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
-
A heartfelt thank you to everyone who has contributed to this project by opening an issue to suggest an improvement or report a bug.
+
A big thanks to everyone who contributed to this project by opening an issue to suggest an improvement or report a bug.
| Core Components |
@@ -569,7 +569,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
| Deno |
- Runtime for integration with yt-dlp |
+ Runtime for yt-dlp plugins |
| Libraries & Frameworks |
@@ -586,7 +586,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
| packaging |
- Version & Package Handling |
+ Version/Package Management |
| markdown |
@@ -613,7 +613,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
## ⚠️ Disclaimer
-This tool is for personal use only. Please respect YouTube's terms of service and content creators' rights.
+This tool is for personal use only. Please respect YouTube's Terms of Service and content creator rights.
---
diff --git a/readme-translations/README.tr.md b/readme-translations/README.tr.md
index f24a67b..48ca27e 100644
--- a/readme-translations/README.tr.md
+++ b/readme-translations/README.tr.md
@@ -1,7 +1,7 @@

-

+

[](https://www.python.org/downloads/)
[](https://pepy.tech/project/ytsage)
@@ -13,80 +13,81 @@
[](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.
+Videoları herhangi bir kalitede indirin, sesleri çıkarın, altyazıları alın ve daha fazlasını yapın.
-### 🌍 BENİOKU Diller
+### 🌍 README Dilleri
İngilizce: [EN](../README.md)
-| Cevap: [AR](README.ar.md)
+| Arapça: [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)
+| Hintçe: [HI](README.hi.md)
+| Endonezce: [ID](README.id.md)
| İtalyanca: [IT](README.it.md)
-| Şarkı sözü: [JA](README.ja.md)
-| Polski: [PL](README.pl.md)
+| Japonca: [JA](README.ja.md)
+| Lehçe: [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)
+| Çince: [ZH](README.zh.md)
- Kurulum •
- Özellikler •
- Kullanım •
- Ekran görüntüleri •
- Sorun giderme •
- Sponsor •
- Katkıda Bulunuyorum
+ Kurulum •
+ Özellikler •
+ Kullanım •
+ Ekran Görüntüleri •
+ Sorun Giderme •
+ Sponsor Olun •
+ Katkıda Bulunma
---
-
+
## ❓ 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
+- Modern ve temiz bir PySide6 arayüzü
+- Tek tıkla video, ses ve altyazı indirme
- 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
+- yt-dlp tarafından desteklenen YouTube dışındaki siteler için isteğe bağlı "Genel Mod"
+- Çoklu platform desteği 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 |
+|-----------------------------------|-----------------------------------------|------------------------------------|
+| 🎥 Format Tablosu | 🚫 SponsorBlock Entegrasyonu | 🎞️ FPS/HDR Gösterimi |
+| 🎵 Ses Çıkarma | 📝 Altyazı Seçimi ve Birleştirme | 🔄 Otomatik yt-dlp Güncellemesi |
+| ✨ Basit Kullanıcı Arayüzü | 💾 Açıklama ve Küçük Resim Kaydetme | 🛠️ FFmpeg/yt-dlp/Deno Algılama |
+| 📋 Oynatma Listesi Desteği | 🚀 Hız Sınırlayıcı | ⚙️ Özel Komutlar |
+| 📑 Bölüm Entegrasyonu | ✂️ Video Kırpma | 🍪 Çerez ile Giriş |
+| 📜 İndirme Geçmişi | 🔄 Yayın Kanalı Seçimi | 🌐 Proxy Desteği |
+| 🎚️ Ses Formatı Dönüştürme | 🎬 Video Format Ayarları | 🆙 Entegre Güncelleme Sekmesi |
| 🌍 Genel Mod | 🔊 Ses Normalizasyonu (EBU R128) | 🌍 14 Dilde Yerelleştirme |
+| 💾 Oynatma Listesi Dışa Aktarma | ⚙️ Varsayılan Kalite ve Altyazı | |
-
+
## 🚀 Kurulum
-### ⚡ Hızlı Kurulum (Önerilir)
+### ⚡ Hızlı Kurulum (Önerilen)
-YTSage'i PyPI'den yükleyin:
+YTSage'i PyPI üzerinden yükleyin:
```bash
pip install ytsage
```
-🔄 Mevcut bir kurulumu güncelleyin
+🔄 Mevcut Kurulumu Güncelle
```bash
pip install --upgrade ytsage
@@ -94,41 +95,41 @@ pip install --upgrade ytsage
-Ardından uygulamayı başlatın:
+Ardından uygulamayı çalıştırın:
```bash
ytsage
```
-### 📦 Önceden Oluşturulmuş Yürütülebilir Dosyalar
+### 📦 Hazır Çalıştırılabilir Dosyalar (Executable)
-> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
+> [👉 En Son Sürümü İndir](https://github.com/oop7/YTSage/releases/latest)
#### 🪟 Windows
-| Biçim | Açıklama |
-|----------|----------------|
-|  | Standart yükleyici |
-|  | FFmpeg paketiyle birlikte |
-|  | Taşınabilir versiyon, kurulum gerektirmez |
-|  | FFmpeg ile taşınabilir, sıkıştırılmış |
+| Format | Açıklama |
+|--------|-------------|
+|  | Standart Kurulum Dosyası |
+|  | FFmpeg Dahil |
+|  | Taşınabilir Sürüm, kuruluma gerek yok |
+|  | FFmpeg Dahil Taşınabilir, sıkıştırılmış (ZIP) |
🛠️ Kurulum Adımları
-1. **EXE Yükleyici (`.exe`)**: Dosyaya çift tıklayın ve kurulum sihirbazını izleyin.
-2. **Taşınabilir Sürüm (`.zip`)**: Arşivi istediğiniz konuma çıkarın ve `ytsage.exe`'i çalıştırın.
-3. **FFmpeg Paketli**: Sisteminizde FFmpeg yüklü değilse FFmpeg paketli versiyonlarını seçin.
+1. **EXE Yükleyici (`.exe`)**: Dosyaya çift tıklayın ve kurulum sihirbazını takip edin.
+2. **Taşınabilir Sürüm (`.zip`)**: Dosyayı istediğiniz yere çıkarın ve `ytsage.exe` dosyasını çalıştırın.
+3. **Dahili FFmpeg**: Sisteminizde FFmpeg kurulu değilse, FFmpeg dahil olan sürümleri seçin.
#### 🐧 Linux
-| Biçim | Açıklama |
-|----------|----------------|
-|  | Debian paketi |
-|  | AppImage, taşınabilir |
-|  | RPM paketi |
-|  | Düz Paket Paketi |
+| Format | Açıklama |
+|--------|-------------|
+|  | Debian Paketi |
+|  | AppImage, Taşınabilir |
+|  | RPM Paketi |
+|  | Flatpak Paketi |
🛠️ Kurulum Adımları
@@ -136,7 +137,7 @@ ytsage
- **DEB (`.deb`)**:
```bash
sudo dpkg -i ytsage_*.deb
- sudo apt-get install -f # Fix missing dependencies if any
+ sudo apt-get install -f # Gerekirse eksik bağımlılıkları gidermek için
```
- **RPM (`.rpm`)**:
```bash
@@ -147,32 +148,32 @@ ytsage
chmod +x YTSage-*.AppImage
./YTSage-*.AppImage
```
-- **Flatpak**: Flathub'daki talimatları izleyin veya şunu çalıştırın:
+- **Flatpak**: Flathub üzerindeki talimatları izleyin veya şunu çalıştırın:
```bash
flatpak install flathub io.github.oop7.ytsage
```
-#### 🍎macOS
+#### 🍎 macOS
-| Biçim | Açıklama |
-|----------|----------------|
-|  | Apple Silicon için sıkıştırılmış uygulama |
-|  | Apple Silicon için disk görüntüsü yükleyici |
+| Format | Açıklama |
+|--------|-------------|
+|  | Apple Silicon için ZIP Uygulaması |
+|  | Apple Silicon için Disk Image Kurulum Dosyası |
🛠️ Kurulum Adımları
-- **DMG Installer (`.dmg`)**: Bağlamak için çift tıklayın, ardından `YTSage.app`'i Uygulamalar klasörünüze sürükleyin.
-- **Uygulama Arşivi (`.zip`)**: Zip dosyasını çıkartın ve `YTSage.app`'i Uygulamalar klasörünüze taşıyın.
+- **DMG Yükleyici (`.dmg`)**: Bağlamak için çift tıklayın ve `YTSage.app` dosyasını Uygulamalar klasörünüze sürükleyin.
+- **Uygulama Arşivi (`.zip`)**: ZIP dosyasını çıkarın ve `YTSage.app` dosyasını Uygulamalar klasörünüze taşıyın.
-*Not: "Uygulama hasar gördü" hatasıyla karşılaşırsanız aşağıdaki [macOS troubleshooting section](#troubleshooting)'e bakın.*
+*Not: "Uygulama hasarlı" hatası alırsanız, aşağıdaki macOS Sorun Giderme bölümüne bakın.*
---
-💻 Kaynaktan Manuel Kurulum
+💻 Kaynak Kodundan Manuel Kurulum
### 1. Depoyu Klonlayın
@@ -181,9 +182,9 @@ git clone https://github.com/oop7/YTSage.git
cd YTSage
```
-### 2. Bağımlılıkları Kurun
+### 2. Bağımlılıkları Yükleyin
-#### ⚡UV ile
+#### ⚡ uv ile
```bash
uv pip install .
@@ -195,7 +196,7 @@ uv pip install .
pip install .
```
-### 3. Uygulamayı çalıştırın
+### 3. Uygulamayı Çalıştırın
```bash
python -m ytsage.main
@@ -203,146 +204,151 @@ python -m ytsage.main
-
-## 📸 Ekran görüntüleri
+
+## 📸 Ekran Görüntüleri
+
+
## 📖 Kullanım
🎯 Temel Kullanım
1. **YTSage'i başlatın**
-2. **YouTube URL'sini yapıştırın** (veya "URL'yi yapıştır" düğmesini kullanın)
-3. **"Analiz Et"i tıklayın**
-4. **Biçim Seçin:**
- - `Video` video indirmeleri için
- - `Audio Only` ses çıkarma için
-5. **Seçenekleri seçin:**
+2. **Bir YouTube URL'si yapıştırın** (veya "Paste URL" düğmesini kullanın)
+3. **"Analyze" düğmesine tıklayın**
+4. **Formatı Seçin:**
+ - Video indirmek için `Video`
+ - Sadece ses çıkarmak için `Audio Only`
+5. **Seçenekleri Belirleyin:**
- Altyazıları etkinleştirin ve dili seçin
- - Altyazı birleştirmeyi etkinleştir
- - Küçük resmi kaydet
- - Sponsor segmentlerini kaldırın
- - Açıklamayı kaydet
- - Bölümleri yerleştir
-6. **Çıktı Dizinini Seçin**
-7. **"İndir"e tıklayın**
+ - Altyazı birleştirmeyi (Merge subs) etkinleştirin
+ - Küçük resmi kaydet (Save thumbnail)
+ - Sponsor bölümlerini kaldır (SponsorBlock)
+ - Açıklamayı kaydet (Save description)
+ - Bölümleri göm (Embed chapters)
+6. **Çıkış Dizinini Seçin**
+7. **"Download" düğmesine tıklayın**
-> 💡 Varsayılan indirme dizini kullanıcının "İndirilenler" klasörüdür.
+> 💡 Varsayılan indirme dizini kullanıcının "İndirmeler" klasörüdür.
-📋 Çalma Listesi İndir
+📋 Oynatma Listesi İndirme
1. **Oynatma Listesi URL'sini yapıştırın**
-2. **"Analiz Et"i tıklayın**
-3. **Oynatma seçiciden videoları seçin (isteğe bağlı, varsayılan olarak tümü)**
+2. **"Analyze" düğmesine tıklayın**
+3. **Seçiciden videoları seçin (varsayılan olarak tümü seçilidir)**
4. **İstediğiniz formatı/kaliteyi seçin**
-5. **"İndir"e tıklayın**
+5. **"Download" düğmesine tıklayın**
-> 💡 Uygulama indirme sırasını otomatik olarak yönetir
+> 💡 Uygulama indirme kuyruğunu otomatik olarak yönetir ve oynatma listesi girişlerini `.txt`, `.csv`, `.m3u` veya `.json` dosyaları olarak dışa aktarabilirsiniz.
-🌍 YouTube dışı siteler için Genel Mod
+🌍 YouTube Dışındaki Siteler İçin Genel Mod
-YTSage'in Dailymotion, CBC Gem, TikTok ve diğerleri gibi yt-dlp tarafından desteklenen sitelerdeki URL'leri kabul etmesini istiyorsanız Genel Modu kullanın.
+YTSage'in Dailymotion, TikTok ve diğerleri gibi yt-dlp tarafından desteklenen sitelerden gelen URL'leri kabul etmesini istediğinizde Genel Modu kullanın.
Nasıl kullanılır:
-1. `Download Settings`'i açın.
-2. `Generic Mode`'ı etkinleştirin.
-3. Desteklenen YouTube dışı bir video veya oynatma listesi URL'sini yapıştırın.
-4. `Analyze`'a tıklayın.
-5. Bir format seçin ve her zamanki gibi indirin.
+1. `Download Settings` bölümünü açın.
+2. `Generic Mode` seçeneğini etkinleştirin.
+3. YouTube dışındaki desteklenen bir video veya oynatma listesi URL'sini yapıştırın.
+4. `Analyze` düğmesine tıklayın.
+5. Bir format seçin ve normal şekilde indirin.
Notlar:
-- Genel Mod yalnızca YTSage içindeki URL doğrulamasını değiştirir. Hedef sitenin yüklü yt-dlp sürümünüz tarafından hala desteklenmesi gerekiyor.
-- Bazı siteler, çıkarıcıya bağlı olarak çerezlere, oturum açma oturumuna, proxy'ye veya ekstra yt-dlp argümanlarına ihtiyaç duyar.
-- Bir site başarısız olursa, sorunu bildirmeden önce yerleşik güncelleyici sekmesinden yt-dlp'yi güncelleyin.
+- Genel Mod sadece YTSage içindeki URL doğrulamasını değiştirir. Hedef site hala yüklü yt-dlp sürümünüz tarafından desteklenmelidir.
+- Bazı siteler, çıkarıcıya bağlı olarak çerezler, giriş, proxy veya ek yt-dlp argümanları gerektirebilir.
+- Bir site hata verirse, sorun bildirmeden önce entegre güncelleme sekmesinden yt-dlp'yi güncelleyin.
🧰 Medya ve İndirme Seçenekleri
-- **Altyazı Seçenekleri:** Dilleri filtreleyin ve altyazıları video dosyasına ekleyin
-- **Altyazı Birleştirme:** Sabit kodlanmış altyazılar için altyazıları video dosyasıyla birleştirin
-- **Açıklamayı Kaydet:** Video açıklamasını bir metin dosyası olarak kaydedin
-- **Küçük Resmi Kaydet:** Video küçük resmini bir resim dosyası olarak kaydedin
-- **Bölümleri Göm:** Uyumlu video oynatıcılar için bölüm işaretlerini meta veri olarak gömün
-- **Sponsor Segmentlerini Kaldır:** SponsorBlock'u kullanarak sponsor segmentlerini videodan kaldırın
-- **Videoyu Kırp:** `HH:MM:SS` biçiminde zaman aralıklarını belirterek videonun yalnızca belirli bölümlerini indirin
+- **Altyazı Seçenekleri:** Dilleri filtreleyin ve altyazıları video dosyasına gömün.
+- **Altyazı Birleştirme:** Altyazıları video dosyasına kalıcı olarak (hardcode) birleştirir.
+- **Açıklamayı Kaydet:** Video açıklamasını bir metin dosyası olarak kaydeder.
+- **Küçük Resmi Kaydet:** Video küçük resmini bir resim dosyası olarak kaydeder.
+- **Bölümleri Göm:** Uyumlu video oynatıcılar için meta veri olarak bölüm işaretlerini ekler.
+- **Sponsor Bölümlerini Kaldır:** Videodaki sponsorlu bölümleri kaldırmak için SponsorBlock kullanır.
+- **Videoyu Kırp:** Zaman aralığını `SA:DA:SA` formatında belirterek videonun sadece belirli bölümlerini indirin.
-⚙️ Çıktı ve Dosya Ayarları
+⚙️ Çıkış ve Dosya Ayarları
+
+- **Hız Sınırlayıcı:** İndirme hızını sınırlandırın, örneğin 500 KB/s için `500K`.
+- **İndirme Yolunu Kaydet:** Gelecekteki indirmeler için varsayılan indirme yolunu kaydeder. **Download Settings → Download Path** bölümünde mevcuttur.
+- **Varsayılan Video Çözünürlüğü:** Otomatik seçim için tercih ettiğiniz video çözünürlüğünü ayarlayın (örn: 1080p, 720p). **Download Settings → Default Video Resolution** bölümünde mevcuttur.
+- **Varsayılan Altyazı Dilleri:** Otomatik seçim için varsayılan altyazı dillerini ayarlayın (virgülle ayrılmış, örn: `tr,en`). **Download Settings → Default Subtitle Languages** bölümünde mevcuttur.
+- **Dosya Adı Formatı:** Çıkış dosyası adı formatını `%(title)s`, `%(uploader)s` gibi değişkenler kullanarak özelleştirin. **Download Settings → Filename Format** bölümünde mevcuttur.
+- **Çıkış Formatını Zorla:** Videoyu `mp4`, `webm` veya `mkv` gibi belirli bir konteyner formatında indirmeye zorlar. **Download Settings → Output Format Settings** bölümünde mevcuttur.
+- **Ses Formatı Dönüştürme:** Sadece ses indirmelerini `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` veya `Best` gibi tercih edilen formatlara dönüştürün. **Download Settings → Audio Format Settings** bölümünde mevcuttur.
+- **Ses Normalizasyonu:** EBU R128 kullanarak sadece ses indirmeleri için ses seviyesini standartlaştırır.
+- **Eşzamanlı Bağlantılar:** Dosyaları aynı anda birden fazla parça halinde indirerek indirme hızını önemli ölçüde artırın. **Download Settings → General → Concurrent Connections** bölümünde mevcuttur (Varsayılan 1, IP engellemelerini önlemek için maksimum 8-10 önerilir).
-- **Hız Sınırlayıcı:** İndirme hızını sınırlayın, örneğin 500 KB/s için `500K`
-- **İndirme Yolunu Kaydet:** Gelecekteki indirmeler için varsayılan indirme yolunu kaydedin. **İndirme Ayarları → İndirme Yolu**'nda mevcuttur.
-- **Çıktı Dosya Adı Formatı:** `%(title)s`, `%(uploader)s` ve `%(resolution)s` gibi değişkenleri kullanarak çıktı dosya adı formatını özelleştirin. **İndirme Ayarları → Dosya Adı Formatı**'nda mevcuttur.- **Çıktı Formatını Zorla:** Video indirme işlemlerini `mp4`, `webm` veya `mkv` gibi belirli bir kapsayıcı formatına zorlayın. **İndirme Ayarları → Çıktı Formatı Ayarları** bölümünde mevcuttur.
-- **Ses Formatı Dönüştürme:** Yalnızca ses indirmelerini `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A` gibi tercih edilen formatlara dönüştürün `Vorbis` veya `Best`. **İndirme Ayarları → Ses Formatı Ayarları**'nda mevcuttur.
-- **Ses Normalizasyonu:** EBU R128 kullanarak yalnızca ses indirmeleri için ses düzeyini standartlaştırın.
-- **Eşzamanlı Bağlantılar:** Dosyaları aynı anda birden fazla parça halinde indirerek indirme hızını önemli ölçüde artırın. **İndirme Ayarları → Genel → Eşzamanlı Bağlantılar** altında mevcuttur (Varsayılan 1, IP kısıtlamasını önlemek için önerilen maksimum 8-10).\n
🌐 Erişim ve Ağ
-- **Çerezler ile Giriş Yapın:** Özel içeriğe erişmek için çerezleri kullanarak YouTube'a giriş yapın.
- Nasıl kullanılır:
- 1. **Önerilen:** Uygulamadaki yerleşik `Extract cookies from browser` seçeneğini kullanın, ardından tarayıcınızı ve isteğe bağlı olarak bir profili seçin.
- 2. Alternatif olarak çerezleri manuel olarak çıkarın:
- a. [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) gibi bir uzantı kullanarak çerezleri tarayıcınızdan dışa aktarın
- b. Çerezleri Netscape formatında kopyalayın
- c. `cookies.txt` adında bir dosya oluşturun ve çerezleri bu dosyaya yapıştırın
- D. Uygulamada `cookies.txt` dosyasını seçin
-- **Proxy Desteği:** İndirmeler için bir proxy sunucusu kullanın, örneğin `http://:`
-- **Genel Mod:** YTSage'in, yt-dlp tarafından desteklenen YouTube dışı sitelerden analiz yapmasına ve indirme yapmasına izin verin. **İndirme Ayarları → Genel Mod**'dan etkinleştirin.
+- **Çerez ile Giriş:** Özel içeriğe erişmek için çerezleri kullanarak YouTube'da oturum açın.
+ Kullanım:
+ 1. **Önerilen:** Uygulamadaki entegre `Extract cookies from browser` seçeneğini kullanın, tarayıcıyı ve isteğe bağlı olarak profili seçin.
+ 2. İsteğe bağlı olarak çerezleri manuel olarak çıkarın:
+ a. [cookie-editor](https://github.com/moustachauve/cookie-editor) gibi bir uzantı kullanarak tarayıcınızdan çerezleri dışa aktarın.
+ b. Çerezleri Netscape formatında kopyalayın.
+ c. `cookies.txt` adlı bir dosya oluşturun ve çerezleri yapıştırın.
+ d. Uygulamada `cookies.txt` dosyasını seçin.
+- **Proxy Desteği:** İndirmeler için bir proxy sunucusu kullanın, örn: `http://:`
+- **Genel Mod:** YTSage'in yt-dlp tarafından desteklenen YouTube dışındaki siteleri analiz etmesine ve indirmesine olanak tanır. **Download Settings → Generic Mode** bölümünden etkinleştirin.
🛠️ Araçlar ve Bakım
-- **Özel Komutlar:** Komut satırı bağımsız değişkenleri aracılığıyla gelişmiş yt-dlp özelliklerine erişin
-- **Güncelleyici Sekmesi:** Özel Seçenekler'de yerleşik güncelleme araçlarını tek yerden yönetin:
- - **yt-dlp Güncellemeleri:** Güncellemeleri kontrol edin ve Mevcut ve Gecelik sürüm kanalları arasında geçiş yapın
- - **FFmpeg Sürüm Denetleyicisi:** FFmpeg sürümünüzü kontrol edin ve kurulum kılavuzlarını açın
- - **Deno Güncellemeleri:** Deno çalışma zamanını kontrol edin ve güncelleyin
-- **FFmpeg/yt-dlp/Deno Algılama:** Hakkında iletişim kutusundan FFmpeg, yt-dlp ve Deno yollarını ve sürümlerini otomatik olarak algılar.
-- **İndirme Geçmişi:** **Geçmiş** düğmesinden geçmiş indirmeleri küçük resimler ve durumlarla birlikte görüntüleyin.
+- **Özel Komutlar:** Komut satırı argümanları aracılığıyla gelişmiş yt-dlp özelliklerine erişin.
+- **Güncelleme Sekmesi:** Entegre güncelleme araçlarını Özel Seçenekler altındaki tek bir yerden yönetin:
+ - **yt-dlp Güncelleme:** Güncellemeleri kontrol edin ve Stable ile Nightly yayın kanalları arasında geçiş yapın.
+ - **FFmpeg Sürüm Kontrolü:** FFmpeg sürümünüzü kontrol edin ve kurulum kılavuzlarını açın.
+ - **Deno Güncelleme:** Deno çalışma zamanını kontrol edin ve güncelleyin.
+- **FFmpeg/yt-dlp/Deno Algılama:** Hakkında diyaloğunda FFmpeg, yt-dlp ve Deno yollarını ve sürümlerini otomatik olarak algılar.
+- **İndirme Geçmişi:** **History** düğmesi aracılığıyla küçük resimler ve durumlarla birlikte geçmiş indirmeleri görün.
🌍 Yerelleştirme
-YTSage, dünya çapında erişilebilirlik için **14 dili** destekler. **Özel Seçenekler → Dil**'den tercih ettiğiniz dili seçin.
+YTSage, küresel erişim için **14 dili** destekler. Tercih ettiğiniz dili **Custom Options → Language** bölümünden seçin.
### Desteklenen Diller
@@ -360,7 +366,7 @@ YTSage, dünya çapında erişilebilirlik için **14 dili** destekler. **Özel S
| Dil | Dosya | Dil | Dosya |
|----------|------|----------|------|
-| 🇺🇸 İngilizce | [README.md](../README.md) | 🇪🇸 İspanyolca | [README.es.md](README.es.md)
+| 🇺🇸 İngilizce | [README.md](README.md) | 🇪🇸 İspanyolca | [README.es.md](README.es.md) |
| 🇸🇦 Arapça | [README.ar.md](README.ar.md) | 🇫🇷 Fransızca | [README.fr.md](README.fr.md) |
| 🇩🇪 Almanca | [README.de.md](README.de.md) | 🇮🇳 Hintçe | [README.hi.md](README.hi.md) |
| 🇮🇩 Endonezce | [README.id.md](README.id.md) | 🇮🇹 İtalyanca | [README.it.md](README.it.md) |
@@ -368,165 +374,165 @@ YTSage, dünya çapında erişilebilirlik için **14 dili** destekler. **Özel S
| 🇧🇷 Portekizce | [README.pt.md](README.pt.md) | 🇷🇺 Rusça | [README.ru.md](README.ru.md) |
| 🇹🇷 Türkçe | [README.tr.md](README.tr.md) | 🇨🇳 Çince | [README.zh.md](README.zh.md) |
-> 💡 **Çeviriye katkıda bulunmak mı istiyorsunuz?** Daha fazla dil eklememize yardımcı olmak için [Contributing](#contributing) bölümüne göz atın!
+> 💡 **Çeviriye yardımcı olmak ister misiniz?** Daha fazla dil eklememize yardımcı olmak için [Katkıda Bulunma](#katkıda-bulunma) bölümüne bakın!
-
-## 🛠️ Sorun giderme
+
+## 🛠️ Sorun Giderme
-Genel sorunları ve çözümleri görüntülemek için tıklayın
+Yaygın sorunlar ve çözümler için tıklayın
-- **Biçim tablosu görüntülenmiyor:** yt-dlp'yi en son sürüme güncelleyin ve her gece yt-dlp'ye geçin.
-- **İndirme başarısız oluyor:** İnternet bağlantınızı kontrol edin ve videonun mevcut olduğundan emin olun.
-- **Belirli indirme hataları:**
- - **Özel videolar:** Özel içeriğe erişmek için çerez kimlik doğrulamasını kullanın.
- - **Yaş kısıtlamalı içerik:** Yaş kısıtlamalı videoları görüntülemek için YouTube hesabına giriş yapın.
- - **Coğrafi olarak engellenen videolar:** Bölgesel kısıtlamaları aşmak için bir VPN kullanmayı düşünün.
- - **Kaldırılan/silinen videolar:** Video artık YouTube'da mevcut değil.
- - **Canlı yayınlar:** Canlı yayınlar indirilemez; akışın bitmesini bekleyin.
- - **Ağ hataları:** İnternet bağlantınızı kontrol edip tekrar deneyin.
- - **Geçersiz URL'ler:** URL'nin doğru olduğundan ve desteklenen bir platforma ait olduğundan emin olun.
- - **Premium içerik:** YouTube Premium üyeliği gerektirir.
- - **Telif hakkı engellemeleri:** İçerik, telif hakkı kısıtlamaları nedeniyle engellenmiştir.
-- **İndirmeden sonra video ve ses dosyalarını ayırın:** Bu, FFmpeg eksik olduğunda veya algılanmadığında meydana gelir. YTSage, yüksek kaliteli video ve ses akışlarını birleştirmek için FFmpeg'e ihtiyaç duyar.
- - **Çözüm:** FFmpeg'in sisteminizin PATH'inde kurulu ve erişilebilir olduğundan emin olun. Windows kullanıcıları için en kolay seçenek, FFmpeg ile birlikte gelen `YTSage-v-ffmpeg.exe` dosyasını indirmektir.
+- **Format tablosu görünmüyor:** yt-dlp'yi en son sürüme güncelleyin ve yt-dlp Nightly kanalına geçmeyi deneyin.
+- **İndirme başarısız oldu:** İnternet bağlantınızı kontrol edin ve videonun erişilebilir olduğundan emin olun.
+- **Belirli İndirme Hataları:**
+ - **Özel Videolar:** Özel içeriğe erişmek için çerez kimlik doğrulamasını kullanın.
+ - **Yaş Sınırlı İçerik:** Yaş sınırlı videoları görüntülemek için YouTube hesabınızda oturum açın.
+ - **Coğrafi Engelli Videolar:** Bölgesel kısıtlamaları aşmak için bir VPN kullanmayı düşünün.
+ - **Video Kaldırıldı:** Video artık YouTube'da mevcut değildir.
+ - **Canlı Yayınlar:** Canlı yayınlar yayınlanırken indirilemez; yayın bitene kadar bekleyin.
+ - **Ağ Hataları:** İnternet bağlantınızı kontrol edin ve tekrar deneyin.
+ - **Geçersiz URL:** URL'nin doğru olduğundan ve desteklenen bir platforma ait olduğundan emin olun.
+ - **Premium İçerik:** YouTube Premium aboneliği gerektirir.
+ - **Telif Hakkı Engeli:** İçerik telif hakkı kısıtlamaları nedeniyle engellenmiştir.
+- **İndirme sonrası video ve ses dosyaları ayrı:** Bu durum FFmpeg eksik olduğunda veya algılanmadığında olur. YTSage, yüksek kaliteli video ve ses akışlarını birleştirmek için FFmpeg gerektirir.
+ - **Çözüm:** FFmpeg'in kurulu olduğundan ve sistem PATH'inizde erişilebilir olduğundan emin olun. Windows kullanıcıları için en kolay seçenek, FFmpeg ile birlikte gelen `YTSage-v-ffmpeg.exe` dosyasını indirmektir.
---
#### 🛡️ Windows Defender / Antivirüs Uyarısı
-Bazı antivirüs yazılımları `.exe` dosyalarını yanlış pozitif olarak işaretleyebilir. Bu, paket uygulamaların **bilinen bir sınırlamasıdır**.
+Bazı antivirüs yazılımları `.exe` dosyalarını yanlış pozitif olarak işaretleyebilir. Bu, paketlenmiş uygulamaların **bilinen bir sınırlamasıdır**.
-**Bu neden oluyor:**
-- Antivirüs buluşsal yöntemleri, paketlenmiş yürütülebilir dosyaları şüpheli olarak yanlış tanımlayabilir
+**Neden olur:**
+- Antivirüs sezgiselleri paketlenmiş yürütülebilir dosyaları hatalı bir şekilde şüpheli olarak tanımlayabilir.
-**Güvenli alternatifler:**
-- ✅ **Pip kurulumunu kullanın:** `pip install ytsage` (önerilir)
-- ✅ **Kaynaktan oluşturun**: bunu takip ederek [guide](../.github/CI_CD_README.md)
-- ✅ **Uygulamayı antivirüs yazılımınızda beyaz listeye alın**
+**Güvenli Seçenekler:**
+- ✅ **pip kurulumunu kullanın:** `pip install ytsage` (önerilir)
+- ✅ **Kaynaktan derleyin**: Bu [kılavuzu](.github/CI_CD_README.md) takip ederek
+- ✅ **Uygulamayı antivirüs yazılımınızın beyaz listesine ekleyin**.
#### 🍎 macOS: "Uygulama hasarlı ve açılamıyor"
-Bu hatayı macOS Sonoma veya daha yeni bir sürümde görüyorsanız karantina özelliğini kaldırmanız gerekir.
+macOS Sonoma veya daha yeni sürümlerde bu hatayı görüyorsanız, karantina özniteliğini kaldırmanız gerekir.
-1. **Terminal'i açın** (Spotlight'ı kullanarak bulabilirsiniz).
-2. **Aşağıdaki komutu yazın** ancak **henüz Enter'a basmayın**. Sondaki boşluğu eklediğinizden emin olun:
+1. **Terminal'i açın** (Spotlight kullanarak bulabilirsiniz).
+2. **Aşağıdaki komutu yazın**, ancak henüz Enter tuşuna **BASMAYIN**. Sonundaki boşluğu eklediğinizden emin olun:
```bash
xattr -d com.apple.quarantine
```
-3. **`YTSage.app` dosyasını Finder pencerenizden sürükleyip doğrudan Terminal penceresine bırakın. Bu, doğru dosya yolunu otomatik olarak yapıştıracaktır.
-4. **Komutu çalıştırmak için **Enter** tuşuna basın.
-5. **YTSage.app'i tekrar açmayı deneyin.** Artık doğru şekilde başlatılması gerekir.
+3. **`YTSage.app` dosyasını Finder penceresinden sürükleyin** ve doğrudan Terminal penceresine bırakın. Bu, doğru dosya yolunu otomatik olarak yapıştıracaktır.
+4. Komutu çalıştırmak için **Enter tuşuna basın**.
+5. **YTSage.app'i tekrar açmayı deneyin.** Artık düzgün bir şekilde çalışmalıdır.
---
-#### **Yapılandırma Konumları (Gelişmiş)**
+#### **Yapılandırma Konumu (Gelişmiş)**
- **Windows:** `%LOCALAPPDATA%\YTSage`
- **macOS:** `~/Library/Application Support/YTSage`
- **Linux:** `~/.local/share/YTSage`
-
-## 💖 Sponsor
+
+## 💖 Sponsor Olun
-YTSage size zaman kazandırıyorsa projeye sponsor olmayı düşünün. Sponsorluk, geliştirme süresinin, platformlar arası testlerin ve gelecekteki iyileştirmelerin karşılanmasına yardımcı olur.
+YTSage size zaman kazandırıyorsa, projeye sponsor olmayı düşünün. Sponsorluklar geliştirme süresini, tüm platformlarda test yapmayı ve gelecekteki iyileştirmeleri karşılamaya yardımcı olur.
-- GitHub Sponsorları: https://github.com/sponsors/oop7
-- Sponsor bağlantısına doğrudan uygulamanın içindeki Hakkında iletişim kutusundan da ulaşılabilir.
+- GitHub Sponsors: https://github.com/sponsors/oop7
+- Sponsorluk bağlantısı uygulamadaki Hakkında diyaloğu üzerinden doğrudan mevcuttur.
[](https://github.com/sponsors/oop7)
-
-## 👥 Katkıda Bulunmak
+
+## 👥 Katkıda Bulunma
-Katkılarınızı bekliyoruz! İşte nasıl yardımcı olabileceğiniz:
+Katkılarınız bekliyoruz! İşte nasıl yardımcı olabileceğiniz:
-1. 🍴 Depoyu çatallayın
+1. 🍴 Depoyu Fork'layın
2. 🌿 Özellik dalınızı oluşturun:
```bash
git checkout -b feature/AmazingFeature
```
-3. 💾 Değişikliklerinizi gerçekleştirin:
+3. 💾 Değişikliklerinizi commit'leyin:
```bash
- git commit -m 'Add some AmazingFeature'
+ git commit -m ' AmazingFeature Ekle'
```
-4. 📤 Şubeye itin:
+4. 📤 Dalı push'layın:
```bash
git push origin feature/AmazingFeature
```
-5. 🔄 Bir Çekme İsteği Açın
+5. 🔄 Bir Pull Request açın
-### 🌍 Çevirilere Katkıda Bulunmak
+### 🌍 Çevirilerle Katkıda Bulunun
-- Eşleşen yerelleştirilmiş README dosyasını güncelleyin (örneğin `README.es.md`)
-- `ytsage/languages/.json` düzenleyerek uygulama dizelerini senkronize tutun
-- Diliniz eksikse `README.md`'den başlayın ve `README..md`'i oluşturun
+- İlgili yerelleştirilmiş README dosyasını güncelleyin (örn: `readme-translations/README.tr.md`)
+- Uygulama dizelerini `ytsage/languages/.json` dosyasını düzenleyerek senkronize tutun
+- Diliniz eksikse, `README.md` dosyasından başlayın ve `README..md` dosyasını oluşturun
📂 Proje Yapısı
## YTSage - Proje Yapısı
-Bu belge YTSage'in organize klasör yapısını açıklamaktadır.
+Bu belge YTSage'in düzenli klasör yapısını detaylandırır.
-### 📁 Proje Yapısı
+### 📁 Proje Düzeni
```
YTSage/
-├── 📁 .github/ # GitHub configuration
-│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates
-│ │ └── 🐛-bug-report.md # Bug report template
-│ ├─── 📁 workflows/ # GitHub Actions workflows
-│ │ ├── build-linux.yml # Linux build workflow
-│ │ ├── build-macos.yml # macOS build workflow
-│ │ │── build-windows.yml # Windows build workflow
-| | └── release-all.yml # Master release workflow
-│ └── 📄 CI_CD_README.md # CI/CD documentation
-├── 📁 branding/ # Branding assets (Screenshots, SVGs)
-│ ├── 📁 icons/ # Application icons
-│ ├── 📁 screenshots/ # Screenshots for documentation
-│ └── 📁 svg/ # SVG assets
-├── 📄 LICENSE # License file
-├── 📄 pyproject.toml # Project metadata and dependencies
-├── 📄 README.md # Project documentation
-├── 📄 requirements.txt # Python dependencies (dev)
-└── 📁 ytsage/ # Source package
- ├── 📁 assets/ # Runtime assets
- │ ├── 📁 Icon/ # Application icons
- │ └── 📁 sound/ # Audio files
- ├── 📁 languages/ # Localization files
- │ ├── 📄 ar.json # Arabic translation
- │ ├── 📄 de.json # German translation
- │ ├── 📄 en.json # English translation
- │ └── ... # Other languages
- ├── 📁 core/ # Core business logic
- │ ├── 📄 __init__.py # Core package init
- │ ├── 📄 ytsage_deno.py # Deno integration
- │ ├── 📄 ytsage_downloader.py # Download functionality
- │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration
- │ ├── 📄 ytsage_utils.py # Utility functions
- │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration
- ├── 📁 gui/ # User interface components
- │ ├── 📄 __init__.py # GUI package init
- │ ├── 📄 ytsage_gui_main.py # Main application window
- │ └── 📁 ytsage_gui_dialogs/ # Dialog classes
- ├── 📁 utils/ # Utility modules
- │ ├── 📄 __init__.py # Utils package init
- │ ├── 📄 ytsage_config_manager.py # Configuration management
- │ └── 📄 ytsage_logger.py # Logging utilities
- ├── 📄 __init__.py # Package entry point
- └── 📄 main.py # Main execution script
+├── 📁 .github/ # GitHub konfigürasyonları
+│ ├── 📁 ISSUE_TEMPLATE/ # Sorun şablonları
+│ │ └── 🐛-bug-report.md # Hata raporu şablonu
+│ ├─── 📁 workflows/ # GitHub Actions iş akışları
+│ │ ├── build-linux.yml # Linux derleme akışı
+│ │ ├── build-macos.yml # macOS derleme akışı
+│ │ │── build-windows.yml # Windows derleme akışı
+| | └── release-all.yml # Ana yayın akışı
+│ └── 📄 CI_CD_README.md # CI/CD dökümantasyonu
+├── 📁 branding/ # Marka varlıkları (ekran görüntüleri, SVG'ler)
+│ ├── 📁 icons/ # Uygulama ikonları
+│ ├── 📁 screenshots/ # Dökümantasyon için ekran görüntüleri
+│ └── 📁 svg/ # SVG varlıkları
+├── 📄 LICENSE # Lisans dosyası
+├── 📄 pyproject.toml # Proje metadatası ve bağımlılıklar
+├── 📄 README.md # Proje dökümantasyonu
+├── 📄 requirements.txt # Python bağımlılıkları (dev)
+└── 📁 ytsage/ # Kaynak kod paketi
+ ├── 📁 assets/ # Çalışma zamanı varlıkları
+ │ ├── 📁 Icon/ # Uygulama ikonları
+ │ └── 📁 sound/ # Ses dosyaları
+ ├── 📁 languages/ # Yerelleştirme dosyaları
+ │ ├── 📄 ar.json # Arapça çeviri
+ │ ├── 📄 de.json # Almanca çeviri
+ │ ├── 📄 en.json # İngilizce çeviri
+ │ └── ... # Diğer diller
+ ├── 📁 core/ # Temel iş mantığı
+ │ ├── 📄 __init__.py
+ │ ├── 📄 ytsage_deno.py # Deno entegrasyonu
+ │ ├── 📄 ytsage_downloader.py # İndirme işlevselliği
+ │ ├── 📄 ytsage_ffmpeg.py # FFmpeg entegrasyonu
+ │ ├── 📄 ytsage_utils.py # Yardımcı fonksiyonlar
+ │ └── 📄 ytsage_yt_dlp.py # yt-dlp entegrasyonu
+ ├── 📁 gui/ # Kullanıcı arayüzü bileşenleri
+ │ ├── 📄 __init__.py
+ │ ├── 📄 ytsage_gui_main.py # Ana uygulama penceresi
+ │ └── 📁 ytsage_gui_dialogs/ # Diyalog sınıfları
+ ├── 📁 utils/ # Yardımcı modüller
+ │ ├── 📄 __init__.py
+ │ ├── 📄 ytsage_config_manager.py # Yapılandırma yönetimi
+ │ └── 📄 ytsage_logger.py # Günlük tutma araçları
+ ├── 📄 __init__.py # Paket giriş noktası
+ └── 📄 main.py # Ana yürütme scripti
```
-## ⭐️ Yıldız Tarihi
+## ⭐️ Yıldız Geçmişi