Update German and Italian README translations
Refine and standardize wording in readme-translations/README.de.md and README.it.md. Improvements include clearer UI labels (Analyze/Download), consistent terminology for installation and features, corrected language names, updated tables and formatting, improved screenshot alt texts, and various grammar/translation fixes to align both locales with the main README for clarity and consistency.
This commit is contained in:
+223
-217
@@ -12,33 +12,33 @@
|
||||
[](https://pypi.org/project/ytsage/)
|
||||
[](https://github.com/sponsors/oop7)
|
||||
|
||||
**Ein moderner YouTube-Downloader mit einer sauberen PySide6-Oberfläche.**
|
||||
Laden Sie Videos in beliebiger Qualität herunter, extrahieren Sie Audio, rufen Sie Untertitel ab und mehr.
|
||||
**Ein moderner YouTube-Downloader mit einer eleganten PySide6-Benutzeroberfläche.**
|
||||
Downloaden Sie Videos in jeder Qualität, extrahieren Sie Audio, rufen Sie Untertitel ab und vieles mehr.
|
||||
|
||||
### 🌍 README-Sprachen
|
||||
|
||||
Englisch: [EN](../README.md)
|
||||
| Quelle: [AR](README.ar.md)
|
||||
| Arabisch: [AR](README.ar.md)
|
||||
| Deutsch: [DE](README.de.md)
|
||||
| Spanisch: [ES](README.es.md)
|
||||
| Französisch: [FR](README.fr.md)
|
||||
| Quelle: [HI](README.hi.md)
|
||||
| Bahasa Indonesien: [ID](README.id.md)
|
||||
| Hindi: [HI](README.hi.md)
|
||||
| Indonesisch: [ID](README.id.md)
|
||||
| Italienisch: [IT](README.it.md)
|
||||
| 日本語: [JA](README.ja.md)
|
||||
| Japanisch: [JA](README.ja.md)
|
||||
| Polnisch: [PL](README.pl.md)
|
||||
| Portugiesisch: [PT](README.pt.md)
|
||||
| Russisch: [RU](README.ru.md)
|
||||
| Türkei: [TR](README.tr.md)
|
||||
| Quelle: [ZH](README.zh.md)
|
||||
| Türkisch: [TR](README.tr.md)
|
||||
| Chinesisch: [ZH](README.zh.md)
|
||||
|
||||
<p align="center">
|
||||
<a href="#installation">Installation</a> •
|
||||
<a href="#features">Funktionen</a> •
|
||||
<a href="#usage">Verwendung</a> •
|
||||
<a href="#usage">Bedienung</a> •
|
||||
<a href="#screenshots">Screenshots</a> •
|
||||
<a href="#troubleshooting">Fehlerbehebung</a> •
|
||||
<a href="#sponsor">Sponsor</a> •
|
||||
<a href="#sponsor">Sponsoren</a> •
|
||||
<a href="#contributing">Mitwirken</a>
|
||||
</p>
|
||||
|
||||
@@ -51,10 +51,10 @@ Englisch: [EN](../README.md)
|
||||
|
||||
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
|
||||
- Eine moderne und übersichtliche PySide6-Oberfläche
|
||||
- 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
|
||||
- Erweiterte Funktionen wie SponsorBlock, Zusammenführen von Untertiteln und Playlist-Auswahl
|
||||
- Optionaler generischer Modus (Generic Mode) für von yt-dlp unterstützte Seiten außerhalb von YouTube
|
||||
- Plattformübergreifende Unterstützung und einfache Installation
|
||||
|
||||
<a id="features"></a>
|
||||
@@ -62,31 +62,32 @@ YTSage wurde für Benutzer entwickelt, die einen **einfachen, aber leistungsstar
|
||||
|
||||
<div align="center">
|
||||
|
||||
| Kernfunktionen | Erweiterte Funktionen | Zusätzliche Funktionen |
|
||||
|----------------------------------|--------------------------|------------------------------------|
|
||||
| 🎥 Tabelle formatieren | 🚫 SponsorBlock-Integration | 🎞️ FPS/HDR-Anzeige |
|
||||
| 🎵 Audioextraktion | 📝 Mehrere Untertitel auswählen und zusammenführen | 🔄 yt-dlp automatisch aktualisieren |
|
||||
| ✨ Einfache Benutzeroberfläche | 💾 Beschreibung und Miniaturansicht speichern | 🛠️ FFmpeg/yt-dlp/Deno-Erkennung |
|
||||
| 📋 Playlist-Unterstützung und -Auswahl | 🚀 Geschwindigkeitsbegrenzer | ⚙️ Benutzerdefinierte Befehle |
|
||||
| 📑 Kapitel einbetten | ✂️ Videoabschnitte zuschneiden | 🍪 Mit Cookies anmelden |
|
||||
| 📜 Download-Verlauf | 🔄 Kanalauswahl freigeben | 🌐 Proxy-Unterstützung |
|
||||
| 🎚️ Audioformatkonvertierung | 🎬 Videoformateinstellungen | 🆙 Integrierte Updater-Registerkarte |
|
||||
| 🌍 Allgemeiner Modus | 🔊 Audio-Normalisierung (EBU R128) | 🌍 Lokalisierung in 14 Sprachen |
|
||||
| Basisfunktionen | Erweiterte Funktionen | Zusätzliche Funktionen |
|
||||
|-----------------------------------|-----------------------------------------|------------------------------------|
|
||||
| 🎥 Formattabelle | 🚫 SponsorBlock-Integration | 🎞️ FPS/HDR-Anzeige |
|
||||
| 🎵 Audio-Extraktion | 📝 Untertitel-Auswahl & Merging | 🔄 Automatisches yt-dlp Update |
|
||||
| ✨ Einfache Benutzeroberfläche | 💾 Beschreibung & Thumbnail speichern | 🛠️ FFmpeg/yt-dlp/Deno Erkennung |
|
||||
| 📋 Playlist-Support & Selector | 🚀 Geschwindigkeitsbegrenzer | ⚙️ Benutzerdefinierte Befehle |
|
||||
| 📑 Kapitel-Integration | ✂️ Videoabschnitte zuschneiden | 🍪 Cookie-Login |
|
||||
| 📜 Download-Historie | 🔄 Release-Kanal Auswahl | 🌐 Proxy-Support |
|
||||
| 🎚️ Audioformat-Konvertierung | 🎬 Videoformat-Einstellungen | 🆙 Integrierter Update-Tab |
|
||||
| 🌍 Generischer Modus | 🔊 Audio-Normalisierung (EBU R128) | 🌍 In 14 Sprachen lokalisiert |
|
||||
| 💾 Playlist-Export | ⚙️ Standardqualität & Untertitel | |
|
||||
</div>
|
||||
|
||||
<a id="installation"></a>
|
||||
## 🚀 Installation
|
||||
|
||||
### ⚡ Schnellinstallation (empfohlen)
|
||||
### ⚡ Schnelle Installation (Empfohlen)
|
||||
|
||||
Installieren Sie YTSage von PyPI:
|
||||
Installieren Sie YTSage über PyPI:
|
||||
|
||||
```bash
|
||||
pip install ytsage
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>🔄Aktualisieren Sie eine vorhandene Installation</summary>
|
||||
<summary>🔄 Bestehende Installation aktualisieren</summary>
|
||||
|
||||
```bash
|
||||
pip install --upgrade ytsage
|
||||
@@ -94,7 +95,7 @@ pip install --upgrade ytsage
|
||||
|
||||
</details>
|
||||
|
||||
Starten Sie dann die App:
|
||||
Starten Sie dann die Anwendung:
|
||||
|
||||
```bash
|
||||
ytsage
|
||||
@@ -102,33 +103,33 @@ ytsage
|
||||
|
||||
### 📦 Vorgefertigte ausführbare Dateien
|
||||
|
||||
> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
|
||||
> [👉 Neuestes Release herunterladen](https://github.com/oop7/YTSage/releases/latest)
|
||||
|
||||
#### 🪟 Windows
|
||||
|
||||
| Formatieren | Beschreibung |
|
||||
| Format | Beschreibung |
|
||||
|--------|-------------|
|
||||
|  | Standardinstallationsprogramm |
|
||||
|  | Mit FFmpeg gebündelt |
|
||||
|  | Standard-Installer |
|
||||
|  | Mit integriertem FFmpeg |
|
||||
|  | Portable Version, keine Installation erforderlich |
|
||||
|  | Tragbar mit FFmpeg, gezippt |
|
||||
|  | Portable Version mit FFmpeg, gepackt |
|
||||
|
||||
<details>
|
||||
<summary>🛠️ Installationsschritte</summary>
|
||||
|
||||
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.
|
||||
1. **EXE-Installer (`.exe`)**: Doppelklicken Sie auf die Datei und folgen Sie dem Installationsassistenten.
|
||||
2. **Portable Version (`.zip`)**: Entpacken Sie das Archiv an den gewünschten Ort und starten Sie `ytsage.exe`.
|
||||
3. **Integriertes FFmpeg**: Wählen Sie die Versionen mit integriertem FFmpeg, falls FFmpeg nicht bereits auf Ihrem System installiert ist.
|
||||
</details>
|
||||
|
||||
#### 🐧 Linux
|
||||
|
||||
| Formatieren | Beschreibung |
|
||||
| Format | Beschreibung |
|
||||
|--------|-------------|
|
||||
|  | Debian-Paket |
|
||||
|  | AppImage, tragbar |
|
||||
|  | AppImage, portabel |
|
||||
|  | RPM-Paket |
|
||||
|  | Flatpak-Bundle |
|
||||
|  | Flatpak Bundle |
|
||||
|
||||
<details>
|
||||
<summary>🛠️ Installationsschritte</summary>
|
||||
@@ -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 # Repariert fehlende Abhängigkeiten, falls nötig
|
||||
```
|
||||
- **RPM (`.rpm`)**:
|
||||
```bash
|
||||
@@ -147,7 +148,7 @@ ytsage
|
||||
chmod +x YTSage-*.AppImage
|
||||
./YTSage-*.AppImage
|
||||
```
|
||||
- **Flatpak**: Folgen Sie den Anweisungen auf Flathub oder führen Sie Folgendes aus:
|
||||
- **Flatpak**: Folgen Sie den Anweisungen auf Flathub oder führen Sie aus:
|
||||
```bash
|
||||
flatpak install flathub io.github.oop7.ytsage
|
||||
```
|
||||
@@ -155,26 +156,26 @@ ytsage
|
||||
|
||||
#### 🍎 macOS
|
||||
|
||||
| Formatieren | Beschreibung |
|
||||
| Format | Beschreibung |
|
||||
|--------|-------------|
|
||||
|  | Gezippte Anwendung für Apple Silicon |
|
||||
|  | Disk-Image-Installationsprogramm für Apple Silicon |
|
||||
|  | Gepackte App für Apple Silicon |
|
||||
|  | Disk Image Installer für Apple Silicon |
|
||||
|
||||
<details>
|
||||
<summary>🛠️ Installationsschritte</summary>
|
||||
|
||||
- **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.
|
||||
- **DMG-Installer (`.dmg`)**: Doppelklick zum Mounten, dann `YTSage.app` in den Programme-Ordner ziehen.
|
||||
- **App-Archiv (`.zip`)**: Zip entpacken und `YTSage.app` in den Programme-Ordner verschieben.
|
||||
|
||||
*Hinweis: Wenn Sie auf den Fehler „App ist beschädigt“ stoßen, sehen Sie sich das [macOS troubleshooting section](#troubleshooting) unten an.*
|
||||
*Hinweis: Wenn Sie die Fehlermeldung "App ist beschädigt" erhalten, lesen Sie bitte den Abschnitt zur Fehlerbehebung für macOS weiter unten.*
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
<details>
|
||||
<summary>💻 Manuelle Installation von der Quelle</summary>
|
||||
<summary>💻 Manuelle Installation aus dem Quellcode</summary>
|
||||
|
||||
### 1. Klonen Sie das Repository
|
||||
### 1. Repository klonen
|
||||
|
||||
```bash
|
||||
git clone https://github.com/oop7/YTSage.git
|
||||
@@ -183,19 +184,19 @@ cd YTSage
|
||||
|
||||
### 2. Abhängigkeiten installieren
|
||||
|
||||
#### ⚡ Mit UV
|
||||
#### ⚡ Mit uv
|
||||
|
||||
```bash
|
||||
uv pip install .
|
||||
```
|
||||
|
||||
#### 📦 Oder mit Standard-Pip
|
||||
#### 📦 Oder mit Standard-pip
|
||||
|
||||
```bash
|
||||
pip install .
|
||||
```
|
||||
|
||||
### 3. Führen Sie die Anwendung aus
|
||||
### 3. Anwendung starten
|
||||
|
||||
```bash
|
||||
python -m ytsage.main
|
||||
@@ -209,46 +210,47 @@ python -m ytsage.main
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="../branding/screenshots/Download-Settings.png" alt="Download Settings" width="400"/></td>
|
||||
<td><img src="../branding/screenshots/playlist.png" alt="Playlist Download" width="400"/></td>
|
||||
<td><img src="../branding/screenshots/Download-Settings.png" alt="Download-Einstellungen" width="400"/></td>
|
||||
<td><img src="../branding/screenshots/playlist.png" alt="Playlist-Download" width="400"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><em>Download-Einstellungen</em></td>
|
||||
<td align="center"><em>Playlist-Download</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../branding/screenshots/audio_format.png" alt="Audio Format Selection with Save Thumbnail" width="400"/></td>
|
||||
<td><img src="../branding/screenshots/Custom-Option.png" alt="Custom Options" width="400"/></td>
|
||||
<td><img src="../branding/screenshots/audio_format.png" alt="Audioformat-Auswahl" width="400"/></td>
|
||||
<td><img src="../branding/screenshots/Custom-Option.png" alt="Benutzerdefinierte Optionen" width="400"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><em>Audioformat</em></td>
|
||||
<td align="center"><em>Benutzerdefinierte Optionen</em></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><a id="usage"></a>
|
||||
</div>
|
||||
|
||||
## 📖 Verwendung
|
||||
<a id="usage"></a>
|
||||
## 📖 Bedienung
|
||||
|
||||
<details>
|
||||
<summary>🎯 Grundlegende Verwendung</summary>
|
||||
<summary>🎯 Grundlegende Bedienung</summary>
|
||||
|
||||
1. **YTSage starten**
|
||||
2. **YouTube-URL einfügen** (oder verwenden Sie die Schaltfläche „URL einfügen“)
|
||||
3. **Klicken Sie auf „Analysieren“**
|
||||
2. **YouTube-URL einfügen** (oder die Schaltfläche "Paste URL" verwenden)
|
||||
3. **Auf "Analyze" klicken**
|
||||
4. **Format auswählen:**
|
||||
- `Video` für Video-Downloads
|
||||
- `Audio Only` zur Audioextraktion
|
||||
- `Audio Only` für Audio-Extraktion
|
||||
5. **Optionen wählen:**
|
||||
- Untertitel aktivieren und Sprache auswählen
|
||||
- Untertitelzusammenführung aktivieren
|
||||
- Miniaturansicht speichern
|
||||
- Entfernen Sie Sponsorsegmente
|
||||
- Untertitel aktivieren & Sprache auswählen
|
||||
- Untertitel-Merging aktivieren
|
||||
- Thumbnail speichern
|
||||
- Sponsoren-Segmente entfernen
|
||||
- Beschreibung speichern
|
||||
- Kapitel einbetten
|
||||
6. **Ausgabeverzeichnis auswählen**
|
||||
7. **Klicken Sie auf „Herunterladen“**
|
||||
- Kapitel integrieren
|
||||
6. **Ausgabeverzeichnis wählen**
|
||||
7. **Auf "Download" klicken**
|
||||
|
||||
> 💡 Das Standard-Download-Verzeichnis ist der Ordner „Downloads“ des Benutzers.
|
||||
> 💡 Das Standard-Download-Verzeichnis ist der "Downloads"-Ordner des Benutzers.
|
||||
|
||||
</details>
|
||||
|
||||
@@ -256,94 +258,97 @@ python -m ytsage.main
|
||||
<summary>📋 Playlist-Download</summary>
|
||||
|
||||
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“**
|
||||
2. **Auf "Analyze" klicken**
|
||||
3. **Videos aus dem Playlist-Selector auswählen (optional, standardmäßig alle)**
|
||||
4. **Gewünschtes Format/Qualität wählen**
|
||||
5. **Auf "Download" klicken**
|
||||
|
||||
> 💡 Die Anwendung verwaltet die Download-Warteschlange automatisch
|
||||
> 💡 Die Anwendung verwaltet die Download-Warteschlange automatisch, und Sie können Playlist-Einträge als `.txt`, `.csv`, `.m3u` oder `.json` exportieren.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>🌍 Allgemeiner Modus für Nicht-YouTube-Websites</summary>
|
||||
<summary>🌍 Generischer Modus für Nicht-YouTube-Seiten</summary>
|
||||
|
||||
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.
|
||||
Verwenden Sie den generischen Modus (Generic Mode), wenn YTSage URLs von anderen von yt-dlp unterstützten Seiten wie Dailymotion, CBC Gem, TikTok und anderen akzeptieren soll.
|
||||
|
||||
So verwenden Sie es:
|
||||
So verwenden Sie ihn:
|
||||
|
||||
1. Öffnen Sie `Download Settings`.
|
||||
2. Aktivieren Sie `Generic Mode`.
|
||||
3. Fügen Sie eine unterstützte Nicht-YouTube-Video- oder Playlist-URL ein.
|
||||
3. Fügen Sie eine unterstützte Video- oder Playlist-URL ein, die nicht von YouTube stammt.
|
||||
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.
|
||||
- Der generische Modus ändert nur die URL-Validierung innerhalb von YTSage. Die Zielseite muss weiterhin von Ihrer installierten yt-dlp-Version unterstützt werden.
|
||||
- Einige Seiten erfordern Cookies, Login, Proxy oder zusätzliche yt-dlp-Argumente je nach Extractor.
|
||||
- Wenn eine Seite fehlschlägt, aktualisieren Sie zuerst yt-dlp über den integrierten Update-Tab, bevor Sie das Problem melden.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>🧰 Medien- und Download-Optionen</summary>
|
||||
<summary>🧰 Medien- & Download-Optionen</summary>
|
||||
|
||||
- **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
|
||||
- **Untertitel-Optionen:** Sprachen filtern und Untertitel in die Videodatei einbetten.
|
||||
- **Untertitel-Merging:** Mergt Untertitel in die Videodatei für fest eingebrannte (hardcoded) Untertitel.
|
||||
- **Beschreibung speichern:** Speichert die Videobeschreibung als Textdatei.
|
||||
- **Thumbnail speichern:** Speichert das Video-Thumbnail als Bilddatei.
|
||||
- **Kapitel integrieren:** Bettet Kapitelmarken als Metadaten für kompatible Videoplayer ein.
|
||||
- **Sponsoren-Segmente entfernen:** Entfernt gesponserte Abschnitte aus dem Video mithilfe von SponsorBlock.
|
||||
- **Video zuschneiden:** Laden Sie nur bestimmte Teile eines Videos herunter, indem Sie Zeitbereiche im Format `HH:MM:SS` angeben.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>⚙️ Ausgabe- und Dateieinstellungen</summary>
|
||||
<summary>⚙️ Ausgabe- & Dateieinstellungen</summary>
|
||||
|
||||
- **Geschwindigkeitsbegrenzer:** Begrenzt die Download-Geschwindigkeit, z. B. `500K` für 500 KB/s.
|
||||
- **Download-Pfad speichern:** Speichert den Standard-Download-Pfad für zukünftige Downloads. Verfügbar unter **Download Settings → Download Path**.
|
||||
- **Standard-Videoauflösung:** Legen Sie Ihre bevorzugte Videoauflösung für die automatische Auswahl fest (z. B. 1080p, 720p). Verfügbar unter **Download Settings → Default Video Resolution**.
|
||||
- **Standard-Untertitelsprachen:** Legen Sie Standard-Untertitelsprachen für die automatische Auswahl fest (kommagetrennt, z. B. `de,en`). Verfügbar unter **Download Settings → Default Subtitle Languages**.
|
||||
- **Dateinamen-Format:** Passen Sie das Format des Ausgabedateinamen mit Variablen wie `%(title)s`, `%(uploader)s`, `%(playlist_index)s` und `%(resolution)s` an. Verfügbar unter **Download Settings → Filename Format**.
|
||||
- **Ausgabeformat erzwingen:** Erzwingt Video-Downloads in ein bestimmtes Containerformat wie `mp4`, `webm` oder `mkv`. Verfügbar unter **Download Settings → Output Format Settings**.
|
||||
- **Audioformat-Konvertierung:** Konvertiert reine Audio-Downloads in bevorzugte Formate wie `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` oder `Best`. Verfügbar unter **Download Settings → Audio Format Settings**.
|
||||
- **Audio-Normalisierung:** Standardisiert die Lautstärke für reine Audio-Downloads unter Verwendung von EBU R128.
|
||||
- **Gleichzeitige Verbindungen:** Erhöhen Sie die Download-Geschwindigkeit erheblich, indem Sie Dateien in mehreren Fragmenten gleichzeitig herunterladen. Verfügbar unter **Download Settings → General → Concurrent Connections** (Standardmäßig 1, maximal 8-10 empfohlen, um IP-Sperren zu vermeiden).
|
||||
|
||||
- **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.
|
||||
- **Gleichzeitige Verbindungen:** Erhöhen Sie die Download-Geschwindigkeit drastisch, indem Sie Dateien gleichzeitig in mehreren Fragmenten herunterladen. Verfügbar in **Download-Einstellungen → Allgemein → Gleichzeitige Verbindungen** (Standard ist 1, empfohlenes Maximum ist 8-10, um IP-Einschränkungen zu vermeiden).\n
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>🌐 Zugang und Netzwerk</summary>
|
||||
<summary>🌐 Zugriff & Netzwerk</summary>
|
||||
|
||||
- **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:
|
||||
- **Cookie-Login:** Loggen Sie sich mit Cookies bei YouTube ein, um auf private Inhalte zuzugreifen.
|
||||
Verwendung:
|
||||
1. **Empfohlen:** Verwenden Sie die integrierte Option `Extract cookies from browser` in der App, wählen Sie dann Ihren Browser und optional ein Profil.
|
||||
2. Alternativ können Sie Cookies 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://<proxy-server>:<port>`
|
||||
- **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**.
|
||||
c. Erstellen Sie eine Datei namens `cookies.txt` und fügen Sie die Cookies ein
|
||||
d. Wählen Sie die Datei `cookies.txt` in der App aus
|
||||
- **Proxy-Support:** Verwenden Sie einen Proxy-Server für Downloads, z. B. `http://<proxy-server>:<port>`
|
||||
- **Generischer Modus:** Ermöglicht YTSage das Analysieren und Herunterladen von anderen von yt-dlp unterstützten Seiten. Aktivieren Sie dies unter **Download Settings → Generic Mode**.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>🛠️ Werkzeuge und Wartung</summary>
|
||||
<summary>🛠️ Tools & Wartung</summary>
|
||||
|
||||
- **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.
|
||||
- **Benutzerdefinierte Befehle:** Greifen Sie auf erweiterte yt-dlp-Funktionen über Befehlszeilenargumente zu.
|
||||
- **Update-Tab:** Verwalten Sie integrierte Update-Tools an einem Ort in den benutzerdefinierten Optionen:
|
||||
- **yt-dlp Updates:** Suchen Sie nach Updates und wechseln Sie zwischen Stable- und Nightly-Release-Kanälen.
|
||||
- **FFmpeg-Versionsprüfung:** Überprüfen Sie Ihre FFmpeg-Version und öffnen Sie Installationsanleitungen.
|
||||
- **Deno-Updates:** Überprüfen und aktualisieren Sie die Deno-Laufzeitumgebung.
|
||||
- **FFmpeg/yt-dlp/Deno Erkennung:** Erkennt Pfade und Versionen von FFmpeg, yt-dlp und Deno automatisch aus dem About-Dialog.
|
||||
- **Download-Historie:** Zeigt vergangene Downloads mit Thumbnails und Status über die Schaltfläche **History** an.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>🌍 Lokalisierung</summary>
|
||||
|
||||
YTSage unterstützt **14 Sprachen** für weltweite Zugänglichkeit. Wählen Sie Ihre bevorzugte Sprache unter **Benutzerdefinierte Optionen → Sprache** aus.
|
||||
YTSage unterstützt **14 Sprachen** für globale Barrierefreiheit. Wählen Sie Ihre bevorzugte Sprache unter **Custom Options → Language**.
|
||||
|
||||
### Unterstützte Sprachen
|
||||
|
||||
@@ -361,7 +366,7 @@ YTSage unterstützt **14 Sprachen** für weltweite Zugänglichkeit. Wählen Sie
|
||||
|
||||
| Sprache | Datei | Sprache | Datei |
|
||||
|----------|------|----------|------|
|
||||
| 🇺🇸 Englisch | [README.md](../README.md) | 🇪🇸 Spanisch | [README.es.md](README.es.md)
|
||||
| 🇺🇸 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) |
|
||||
@@ -369,7 +374,7 @@ YTSage unterstützt **14 Sprachen** für weltweite Zugänglichkeit. Wählen Sie
|
||||
| 🇧🇷 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!
|
||||
> 💡 **Möchten Sie bei einer Übersetzung helfen?** Schauen Sie in den Abschnitt [Mitwirken](#contributing), um uns zu helfen, weitere Sprachen hinzuzufügen!
|
||||
|
||||
</details>
|
||||
|
||||
@@ -379,50 +384,50 @@ YTSage unterstützt **14 Sprachen** für weltweite Zugänglichkeit. Wählen Sie
|
||||
<details>
|
||||
<summary>Klicken Sie hier, um häufige Probleme und Lösungen anzuzeigen</summary>
|
||||
|
||||
- **Formattabelle wird nicht angezeigt:** Aktualisieren Sie yt-dlp auf die neueste Version und wechseln Sie jede Nacht zu yt-dlp.
|
||||
- **Formattabelle wird nicht angezeigt:** Aktualisieren Sie yt-dlp auf die neueste Version und wechseln Sie zu yt-dlp nightly.
|
||||
- **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.
|
||||
- **Spezifische Download-Fehler:**
|
||||
- **Private Videos:** Verwenden Sie Cookie-Authentifizierung, um auf private Inhalte zuzugreifen.
|
||||
- **Videos mit Altersbeschränkung:** Loggen Sie sich in Ihr YouTube-Konto ein, um altersbeschränkte Videos anzusehen.
|
||||
- **Geoblockierte Videos:** Erwägen Sie die Verwendung eines VPN, um regionale Einschränkungen zu umgehen.
|
||||
- **Gelöschte Videos:** Das Video ist auf YouTube nicht mehr verfügbar.
|
||||
- **Livestreams:** Livestreams können während der Übertragung 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<version>-ffmpeg.exe“ herunterzuladen, die im Lieferumfang von FFmpeg enthalten ist.
|
||||
- **Premium-Inhalte:** Erfordert ein YouTube-Premium-Abonnement.
|
||||
- **Urheberrechtssperren:** Der Inhalt ist aufgrund von Urheberrechtsbeschränkungen gesperrt.
|
||||
- **Video- und Audiodateien sind nach dem Download getrennt:** 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 installiert und im PATH Ihres Systems zugänglich ist. Für Windows-Benutzer ist die einfachste Option, die Datei `YTSage-v<version>-ffmpeg.exe` herunterzuladen, die FFmpeg integriert hat.
|
||||
|
||||
---
|
||||
|
||||
#### 🛡️ Windows Defender/Antivirus-Warnung
|
||||
#### 🛡️ Windows Defender / Antivirus Warnung
|
||||
|
||||
Einige Antivirenprogramme kennzeichnen die „.exe“-Dateien möglicherweise als falsch positive Ergebnisse. Dies ist eine **bekannte Einschränkung** von Paketanwendungen.
|
||||
Einige Antivirenprogramme können `.exe`-Dateien als Fehlalarm (False Positive) markieren. Dies ist eine **bekannte Einschränkung** von gepackten Anwendungen.
|
||||
|
||||
**Warum das passiert:**
|
||||
– Antivirus-Heuristiken können gepackte ausführbare Dateien fälschlicherweise als verdächtig identifizieren
|
||||
- Antiviren-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
|
||||
- ✅ **Verwenden Sie die pip-Installation:** `pip install ytsage` (Empfohlen)
|
||||
- ✅ **Aus dem Quellcode bauen**: Folgen Sie diesem [Leitfaden](.github/CI_CD_README.md)
|
||||
- ✅ **App auf die Whitelist setzen** in Ihrer Antiviren-Software.
|
||||
|
||||
#### 🍎 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.
|
||||
#### 🍎 macOS: "Die App ist beschädigt und kann nicht geöffnet werden"
|
||||
Wenn dieser Fehler unter macOS Sonoma oder neuer auftritt, müssen Sie das Quarantäne-Attribut 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:
|
||||
1. **Öffnen Sie das Terminal** (Sie finden es über Spotlight).
|
||||
2. **Geben Sie den folgenden Befehl ein**, aber drücken Sie noch **nicht** Enter. Stellen Sie sicher, dass am Ende ein Leerzeichen steht:
|
||||
```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.
|
||||
3. **Ziehen Sie die Datei `YTSage.app`** aus Ihrem Finder-Fenster direkt in das Terminal-Fenster. Dadurch wird der korrekte Dateipfad automatisch eingefügt.
|
||||
4. **Drücken Sie Enter**, um den Befehl auszuführen.
|
||||
5. **Versuchen Sie erneut, YTSage.app zu öffnen.** Sie sollte nun korrekt starten.
|
||||
|
||||
---
|
||||
|
||||
#### **Konfigurationsorte (Erweitert)**
|
||||
#### **Speicherorte der Konfiguration (Erweitert)**
|
||||
- **Windows:** `%LOCALAPPDATA%\YTSage`
|
||||
- **macOS:** `~/Library/Application Support/YTSage`
|
||||
- **Linux:** `~/.local/share/YTSage`
|
||||
@@ -430,45 +435,45 @@ Wenn dieser Fehler unter macOS Sonoma oder neuer auftritt, müssen Sie das Quara
|
||||
</details>
|
||||
|
||||
<a id="sponsor"></a>
|
||||
## 💖 Sponsor
|
||||
## 💖 Sponsoren
|
||||
|
||||
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.
|
||||
Wenn YTSage Ihnen Zeit spart, ziehen Sie bitte in Erwägung, das Projekt zu sponsern. Sponsoring hilft, die Entwicklungszeit, Tests auf allen Plattformen und zukünftige Verbesserungen zu finanzieren.
|
||||
|
||||
- GitHub-Sponsoren: https://github.com/sponsors/oop7
|
||||
- Der Sponsor-Link ist auch direkt in der App im Info-Dialog verfügbar.
|
||||
- GitHub Sponsors: https://github.com/sponsors/oop7
|
||||
- Der Sponsoring-Link ist auch direkt in der App über den About-Dialog verfügbar.
|
||||
|
||||
[](https://github.com/sponsors/oop7)
|
||||
|
||||
<a id="contributing"></a>
|
||||
## 👥 Mitwirken
|
||||
|
||||
Wir freuen uns über Beiträge! So können Sie helfen:
|
||||
Beiträge sind herzlich willkommen! So können Sie helfen:
|
||||
|
||||
1. 🍴 Forken Sie das Repository
|
||||
2. 🌿 Erstellen Sie Ihren Feature-Branch:
|
||||
2. 🌿 Erstellen Sie einen Feature-Branch:
|
||||
```bash
|
||||
git checkout -b feature/AmazingFeature
|
||||
```
|
||||
3. 💾 Übernehmen Sie Ihre Änderungen:
|
||||
3. 💾 Committen Sie Ihre Änderungen:
|
||||
```bash
|
||||
git commit -m 'Add some AmazingFeature'
|
||||
```
|
||||
4. 📤 Zur Filiale schieben:
|
||||
4. 📤 Pushen Sie in den Branch:
|
||||
```bash
|
||||
git push origin feature/AmazingFeature
|
||||
```
|
||||
5. 🔄 Öffnen Sie eine Pull-Anfrage
|
||||
5. 🔄 Öffnen Sie einen Pull Request
|
||||
|
||||
### 🌍 Mitwirkende Übersetzungen
|
||||
### 🌍 Zu Übersetzungen beitragen
|
||||
|
||||
- Aktualisieren Sie die passende lokalisierte README-Datei (zum Beispiel `README.es.md`)
|
||||
- Halten Sie App-Strings synchron, indem Sie `ytsage/languages/<code>.json` bearbeiten
|
||||
- Wenn Ihre Sprache fehlt, beginnen Sie mit `README.md` und erstellen Sie `README.<code>.md`
|
||||
- Aktualisieren Sie die entsprechende lokalisierte README-Datei (z. B. `readme-translations/README.de.md`)
|
||||
- Halten Sie die App-Strings synchron, indem Sie `ytsage/languages/<code>.json` bearbeiten
|
||||
- Wenn Ihre Sprache fehlt, beginnen Sie mit der `README.md` und erstellen Sie `README.<code>.md`
|
||||
|
||||
<details>
|
||||
<summary>📂 Projektstruktur</summary>
|
||||
|
||||
## YTSage – Projektstruktur
|
||||
## YTSage - Projektstruktur
|
||||
|
||||
Dieses Dokument beschreibt die organisierte Ordnerstruktur von YTSage.
|
||||
|
||||
@@ -476,58 +481,58 @@ Dieses Dokument beschreibt die organisierte Ordnerstruktur von YTSage.
|
||||
|
||||
```
|
||||
YTSage/
|
||||
├── 📁 .github/ # GitHub configuration
|
||||
│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates
|
||||
│ │ └── 🐛-bug-report.md # Bug report template
|
||||
│ ├─── 📁 workflows/ # GitHub Actions workflows
|
||||
│ │ ├── build-linux.yml # Linux build workflow
|
||||
│ │ ├── build-macos.yml # macOS build workflow
|
||||
│ │ │── build-windows.yml # Windows build workflow
|
||||
| | └── release-all.yml # Master release workflow
|
||||
│ └── 📄 CI_CD_README.md # CI/CD documentation
|
||||
├── 📁 branding/ # Branding assets (Screenshots, SVGs)
|
||||
│ ├── 📁 icons/ # Application icons
|
||||
│ ├── 📁 screenshots/ # Screenshots for documentation
|
||||
│ └── 📁 svg/ # SVG assets
|
||||
├── 📄 LICENSE # License file
|
||||
├── 📄 pyproject.toml # Project metadata and dependencies
|
||||
├── 📄 README.md # Project documentation
|
||||
├── 📄 requirements.txt # Python dependencies (dev)
|
||||
└── 📁 ytsage/ # Source package
|
||||
├── 📁 assets/ # Runtime assets
|
||||
│ ├── 📁 Icon/ # Application icons
|
||||
│ └── 📁 sound/ # Audio files
|
||||
├── 📁 languages/ # Localization files
|
||||
│ ├── 📄 ar.json # Arabic translation
|
||||
│ ├── 📄 de.json # German translation
|
||||
│ ├── 📄 en.json # English translation
|
||||
│ └── ... # Other languages
|
||||
├── 📁 core/ # Core business logic
|
||||
│ ├── 📄 __init__.py # Core package init
|
||||
│ ├── 📄 ytsage_deno.py # Deno integration
|
||||
│ ├── 📄 ytsage_downloader.py # Download functionality
|
||||
│ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration
|
||||
│ ├── 📄 ytsage_utils.py # Utility functions
|
||||
│ └── 📄 ytsage_yt_dlp.py # yt-dlp integration
|
||||
├── 📁 gui/ # User interface components
|
||||
│ ├── 📄 __init__.py # GUI package init
|
||||
│ ├── 📄 ytsage_gui_main.py # Main application window
|
||||
│ └── 📁 ytsage_gui_dialogs/ # Dialog classes
|
||||
├── 📁 utils/ # Utility modules
|
||||
│ ├── 📄 __init__.py # Utils package init
|
||||
│ ├── 📄 ytsage_config_manager.py # Configuration management
|
||||
│ └── 📄 ytsage_logger.py # Logging utilities
|
||||
├── 📄 __init__.py # Package entry point
|
||||
└── 📄 main.py # Main execution script
|
||||
├── 📁 .github/ # GitHub-Konfiguration
|
||||
│ ├── 📁 ISSUE_TEMPLATE/ # Ticket-Vorlagen
|
||||
│ │ └── 🐛-bug-report.md # Bug-Report-Vorlage
|
||||
│ ├─── 📁 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-Dokumentation
|
||||
├── 📁 branding/ # Branding-Assets (Screenshots, SVGs)
|
||||
│ ├── 📁 icons/ # App-Icons
|
||||
│ ├── 📁 screenshots/ # Screenshots für die Dokumentation
|
||||
│ └── 📁 svg/ # SVG-Assets
|
||||
├── 📄 LICENSE # Lizenzdatei
|
||||
├── 📄 pyproject.toml # Projekt-Metadaten und Abhängigkeiten
|
||||
├── 📄 README.md # Projekt-Dokumentation
|
||||
├── 📄 requirements.txt # Python-Abhängigkeiten (dev)
|
||||
└── 📁 ytsage/ # Quellcode-Paket
|
||||
├── 📁 assets/ # Laufzeit-Assets
|
||||
│ ├── 📁 Icon/ # App-Icons
|
||||
│ └── 📁 sound/ # Audiodateien
|
||||
├── 📁 languages/ # Lokalisierungsdateien
|
||||
│ ├── 📄 ar.json # Arabische Übersetzung
|
||||
│ ├── 📄 de.json # Deutsche Übersetzung
|
||||
│ ├── 📄 en.json # Englische Übersetzung
|
||||
│ └── ... # Weitere Sprachen
|
||||
├── 📁 core/ # Hauptgeschäftslogik
|
||||
│ ├── 📄 __init__.py # Core-Paket-Initialisierung
|
||||
│ ├── 📄 ytsage_deno.py # Deno-Integration
|
||||
│ ├── 📄 ytsage_downloader.py # Download-Funktionalität
|
||||
│ ├── 📄 ytsage_ffmpeg.py # FFmpeg-Integration
|
||||
│ ├── 📄 ytsage_utils.py # Hilfsfunktionen
|
||||
│ └── 📄 ytsage_yt_dlp.py # yt-dlp-Integration
|
||||
├── 📁 gui/ # Benutzeroberflächen-Komponenten
|
||||
│ ├── 📄 __init__.py # GUI-Paket-Initialisierung
|
||||
│ ├── 📄 ytsage_gui_main.py # Hauptfenster der App
|
||||
│ └── 📁 ytsage_gui_dialogs/ # Dialog-Klassen
|
||||
├── 📁 utils/ # Hilfsmodule
|
||||
│ ├── 📄 __init__.py # Utils-Paket-Initialisierung
|
||||
│ ├── 📄 ytsage_config_manager.py # Konfigurationsverwaltung
|
||||
│ └── 📄 ytsage_logger.py # Logging-Tool
|
||||
├── 📄 __init__.py # Paket-Einstiegspunkt
|
||||
└── 📄 main.py # Hauptskript zur Ausführung
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## ⭐️ Sterngeschichte
|
||||
## ⭐️ Star History
|
||||
|
||||
<div align="center">
|
||||
|
||||
## Sterngeschichte
|
||||
## Star History
|
||||
|
||||
<a href="https://www.star-history.com/#oop7/YTSage&Date">
|
||||
<picture>
|
||||
@@ -541,7 +546,7 @@ YTSage/
|
||||
|
||||
## 📜 Lizenz
|
||||
|
||||
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei „LICENSE“.
|
||||
Dieses Projekt steht unter der MIT-Lizenz – weitere Details finden Sie in der Datei [LICENSE](LICENSE).
|
||||
|
||||
## 🙏 Danksagungen
|
||||
|
||||
@@ -550,13 +555,13 @@ Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie i
|
||||
|
||||
<div align="center">
|
||||
|
||||
<p>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.</p>
|
||||
<p>Ein großes Dankeschön an alle, die zu diesem Projekt beigetragen haben, indem sie Tickets für Verbesserungsvorschläge oder Bug-Reports geöffnet haben.</p>
|
||||
|
||||
<table>
|
||||
<tr class="section"><th colspan="2">Kernkomponenten</th></tr>
|
||||
<tr>
|
||||
<td width="35%"><a href="https://github.com/yt-dlp/yt-dlp">yt-dlp</a></td>
|
||||
<td>Download Engine</td>
|
||||
<td>Download-Engine</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://ffmpeg.org/">FFmpeg</a></td>
|
||||
@@ -564,40 +569,41 @@ Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie i
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://deno.com/">Deno</a></td>
|
||||
<td>Laufzeit für die Integration mit yt-dlp</td>
|
||||
<td>Runtime für yt-dlp Integration</td>
|
||||
</tr>
|
||||
<tr class="section"><th colspan="2">Bibliotheken und Frameworks</th></tr>
|
||||
<tr class="section"><th colspan="2">Bibliotheken & Frameworks</th></tr>
|
||||
<tr>
|
||||
<td><a href="https://wiki.qt.io/Qt_for_Python">PySide6</a></td>
|
||||
<td>GUI-Framework</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://python-pillow.org/">Kissen</a></td>
|
||||
<td><a href="https://python-pillow.org/">Pillow</a></td>
|
||||
<td>Bildverarbeitung</td>
|
||||
</tr>
|
||||
<tr><td><a href="https://requests.readthedocs.io/">Anfragen</a></td>
|
||||
<tr>
|
||||
<td><a href="https://requests.readthedocs.io/">requests</a></td>
|
||||
<td>HTTP-Anfragen</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://packaging.python.org/">Verpackung</a></td>
|
||||
<td>Versions- und Pakethandhabung</td>
|
||||
<td><a href="https://packaging.python.org/">packaging</a></td>
|
||||
<td>Versionsverwaltung & Packaging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://python-markdown.github.io/">Abschlag</a></td>
|
||||
<td><a href="https://python-markdown.github.io/">markdown</a></td>
|
||||
<td>Markdown-Rendering</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/Delgan/loguru">loguru</a></td>
|
||||
<td>Protokollierung</td>
|
||||
<td>Logging</td>
|
||||
</tr>
|
||||
<tr class="section"><th colspan="2">Vermögenswerte und Mitwirkende</th></tr>
|
||||
<tr class="section"><th colspan="2">Assets & Mitwirkende</th></tr>
|
||||
<tr>
|
||||
<td><a href="https://pixabay.com/sound-effects/new-notification-09-352705/">Neue Benachrichtigung 09 von Universfield</a></td>
|
||||
<td><a href="https://pixabay.com/sound-effects/new-notification-09-352705/">New Notification 09 by Universfield</a></td>
|
||||
<td>Benachrichtigungston</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/viru185">viru185</a></td>
|
||||
<td>Code-Mitwirkender</td>
|
||||
<td>Code-Contributor</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -607,12 +613,12 @@ Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie i
|
||||
|
||||
## ⚠️ Haftungsausschluss
|
||||
|
||||
Dieses Tool ist nur für den persönlichen Gebrauch bestimmt. Bitte respektieren Sie die Nutzungsbedingungen und die Rechte der Inhaltsersteller von YouTube.
|
||||
Dieses Tool ist nur für den persönlichen Gebrauch bestimmt. Bitte respektieren Sie die Nutzungsbedingungen von YouTube und die Rechte der Content-Ersteller.
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
Hergestellt mit ❤️ von [oop7](https://github.com/oop7)
|
||||
Erstellt mit ❤️ von [oop7](https://github.com/oop7)
|
||||
|
||||
</div>
|
||||
|
||||
+278
-272
@@ -12,81 +12,82 @@
|
||||
[](https://pypi.org/project/ytsage/)
|
||||
[](https://github.com/sponsors/oop7)
|
||||
|
||||
**Un moderno downloader da YouTube con un'interfaccia PySide6 pulita.**
|
||||
Scarica video di qualsiasi qualità, estrai audio, recupera sottotitoli e altro ancora.
|
||||
**Un downloader YouTube moderno con un'interfaccia PySide6 pulita.**
|
||||
Scarica video in qualsiasi qualità, estrai audio, ottieni sottotitoli e molto altro.
|
||||
|
||||
### 🌍 README Lingue
|
||||
### 🌍 Lingue del README
|
||||
|
||||
Inglese: [EN](../README.md)
|
||||
| Indirizzo: [AR](README.ar.md)
|
||||
| Arabo: [AR](README.ar.md)
|
||||
| Tedesco: [DE](README.de.md)
|
||||
| Español: [ES](README.es.md)
|
||||
| Spagnolo: [ES](README.es.md)
|
||||
| Francese: [FR](README.fr.md)
|
||||
| Nome: [HI](README.hi.md)
|
||||
| Bahasa Indonesia: [ID](README.id.md)
|
||||
| Hindi: [HI](README.hi.md)
|
||||
| Indonesiano: [ID](README.id.md)
|
||||
| Italiano: [IT](README.it.md)
|
||||
| 日本語: [JA](README.ja.md)
|
||||
| Giapponese: [JA](README.ja.md)
|
||||
| Polacco: [PL](README.pl.md)
|
||||
| Portoghese: [PT](README.pt.md)
|
||||
| Russo: [RU](README.ru.md)
|
||||
| Turchia: [TR](README.tr.md)
|
||||
| Nome: [ZH](README.zh.md)
|
||||
| Turco: [TR](README.tr.md)
|
||||
| Cinese: [ZH](README.zh.md)
|
||||
|
||||
<p align="center">
|
||||
<a href="#installation">Installazione</a> •
|
||||
<a href="#features">Caratteristiche</a> •
|
||||
<a href="#usage">Utilizzo</a> •
|
||||
<a href="#screenshots">Screenshot</a> •
|
||||
<a href="#troubleshooting">Risoluzione dei problemi</a> •
|
||||
<a href="#installazione">Installazione</a> •
|
||||
<a href="#caratteristiche">Caratteristiche</a> •
|
||||
<a href="#utilizzo">Utilizzo</a> •
|
||||
<a href="#screenshot">Screenshot</a> •
|
||||
<a href="#risoluzione-dei-problemi">Risoluzione dei problemi</a> •
|
||||
<a href="#sponsor">Sponsor</a> •
|
||||
<a href="#contributing">Contribuendo</a>
|
||||
<a href="#contribuire">Contribuire</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
<a id="why-ytsage"></a>
|
||||
## ❓Perché YTSage?
|
||||
<a id="perché-ytsage"></a>
|
||||
## ❓ 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
|
||||
- Un'interfaccia PySide6 moderna e pulita
|
||||
- Download di video, audio e sottotitoli con un solo clic
|
||||
- Funzioni avanzate come SponsorBlock, fusione dei sottotitoli e selezione della playlist
|
||||
- Modalità Generica opzionale per siti diversi da YouTube supportati da yt-dlp
|
||||
- Supporto multipiattaforma e installazione semplice
|
||||
|
||||
<a id="features"></a>
|
||||
## ✨Caratteristiche
|
||||
<a id="caratteristiche"></a>
|
||||
## ✨ Caratteristiche
|
||||
|
||||
<div align="center">
|
||||
|
||||
| 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 |
|
||||
| Funzioni Base | Funzioni Avanzate | Funzioni Extra |
|
||||
|-----------------------------------|-----------------------------------------|------------------------------------|
|
||||
| 🎥 Tabella Formati | 🚫 Integrazione SponsorBlock | 🎞️ Visualizzazione FPS/HDR |
|
||||
| 🎵 Estrazione Audio | 📝 Selezione e Fusione Sottotitoli | 🔄 Aggiornamento automatico yt-dlp |
|
||||
| ✨ Interfaccia Utente Semplice | 💾 Salva Descrizione e Anteprima | 🛠️ Rilevamento FFmpeg/yt-dlp/Deno |
|
||||
| 📋 Supporto e Selettore Playlist | 🚀 Limitatore di Velocità | ⚙️ Comandi Personalizzati |
|
||||
| 📑 Integrazione Capitoli | ✂️ Ritaglio Sezioni Video | 🍪 Login tramite Cookie |
|
||||
| 📜 Cronologia Download | 🔄 Scelta del Canale di Rilascio | 🌐 Supporto Proxy |
|
||||
| 🎚️ Conversione Formato Audio | 🎬 Impostazioni Formato Video | 🆙 Tab Aggiornamento Integrato |
|
||||
| 🌍 Modalità Generica | 🔊 Normalizzazione Audio (EBU R128) | 🌍 Localizzazione in 14 lingue |
|
||||
| 💾 Esportazione Playlist | ⚙️ Qualità e Sottotitoli Predefiniti | |
|
||||
</div>
|
||||
|
||||
<a id="installation"></a>
|
||||
<a id="installazione"></a>
|
||||
## 🚀 Installazione
|
||||
|
||||
### ⚡ Installazione rapida (consigliata)
|
||||
### ⚡ Installazione Rapida (Consigliata)
|
||||
|
||||
Installa YTSage da PyPI:
|
||||
Installa YTSage tramite PyPI:
|
||||
|
||||
```bash
|
||||
pip install ytsage
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>🔄 Aggiorna un'installazione esistente</summary>
|
||||
<summary>🔄 Aggiornare un'installazione esistente</summary>
|
||||
|
||||
```bash
|
||||
pip install --upgrade ytsage
|
||||
@@ -94,51 +95,51 @@ pip install --upgrade ytsage
|
||||
|
||||
</details>
|
||||
|
||||
Quindi avvia l'app:
|
||||
Quindi esegui l'applicazione:
|
||||
|
||||
```bash
|
||||
ytsage
|
||||
```
|
||||
|
||||
### 📦 Eseguibili predefiniti
|
||||
### 📦 Eseguibili Pre-compilati (Executable)
|
||||
|
||||
> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
|
||||
> [👉 Scarica l'ultima versione](https://github.com/oop7/YTSage/releases/latest)
|
||||
|
||||
#### 🪟 Finestre
|
||||
#### 🪟 Windows
|
||||
|
||||
| Formato | Descrizione |
|
||||
|--------|-------------|
|
||||
|  | Programma di installazione standard |
|
||||
|  | Con FFmpeg in bundle |
|
||||
|  | Versione portatile, nessuna installazione richiesta |
|
||||
|  | Portatile con FFmpeg, zippato |
|
||||
|  | Installer Standard |
|
||||
|  | Include FFmpeg |
|
||||
|  | Versione Portable, nessuna installazione richiesta |
|
||||
|  | Portable con FFmpeg, compresso (ZIP) |
|
||||
|
||||
<details>
|
||||
<summary>🛠️ Passaggi di installazione</summary>
|
||||
<summary>🛠️ Passaggi per l'installazione</summary>
|
||||
|
||||
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.
|
||||
1. **Installer EXE (`.exe`)**: Fare doppio clic sul file e seguire la procedura guidata.
|
||||
2. **Versione Portable (`.zip`)**: Estrarre l'archivio nella posizione desiderata ed eseguire `ytsage.exe`.
|
||||
3. **FFmpeg integrato**: Se non hai FFmpeg sul tuo sistema, scegli le versioni con FFmpeg integrato.
|
||||
</details>
|
||||
|
||||
#### 🐧Linux
|
||||
#### 🐧 Linux
|
||||
|
||||
| Formato | Descrizione |
|
||||
|--------|-------------|
|
||||
|  | Pacchetto Debian |
|
||||
|  | AppImage, portatile |
|
||||
|  | AppImage, Portable |
|
||||
|  | Pacchetto RPM |
|
||||
|  | Pacchetto Flatpack |
|
||||
|  | Bundle Flatpak |
|
||||
|
||||
<details>
|
||||
<summary>🛠️ Passaggi di installazione</summary>
|
||||
<summary>🛠️ Passaggi per l'installazione</summary>
|
||||
|
||||
- **DEB (`.deb`)**:
|
||||
```bash
|
||||
sudo dpkg -i ytsage_*.deb
|
||||
sudo apt-get install -f # Fix missing dependencies if any
|
||||
sudo apt-get install -f # Se necessario per correggere le dipendenze mancanti
|
||||
```
|
||||
- **Giri/min (`.rpm`)**:
|
||||
- **RPM (`.rpm`)**:
|
||||
```bash
|
||||
sudo rpm -i ytsage-*.rpm
|
||||
```
|
||||
@@ -147,7 +148,7 @@ ytsage
|
||||
chmod +x YTSage-*.AppImage
|
||||
./YTSage-*.AppImage
|
||||
```
|
||||
- **Flatpak**: segui le istruzioni su Flathub o esegui:
|
||||
- **Flatpak**: Seguire le istruzioni su Flathub o eseguire:
|
||||
```bash
|
||||
flatpak install flathub io.github.oop7.ytsage
|
||||
```
|
||||
@@ -157,22 +158,22 @@ ytsage
|
||||
|
||||
| Formato | Descrizione |
|
||||
|--------|-------------|
|
||||
|  | Applicazione zippata per Apple Silicon |
|
||||
|  | Programma di installazione dell'immagine disco per Apple Silicon |
|
||||
|  | App ZIP per Apple Silicon |
|
||||
|  | Installer Disk Image per Apple Silicon |
|
||||
|
||||
<details>
|
||||
<summary>🛠️ Passaggi di installazione</summary>
|
||||
<summary>🛠️ Passaggi per l'installazione</summary>
|
||||
|
||||
- **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.
|
||||
- **Installer DMG (`.dmg`)**: Fare doppio clic per montare, quindi trascinare `YTSage.app` nella cartella Applicazioni.
|
||||
- **Archivio App (`.zip`)**: Estrarre lo ZIP e spostare `YTSage.app` nella cartella Applicazioni.
|
||||
|
||||
*Nota: se riscontri l'errore "L'app è danneggiata", consulta [macOS troubleshooting section](#troubleshooting) di seguito.*
|
||||
*Nota: Se ricevi l'errore "L'app è danneggiata", consulta la sezione Risoluzione dei problemi macOS di seguito.*
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
<details>
|
||||
<summary>💻 Installazione manuale dalla fonte</summary>
|
||||
<summary>💻 Installazione manuale dai sorgenti</summary>
|
||||
|
||||
### 1. Clonare il repository
|
||||
|
||||
@@ -181,7 +182,7 @@ git clone https://github.com/oop7/YTSage.git
|
||||
cd YTSage
|
||||
```
|
||||
|
||||
### 2. Installa le dipendenze
|
||||
### 2. Installare le dipendenze
|
||||
|
||||
#### ⚡ Con uv
|
||||
|
||||
@@ -189,7 +190,7 @@ cd YTSage
|
||||
uv pip install .
|
||||
```
|
||||
|
||||
#### 📦 Oppure con pip standard
|
||||
#### 📦 O con pip standard
|
||||
|
||||
```bash
|
||||
pip install .
|
||||
@@ -203,226 +204,230 @@ python -m ytsage.main
|
||||
|
||||
</details>
|
||||
|
||||
<a id="screenshots"></a>
|
||||
## 📸 Schermate
|
||||
<a id="screenshot"></a>
|
||||
## 📸 Screenshot
|
||||
|
||||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="../branding/screenshots/Download-Settings.png" alt="Download Settings" width="400"/></td>
|
||||
<td><img src="../branding/screenshots/playlist.png" alt="Playlist Download" width="400"/></td>
|
||||
<td><img src="../branding/screenshots/Download-Settings.png" alt="Impostazioni Download" width="400"/></td>
|
||||
<td><img src="../branding/screenshots/playlist.png" alt="Download Playlist" width="400"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><em>Scarica impostazioni</em></td>
|
||||
<td align="center"><em>Scarica playlist</em></td>
|
||||
<td align="center"><em>Impostazioni Download</em></td>
|
||||
<td align="center"><em>Download Playlist</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../branding/screenshots/audio_format.png" alt="Audio Format Selection with Save Thumbnail" width="400"/></td>
|
||||
<td><img src="../branding/screenshots/Custom-Option.png" alt="Custom Options" width="400"/></td>
|
||||
<td><img src="../branding/screenshots/audio_format.png" alt="Selezione Formato Audio" width="400"/></td>
|
||||
<td><img src="../branding/screenshots/Custom-Option.png" alt="Opzioni Personalizzate" width="400"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><em>Formato audio</em></td>
|
||||
<td align="center"><em>Opzioni personalizzate</em></td>
|
||||
<td align="center"><em>Formato Audio</em></td>
|
||||
<td align="center"><em>Opzioni Personalizzate</em></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><a id="usage"></a>
|
||||
</div>
|
||||
|
||||
<a id="utilizzo"></a>
|
||||
## 📖 Utilizzo
|
||||
|
||||
<details>
|
||||
<summary>🎯 Utilizzo di base</summary>
|
||||
<summary>🎯 Utilizzo Base</summary>
|
||||
|
||||
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"**
|
||||
2. **Incolla un URL di YouTube** (o usa il pulsante "Incolla URL")
|
||||
3. **Clicca su "Analizza"**
|
||||
4. **Scegli il formato:**
|
||||
- `Video` per il download del video
|
||||
- `Solo Audio` per l'estrazione dell'audio
|
||||
5. **Seleziona le opzioni:**
|
||||
- Abilita i sottotitoli e scegli la lingua
|
||||
- Abilita la fusione dei sottotitoli
|
||||
- Salva l'anteprima (thumbnail)
|
||||
- Rimuovi sezioni sponsor
|
||||
- Salva la descrizione
|
||||
- Incorpora i capitoli
|
||||
6. **Scegli la directory di destinazione**
|
||||
7. **Clicca su "Download"**
|
||||
|
||||
> 💡 La directory di download predefinita è la cartella "Download" dell'utente.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>📋 Download della playlist</summary>
|
||||
<summary>📋 Download Playlist</summary>
|
||||
|
||||
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"**
|
||||
2. **Clicca su "Analizza"**
|
||||
3. **Seleziona i video dal selettore (opzionale, tutti per impostazione predefinita)**
|
||||
4. **Scegli il formato/qualità desiderati**
|
||||
5. **Clicca su "Download"**
|
||||
|
||||
> 💡 L'applicazione gestisce automaticamente la coda di download
|
||||
> 💡 L'applicazione gestisce automaticamente la coda di download e puoi esportare le voci della playlist come file `.txt`, `.csv`, `.m3u` o `.json`.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>🌍 Modalità generica per siti non YouTube</summary>
|
||||
<summary>🌍 Modalità Generica per siti non YouTube</summary>
|
||||
|
||||
Utilizza la modalità generica quando desideri che YTSage accetti URL da siti supportati da yt-dlp, come Dailymotion, CBC Gem, TikTok e altri.
|
||||
Usa la Modalità Generica quando vuoi che YTSage accetti URL da siti supportati da yt-dlp come Dailymotion, CBC Gem, TikTok e altri.
|
||||
|
||||
Come usarlo:
|
||||
Come usarla:
|
||||
|
||||
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.
|
||||
1. Apri `Impostazioni Download`.
|
||||
2. Abilita `Modalità Generica`.
|
||||
3. Incolla un URL di un video o di una playlist supportata che non sia YouTube.
|
||||
4. Clicca su `Analizza`.
|
||||
5. Scegli un formato e scarica normalmente.
|
||||
|
||||
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.
|
||||
- La Modalità Generica cambia solo la validazione dell'URL all'interno di YTSage. Il sito di destinazione deve essere comunque supportato dalla versione di yt-dlp installata.
|
||||
- Alcuni siti richiedono cookie, login, proxy o argomenti yt-dlp aggiuntivi a seconda dell'estrattore.
|
||||
- Se un sito fallisce, aggiorna yt-dlp dal tab di aggiornamento integrato prima di segnalare il problema.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>🧰 Opzioni multimediali e di download</summary>
|
||||
<summary>🧰 Opzioni Media e Download</summary>
|
||||
|
||||
- **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`
|
||||
- **Opzioni Sottotitoli:** Filtra le lingue e incorpora i sottotitoli nel file video.
|
||||
- **Fusione Sottotitoli:** Fonde i sottotitoli nel file video per sottotitoli permanenti (hardcoded).
|
||||
- **Salva Descrizione:** Salva la descrizione del video come file di testo.
|
||||
- **Salva Anteprima:** Salva l'anteprima (thumbnail) del video come file immagine.
|
||||
- **Incorpora Capitoli:** Include i segnaposti dei capitoli come metadati per i lettori video compatibili.
|
||||
- **Rimuovi Sezioni Sponsor:** Usa SponsorBlock per rimuovere i segmenti sponsorizzati dal video.
|
||||
- **Ritaglia Video:** Scarica solo parti specifiche del video specificando un intervallo di tempo nel formato `HH:MM:SS`.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>⚙️ Impostazioni file e output</summary>
|
||||
<summary>⚙️ Impostazioni Output e File</summary>
|
||||
|
||||
- **Limitatore di Velocità:** Limita la velocità di download, ad esempio `500K` per 500 KB/s.
|
||||
- **Salva Percorso Download:** Salva il percorso di download predefinito per i download futuri. Disponibile in **Impostazioni Download → Percorso Download**.
|
||||
- **Risoluzione Video Predefinita:** Imposta la risoluzione video preferita per la selezione automatica (es. 1080p, 720p). Disponibile in **Impostazioni Download → Risoluzione Video Predefinita**.
|
||||
- **Lingue Sottotitoli Predefinite:** Imposta le lingue dei sottotitoli predefinite per la selezione automatica (separate da virgola, es. `it,en`). Disponibile in **Impostazioni Download → Lingue Sottotitoli Predefinite**.
|
||||
- **Formato Nome File:** Personalizza il formato del nome del file di output utilizzando variabili come `%(title)s`, `%(uploader)s`, `%(playlist_index)s` e `%(resolution)s`. Disponibile in **Impostazioni Download → Formato Nome File**.
|
||||
- **Forza Formato Output:** Forza il download del video in un formato contenitore specifico come `mp4`, `webm` o `mkv`. Disponibile in **Impostazioni Download → Impostazioni Formato Output**.
|
||||
- **Conversione Formato Audio:** Converte i download di solo audio nel formato preferito 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 di solo audio utilizzando EBU R128.
|
||||
- **Connessioni Simultanee:** Aumenta significativamente la velocità di download scaricando i file in più parti contemporaneamente. Disponibile in **Impostazioni Download → Generali → Connessioni Simultanee** (predefinito 1, massimo 8-10 consigliato per evitare blocchi IP).
|
||||
|
||||
- **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.
|
||||
- **Connessioni Simultanee:** Aumenta drasticamente la velocità di download scaricando file in frammenti multipli contemporaneamente. Disponibile in **Impostazioni di Download → Generale → Connessioni Simultanee** (Predefinito 1, massimo consigliato 8-10 per evitare limitazioni IP).\n
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>🌐 Accesso e Rete</summary>
|
||||
|
||||
- **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
|
||||
- **Login tramite Cookie:** Accedi a YouTube utilizzando i cookie per accedere ai contenuti privati.
|
||||
Utilizzo:
|
||||
1. **Consigliato:** Usa l'opzione integrata nell'app `Estrai cookie dal browser`, quindi scegli il browser e opzionalmente il profilo.
|
||||
2. In alternativa, estrai i cookie manualmente:
|
||||
a. 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 nel formato Netscape
|
||||
c. Crea un file chiamato `cookies.txt` e incolla i cookie
|
||||
d. Seleziona il file `cookies.txt` nell'app
|
||||
- **Supporto proxy:** utilizza un server proxy per i download, ad esempio `http://<proxy-server>:<port>`
|
||||
- **Modalità generica:** consente a YTSage di analizzare e scaricare da siti non YouTube supportati da yt-dlp. Abilitalo da **Impostazioni download → Modalità generica**.
|
||||
- **Supporto Proxy:** Usa un server proxy per i download, ad esempio `http://<server-proxy>:<porta>`
|
||||
- **Modalità Generica:** Consente a YTSage di analizzare e scaricare da siti non YouTube supportati da yt-dlp. Abilitalo da **Impostazioni Download → Modalità Generica**.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>🛠️ Attrezzi e Manutenzione</summary>
|
||||
<summary>🛠️ Strumenti e Manutenzione</summary>
|
||||
|
||||
- **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**.
|
||||
- **Comandi Personalizzati:** Accedi alle funzioni avanzate di yt-dlp tramite argomenti della riga di comando.
|
||||
- **Tab Aggiornamento:** Gestisci gli strumenti di aggiornamento integrati da un unico posto nelle Opzioni Personalizzate:
|
||||
- **Aggiornamento yt-dlp:** Controlla gli aggiornamenti e passa tra i canali di rilascio Stabile e Nightly.
|
||||
- **Controllo Versione FFmpeg:** Verifica la tua versione di FFmpeg e apri le guide all'installazione.
|
||||
- **Aggiornamento 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 dal dialogo Informazioni.
|
||||
- **Cronologia Download:** Visualizza i download passati con anteprime e stati dal pulsante **Cronologia**.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>🌍 Localizzazione</summary>
|
||||
|
||||
YTSage supporta **14 lingue** per l'accessibilità in tutto il mondo. Seleziona la tua lingua preferita da **Opzioni personalizzate → Lingua**.
|
||||
YTSage supporta **14 lingue** per una portata globale. Scegli la tua lingua preferita in **Opzioni Personalizzate → Lingua**.
|
||||
|
||||
### Lingue supportate
|
||||
### Lingue Supportate
|
||||
|
||||
| Lingua | Codice | Lingua | Codice |
|
||||
|----------|------|----------|------|
|
||||
| 🇺🇸 Inglese | `en` | 🇪🇸Spagnolo | `es` |
|
||||
| 🇺🇸 Inglese | `en` | 🇪🇸 Spagnolo | `es` |
|
||||
| 🇸🇦 Arabo | `ar` | 🇫🇷 Francese | `fr` |
|
||||
| 🇩🇪 Tedesco | `de` | 🇮🇳 Hindi | `hi` |
|
||||
| 🇮🇩 Indonesiano | `id` | 🇮🇹Italiano | `it` |
|
||||
| 🇯🇵Giapponese | `ja` | 🇵🇱 Polacco | `pl` |
|
||||
| 🇮🇩 Indonesiano | `id` | 🇮🇹 Italiano | `it` |
|
||||
| 🇯🇵 Giapponese | `ja` | 🇵🇱 Polacco | `pl` |
|
||||
| 🇧🇷 Portoghese | `pt` | 🇷🇺 Russo | `ru` |
|
||||
| 🇹🇷 Turco | `tr` | 🇨🇳Cinese | `zh` |
|
||||
| 🇹🇷 Turco | `tr` | 🇨🇳 Cinese | `zh` |
|
||||
|
||||
### Traduzioni README
|
||||
### Traduzioni del README
|
||||
|
||||
| Lingua | File | Lingua | File |
|
||||
|----------|------|----------|------|
|
||||
| 🇺🇸 Inglese | [README.md](../README.md) | 🇪🇸Spagnolo | [README.es.md](README.es.md)
|
||||
| 🇺🇸 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) |
|
||||
| 🇮🇩 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) |
|
||||
| 🇹🇷 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!
|
||||
> 💡 **Vuoi aiutare con la traduzione?** Consulta la sezione [Contribuire](#contribuire) per aiutarci ad aggiungere altre lingue!
|
||||
|
||||
</details>
|
||||
|
||||
<a id="troubleshooting"></a>
|
||||
<a id="risoluzione-dei-problemi"></a>
|
||||
## 🛠️ Risoluzione dei problemi
|
||||
|
||||
<details>
|
||||
<summary>Fai clic per visualizzare problemi e soluzioni comuni</summary>
|
||||
<summary>Clicca per visualizzare i problemi comuni e le soluzioni</summary>
|
||||
|
||||
- **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.
|
||||
- **La tabella dei formati non appare:** Aggiorna yt-dlp all'ultima versione e prova a passare a yt-dlp Nightly.
|
||||
- **Download fallito:** 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<version>-ffmpeg.exe`, fornito in bundle con FFmpeg.
|
||||
- **Video Privati:** Usa l'autenticazione tramite cookie per accedere ai contenuti privati.
|
||||
- **Contenuti con limiti di età:** Accedi al tuo account YouTube per visualizzare i video con limiti di età.
|
||||
- **Video bloccati geograficamente:** Considera l'uso di una VPN per aggirare le restrizioni regionali.
|
||||
- **Video rimosso:** Il video non è più disponibile su YouTube.
|
||||
- **Live Stream:** I live stream non possono essere scaricati durante la trasmissione; attendi la fine dello stream.
|
||||
- **Errori di rete:** Controlla la tua connessione internet e riprova.
|
||||
- **URL non valido:** Assicurati che l'URL sia corretto e provenga da una piattaforma supportata.
|
||||
- **Contenuti Premium:** Richiede un abbonamento YouTube Premium.
|
||||
- **Blocco Copyright:** Il contenuto è bloccato a causa di restrizioni sul copyright.
|
||||
- **I file video e audio sono separati dopo il download:** Questo accade quando FFmpeg manca o non viene rilevato. YTSage richiede FFmpeg per unire i 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<versione>-ffmpeg.exe`, che include FFmpeg.
|
||||
|
||||
---
|
||||
|
||||
#### 🛡️ Avviso Windows Defender/Antivirus
|
||||
#### 🛡️ Avviso Windows Defender / Antivirus
|
||||
|
||||
Alcuni software antivirus potrebbero contrassegnare i file `.exe` come falsi positivi. Questa è una **limitazione nota** delle applicazioni in pacchetto.
|
||||
Alcuni software antivirus potrebbero contrassegnare i file `.exe` come falsi positivi. Questa è una **limitazione nota** delle applicazioni pacchettizzate.
|
||||
|
||||
**Perché ciò accade:**
|
||||
- L'euristica dell'antivirus può identificare erroneamente gli eseguibili compressi come sospetti
|
||||
**Perché succede:**
|
||||
- Le euristiche dell'antivirus potrebbero identificare erroneamente gli eseguibili pacchettizzati 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
|
||||
**Opzioni sicure:**
|
||||
- ✅ **Usa l'installazione tramite pip:** `pip install ytsage` (consigliato)
|
||||
- ✅ **Compila dai sorgenti**: Seguendo questa [guida](.github/CI_CD_README.md)
|
||||
- ✅ **Aggiungi l'applicazione alla whitelist** 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.
|
||||
#### 🍎 macOS: "L’app è danneggiata e non può essere aperta"
|
||||
Se visualizzi questo errore su macOS Sonoma o versioni successive, devi rimuovere l'attributo di 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:
|
||||
1. **Apri il Terminale** (puoi trovarlo usando 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.
|
||||
3. **Trascina il file `YTSage.app` dalla finestra del Finder** e rilascialo direttamente nella finestra del Terminale. Questo incollerà automaticamente il percorso corretto del file.
|
||||
4. **Premi Invio** per eseguire il comando.
|
||||
5. **Prova a riaprire YTSage.app.** Ora dovrebbe avviarsi correttamente.
|
||||
|
||||
---
|
||||
|
||||
#### **Posizioni di configurazione (avanzate)**
|
||||
#### **Percorsi di configurazione (Avanzato)**
|
||||
- **Windows:** `%LOCALAPPDATA%\YTSage`
|
||||
- **macOS:** `~/Library/Application Support/YTSage`
|
||||
- **Linux:** `~/.local/share/YTSage`
|
||||
@@ -432,102 +437,102 @@ Se visualizzi questo errore su macOS Sonoma o versioni successive, devi rimuover
|
||||
<a id="sponsor"></a>
|
||||
## 💖 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.
|
||||
Se YTSage ti fa risparmiare tempo, considera di sponsorizzare il progetto. Le sponsorizzazioni aiutano a coprire il tempo 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.
|
||||
- GitHub Sponsors: https://github.com/sponsors/oop7
|
||||
- Il link per la sponsorizzazione è disponibile direttamente tramite il dialogo Informazioni all'interno dell'app.
|
||||
|
||||
[](https://github.com/sponsors/oop7)
|
||||
|
||||
<a id="contributing"></a>
|
||||
<a id="contribuire"></a>
|
||||
## 👥 Contribuire
|
||||
|
||||
Diamo il benvenuto ai contributi! Ecco come puoi aiutare:
|
||||
I contributi sono benvenuti! Ecco come puoi aiutare:
|
||||
|
||||
1. 🍴 Effettua il fork del repository
|
||||
2. 🌿 Crea il tuo ramo di funzionalità:
|
||||
1. 🍴 Fork del repository
|
||||
2. 🌿 Crea il tuo ramo per la funzione:
|
||||
```bash
|
||||
git checkout -b feature/AmazingFeature
|
||||
git checkout -b feature/FunzioneIncredibile
|
||||
```
|
||||
3. 💾 Applica le tue modifiche:
|
||||
3. 💾 Fai il commit delle tue modifiche:
|
||||
```bash
|
||||
git commit -m 'Add some AmazingFeature'
|
||||
git commit -m 'Aggiungi FunzioneIncredibile'
|
||||
```
|
||||
4. 📤 Spingere verso il ramo:
|
||||
4. 📤 Fai il push sul ramo:
|
||||
```bash
|
||||
git push origin feature/AmazingFeature
|
||||
git push origin feature/FunzioneIncredibile
|
||||
```
|
||||
5. 🔄 Apri una richiesta di pull
|
||||
5. 🔄 Apri una Pull Request
|
||||
|
||||
### 🌍 Contribuire alle traduzioni
|
||||
|
||||
- Aggiorna il file README localizzato corrispondente (ad esempio `README.es.md`)
|
||||
- Aggiorna il file README localizzato pertinente (es. `readme-translations/README.it.md`)
|
||||
- Mantieni sincronizzate le stringhe dell'app modificando `ytsage/languages/<code>.json`
|
||||
- Se manca la tua lingua, inizia da `README.md` e crea `README.<code>.md`
|
||||
- Se la tua lingua manca, parti da `README.md` e crea `README.<code>.md`
|
||||
|
||||
<details>
|
||||
<summary>📂 Struttura del progetto</summary>
|
||||
<summary>📂 Struttura del Progetto</summary>
|
||||
|
||||
## YTSage - Struttura del progetto
|
||||
## YTSage - Struttura del Progetto
|
||||
|
||||
Questo documento descrive la struttura di cartelle organizzata di YTSage.
|
||||
Questo documento descrive la struttura organizzata delle cartelle di YTSage.
|
||||
|
||||
### 📁 Struttura del progetto
|
||||
### 📁 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
|
||||
├── 📁 .github/ # Configurazioni GitHub
|
||||
│ ├── 📁 ISSUE_TEMPLATE/ # Modelli per segnalazioni
|
||||
│ │ └── 🐛-bug-report.md # Modello per segnalazione bug
|
||||
│ ├─── 📁 workflows/ # Workflow GitHub Actions
|
||||
│ │ ├── build-linux.yml # Workflow build Linux
|
||||
│ │ ├── build-macos.yml # Workflow build macOS
|
||||
│ │ │── build-windows.yml # Workflow build Windows
|
||||
| | └── release-all.yml # Workflow release master
|
||||
│ └── 📄 CI_CD_README.md # Documentazione CI/CD
|
||||
├── 📁 branding/ # Asset di branding (screenshot, SVG)
|
||||
│ ├── 📁 icons/ # Icone dell'app
|
||||
│ ├── 📁 screenshots/ # Screenshot per la documentazione
|
||||
│ └── 📁 svg/ # Asset SVG
|
||||
├── 📄 LICENSE # File della licenza
|
||||
├── 📄 pyproject.toml # Metadati del progetto e dipendenze
|
||||
├── 📄 README.md # Documentazione del progetto
|
||||
├── 📄 requirements.txt # Dipendenze Python (dev)
|
||||
└── 📁 ytsage/ # Pacchetto del codice sorgente
|
||||
├── 📁 assets/ # Asset runtime
|
||||
│ ├── 📁 Icon/ # Icone dell'app
|
||||
│ └── 📁 sound/ # File audio
|
||||
├── 📁 languages/ # File di localizzazione
|
||||
│ ├── 📄 ar.json # Traduzione araba
|
||||
│ ├── 📄 de.json # Traduzione tedesca
|
||||
│ ├── 📄 en.json # Traduzione inglese
|
||||
│ └── ... # Altre lingue
|
||||
├── 📁 core/ # Logica di business principale
|
||||
│ ├── 📄 __init__.py
|
||||
│ ├── 📄 ytsage_deno.py # Integrazione Deno
|
||||
│ ├── 📄 ytsage_downloader.py # Funzionalità di download
|
||||
│ ├── 📄 ytsage_ffmpeg.py # Integrazione FFmpeg
|
||||
│ ├── 📄 ytsage_utils.py # Funzioni di utilità
|
||||
│ └── 📄 ytsage_yt_dlp.py # Integrazione yt-dlp
|
||||
├── 📁 gui/ # Componenti dell'interfaccia utente
|
||||
│ ├── 📄 __init__.py
|
||||
│ ├── 📄 ytsage_gui_main.py # Finestra principale dell'app
|
||||
│ └── 📁 ytsage_gui_dialogs/ # Classi per i dialoghi
|
||||
├── 📁 utils/ # Moduli di utilità
|
||||
│ ├── 📄 __init__.py
|
||||
│ ├── 📄 ytsage_config_manager.py # Gestione configurazione
|
||||
│ └── 📄 ytsage_logger.py # Strumenti di logging
|
||||
├── 📄 __init__.py # Punto di ingresso del pacchetto
|
||||
└── 📄 main.py # Script di esecuzione principale
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## ⭐️ Storia delle stelle
|
||||
## ⭐️ Cronologia Stelle
|
||||
|
||||
<div align="center">
|
||||
|
||||
## Storia delle stelle
|
||||
## Star History
|
||||
|
||||
<a href="https://www.star-history.com/#oop7/YTSage&Date">
|
||||
<picture>
|
||||
@@ -541,63 +546,64 @@ YTSage/
|
||||
|
||||
## 📜 Licenza
|
||||
|
||||
Questo progetto è concesso in licenza con la licenza MIT: per i dettagli vedere il file [LICENSE](../LICENSE).
|
||||
Questo progetto è rilasciato sotto Licenza MIT - vedi il file [LICENSE](LICENSE) per i dettagli.
|
||||
|
||||
## 🙏Ringraziamenti
|
||||
## 🙏 Ringraziamenti
|
||||
|
||||
<details>
|
||||
<summary>Mostra Ringraziamenti</summary>
|
||||
|
||||
<div align="center">
|
||||
|
||||
<p>Un sentito ringraziamento a tutti coloro che hanno contribuito a questo progetto aprendo un issue per suggerire un miglioramento o segnalare un bug.</p>
|
||||
<p>Un grande ringraziamento a tutti coloro che hanno contribuito a questo progetto aprendo segnalazioni per suggerire miglioramenti o segnalare bug.</p>
|
||||
|
||||
<table>
|
||||
<tr class="section"><th colspan="2">Componenti principali</th></tr>
|
||||
<tr class="section"><th colspan="2">Componenti Principali</th></tr>
|
||||
<tr>
|
||||
<td width="35%"><a href="https://github.com/yt-dlp/yt-dlp">yt-dlp</a></td>
|
||||
<td>Scarica motore</td>
|
||||
<td>Motore di Download</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://ffmpeg.org/">FFmpeg</a></td>
|
||||
<td>Elaborazione multimediale</td>
|
||||
<td>Elaborazione Media</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://deno.com/">Deno</a></td>
|
||||
<td>Runtime per integrazione con yt-dlp</td>
|
||||
<td>Runtime per l'integrazione di yt-dlp</td>
|
||||
</tr>
|
||||
<tr class="section"><th colspan="2">Librerie e framework</th></tr>
|
||||
<tr class="section"><th colspan="2">Librerie e Framework</th></tr>
|
||||
<tr>
|
||||
<td><a href="https://wiki.qt.io/Qt_for_Python">PySide6</a></td>
|
||||
<td>Framework GUI</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://python-pillow.org/">Cuscino</a></td>
|
||||
<td>Elaborazione immagini</td>
|
||||
<td><a href="https://python-pillow.org/">Pillow</a></td>
|
||||
<td>Elaborazione Immagini</td>
|
||||
</tr>
|
||||
<tr><td><a href="https://requests.readthedocs.io/">richieste</a></td>
|
||||
<tr>
|
||||
<td><a href="https://requests.readthedocs.io/">requests</a></td>
|
||||
<td>Richieste HTTP</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://packaging.python.org/">imballaggio</a></td>
|
||||
<td>Gestione versioni e pacchetti</td>
|
||||
<td><a href="https://packaging.python.org/">packaging</a></td>
|
||||
<td>Gestione Versioni e Packaging</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://python-markdown.github.io/">ribasso</a></td>
|
||||
<td>Rendering riduzione</td>
|
||||
<td><a href="https://python-markdown.github.io/">markdown</a></td>
|
||||
<td>Rendering Markdown</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/Delgan/loguru">loguru</a></td>
|
||||
<td>Registrazione</td>
|
||||
<td>Logging</td>
|
||||
</tr>
|
||||
<tr class="section"><th colspan="2">Risorse e contributori</th></tr>
|
||||
<tr class="section"><th colspan="2">Asset e Collaboratori</th></tr>
|
||||
<tr>
|
||||
<td><a href="https://pixabay.com/sound-effects/new-notification-09-352705/">Nuova notifica 09 di Universfield</a></td>
|
||||
<td>Suono di notifica</td>
|
||||
<td><a href="https://pixabay.com/sound-effects/new-notification-09-352705/">New Notification 09 di Universfield</a></td>
|
||||
<td>Suono di Notifica</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/viru185">viru185</a></td>
|
||||
<td>Codice Contributore</td>
|
||||
<td>Collaboratore al Codice</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -607,12 +613,12 @@ Questo progetto è concesso in licenza con la licenza MIT: per i dettagli vedere
|
||||
|
||||
## ⚠️ Disclaimer
|
||||
|
||||
Questo strumento è solo per uso personale. Rispetta i termini di servizio di YouTube e i diritti dei creatori di contenuti.
|
||||
Questo strumento è solo per uso personale. Rispettate i Termini di Servizio di YouTube e i diritti dei produttori di contenuti.
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
Realizzato con ❤️ da [oop7](https://github.com/oop7)
|
||||
Creato con ❤️ da [oop7](https://github.com/oop7)
|
||||
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user