Refactor: Remove translation keys (keeping pt-br and en) and clean up repacks modal styles and logic

This commit is contained in:
caduHD4
2025-09-28 02:04:31 -03:00
parent cd25fa715e
commit 688ae215d7
28 changed files with 45 additions and 517 deletions

View File

@@ -50,16 +50,6 @@
"download_options_zero": "No hi ha opcions de baixada",
"download_options_one": "{{count}} opció de baixada",
"download_options_other": "{{count}} opcions de baixada",
"no_repacks_found": "No s'han trobat fonts per a aquest joc",
"properties": "Propietats",
"filter_by_source": "Filtra per font:",
"add_to_favorites": "Afegeix als favorits",
"remove_from_favorites": "Elimina dels favorits",
"failed_update_favorites": "No s'han pogut actualitzar els favorits",
"game_removed_from_library": "El joc s'ha eliminat de la biblioteca",
"failed_remove_from_library": "No s'ha pogut eliminar de la biblioteca",
"files_removed_success": "Fitxers eliminats correctament",
"failed_remove_files": "No s'han pogut eliminar els fitxers",
"updated_at": "Actualitzat: {{updated_at}}",
"install": "Instal·la",
"resume": "Reprèn",

View File

@@ -75,16 +75,6 @@
"eta": "Odhadovaný čas: {{eta}}",
"calculating_eta": "Počítám zbývající čas…",
"downloading_metadata": "Stahuji metadata…",
"properties": "Vlastnosti",
"filter_by_source": "Filtrovat podle zdroje:",
"add_to_favorites": "Přidat do oblíbených",
"remove_from_favorites": "Odebrat z oblíbených",
"failed_update_favorites": "Nepodařilo se aktualizovat oblíbené",
"game_removed_from_library": "Hra byla odebrána z knihovny",
"failed_remove_from_library": "Nepodařilo se odebrat z knihovny",
"files_removed_success": "Soubory byly úspěšně odebrány",
"failed_remove_files": "Nepodařilo se odebrat soubory",
"no_repacks_found": "Nebyly nalezeny žádné zdroje pro tuto hru",
"filter": "Filtrovat repacky",
"requirements": "Systémové požadavky",
"minimum": "Minimální",

View File

@@ -54,16 +54,6 @@
"download_options_zero": "Ingen download mulighed",
"download_options_one": "{{count}} download mulighed",
"download_options_other": "{{count}} download muligheder",
"properties": "Egenskaber",
"filter_by_source": "Filtrér efter kilde:",
"add_to_favorites": "Tilføj til favoritter",
"remove_from_favorites": "Fjern fra favoritter",
"failed_update_favorites": "Kunne ikke opdatere favoritter",
"game_removed_from_library": "Spillet er fjernet fra biblioteket",
"failed_remove_from_library": "Kunne ikke fjerne fra biblioteket",
"files_removed_success": "Filer fjernet succesfuldt",
"failed_remove_files": "Kunne ikke fjerne filer",
"no_repacks_found": "Ingen kilder fundet til dette spil",
"updated_at": "Opdateret {{updated_at}}",
"install": "Installér",
"resume": "Fortsæt",

View File

@@ -207,17 +207,7 @@
"create_start_menu_shortcut": "Startmenü-Verknüpfung erstellen",
"invalid_wine_prefix_path": "Ungültiger Wine-Präfix-Pfad",
"invalid_wine_prefix_path_description": "Der Pfad zum Wine-Präfix ist ungültig. Bitte überprüfe den Pfad und versuche es erneut.",
"missing_wine_prefix": "Wine-Präfix ist erforderlich, um eine Sicherung unter Linux zu erstellen",
"properties": "Eigenschaften",
"filter_by_source": "Filtern nach Quelle:",
"add_to_favorites": "Zu Favoriten hinzufügen",
"remove_from_favorites": "Aus Favoriten entfernen",
"failed_update_favorites": "Favoriten konnten nicht aktualisiert werden",
"game_removed_from_library": "Spiel aus Bibliothek entfernt",
"failed_remove_from_library": "Entfernen aus Bibliothek fehlgeschlagen",
"files_removed_success": "Dateien erfolgreich entfernt",
"failed_remove_files": "Dateien konnten nicht entfernt werden",
"no_repacks_found": "Keine Quellen für dieses Spiel gefunden"
"missing_wine_prefix": "Wine-Präfix ist erforderlich, um eine Sicherung unter Linux zu erstellen"
},
"activation": {
"title": "Hydra aktivieren",

View File

@@ -102,7 +102,6 @@
"playing_now": "Playing now",
"change": "Change",
"repacks_modal_description": "Choose the repack you want to download",
"no_repacks_found": "No sources found for this game",
"select_folder_hint": "To change the default folder, go to the <0>Settings</0>",
"download_now": "Download now",
"no_shop_details": "Could not retrieve shop details.",
@@ -126,7 +125,6 @@
"remove_from_library_description": "This will remove {{game}} from your library",
"options": "Options",
"properties": "Properties",
"filter_by_source": "Filter by source:",
"executable_section_title": "Executable",
"executable_section_description": "Path of the file that will be executed when \"Play\" is clicked",
"downloads_section_title": "Downloads",

View File

@@ -172,16 +172,6 @@
"files_automatically_mapped": "Archivos mapeados automáticamente",
"no_backups_created": "Sin copias de seguridad creadas para este juego",
"manage_files": "Gestionar archivos",
"properties": "Propiedades",
"filter_by_source": "Filtrar por fuente:",
"add_to_favorites": "Agregar a favoritos",
"remove_from_favorites": "Eliminar de favoritos",
"failed_update_favorites": "No se pudo actualizar favoritos",
"game_removed_from_library": "Juego eliminado de la biblioteca",
"failed_remove_from_library": "No se pudo eliminar de la biblioteca",
"files_removed_success": "Archivos eliminados exitosamente",
"failed_remove_files": "No se pudieron eliminar los archivos",
"no_repacks_found": "No se encontraron fuentes para este juego",
"wine_prefix": "Prefijo de Wine",
"wine_prefix_description": "El prefijo de Wine usado para ejecutar este juego",
"no_download_option_info": "Sin información disponible",

View File

@@ -166,17 +166,7 @@
"manage_files_description": "Hallake, millised failid varundatakse ja taastatakse",
"select_folder": "Vali kaust",
"backup_from": "Varundamine kuupäevast {{date}}",
"custom_backup_location_set": "Kohandatud varundamise asukoht määratud",
"properties": "Omadused",
"filter_by_source": "Filtreeri allika järgi:",
"add_to_favorites": "Lisa lemmikutesse",
"remove_from_favorites": "Eemalda lemmikutest",
"failed_update_favorites": "Lemmikute uuendamine ebaõnnestus",
"game_removed_from_library": "Mäng eemaldati kogust",
"failed_remove_from_library": "Eemaldamine kogust ebaõnnestus",
"files_removed_success": "Failid edukalt eemaldatud",
"failed_remove_files": "Failide eemaldamine ebaõnnestus",
"no_repacks_found": "Sellele mängule ei leitud allikaid"
"custom_backup_location_set": "Kohandatud varundamise asukoht määratud"
},
"activation": {
"title": "Aktiveeri Hydra",

View File

@@ -74,17 +74,7 @@
"change": "تغییر",
"repacks_modal_description": "ریپک مورد نظر برای دانلود را انتخاب کنید",
"select_folder_hint": "برای تغییر پوشه‌ی پیش‌فرض به <0>Settings</0> بروید",
"download_now": "الان دانلود کن",
"no_repacks_found": "هیچ منبعی برای این بازی پیدا نشد",
"properties": "ویژگی‌ها",
"filter_by_source": "فیلتر بر اساس منبع:",
"add_to_favorites": "افزودن به علاقه‌مندی‌ها",
"remove_from_favorites": "حذف از علاقه‌مندی‌ها",
"failed_update_favorites": "به‌روزرسانی علاقه‌مندی‌ها ناموفق بود",
"game_removed_from_library": "بازی از کتابخانه حذف شد",
"failed_remove_from_library": "حذف از کتابخانه ناموفق بود",
"files_removed_success": "فایل‌ها با موفقیت حذف شدند",
"failed_remove_files": "حذف فایل‌ها ناموفق بود"
"download_now": "الان دانلود کن"
},
"activation": {
"title": "فعال کردن هایدرا",

View File

@@ -65,16 +65,6 @@
"open_download_options": "Ouvrir les options de téléchargement",
"download_options_zero": "Aucune option de téléchargement",
"download_options_one": "{{count}} option de téléchargement",
"properties": "Propriétés",
"filter_by_source": "Filtrer par source :",
"add_to_favorites": "Ajouter aux favoris",
"remove_from_favorites": "Retirer des favoris",
"failed_update_favorites": "Échec de la mise à jour des favoris",
"game_removed_from_library": "Jeu retiré de la bibliothèque",
"failed_remove_from_library": "Échec du retrait de la bibliothèque",
"files_removed_success": "Fichiers supprimés avec succès",
"failed_remove_files": "Échec de la suppression des fichiers",
"no_repacks_found": "Aucune source trouvée pour ce jeu",
"download_options_other": "{{count}} options de téléchargement",
"updated_at": "Mis à jour le {{updated_at}}",
"install": "Installer",

View File

@@ -39,16 +39,6 @@
"open_download_options": "Letöltési lehetőségek",
"download_options_zero": "Nincs letöltési lehetőség",
"download_options_one": "{{count}} letöltési lehetőség",
"no_repacks_found": "Nem található forrás ehhez a játékhoz",
"properties": "Tulajdonságok",
"filter_by_source": "Szűrés forrás szerint:",
"add_to_favorites": "Hozzáadás a kedvencekhez",
"remove_from_favorites": "Eltávolítás a kedvencekből",
"failed_update_favorites": "Nem sikerült frissíteni a kedvenceket",
"game_removed_from_library": "A játék eltávolítva a könyvtárból",
"failed_remove_from_library": "Nem sikerült eltávolítani a könyvtárból",
"files_removed_success": "Fájlok sikeresen eltávolítva",
"failed_remove_files": "Nem sikerült eltávolítani a fájlokat",
"download_options_other": "{{count}} letöltési lehetőség",
"updated_at": "Frissítve: {{updated_at}}",
"install": "Letöltés",

View File

@@ -102,16 +102,6 @@
"open_download_location": "Lihat file yang diunduh",
"create_shortcut": "Buat pintasan desktop",
"remove_files": "Hapus file",
"properties": "Properti",
"filter_by_source": "Filter berdasarkan sumber:",
"add_to_favorites": "Tambahkan ke favorit",
"remove_from_favorites": "Hapus dari favorit",
"failed_update_favorites": "Gagal memperbarui favorit",
"game_removed_from_library": "Game dihapus dari perpustakaan",
"failed_remove_from_library": "Gagal menghapus dari perpustakaan",
"files_removed_success": "File berhasil dihapus",
"failed_remove_files": "Gagal menghapus file",
"no_repacks_found": "Tidak ada sumber untuk game ini",
"remove_from_library_description": "Ini akan menghapus {{game}} dari perpustakaan kamu",
"options": "Opsi",
"executable_section_title": "Eksekusi",

View File

@@ -82,17 +82,7 @@
"previous_screenshot": "Screenshot precedente",
"next_screenshot": "Screenshot successivo",
"screenshot": "Screenshot {{number}}",
"open_screenshot": "Apri screenshot {{number}}",
"no_repacks_found": "Nessuna fonte trovata per questo gioco",
"properties": "Proprietà",
"filter_by_source": "Filtra per fonte:",
"add_to_favorites": "Aggiungi ai preferiti",
"remove_from_favorites": "Rimuovi dai preferiti",
"failed_update_favorites": "Impossibile aggiornare i preferiti",
"game_removed_from_library": "Gioco rimosso dalla libreria",
"failed_remove_from_library": "Impossibile rimuovere dalla libreria",
"files_removed_success": "File rimossi con successo",
"failed_remove_files": "Impossibile rimuovere i file"
"open_screenshot": "Apri screenshot {{number}}"
},
"activation": {
"title": "Attiva Hydra",

View File

@@ -114,17 +114,7 @@
"download_paused": "Жүктеу тоқтатылды",
"last_downloaded_option": "Соңғы жүктеу нұсқасы",
"create_shortcut_success": "Жарлық жасалды",
"create_shortcut_error": "Жарлық жасау мүмкін болмады",
"no_repacks_found": "Бұл ойын үшін дереккөздер табылмады",
"properties": "Қасиеттер",
"filter_by_source": "Дереккөз бойынша сүзу:",
"add_to_favorites": "Таңдаулыларға қосу",
"remove_from_favorites": "Таңдаулылардан жою",
"failed_update_favorites": "Таңдаулыларды жаңарту сәтсіз аяқталды",
"game_removed_from_library": "Ойын кітапханадан жойылды",
"failed_remove_from_library": "Кітапханадан жою сәтсіз аяқталды",
"files_removed_success": "Файлдар сәтті жойылды",
"failed_remove_files": "Файлдарды жою сәтсіз аяқталды"
"create_shortcut_error": "Жарлық жасау мүмкін болмады"
},
"activation": {
"title": "Hydra-ны белсендіру",

View File

@@ -41,16 +41,6 @@
"download_options_one": "{{count}}개의 다운로드 선택지가 존재함",
"download_options_other": "{{count}}개의 다운로드 선택지들이 존재함",
"updated_at": "{{updated_at}}에 업데이트 됨",
"properties": "속성",
"filter_by_source": "소스별 필터:",
"add_to_favorites": "즐겨찾기에 추가",
"remove_from_favorites": "즐겨찾기에서 제거",
"failed_update_favorites": "즐겨찾기 업데이트 실패",
"game_removed_from_library": "게임이 라이브러리에서 제거되었습니다",
"failed_remove_from_library": "라이브러리에서 제거 실패",
"files_removed_success": "파일이 성공적으로 제거되었습니다",
"failed_remove_files": "파일 제거 실패",
"no_repacks_found": "이 게임에 대한 소스를 찾을 수 없습니다",
"install": "설치",
"resume": "재개",
"pause": "일시 정지",

View File

@@ -131,17 +131,7 @@
"download": "Last ned",
"executable_path_in_use": "Kjørbar fil blir allerede brukt av \"{{game}}\"",
"warning": "Advarsel:",
"hydra_needs_to_remain_open": "Hydra skal forbli åpent for at denne nedlastingen kan gjennomføres. I tilfelle av at Hydra lukker før nedlastingen er ferdig, mister du fremskrittet ditt.",
"properties": "Egenskaper",
"filter_by_source": "Filtrer etter kilde:",
"add_to_favorites": "Legg til i favoritter",
"remove_from_favorites": "Fjern fra favoritter",
"failed_update_favorites": "Kunne ikke oppdatere favoritter",
"game_removed_from_library": "Spillet er fjernet fra biblioteket",
"failed_remove_from_library": "Kunne ikke fjerne fra biblioteket",
"files_removed_success": "Filer fjernet",
"failed_remove_files": "Kunne ikke fjerne filer",
"no_repacks_found": "Ingen kilder funnet for dette spillet"
"hydra_needs_to_remain_open": "Hydra skal forbli åpent for at denne nedlastingen kan gjennomføres. I tilfelle av at Hydra lukker før nedlastingen er ferdig, mister du fremskrittet ditt."
},
"activation": {
"title": "Aktivér Hydra",

View File

@@ -49,16 +49,6 @@
"space_left_on_disk": "{{space}} Over op schijf",
"eta": "Conclusie {{eta}}",
"downloading_metadata": "Downloading metadata…",
"properties": "Eigenschappen",
"filter_by_source": "Filteren op bron:",
"add_to_favorites": "Toevoegen aan favorieten",
"remove_from_favorites": "Verwijderen uit favorieten",
"failed_update_favorites": "Favorieten bijwerken mislukt",
"game_removed_from_library": "Spel verwijderd uit bibliotheek",
"failed_remove_from_library": "Verwijderen uit bibliotheek mislukt",
"files_removed_success": "Bestanden succesvol verwijderd",
"failed_remove_files": "Verwijderen van bestanden mislukt",
"no_repacks_found": "Geen bronnen gevonden voor deze game",
"filter": "Filter repacks",
"requirements": "Systeem vereisten",
"minimum": "Minimaal",

View File

@@ -41,16 +41,6 @@
"download_options_zero": "Brak opcji pobierania",
"download_options_one": "{{count}} opcja pobierania",
"download_options_other": "{{count}} opcji pobierania",
"properties": "Właściwości",
"filter_by_source": "Filtruj według źródła:",
"add_to_favorites": "Dodaj do ulubionych",
"remove_from_favorites": "Usuń z ulubionych",
"failed_update_favorites": "Nie udało się zaktualizować ulubionych",
"game_removed_from_library": "Gra została usunięta z biblioteki",
"failed_remove_from_library": "Nie udało się usunąć z biblioteki",
"files_removed_success": "Pliki zostały pomyślnie usunięte",
"failed_remove_files": "Nie udało się usunąć plików",
"no_repacks_found": "Nie znaleziono źródeł dla tej gry",
"updated_at": "Zaktualizowano {{updated_at}}",
"install": "Instaluj",
"resume": "Wznów",

View File

@@ -90,7 +90,6 @@
"playing_now": "Jogando agora",
"change": "Explorar",
"repacks_modal_description": "Escolha o repack do jogo que deseja baixar",
"no_repacks_found": "Nenhuma fonte encontrada para este jogo",
"select_folder_hint": "Para trocar o diretório padrão, acesse a <0>Tela de Ajustes</0>",
"download_now": "Iniciar download",
"no_shop_details": "Não foi possível obter os detalhes da loja.",
@@ -111,7 +110,6 @@
"remove_files": "Remover arquivos",
"options": "Gerenciar",
"properties": "Propriedades",
"filter_by_source": "Filtrar por fonte:",
"remove_from_library_description": "Isso irá remover {{game}} da sua biblioteca",
"remove_from_library_title": "Tem certeza?",
"executable_section_title": "Executável",

View File

@@ -49,16 +49,6 @@
"open_download_options": "Ver opções de transferência",
"download_options_zero": "Sem opções de transferência",
"download_options_one": "{{count}} opção de transferência",
"properties": "Propriedades",
"filter_by_source": "Filtrar por fonte:",
"add_to_favorites": "Adicionar aos favoritos",
"remove_from_favorites": "Remover dos favoritos",
"failed_update_favorites": "Falha ao atualizar favoritos",
"game_removed_from_library": "Jogo removido da biblioteca",
"failed_remove_from_library": "Falha ao remover da biblioteca",
"files_removed_success": "Ficheiros removidos com sucesso",
"failed_remove_files": "Falha ao remover ficheiros",
"no_repacks_found": "Não foram encontradas fontes para este jogo",
"download_options_other": "{{count}} opções de transferência",
"updated_at": "Atualizado a {{updated_at}}",
"resume": "Continuar",

View File

@@ -51,16 +51,6 @@
"eta": "Concluzie {{eta}}",
"calculating_eta": "Calculare timp rămas...",
"downloading_metadata": "Se descarcă metadata...",
"properties": "Proprietăți",
"filter_by_source": "Filtrează după sursă:",
"add_to_favorites": "Adaugă la favorite",
"remove_from_favorites": "Elimină din favorite",
"failed_update_favorites": "Actualizarea favoritelor a eșuat",
"game_removed_from_library": "Jocul a fost eliminat din bibliotecă",
"failed_remove_from_library": "Eliminarea din bibliotecă a eșuat",
"files_removed_success": "Fișiere eliminate cu succes",
"failed_remove_files": "Eliminarea fișierelor a eșuat",
"no_repacks_found": "Nu s-au găsit surse pentru acest joc",
"filter": "Filtrează repack-urile",
"requirements": "Cerințe de sistem",
"minimum": "Minim",

View File

@@ -66,16 +66,6 @@
"open_download_options": "Открыть источники",
"download_options_zero": "Нет источников",
"download_options_one": "{{count}} источник",
"properties": "Свойства",
"filter_by_source": "Фильтровать по источнику:",
"add_to_favorites": "Добавить в избранное",
"remove_from_favorites": "Удалить из избранного",
"failed_update_favorites": "Не удалось обновить избранное",
"game_removed_from_library": "Игра удалена из библиотеки",
"failed_remove_from_library": "Не удалось удалить из библиотеки",
"files_removed_success": "Файлы успешно удалены",
"failed_remove_files": "Не удалось удалить файлы",
"no_repacks_found": "Не найдено источников для этой игры",
"download_options_other": "{{count}} источников",
"updated_at": "Обновлено {{updated_at}}",
"install": "Установить",

View File

@@ -64,16 +64,6 @@
"open_download_options": "Öppna nedladdningsalternativ",
"download_options_zero": "Inget nedladdningsalternativ",
"download_options_one": "{{count}} nedladdningsalternativ",
"no_repacks_found": "Inga källor hittades för detta spel",
"properties": "Egenskaper",
"filter_by_source": "Filtrera efter källa:",
"add_to_favorites": "Lägg till i favoriter",
"remove_from_favorites": "Ta bort från favoriter",
"failed_update_favorites": "Misslyckades med att uppdatera favoriter",
"game_removed_from_library": "Spelet har tagits bort från biblioteket",
"failed_remove_from_library": "Misslyckades med att ta bort från biblioteket",
"files_removed_success": "Filer har tagits bort",
"failed_remove_files": "Misslyckades med att ta bort filer",
"download_options_other": "{{count}} nedladdningsalternativ",
"updated_at": "Uppdaterad {{updated_at}}",
"install": "Installera",

View File

@@ -64,16 +64,6 @@
"open_download_options": "İndirme seçeneklerini aç",
"download_options_zero": "İndirme seçeneği yok",
"download_options_one": "{{count}} indirme seçeneği",
"properties": "Özellikler",
"filter_by_source": "Kaynağa göre filtrele:",
"add_to_favorites": "Favorilere ekle",
"remove_from_favorites": "Favorilerden kaldır",
"failed_update_favorites": "Favoriler güncellenemedi",
"game_removed_from_library": "Oyun kütüphaneden kaldırıldı",
"failed_remove_from_library": "Kütüphaneden kaldırma başarısız oldu",
"files_removed_success": "Dosyalar başarıyla kaldırıldı",
"failed_remove_files": "Dosyalar kaldırılamadı",
"no_repacks_found": "Bu oyun için kaynak bulunamadı",
"download_options_other": "{{count}} indirme seçeneği",
"updated_at": "{{updated_at}} tarihinde güncellendi",
"install": "Yükle",

View File

@@ -68,16 +68,6 @@
"download_options_other": "{{count}} варіантів завантаження",
"updated_at": "Оновлено {{updated_at}}",
"install": "Встановити",
"properties": "Властивості",
"filter_by_source": "Фільтрувати за джерелом:",
"add_to_favorites": "Додати до обраного",
"remove_from_favorites": "Видалити з обраного",
"failed_update_favorites": "Не вдалося оновити обране",
"game_removed_from_library": "Гру видалено з бібліотеки",
"failed_remove_from_library": "Не вдалося видалити з бібліотеки",
"files_removed_success": "Файли успішно видалено",
"failed_remove_files": "Не вдалося видалити файли",
"no_repacks_found": "Не знайдено джерел для цієї гри",
"resume": "Відновити",
"pause": "Призупинити",
"cancel": "Скасувати",

View File

@@ -64,16 +64,6 @@
"play_time": "O'ynalgan vaqt {{amount}}",
"last_time_played": "Oxirgi ishga tushirilgan {{period}}",
"not_played_yet": "Siz hali {{title}}ni o'ynamagansiz",
"properties": "Xususiyatlar",
"filter_by_source": "Manba bo'yicha filtrlash:",
"add_to_favorites": "Sevimlilarga qo'shish",
"remove_from_favorites": "Sevimlilardan olib tashlash",
"failed_update_favorites": "Sevimlilarni yangilash muvaffaqiyatsiz tugadi",
"game_removed_from_library": "O'yin kutubxonadan olib tashlandi",
"failed_remove_from_library": "Kutubxonadan olib tashlash muvaffaqiyatsiz tugadi",
"files_removed_success": "Fayllar muvaffaqiyatli olib tashlandi",
"failed_remove_files": "Fayllarni olib tashlash muvaffaqiyatsiz tugadi",
"no_repacks_found": "Bu o'yin uchun manbalar topilmadi",
"next_suggestion": "Keyingi taklif",
"play": "O'ynash",
"deleting": "O'rnatuvchi o'chirilmoqda…",

View File

@@ -72,16 +72,6 @@
"install": "安装",
"resume": "恢复",
"pause": "暂停",
"properties": "属性",
"filter_by_source": "按来源筛选:",
"add_to_favorites": "添加到收藏夹",
"remove_from_favorites": "从收藏夹移除",
"failed_update_favorites": "收藏夹更新失败",
"game_removed_from_library": "游戏已从库中移除",
"failed_remove_from_library": "从库中移除失败",
"files_removed_success": "文件已成功移除",
"failed_remove_files": "文件移除失败",
"no_repacks_found": "未找到该游戏的资源",
"cancel": "取消",
"remove": "移除",
"space_left_on_disk": "磁盘剩余空间{{space}}",

View File

@@ -2,43 +2,7 @@
.repacks-modal {
&__filter-container {
margin-bottom: 1rem;
}
&__filter-top {
margin-bottom: 1rem;
display: flex;
flex-direction: column;
gap: 0.5rem;
}
&__filter-toggle {
align-self: flex-start;
display: flex;
align-items: center;
gap: 0.5rem;
font-size: globals.$small-font-size;
font-weight: 600;
color: var(--color-text-secondary);
padding: 0.5rem 0.75rem;
border-radius: 6px;
transition: background-color 0.2s ease;
display: flex;
flex-direction: column;
gap: 0.5rem;
}
&__filter-toggle {
align-self: flex-start;
display: flex;
align-items: center;
gap: 0.5rem;
font-size: globals.$small-font-size;
font-weight: 600;
color: var(--color-text-secondary);
padding: 0.5rem 0.75rem;
border-radius: 6px;
transition: background-color 0.2s ease;
margin-bottom: calc(globals.$spacing-unit * 2);
}
&__repacks {
@@ -65,104 +29,4 @@
&__repack-info {
font-size: globals.$small-font-size;
}
&__no-results {
width: 100%;
padding: calc(globals.$spacing-unit * 4) 0;
text-align: center;
color: globals.$muted-color;
font-size: globals.$small-font-size;
display: flex;
align-items: center;
justify-content: center;
}
&__no-results-content {
display: flex;
flex-direction: column;
align-items: center;
gap: calc(globals.$spacing-unit * 1.5);
max-width: 480px;
width: 100%;
}
&__no-results-text {
color: globals.$muted-color;
font-size: globals.$small-font-size;
text-align: center;
}
&__no-results-button {
display: flex;
justify-content: center;
width: 100%;
}
&__download-sources {
padding: 0;
background-color: var(--color-background-light);
border-radius: 8px;
margin-bottom: 1rem;
margin-top: calc(globals.$spacing-unit * 0.5);
max-height: 0;
overflow: hidden;
transition:
max-height 0.3s ease,
padding 0.3s ease;
&--open {
padding: 0.75rem;
max-height: 250px;
}
}
&__filter-label {
display: none;
font-size: globals.$small-font-size;
font-weight: 600;
margin-bottom: 0.75rem;
color: var(--color-text-secondary);
width: 100%;
}
&__source-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 0.5rem;
max-height: 200px;
overflow-y: auto;
overflow-x: hidden;
overflow-x: hidden;
align-items: start;
padding-right: 0.25rem; /* Espaço para a barra de rolagem */
}
&__source-item {
padding: 0.35rem 0.5rem;
padding: 0.35rem 0.5rem;
background: var(--color-surface, rgba(0, 0, 0, 0.03));
border: 1px solid var(--color-border);
border-radius: 6px;
display: flex;
align-items: center;
min-height: 38px;
box-sizing: border-box;
width: 100%;
width: 100%;
}
&__source-item :global(.checkbox-field) {
width: 100%;
min-width: 0;
}
&__source-item :global(.checkbox-field__label) {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display: block;
font-size: 0.85rem;
width: 100%;
}
}
}

View File

@@ -1,7 +1,5 @@
import { useContext, useEffect, useMemo, useState } from "react";
import { useTranslation } from "react-i18next";
import { useNavigate } from "react-router-dom";
import { PlusCircleIcon, ChevronDownIcon, ChevronUpIcon } from "@primer/octicons-react";
import {
Badge,
@@ -9,10 +7,7 @@ import {
DebridBadge,
Modal,
TextField,
CheckboxField,
} from "@renderer/components";
import { downloadSourcesTable } from "@renderer/dexie";
import type { DownloadSource } from "@types";
import type { GameRepack } from "@types";
import { DownloadSettingsModal } from "./download-settings-modal";
@@ -41,13 +36,6 @@ export function RepacksModal({
const [filteredRepacks, setFilteredRepacks] = useState<GameRepack[]>([]);
const [repack, setRepack] = useState<GameRepack | null>(null);
const [showSelectFolderModal, setShowSelectFolderModal] = useState(false);
const [downloadSources, setDownloadSources] = useState<DownloadSource[]>(
[]
);
const [selectedFingerprints, setSelectedFingerprints] = useState<string[]>(
[]
);
const [filterTerm, setFilterTerm] = useState("");
const [hashesInDebrid, setHashesInDebrid] = useState<Record<string, boolean>>(
{}
@@ -58,7 +46,6 @@ export function RepacksModal({
const { t } = useTranslation("game_details");
const { formatDate } = useDate();
const navigate = useNavigate();
const getHashFromMagnet = (magnet: string) => {
if (!magnet || typeof magnet !== "string") {
@@ -103,39 +90,8 @@ export function RepacksModal({
}, [repacks, hashesInDebrid]);
useEffect(() => {
downloadSourcesTable.toArray().then((sources) => {
const uniqueRepackers = new Set(sortedRepacks.map((r) => r.repacker));
const filteredSources = sources.filter(
(s) => s.name && uniqueRepackers.has(s.name) && !!s.fingerprint
);
setDownloadSources(filteredSources);
});
}, [sortedRepacks]);
useEffect(() => {
const term = filterTerm.trim().toLowerCase();
const byTerm = sortedRepacks.filter((repack) => {
if (!term) return true;
const lowerTitle = repack.title.toLowerCase();
const lowerRepacker = repack.repacker.toLowerCase();
return (
lowerTitle.includes(term) || lowerRepacker.includes(term)
);
});
const bySource = byTerm.filter((repack) => {
if (selectedFingerprints.length === 0) return true;
return downloadSources.some(
(src) =>
selectedFingerprints.includes(src.fingerprint) &&
src.name === repack.repacker
);
});
setFilteredRepacks(bySource);
}, [sortedRepacks, filterTerm, selectedFingerprints, downloadSources]);
setFilteredRepacks(sortedRepacks);
}, [sortedRepacks, visible, game]);
const handleRepackClick = (repack: GameRepack) => {
setRepack(repack);
@@ -143,14 +99,17 @@ export function RepacksModal({
};
const handleFilter: React.ChangeEventHandler<HTMLInputElement> = (event) => {
setFilterTerm(event.target.value);
};
const term = event.target.value.toLocaleLowerCase();
const toggleFingerprint = (fingerprint: string) => {
setSelectedFingerprints((prev) =>
prev.includes(fingerprint)
? prev.filter((f) => f !== fingerprint)
: [...prev, fingerprint]
setFilteredRepacks(
sortedRepacks.filter((repack) => {
const lowerCaseTitle = repack.title.toLowerCase();
const lowerCaseRepacker = repack.repacker.toLowerCase();
return [lowerCaseTitle, lowerCaseRepacker].some((value) =>
value.includes(term)
);
})
);
};
@@ -159,8 +118,6 @@ export function RepacksModal({
return repack.uris.some((uri) => uri.includes(game.download!.uri));
};
const [isFilterDrawerOpen, setIsFilterDrawerOpen] = useState(false);
return (
<>
<DownloadSettingsModal
@@ -177,88 +134,39 @@ export function RepacksModal({
onClose={onClose}
>
<div className="repacks-modal__filter-container">
<div className="repacks-modal__filter-top">
<TextField placeholder={t("filter")} onChange={handleFilter} />
<Button
type="button"
theme="outline"
onClick={() => setIsFilterDrawerOpen(!isFilterDrawerOpen)}
className="repacks-modal__filter-toggle"
>
{t("filter_by_source")}
{isFilterDrawerOpen ? <ChevronUpIcon /> : <ChevronDownIcon />}
</Button>
</div>
<div className={`repacks-modal__download-sources ${isFilterDrawerOpen ? 'repacks-modal__download-sources--open' : ''}`}>
<div className="repacks-modal__source-grid">
{downloadSources.map((source) => (
<div
key={source.fingerprint}
className="repacks-modal__source-item"
>
<CheckboxField
label={source.name || source.url}
checked={selectedFingerprints.includes(source.fingerprint)}
onChange={() => toggleFingerprint(source.fingerprint)}
/>
</div>
))}
</div>
</div>
<TextField placeholder={t("filter")} onChange={handleFilter} />
</div>
<div className="repacks-modal__repacks">
{filteredRepacks.length === 0 ? (
<div className="repacks-modal__no-results">
<div className="repacks-modal__no-results-content">
<div className="repacks-modal__no-results-text">{t("no_repacks_found")}</div>
<div className="repacks-modal__no-results-button">
<Button
type="button"
theme="primary"
onClick={() => {
onClose();
navigate("/settings?tab=2");
}}
>
<PlusCircleIcon />
{t("add_download_source", { ns: "settings" })}
</Button>
</div>
</div>
</div>
) : (
filteredRepacks.map((repack) => {
const isLastDownloadedOption = checkIfLastDownloadedOption(repack);
{filteredRepacks.map((repack) => {
const isLastDownloadedOption = checkIfLastDownloadedOption(repack);
return (
<Button
key={repack.id}
theme="dark"
onClick={() => handleRepackClick(repack)}
className="repacks-modal__repack-button"
>
<p className="repacks-modal__repack-title">{repack.title}</p>
return (
<Button
key={repack.id}
theme="dark"
onClick={() => handleRepackClick(repack)}
className="repacks-modal__repack-button"
>
<p className="repacks-modal__repack-title">{repack.title}</p>
{isLastDownloadedOption && (
<Badge>{t("last_downloaded_option")}</Badge>
)}
{isLastDownloadedOption && (
<Badge>{t("last_downloaded_option")}</Badge>
)}
<p className="repacks-modal__repack-info">
{repack.fileSize} - {repack.repacker} - {" "}
{repack.uploadDate ? formatDate(repack.uploadDate) : ""}
</p>
<p className="repacks-modal__repack-info">
{repack.fileSize} - {repack.repacker} -{" "}
{repack.uploadDate ? formatDate(repack.uploadDate) : ""}
</p>
{hashesInDebrid[getHashFromMagnet(repack.uris[0]) ?? ""] && (
<DebridBadge />
)}
</Button>
);
})
)}
{hashesInDebrid[getHashFromMagnet(repack.uris[0]) ?? ""] && (
<DebridBadge />
)}
</Button>
);
})}
</div>
</Modal>
</>
);
}
}