Add localized README files and update main README to expose them. Creates readme-translations/*.md (Arabic, German, Spanish, French, Hindi, Indonesian, Italian, Japanese, Polish, Portuguese, Russian, Turkish, Chinese) and adds a language list, README Translations table, and a "Contributing Translations" subsection to README.md so contributors can find and update localized docs.
24 KiB
Pengunduh YouTube modern dengan antarmuka PySide6 yang bersih.
Unduh video dalam kualitas apa pun, ekstrak audio, ambil subtitle, dan banyak lagi.
🌍 README Bahasa
Bahasa Inggris: EN | Nilai: AR | Jerman: DE | Spanyol: ES | Perancis: FR | nilai: HI | Bahasa Indonesia: ID | Italia: IT | Nilai: JA | Polski: PL | Portugis: PT | Jawaban: RU | Turki: TR | nama: ZH
Instalasi • Fitur • Penggunaan • Tangkapan Layar • Pemecahan Masalah • Sponsor • Berkontribusi
❓ Mengapa YTSage?
YTSage dirancang untuk pengguna yang menginginkan pengunduh YouTube yang sederhana namun kuat. Tidak seperti alat lainnya, alat ini menawarkan:
- Antarmuka PySide6 yang bersih dan modern
- Unduhan sekali klik untuk video, audio, dan subtitle
- Fitur lanjutan seperti SponsorBlock, penggabungan subtitle, dan pemilihan playlist
- Mode Generik Opsional untuk situs yang didukung yt-dlp di luar YouTube
- Dukungan lintas platform dan instalasi mudah
✨ Fitur
| Fitur Inti | Fitur Lanjutan | Fitur Ekstra | |----------------------------------||-----------------------------------------|------------------------------------| | 🎥 Format Tabel | 🚫 Integrasi Blok Sponsor | 🎞️ Tampilan FPS/HDR | | 🎵 Ekstraksi Audio | 📝 Pilih & Gabungkan Multi-Subjudul | 🔄 Perbarui Otomatis yt-dlp | | ✨ UI Sederhana | 💾 Simpan Deskripsi & Gambar Kecil | 🛠️ Deteksi FFmpeg/yt-dlp/Deno | | 📋 Dukungan & Pemilih Daftar Putar | 🚀 Pembatas Kecepatan | ⚙️ Perintah Khusus | | 📑 Sematkan Bab | ✂️ Pangkas Bagian Video | 🍪 Masuk dengan Cookie | | 📜 Unduh Riwayat | 🔄 Rilis Pilihan Saluran | 🌐 Dukungan Proksi | | 🎚️ Konversi Format Audio | 🎬 Pengaturan Format Video | 🆙 Tab Pembaruan Bawaan | | 🌍 Mode Generik | | 🌍 Lokalisasi dalam 14 Bahasa | |
🚀 Instalasi
⚡ Instal Cepat (Disarankan)
Instal YTSage dari PyPI:
pip install ytsage
🔄 Perbarui instalasi yang ada
pip install --upgrade ytsage
Kemudian luncurkan aplikasi:
ytsage
📦 Executable yang sudah dibuat sebelumnya
🪟 Jendela
| Format | Deskripsi |
|---|---|
| Pemasang standar | |
| Dengan FFmpeg dibundel | |
| Versi portabel, tidak perlu instalasi | |
| Portabel dengan FFmpeg, zip |
🛠️ Langkah Instalasi
- EXE Installer (
.exe): Klik dua kali file tersebut dan ikuti panduan pengaturan. - Versi Portabel (
.zip): Ekstrak arsip ke lokasi yang Anda inginkan dan jalankanytsage.exe. - FFmpeg Bundled: Pilih versi paket FFmpeg jika Anda belum menginstal FFmpeg di sistem Anda.
🐧 Linux
| Format | Deskripsi |
|---|---|
| Paket Debian | |
| AppImage, portabel | |
| Paket RPM | |
| Paket Flatpak |
🛠️ Langkah Instalasi
- DEB (
.deb):sudo dpkg -i ytsage_*.deb sudo apt-get install -f # Fix missing dependencies if any - RPM (
.rpm):sudo rpm -i ytsage-*.rpm - Gambar Aplikasi (
.AppImage):chmod +x YTSage-*.AppImage ./YTSage-*.AppImage - Flatpak: Ikuti instruksi di Flathub atau jalankan:
flatpak install flathub io.github.oop7.ytsage
🍎 macOS
| Format | Deskripsi |
|---|---|
| Aplikasi zip untuk Apple Silicon | |
| Penginstal gambar disk untuk Apple Silicon |
🛠️ Langkah Instalasi
- Pemasang DMG (
.dmg): Klik dua kali untuk memasang, lalu seretYTSage.appke dalam folder Aplikasi Anda. - Arsip Aplikasi (
.zip): Ekstrak zip dan pindahkanYTSage.appke folder Aplikasi Anda.
Catatan: Jika Anda mengalami kesalahan "Aplikasi rusak", lihat macOS troubleshooting section di bawah.
💻 Instalasi Manual dari Sumber
1. Kloning Repositori
git clone https://github.com/oop7/YTSage.git
cd YTSage
2. Instal Dependensi
⚡ Dengan UV
uv pip install .
📦 Atau dengan pip standar
pip install .
3. Jalankan Aplikasi
python -m ytsage.main
📸 Tangkapan layar
## 📖 Penggunaan🎯 Penggunaan Dasar
- Luncurkan YTSage
- Tempel URL YouTube (atau gunakan tombol "Tempel URL")
- Klik "Analisis"
- Pilih Format:
Videountuk mengunduh videoAudio Onlyuntuk ekstraksi audio
- Pilih Opsi:
- Aktifkan subtitle & pilih bahasa
- Aktifkan penggabungan subtitle
- Simpan gambar kecil
- Hapus segmen sponsor
- Simpan deskripsi
- Sematkan bab
- Pilih Direktori Keluaran
- Klik "Unduh"
💡 Direktori unduhan default adalah folder "Unduhan" milik pengguna.
📋 Unduh Daftar Putar
- Tempel URL Daftar Putar
- Klik "Analisis"
- Pilih video dari pemilih daftar putar (opsional, default untuk semua)
- Pilih format/kualitas yang diinginkan
- Klik "Unduh"
💡 Aplikasi secara otomatis menangani antrian unduhan
🌍 Mode Generik untuk situs non-YouTube
Gunakan Mode Generik bila Anda ingin YTSage menerima URL dari situs yang didukung oleh yt-dlp, seperti Dailymotion, CBC Gem, TikTok, dan lainnya.
Cara menggunakannya:
- Buka
Download Settings. - Aktifkan
Generic Mode. - Tempelkan URL video atau playlist non-YouTube yang didukung.
- Klik
Analyze. - Pilih format dan unduh seperti biasa.
Catatan:
- Mode Generik hanya mengubah validasi URL di dalam YTSage. Situs target harus tetap didukung oleh versi yt-dlp yang Anda instal.
- Beberapa situs memerlukan cookie, sesi login, proxy, atau argumen yt-dlp tambahan tergantung pada ekstraktornya.
- Jika situs gagal, perbarui yt-dlp terlebih dahulu dari tab pembaru bawaan sebelum melaporkan masalah tersebut.
🧰 Opsi Media dan Unduhan
- Opsi Subtitle: Filter bahasa dan sematkan subtitle ke dalam file video
- Penggabungan Subtitle: Menggabungkan subtitle ke dalam file video untuk subtitle hardcode
- Simpan Deskripsi: Simpan deskripsi video sebagai file teks
- Simpan Gambar Kecil: Menyimpan gambar kecil video sebagai file gambar
- Sematkan Bab: Sematkan penanda bab sebagai metadata untuk pemutar video yang kompatibel
- Hapus Segmen Sponsor: Hapus segmen sponsor dari video menggunakan SponsorBlock
- Pangkas Video: Unduh hanya bagian tertentu dari video dengan menentukan rentang waktu dalam format
HH:MM:SS
⚙️ Pengaturan Output dan File
- Pembatas Kecepatan: Batasi kecepatan unduh, misalnya
500Ksebesar 500 KB/dtk - Simpan Jalur Unduhan: Simpan jalur unduhan default untuk unduhan berikutnya. Tersedia di Pengaturan Unduhan → Jalur Unduhan.
- Format Nama File Keluaran: Sesuaikan format nama file keluaran menggunakan variabel seperti
%(title)s,%(uploader)s, dan%(resolution)s. Tersedia di Pengaturan Unduhan → Format Nama File. - Format Output Paksa: Paksa pengunduhan video ke dalam format wadah tertentu seperti
mp4,webm, ataumkv. Tersedia di Pengaturan Unduhan → Pengaturan Format Output. - Konversi Format Audio: Konversi unduhan audio saja ke format pilihan seperti
AAC,MP3,FLAC,WAV,Opus,M4A,Vorbis, atauBest. Tersedia di Pengaturan Unduhan → Pengaturan Format Audio.
🌐 Akses dan Jaringan
- Masuk dengan Cookie: Masuk ke YouTube menggunakan cookie untuk mengakses konten pribadi.
Cara menggunakannya:
- Disarankan: Gunakan opsi
Extract cookies from browserbawaan di aplikasi, lalu pilih browser Anda dan opsional profil. - Alternatifnya, ekstrak cookie secara manual:
sebuah. Ekspor cookie dari browser Anda menggunakan ekstensi seperti cookie-editor
b. Salin cookie dalam format Netscape
c. Buat file bernama
cookies.txtdan tempel cookie ke dalamnya d. Pilih filecookies.txtdi aplikasi
- Disarankan: Gunakan opsi
- Dukungan Proxy: Gunakan server proxy untuk mendownload, misalnya
http://<proxy-server>:<port> - Mode Generik: Izinkan YTSage menganalisis dan mengunduh dari situs non-YouTube yang didukung oleh yt-dlp. Aktifkan dari Pengaturan Unduhan → Mode Generik.
🛠️ Alat dan Perawatan
- Perintah Khusus: Akses fitur yt-dlp tingkat lanjut melalui argumen baris perintah
- Tab Pembaruan: Kelola alat pembaruan bawaan dari satu tempat di Opsi Kustom:
- Pembaruan yt-dlp: Periksa pembaruan dan beralih antara saluran rilis Stabil dan Malam
- Pemeriksa Versi FFmpeg: Periksa versi FFmpeg Anda dan buka panduan instalasi
- Pembaruan Deno: Periksa dan perbarui runtime Deno
- Deteksi FFmpeg/yt-dlp/Deno: Secara otomatis mendeteksi jalur dan versi FFmpeg, yt-dlp, dan Deno dari dialog Tentang.
- Riwayat Unduhan: Lihat unduhan sebelumnya dengan thumbnail dan status dari tombol Riwayat.
🌍 Lokalisasi
YTSage mendukung 14 bahasa untuk aksesibilitas di seluruh dunia. Pilih bahasa pilihan Anda dari Opsi Kustom → Bahasa.
Bahasa yang Didukung
| Bahasa | Kode | Bahasa | Kode |
|---|---|---|---|
| 🇮🇩 Bahasa Inggris | en |
🇪🇪 Spanyol | es |
| Arab Saudi | ar |
🇫🇷 Perancis | fr |
| 🇩🇪 Jerman | de |
🇮🇩 Hindi | hi |
| 🇮🇩 Bahasa Indonesia | id |
🇮🇹 Italia | it |
| 🇯ppa Jepang | ja |
🇱 Polandia | pl |
| 🇧🇷 Portugis | pt |
🇷л Rusia | ru |
| 🇹🇷 Turki | tr |
CNY Cina | zh |
README Terjemahan
| Bahasa | Berkas | Bahasa | Berkas |
|---|---|---|---|
| 🇮🇩 Bahasa Inggris | README.md | 🇪🇪 Spanyol | README.es.md |
| Arab Saudi | README.ar.md | 🇫🇷 Perancis | README.fr.md |
| 🇩🇪 Jerman | README.de.md | 🇮🇩 Hindi | README.hi.md |
| 🇮🇩 Bahasa Indonesia | README.id.md | 🇮🇹 Italia | README.it.md |
| 🇯ppa Jepang | README.ja.md | 🇱 Polandia | README.pl.md |
| 🇧🇷 Portugis | README.pt.md | 🇷л Rusia | README.ru.md |
| 🇹🇷 Turki | README.tr.md | CNY Cina | README.zh.md |
💡 Ingin berkontribusi terjemahan? Lihat bagian Contributing untuk membantu kami menambahkan lebih banyak bahasa!
🛠️ Pemecahan masalah
Klik untuk melihat masalah umum dan solusinya
- Format tabel tidak ditampilkan: Perbarui yt-dlp ke versi terbaru, dan beralih ke yt-dlp setiap malam.
- Pengunduhan gagal: Periksa koneksi internet Anda dan pastikan video tersedia.
- Kesalahan pengunduhan tertentu:
- Video pribadi: Gunakan autentikasi cookie untuk mengakses konten pribadi.
- Konten dengan batasan usia: Masuk ke akun YouTube untuk melihat video dengan batasan usia.
- Video yang diblokir secara geografis: Pertimbangkan untuk menggunakan VPN untuk melewati batasan regional.
- Video yang dihapus/dihapus: Video tidak lagi tersedia di YouTube.
- Streaming langsung: Streaming langsung tidak dapat diunduh; tunggu hingga streaming berakhir.
- Kesalahan jaringan: Periksa koneksi internet Anda dan coba lagi.
- URL tidak valid: Pastikan URL benar dan berasal dari platform yang didukung.
- Konten premium: Memerlukan keanggotaan YouTube Premium.
- Pemblokiran hak cipta: Konten diblokir karena pembatasan hak cipta.
- Pisahkan file video dan audio setelah diunduh: Ini terjadi jika FFmpeg hilang atau tidak terdeteksi. YTSage memerlukan FFmpeg untuk menggabungkan aliran video dan audio berkualitas tinggi.
- Solusi: Pastikan FFmpeg diinstal dan dapat diakses di PATH sistem Anda. Untuk pengguna Windows, opsi termudah adalah mengunduh file
YTSage-v<version>-ffmpeg.exe, yang disertakan dengan FFmpeg.
- Solusi: Pastikan FFmpeg diinstal dan dapat diakses di PATH sistem Anda. Untuk pengguna Windows, opsi termudah adalah mengunduh file
🛡️ Peringatan Windows Defender / Antivirus
Beberapa perangkat lunak antivirus mungkin menandai file .exe sebagai positif palsu. Ini adalah batasan umum pada aplikasi paket.
Mengapa ini terjadi:
- Heuristik antivirus dapat salah mengidentifikasi executable yang dikemas sebagai sesuatu yang mencurigakan
Alternatif yang aman:
- ✅ Gunakan instalasi pip:
pip install ytsage(disarankan) - ✅ Bangun dari sumber: dengan mengikuti guide ini
- ✅ Masukkan aplikasi ke daftar putih di perangkat lunak antivirus Anda
🍎 macOS: "Aplikasi rusak dan tidak dapat dibuka"
Jika Anda melihat kesalahan ini di macOS Sonoma atau lebih baru, Anda harus menghapus atribut karantina.
- Buka Terminal (Anda dapat menemukannya menggunakan Spotlight).
- Ketik perintah berikut tetapi jangan tekan Enter dulu. Pastikan untuk menyertakan spasi di akhir:
xattr -d com.apple.quarantine - Seret file
YTSage.appdari jendela Finder Anda dan letakkan langsung ke jendela Terminal. Ini secara otomatis akan menempelkan jalur file yang benar. - Tekan Enter untuk menjalankan perintah.
- Coba buka YTSage.app lagi. Sekarang seharusnya sudah diluncurkan dengan benar.
Lokasi Konfigurasi (Lanjutan)
- Jendela:
%LOCALAPPDATA%\YTSage - macOS:
~/Library/Application Support/YTSage - Linux:
~/.local/share/YTSage
💖 Sponsor
Jika YTSage menghemat waktu Anda, pertimbangkan untuk mensponsori proyek tersebut. Sponsor membantu menutupi waktu pengembangan, pengujian lintas platform, dan peningkatan di masa depan.
- Sponsor GitHub: https://github.com/sponsors/oop7
- Tautan sponsor juga tersedia langsung di dalam aplikasi dari dialog Tentang.
👥 Berkontribusi
Kami menyambut kontribusi! Inilah cara Anda dapat membantu:
- 🍴 Cabangkan repositori
- 🌿 Buat cabang fitur Anda:
git checkout -b feature/AmazingFeature
- 💾 Komit perubahan Anda:
git commit -m 'Add some AmazingFeature'
- 📤 Dorong ke cabang:
git push origin feature/AmazingFeature
- 🔄 Buka Permintaan Tarik
🌍 Berkontribusi pada Terjemahan
- Perbarui file README lokal yang cocok (misalnya
README.es.md) - Jaga agar string aplikasi tetap sinkron dengan mengedit
ytsage/languages/<code>.json - Jika bahasa Anda hilang, mulai dari
README.mddan buatREADME.<code>.md
📂 Struktur Proyek
YTSage - Struktur Proyek
Dokumen ini menjelaskan struktur folder YTSage yang terorganisir.
📁 Struktur Proyek
YTSage/
├── 📁 .github/ # GitHub configuration
│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates
│ │ └── 🐛-bug-report.md # Bug report template
│ ├─── 📁 workflows/ # GitHub Actions workflows
│ │ ├── build-linux.yml # Linux build workflow
│ │ ├── build-macos.yml # macOS build workflow
│ │ │── build-windows.yml # Windows build workflow
| | └── release-all.yml # Master release workflow
│ └── 📄 CI_CD_README.md # CI/CD documentation
├── 📁 branding/ # Branding assets (Screenshots, SVGs)
│ ├── 📁 icons/ # Application icons
│ ├── 📁 screenshots/ # Screenshots for documentation
│ └── 📁 svg/ # SVG assets
├── 📄 LICENSE # License file
├── 📄 pyproject.toml # Project metadata and dependencies
├── 📄 README.md # Project documentation
├── 📄 requirements.txt # Python dependencies (dev)
└── 📁 ytsage/ # Source package
├── 📁 assets/ # Runtime assets
│ ├── 📁 Icon/ # Application icons
│ └── 📁 sound/ # Audio files
├── 📁 languages/ # Localization files
│ ├── 📄 ar.json # Arabic translation
│ ├── 📄 de.json # German translation
│ ├── 📄 en.json # English translation
│ └── ... # Other languages
├── 📁 core/ # Core business logic
│ ├── 📄 __init__.py # Core package init
│ ├── 📄 ytsage_deno.py # Deno integration
│ ├── 📄 ytsage_downloader.py # Download functionality
│ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration
│ ├── 📄 ytsage_utils.py # Utility functions
│ └── 📄 ytsage_yt_dlp.py # yt-dlp integration
├── 📁 gui/ # User interface components
│ ├── 📄 __init__.py # GUI package init
│ ├── 📄 ytsage_gui_main.py # Main application window
│ └── 📁 ytsage_gui_dialogs/ # Dialog classes
├── 📁 utils/ # Utility modules
│ ├── 📄 __init__.py # Utils package init
│ ├── 📄 ytsage_config_manager.py # Configuration management
│ └── 📄 ytsage_logger.py # Logging utilities
├── 📄 __init__.py # Package entry point
└── 📄 main.py # Main execution script
⭐️ Sejarah Bintang
📜 Lisensi
Proyek ini dilisensikan di bawah Lisensi MIT - lihat file LICENSE untuk detailnya.
🙏 Ucapan Terima Kasih
Tampilkan Ucapan Terima Kasih
Terima kasih yang sebesar-besarnya kepada semua orang yang telah berkontribusi pada proyek ini dengan membuka terbitan untuk menyarankan perbaikan atau melaporkan bug.
| Komponen Inti | |
|---|---|
| yt-dlp | Mesin Unduh |
| FFmpeg | Pemrosesan Media |
| Deno | Waktu proses untuk integrasi dengan yt-dlp |
| Perpustakaan & Kerangka Kerja | |
| PySide6 | Kerangka GUI |
| Bantal | Pemrosesan Gambar |
| permintaan | Permintaan HTTP |
| kemasan | Penanganan Versi & Paket |
| penurunan harga | Render Penurunan Harga |
| logguru | Pencatatan |
| Aset & Kontributor | |
| Pemberitahuan Baru 09 oleh Universfield | Suara Notifikasi |
| virus185 | Kontributor Kode |
⚠️ Penafian
Alat ini hanya untuk penggunaan pribadi. Harap hormati persyaratan layanan YouTube dan hak pembuat konten.
Dibuat dengan ❤️ oleh oop7



