Add speed and ETA translations; localize status message

Added 'speed' and 'eta' translation keys to all language files for download status. Updated ytsage_downloader.py to use localized labels for speed and ETA in the status message.
This commit is contained in:
Your Name
2025-10-04 13:10:56 +03:00
parent 720c315d33
commit d48a474e00
15 changed files with 40 additions and 17 deletions
+4 -3
View File
@@ -43,7 +43,6 @@
"will_merge_audio": "سيتم دمج الصوت",
"has_audio": "✓ يحتوي على صوت",
"audio_only": "صوت فقط",
"best_4k": "الأفضل (4K)",
"best_2k": "الأفضل (2K)",
"high_1080p": "عالية (1080p)",
@@ -59,7 +58,7 @@
"buttons": {
"download": "تنزيل",
"pause": "إيقاف مؤقت",
"resume": "استئناف",
"resume": "استئناف",
"cancel": "إلغاء",
"browse": "تصفح",
"clear": "مسح",
@@ -96,7 +95,7 @@
"tabs": {
"cookies": "تسجيل الدخول بالكوكيز",
"custom_command": "أمر مخصص",
"proxy": "بروكسي",
"proxy": "بروكسي",
"language": "اللغة"
},
"cookies": {
@@ -169,6 +168,8 @@
"processing_playlist": "📋 جاري معالجة بيانات قائمة التشغيل...",
"paused": "تم إيقاف التنزيل مؤقتاً",
"resumed": "تم استئناف التنزيل",
"speed": "السرعة",
"eta": "الوقت المتبقي",
"please_enter_url": "الرجاء إدخال رابط أولاً.",
"please_set_path": "الرجاء تحديد مسار التنزيل أولاً.",
"please_enter_url_and_path": "الرجاء إدخال رابط وتحديد مسار التنزيل.",
+4 -3
View File
@@ -43,7 +43,6 @@
"will_merge_audio": "Audio wird zusammengeführt",
"has_audio": "✓ Hat Audio",
"audio_only": "Nur Audio",
"best_4k": "Beste (4K)",
"best_2k": "Beste (2K)",
"high_1080p": "Hoch (1080p)",
@@ -59,7 +58,7 @@
"buttons": {
"download": "Herunterladen",
"pause": "Pausieren",
"resume": "Fortsetzen",
"resume": "Fortsetzen",
"cancel": "Abbrechen",
"browse": "Durchsuchen",
"clear": "Löschen",
@@ -96,7 +95,7 @@
"tabs": {
"cookies": "Mit Cookies anmelden",
"custom_command": "Benutzerdefinierter Befehl",
"proxy": "Proxy",
"proxy": "Proxy",
"language": "Sprache"
},
"cookies": {
@@ -169,6 +168,8 @@
"processing_playlist": "📋 Playlist-Daten werden verarbeitet...",
"paused": "Download pausiert",
"resumed": "Download fortgesetzt",
"speed": "Geschwindigkeit",
"eta": "Verbleibende Zeit",
"please_enter_url": "Bitte geben Sie zuerst eine URL ein.",
"please_set_path": "Bitte setzen Sie zuerst einen Download-Pfad.",
"please_enter_url_and_path": "Bitte geben Sie eine URL ein und setzen Sie einen Download-Pfad.",
+2
View File
@@ -170,6 +170,8 @@
"processing_playlist": "📋 Processing playlist data...",
"paused": "Download paused",
"resumed": "Download resumed",
"speed": "Speed",
"eta": "ETA",
"please_enter_url": "Please enter a URL first.",
"please_set_path": "Please set a download path first.",
"please_enter_url_and_path": "Please enter a URL and set download path.",
+2
View File
@@ -130,6 +130,8 @@
"processing_playlist": "📋 Procesando datos de lista de reproducción...",
"paused": "Descarga pausada",
"resumed": "Descarga reanudada",
"speed": "Velocidad",
"eta": "Tiempo restante",
"please_enter_url": "Por favor ingresa una URL primero.",
"please_set_path": "Por favor establece una ruta de descarga primero.",
"please_enter_url_and_path": "Por favor ingresa URL y establece ruta de descarga.",
+2
View File
@@ -169,6 +169,8 @@
"processing_playlist": "📋 Traitement des données de la playlist...",
"paused": "Téléchargement en pause",
"resumed": "Téléchargement repris",
"speed": "Vitesse",
"eta": "Temps restant",
"please_enter_url": "Veuillez d'abord entrer une URL.",
"please_set_path": "Veuillez d'abord définir un chemin de téléchargement.",
"please_enter_url_and_path": "Veuillez entrer une URL et définir un chemin de téléchargement.",
+4 -3
View File
@@ -43,7 +43,6 @@
"will_merge_audio": "ऑडियो मर्ज किया जाएगा",
"has_audio": "✓ ऑडियो है",
"audio_only": "केवल ऑडियो",
"best_4k": "सर्वोत्तम (4K)",
"best_2k": "सर्वोत्तम (2K)",
"high_1080p": "उच्च (1080p)",
@@ -59,7 +58,7 @@
"buttons": {
"download": "डाउनलोड",
"pause": "रोकें",
"resume": "जारी रखें",
"resume": "जारी रखें",
"cancel": "रद्द करें",
"browse": "ब्राउज़",
"clear": "साफ़ करें",
@@ -96,7 +95,7 @@
"tabs": {
"cookies": "कुकीज़ के साथ लॉगिन",
"custom_command": "कस्टम कमांड",
"proxy": "प्रॉक्सी",
"proxy": "प्रॉक्सी",
"language": "भाषा"
},
"cookies": {
@@ -169,6 +168,8 @@
"processing_playlist": "📋 प्लेलिस्ट डेटा प्रोसेस हो रहा है...",
"paused": "डाउनलोड रोका गया",
"resumed": "डाउनलोड जारी रखा गया",
"speed": "गति",
"eta": "शेष समय",
"please_enter_url": "कृपया पहले URL दर्ज करें।",
"please_set_path": "कृपया पहले डाउनलोड पथ सेट करें।",
"please_enter_url_and_path": "कृपया URL दर्ज करें और डाउनलोड पथ सेट करें।",
+4 -3
View File
@@ -43,7 +43,6 @@
"will_merge_audio": "Audio akan digabungkan",
"has_audio": "✓ Memiliki audio",
"audio_only": "Audio saja",
"best_4k": "Terbaik (4K)",
"best_2k": "Terbaik (2K)",
"high_1080p": "Tinggi (1080p)",
@@ -59,7 +58,7 @@
"buttons": {
"download": "Unduh",
"pause": "Jeda",
"resume": "Lanjutkan",
"resume": "Lanjutkan",
"cancel": "Batal",
"browse": "Jelajahi",
"clear": "Bersihkan",
@@ -96,7 +95,7 @@
"tabs": {
"cookies": "Masuk dengan cookies",
"custom_command": "Perintah khusus",
"proxy": "Proxy",
"proxy": "Proxy",
"language": "Bahasa"
},
"cookies": {
@@ -169,6 +168,8 @@
"processing_playlist": "📋 Memproses data playlist...",
"paused": "Unduhan dijeda",
"resumed": "Unduhan dilanjutkan",
"speed": "Kecepatan",
"eta": "Waktu tersisa",
"please_enter_url": "Silakan masukkan URL terlebih dahulu.",
"please_set_path": "Silakan atur jalur unduhan terlebih dahulu.",
"please_enter_url_and_path": "Silakan masukkan URL dan atur jalur unduhan.",
+2
View File
@@ -169,6 +169,8 @@
"processing_playlist": "📋 Elaborazione dati playlist...",
"paused": "Download in pausa",
"resumed": "Download ripreso",
"speed": "Velocità",
"eta": "Tempo rimanente",
"please_enter_url": "Inserisci prima un URL.",
"please_set_path": "Imposta prima un percorso di download.",
"please_enter_url_and_path": "Inserisci un URL e imposta un percorso di download.",
+2
View File
@@ -169,6 +169,8 @@
"processing_playlist": "📋 再生リストデータを処理中...",
"paused": "ダウンロードが一時停止されました",
"resumed": "ダウンロードが再開されました",
"speed": "速度",
"eta": "予想時間",
"please_enter_url": "最初にURLを入力してください。",
"please_set_path": "最初にダウンロードパスを設定してください。",
"please_enter_url_and_path": "URLを入力し、ダウンロードパスを設定してください。",
+5 -4
View File
@@ -39,11 +39,10 @@
"file_size": "Rozmiar pliku",
"codec": "Kodek",
"audio": "Dźwięk",
"fps": "KL/S",
"fps": "KL/S",
"will_merge_audio": "Dźwięk zostanie połączony",
"has_audio": "✓ Zawiera dźwięk",
"audio_only": "Tylko dźwięk",
"best_4k": "Najlepsza (4K)",
"best_2k": "Najlepsza (2K)",
"high_1080p": "Wysoka (1080p)",
@@ -59,7 +58,7 @@
"buttons": {
"download": "Pobierz",
"pause": "Wstrzymaj",
"resume": "Wznów",
"resume": "Wznów",
"cancel": "Anuluj",
"browse": "Przeglądaj",
"clear": "Wyczyść",
@@ -96,7 +95,7 @@
"tabs": {
"cookies": "Zaloguj za pomocą ciasteczek",
"custom_command": "Polecenie niestandardowe",
"proxy": "Proxy",
"proxy": "Proxy",
"language": "Język"
},
"cookies": {
@@ -169,6 +168,8 @@
"processing_playlist": "📋 Przetwarzanie danych playlisty...",
"paused": "Pobieranie wstrzymane",
"resumed": "Pobieranie wznowione",
"speed": "Prędkość",
"eta": "Pozostały czas",
"please_enter_url": "Proszę najpierw wprowadzić URL.",
"please_set_path": "Proszę najpierw ustawić ścieżkę pobierania.",
"please_enter_url_and_path": "Proszę wprowadzić URL i ustawić ścieżkę pobierania.",
+2
View File
@@ -170,6 +170,8 @@
"processing_playlist": "📋 Processando dados da playlist...",
"paused": "Download pausado",
"resumed": "Download retomado",
"speed": "Velocidade",
"eta": "Tempo restante",
"please_enter_url": "Por favor, digite uma URL primeiro.",
"please_set_path": "Por favor, defina um caminho de download primeiro.",
"please_enter_url_and_path": "Por favor, digite uma URL e defina o caminho de download.",
+2
View File
@@ -169,6 +169,8 @@
"processing_playlist": "📋 Обработка данных плейлиста...",
"paused": "Загрузка приостановлена",
"resumed": "Загрузка возобновлена",
"speed": "Скорость",
"eta": "Осталось",
"please_enter_url": "Пожалуйста, введите URL сначала.",
"please_set_path": "Пожалуйста, установите путь загрузки сначала.",
"please_enter_url_and_path": "Пожалуйста, введите URL и установите путь загрузки.",
+2
View File
@@ -169,6 +169,8 @@
"processing_playlist": "📋 Oynatma listesi verileri işleniyor...",
"paused": "İndirme duraklatıldı",
"resumed": "İndirme devam ettirildi",
"speed": "Hız",
"eta": "Kalan süre",
"please_enter_url": "Lütfen önce bir URL girin.",
"please_set_path": "Lütfen önce indirme yolunu ayarlayın.",
"please_enter_url_and_path": "Lütfen bir URL girin ve indirme yolunu ayarlayın.",
+2
View File
@@ -169,6 +169,8 @@
"processing_playlist": "📋 正在处理播放列表数据...",
"paused": "下载已暂停",
"resumed": "下载已恢复",
"speed": "速度",
"eta": "预计时间",
"please_enter_url": "请先输入网址。",
"please_set_path": "请先设置下载路径。",
"please_enter_url_and_path": "请输入网址并设置下载路径。",
+1 -1
View File
@@ -657,7 +657,7 @@ class DownloadThread(QThread):
eta_str = eta_match.group(1) if eta_match else "N/A"
# Simplify status message to only show the speed and ETA
status = f"Speed: {speed_str} | ETA: {eta_str}"
status = f"{_('download.speed')}: {speed_str} | {_('download.eta')}: {eta_str}"
self.update_details.emit(status)
except Exception as e:
# If parsing fails, just show basic status (maybe log the error)