Localize update dialog strings in all languages
Added new translation keys for update dialog fields (new version available, current/latest version labels, changelog, download update, remind later) in all supported languages. Updated the GUI code to use these localized strings instead of hardcoded English text for improved internationalization.
This commit is contained in:
+7
-1
@@ -379,7 +379,13 @@
|
|||||||
"generic_error": "خطأ: {error}"
|
"generic_error": "خطأ: {error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "تحديث متاح"
|
"title": "تحديث متاح",
|
||||||
|
"new_version_available": "يتوفر إصدار جديد من YTSage!",
|
||||||
|
"current_version_label": "الإصدار الحالي:",
|
||||||
|
"latest_version_label": "أحدث إصدار:",
|
||||||
|
"changelog": "سجل التغييرات",
|
||||||
|
"download_update": "تنزيل التحديث",
|
||||||
|
"remind_later": "ذكرني لاحقاً"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "قائمة تشغيل غير معروفة",
|
"unknown": "قائمة تشغيل غير معروفة",
|
||||||
|
|||||||
+7
-1
@@ -379,7 +379,13 @@
|
|||||||
"generic_error": "Fehler: {error}"
|
"generic_error": "Fehler: {error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "Update verfügbar"
|
"title": "Update verfügbar",
|
||||||
|
"new_version_available": "Eine neue Version von YTSage ist verfügbar!",
|
||||||
|
"current_version_label": "Aktuelle Version:",
|
||||||
|
"latest_version_label": "Neueste Version:",
|
||||||
|
"changelog": "Änderungsprotokoll",
|
||||||
|
"download_update": "Update herunterladen",
|
||||||
|
"remind_later": "Später erinnern"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "Unbekannte Playlist",
|
"unknown": "Unbekannte Playlist",
|
||||||
|
|||||||
+7
-1
@@ -379,7 +379,13 @@
|
|||||||
"generic_error": "Error: {error}"
|
"generic_error": "Error: {error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "Update Available"
|
"title": "Update Available",
|
||||||
|
"new_version_available": "A new version of YTSage is available!",
|
||||||
|
"current_version_label": "Current version:",
|
||||||
|
"latest_version_label": "Latest version:",
|
||||||
|
"changelog": "Changelog",
|
||||||
|
"download_update": "Download Update",
|
||||||
|
"remind_later": "Remind Me Later"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "Unknown Playlist",
|
"unknown": "Unknown Playlist",
|
||||||
|
|||||||
+7
-1
@@ -362,7 +362,13 @@
|
|||||||
"generic_error": "Error: {error}"
|
"generic_error": "Error: {error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "Actualización disponible"
|
"title": "Actualización disponible",
|
||||||
|
"new_version_available": "¡Una nueva versión de YTSage está disponible!",
|
||||||
|
"current_version_label": "Versión actual:",
|
||||||
|
"latest_version_label": "Última versión:",
|
||||||
|
"changelog": "Registro de cambios",
|
||||||
|
"download_update": "Descargar Actualización",
|
||||||
|
"remind_later": "Recordar Más Tarde"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "Lista de reproducción desconocida",
|
"unknown": "Lista de reproducción desconocida",
|
||||||
|
|||||||
+7
-1
@@ -379,7 +379,13 @@
|
|||||||
"generic_error": "Erreur : {error}"
|
"generic_error": "Erreur : {error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "Mise à jour disponible"
|
"title": "Mise à jour disponible",
|
||||||
|
"new_version_available": "Une nouvelle version de YTSage est disponible !",
|
||||||
|
"current_version_label": "Version actuelle :",
|
||||||
|
"latest_version_label": "Dernière version :",
|
||||||
|
"changelog": "Journal des modifications",
|
||||||
|
"download_update": "Télécharger la mise à jour",
|
||||||
|
"remind_later": "Me le rappeler plus tard"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "Playlist inconnue",
|
"unknown": "Playlist inconnue",
|
||||||
|
|||||||
+7
-1
@@ -379,7 +379,13 @@
|
|||||||
"generic_error": "त्रुटि: {error}"
|
"generic_error": "त्रुटि: {error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "अपडेट उपलब्ध"
|
"title": "अपडेट उपलब्ध",
|
||||||
|
"new_version_available": "YTSage का नया संस्करण उपलब्ध है!",
|
||||||
|
"current_version_label": "वर्तमान संस्करण:",
|
||||||
|
"latest_version_label": "नवीनतम संस्करण:",
|
||||||
|
"changelog": "परिवर्तन सूची",
|
||||||
|
"download_update": "अपडेट डाउनलोड करें",
|
||||||
|
"remind_later": "बाद में याद दिलाएं"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "अज्ञात प्लेलिस्ट",
|
"unknown": "अज्ञात प्लेलिस्ट",
|
||||||
|
|||||||
+7
-1
@@ -379,7 +379,13 @@
|
|||||||
"generic_error": "Kesalahan: {error}"
|
"generic_error": "Kesalahan: {error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "Pembaruan Tersedia"
|
"title": "Pembaruan Tersedia",
|
||||||
|
"new_version_available": "Versi baru YTSage tersedia!",
|
||||||
|
"current_version_label": "Versi saat ini:",
|
||||||
|
"latest_version_label": "Versi terbaru:",
|
||||||
|
"changelog": "Catatan perubahan",
|
||||||
|
"download_update": "Unduh Pembaruan",
|
||||||
|
"remind_later": "Ingatkan Nanti"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "Playlist Tidak Dikenal",
|
"unknown": "Playlist Tidak Dikenal",
|
||||||
|
|||||||
+7
-1
@@ -379,7 +379,13 @@
|
|||||||
"generic_error": "Errore: {error}"
|
"generic_error": "Errore: {error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "Aggiornamento disponibile"
|
"title": "Aggiornamento disponibile",
|
||||||
|
"new_version_available": "È disponibile una nuova versione di YTSage!",
|
||||||
|
"current_version_label": "Versione corrente:",
|
||||||
|
"latest_version_label": "Ultima versione:",
|
||||||
|
"changelog": "Registro modifiche",
|
||||||
|
"download_update": "Scarica aggiornamento",
|
||||||
|
"remind_later": "Ricordamelo dopo"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "Playlist sconosciuta",
|
"unknown": "Playlist sconosciuta",
|
||||||
|
|||||||
+7
-1
@@ -379,7 +379,13 @@
|
|||||||
"generic_error": "エラー: {error}"
|
"generic_error": "エラー: {error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "アップデートが利用可能です"
|
"title": "アップデートが利用可能です",
|
||||||
|
"new_version_available": "YTSageの新しいバージョンが利用可能です!",
|
||||||
|
"current_version_label": "現在のバージョン:",
|
||||||
|
"latest_version_label": "最新バージョン:",
|
||||||
|
"changelog": "変更履歴",
|
||||||
|
"download_update": "更新をダウンロード",
|
||||||
|
"remind_later": "後で通知"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "不明な再生リスト",
|
"unknown": "不明な再生リスト",
|
||||||
|
|||||||
+7
-1
@@ -379,7 +379,13 @@
|
|||||||
"generic_error": "Błąd: {error}"
|
"generic_error": "Błąd: {error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "Dostępna aktualizacja"
|
"title": "Dostępna aktualizacja",
|
||||||
|
"new_version_available": "Dostępna jest nowa wersja YTSage!",
|
||||||
|
"current_version_label": "Aktualna wersja:",
|
||||||
|
"latest_version_label": "Najnowsza wersja:",
|
||||||
|
"changelog": "Lista zmian",
|
||||||
|
"download_update": "Pobierz aktualizację",
|
||||||
|
"remind_later": "Przypomnij później"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "Nieznana playlista",
|
"unknown": "Nieznana playlista",
|
||||||
|
|||||||
+7
-1
@@ -379,7 +379,13 @@
|
|||||||
"generic_error": "Erro: {error}"
|
"generic_error": "Erro: {error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "Atualização Disponível"
|
"title": "Atualização Disponível",
|
||||||
|
"new_version_available": "Uma nova versão do YTSage está disponível!",
|
||||||
|
"current_version_label": "Versão atual:",
|
||||||
|
"latest_version_label": "Última versão:",
|
||||||
|
"changelog": "Registro de alterações",
|
||||||
|
"download_update": "Baixar Atualização",
|
||||||
|
"remind_later": "Lembrar Mais Tarde"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "Playlist Desconhecida",
|
"unknown": "Playlist Desconhecida",
|
||||||
|
|||||||
+7
-1
@@ -379,7 +379,13 @@
|
|||||||
"generic_error": "Ошибка: {error}"
|
"generic_error": "Ошибка: {error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "Доступно обновление"
|
"title": "Доступно обновление",
|
||||||
|
"new_version_available": "Доступна новая версия YTSage!",
|
||||||
|
"current_version_label": "Текущая версия:",
|
||||||
|
"latest_version_label": "Последняя версия:",
|
||||||
|
"changelog": "Список изменений",
|
||||||
|
"download_update": "Скачать обновление",
|
||||||
|
"remind_later": "Напомнить позже"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "Неизвестный плейлист",
|
"unknown": "Неизвестный плейлист",
|
||||||
|
|||||||
+7
-1
@@ -379,7 +379,13 @@
|
|||||||
"generic_error": "Hata: {error}"
|
"generic_error": "Hata: {error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "Güncelleme Mevcut"
|
"title": "Güncelleme Mevcut",
|
||||||
|
"new_version_available": "YTSage'in yeni bir sürümü mevcut!",
|
||||||
|
"current_version_label": "Mevcut sürüm:",
|
||||||
|
"latest_version_label": "En son sürüm:",
|
||||||
|
"changelog": "Değişiklik günlüğü",
|
||||||
|
"download_update": "Güncellemeyi İndir",
|
||||||
|
"remind_later": "Daha Sonra Hatırlat"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "Bilinmeyen Oynatma Listesi",
|
"unknown": "Bilinmeyen Oynatma Listesi",
|
||||||
|
|||||||
+7
-1
@@ -379,7 +379,13 @@
|
|||||||
"generic_error": "错误:{error}"
|
"generic_error": "错误:{error}"
|
||||||
},
|
},
|
||||||
"update_dialog": {
|
"update_dialog": {
|
||||||
"title": "有可用更新"
|
"title": "有可用更新",
|
||||||
|
"new_version_available": "YTSage 有新版本可用!",
|
||||||
|
"current_version_label": "当前版本:",
|
||||||
|
"latest_version_label": "最新版本:",
|
||||||
|
"changelog": "更新日志",
|
||||||
|
"download_update": "下载更新",
|
||||||
|
"remind_later": "稍后提醒"
|
||||||
},
|
},
|
||||||
"playlist": {
|
"playlist": {
|
||||||
"unknown": "未知播放列表",
|
"unknown": "未知播放列表",
|
||||||
|
|||||||
@@ -1169,9 +1169,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from
|
|||||||
# Update message with better formatting
|
# Update message with better formatting
|
||||||
message_label = QLabel(
|
message_label = QLabel(
|
||||||
f"<div style='font-size: 13px; line-height: 1.4;'>"
|
f"<div style='font-size: 13px; line-height: 1.4;'>"
|
||||||
f"<b style='color: #ffffff;'>A new version of YTSage is available!</b><br><br>"
|
f"<b style='color: #ffffff;'>{_('update_dialog.new_version_available')}</b><br><br>"
|
||||||
f"<span style='color: #cccccc;'>Current version: <b style='color: #ffffff;'>{self.version}</b></span><br>"
|
f"<span style='color: #cccccc;'>{_('update_dialog.current_version_label')} <b style='color: #ffffff;'>{self.version}</b></span><br>"
|
||||||
f"<span style='color: #cccccc;'>Latest version: <b style='color: #00ff88;'>{latest_version}</b></span>"
|
f"<span style='color: #cccccc;'>{_('update_dialog.latest_version_label')} <b style='color: #00ff88;'>{latest_version}</b></span>"
|
||||||
f"</div>"
|
f"</div>"
|
||||||
)
|
)
|
||||||
message_label.setWordWrap(True)
|
message_label.setWordWrap(True)
|
||||||
@@ -1189,7 +1189,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from
|
|||||||
layout.addWidget(message_label)
|
layout.addWidget(message_label)
|
||||||
|
|
||||||
# Changelog Section
|
# Changelog Section
|
||||||
changelog_label = QLabel("<b style='color: #ffffff; font-size: 14px;'>Changelog:</b>")
|
changelog_label = QLabel(f"<b style='color: #ffffff; font-size: 14px;'>{_('update_dialog.changelog')}:</b>")
|
||||||
changelog_label.setStyleSheet("padding: 5px 0; margin-top: 10px;")
|
changelog_label.setStyleSheet("padding: 5px 0; margin-top: 10px;")
|
||||||
layout.addWidget(changelog_label)
|
layout.addWidget(changelog_label)
|
||||||
|
|
||||||
@@ -1244,7 +1244,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from
|
|||||||
button_layout = QHBoxLayout()
|
button_layout = QHBoxLayout()
|
||||||
button_layout.setSpacing(10)
|
button_layout.setSpacing(10)
|
||||||
|
|
||||||
download_btn = QPushButton("Download Update")
|
download_btn = QPushButton(_('update_dialog.download_update'))
|
||||||
download_btn.clicked.connect(lambda: self.open_release_page(release_url))
|
download_btn.clicked.connect(lambda: self.open_release_page(release_url))
|
||||||
download_btn.setStyleSheet(
|
download_btn.setStyleSheet(
|
||||||
"""
|
"""
|
||||||
@@ -1267,7 +1267,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from
|
|||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
remind_btn = QPushButton("Remind Me Later")
|
remind_btn = QPushButton(_('update_dialog.remind_later'))
|
||||||
remind_btn.clicked.connect(msg.close)
|
remind_btn.clicked.connect(msg.close)
|
||||||
remind_btn.setStyleSheet(
|
remind_btn.setStyleSheet(
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user