From b5604311cb7a5079956f09861887d10e13dee4bf Mon Sep 17 00:00:00 2001 From: LotP1 Date: Sat, 14 Dec 2024 14:50:24 +0100 Subject: [PATCH] Add nuke PPTC option to cache management --- src/Ryujinx/Assets/Locales/ar_SA.json | 3 ++ src/Ryujinx/Assets/Locales/de_DE.json | 3 ++ src/Ryujinx/Assets/Locales/el_GR.json | 3 ++ src/Ryujinx/Assets/Locales/en_US.json | 3 ++ src/Ryujinx/Assets/Locales/es_ES.json | 3 ++ src/Ryujinx/Assets/Locales/fr_FR.json | 3 ++ src/Ryujinx/Assets/Locales/he_IL.json | 3 ++ src/Ryujinx/Assets/Locales/it_IT.json | 3 ++ src/Ryujinx/Assets/Locales/ja_JP.json | 3 ++ src/Ryujinx/Assets/Locales/ko_KR.json | 3 ++ src/Ryujinx/Assets/Locales/pl_PL.json | 3 ++ src/Ryujinx/Assets/Locales/pt_BR.json | 3 ++ src/Ryujinx/Assets/Locales/ru_RU.json | 3 ++ src/Ryujinx/Assets/Locales/th_TH.json | 2 + src/Ryujinx/Assets/Locales/tr_TR.json | 3 ++ src/Ryujinx/Assets/Locales/uk_UA.json | 5 +- src/Ryujinx/Assets/Locales/zh_CN.json | 3 ++ src/Ryujinx/Assets/Locales/zh_TW.json | 3 ++ .../UI/Controls/ApplicationContextMenu.axaml | 5 ++ .../Controls/ApplicationContextMenu.axaml.cs | 46 +++++++++++++++++++ 20 files changed, 105 insertions(+), 1 deletion(-) diff --git a/src/Ryujinx/Assets/Locales/ar_SA.json b/src/Ryujinx/Assets/Locales/ar_SA.json index 3ff57c0d1..027f00235 100644 --- a/src/Ryujinx/Assets/Locales/ar_SA.json +++ b/src/Ryujinx/Assets/Locales/ar_SA.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "إدارة ذاكرة التخزين المؤقت", "GameListContextMenuCacheManagementPurgePptc": "قائمة انتظار إعادة بناء الـ‫PPTC", "GameListContextMenuCacheManagementPurgePptcToolTip": "تنشيط ‫PPTC لإعادة البناء في وقت الإقلاع عند بدء تشغيل اللعبة التالي", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "تنظيف ذاكرة مرشحات الفيديو المؤقتة", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "يحذف ذاكرة مرشحات الفيديو المؤقتة الخاصة بالتطبيق", "GameListContextMenuCacheManagementOpenPptcDirectory": "‫فتح مجلد PPTC", @@ -505,6 +507,7 @@ "DialogWarning": "تحذير", "DialogPPTCDeletionMessage": "أنت على وشك الإنتظار لإعادة بناء ذاكرة التخزين المؤقت للترجمة المستمرة (PPTC) عند الإقلاع التالي لـ:\n\n{0}\n\nأمتأكد من رغبتك في المتابعة؟", "DialogPPTCDeletionErrorMessage": "خطأ خلال تنظيف ذاكرة التخزين المؤقت للترجمة المستمرة (PPTC) في {0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "أنت على وشك حذف ذاكرة المظللات المؤقتة ل:\n\n{0}\n\nهل انت متأكد انك تريد المتابعة؟", "DialogShaderDeletionErrorMessage": "حدث خطأ أثناء تنظيف ذاكرة المظللات المؤقتة في {0}: {1}", "DialogRyujinxErrorMessage": "واجه ريوجينكس خطأ", diff --git a/src/Ryujinx/Assets/Locales/de_DE.json b/src/Ryujinx/Assets/Locales/de_DE.json index 80562406c..c8530d8db 100644 --- a/src/Ryujinx/Assets/Locales/de_DE.json +++ b/src/Ryujinx/Assets/Locales/de_DE.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "Cache-Verwaltung", "GameListContextMenuCacheManagementPurgePptc": "PPTC als ungültig markieren", "GameListContextMenuCacheManagementPurgePptcToolTip": "Markiert den PPTC als ungültig, sodass dieser beim nächsten Spielstart neu erstellt wird", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "Shader Cache löschen", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Löscht den Shader-Cache der Anwendung", "GameListContextMenuCacheManagementOpenPptcDirectory": "PPTC-Verzeichnis öffnen", @@ -505,6 +507,7 @@ "DialogWarning": "Warnung", "DialogPPTCDeletionMessage": "Du bist dabei den PPTC für das folgende Spiel als ungültig zu markieren:\n\n{0}\n\nWirklich fortfahren?", "DialogPPTCDeletionErrorMessage": "Fehler bei der Löschung des PPTC Caches bei {0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "Du bist dabei, den Shader Cache zu löschen für :\n\n{0}\n\nWirklich fortfahren?", "DialogShaderDeletionErrorMessage": "Es ist ein Fehler bei der Löschung des Shader Caches bei {0}: {1} aufgetreten", "DialogRyujinxErrorMessage": "Ein Fehler ist aufgetreten", diff --git a/src/Ryujinx/Assets/Locales/el_GR.json b/src/Ryujinx/Assets/Locales/el_GR.json index 32c0d55e6..7618a1f01 100644 --- a/src/Ryujinx/Assets/Locales/el_GR.json +++ b/src/Ryujinx/Assets/Locales/el_GR.json @@ -77,6 +77,8 @@ "GameListContextMenuCacheManagementPurgePptc": "Εκκαθάριση Προσωρινής Μνήμης PPTC", "GameListContextMenuCacheManagementPurgePptcToolTip": "Διαγράφει την προσωρινή μνήμη PPTC της εφαρμογής", "GameListContextMenuCacheManagementPurgeShaderCache": "Εκκαθάριση Προσωρινής Μνήμης Shader", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Διαγράφει την προσωρινή μνήμη Shader της εφαρμογής", "GameListContextMenuCacheManagementOpenPptcDirectory": "Άνοιγμα Τοποθεσίας PPTC", "GameListContextMenuCacheManagementOpenPptcDirectoryToolTip": "Ανοίγει την τοποθεσία που περιέχει τη προσωρινή μνήμη PPTC της εφαρμογής", @@ -505,6 +507,7 @@ "DialogWarning": "Προειδοποίηση", "DialogPPTCDeletionMessage": "Πρόκειται να διαγράψετε την προσωρινή μνήμη PPTC για :\n\n{0}\n\nΕίστε βέβαιοι ότι θέλετε να συνεχίσετε;", "DialogPPTCDeletionErrorMessage": "Σφάλμα κατά την εκκαθάριση προσωρινής μνήμης PPTC στο {0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "Πρόκειται να διαγράψετε την προσωρινή μνήμη Shader για :\n\n{0}\n\nΕίστε βέβαιοι ότι θέλετε να συνεχίσετε;", "DialogShaderDeletionErrorMessage": "Σφάλμα κατά την εκκαθάριση προσωρινής μνήμης Shader στο {0}: {1}", "DialogRyujinxErrorMessage": "Το Ryujinx αντιμετώπισε σφάλμα", diff --git a/src/Ryujinx/Assets/Locales/en_US.json b/src/Ryujinx/Assets/Locales/en_US.json index dd3c9b628..d3fe66941 100644 --- a/src/Ryujinx/Assets/Locales/en_US.json +++ b/src/Ryujinx/Assets/Locales/en_US.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "Cache Management", "GameListContextMenuCacheManagementPurgePptc": "Queue PPTC Rebuild", "GameListContextMenuCacheManagementPurgePptcToolTip": "Trigger PPTC to rebuild at boot time on the next game launch", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "Purge Shader Cache", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Deletes Application's shader cache", "GameListContextMenuCacheManagementOpenPptcDirectory": "Open PPTC Directory", @@ -517,6 +519,7 @@ "DialogWarning": "Warning", "DialogPPTCDeletionMessage": "You are about to queue a PPTC rebuild on the next boot of:\n\n{0}\n\nAre you sure you want to proceed?", "DialogPPTCDeletionErrorMessage": "Error purging PPTC cache at {0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "You are about to delete the Shader cache for :\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionErrorMessage": "Error purging Shader cache at {0}: {1}", "DialogRyujinxErrorMessage": "Ryujinx has encountered an error", diff --git a/src/Ryujinx/Assets/Locales/es_ES.json b/src/Ryujinx/Assets/Locales/es_ES.json index f57f2d8fc..ad97c80ff 100644 --- a/src/Ryujinx/Assets/Locales/es_ES.json +++ b/src/Ryujinx/Assets/Locales/es_ES.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "Gestión de caché ", "GameListContextMenuCacheManagementPurgePptc": "Reconstruir PPTC en cola", "GameListContextMenuCacheManagementPurgePptcToolTip": "Elimina la caché de PPTC de esta aplicación", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "Limpiar caché de sombreadores", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Eliminar la caché de sombreadores de esta aplicación", "GameListContextMenuCacheManagementOpenPptcDirectory": "Abrir carpeta de PPTC", @@ -505,6 +507,7 @@ "DialogWarning": "Advertencia", "DialogPPTCDeletionMessage": "Vas a borrar la caché de PPTC para:\n\n{0}\n\n¿Estás seguro de querer continuar?", "DialogPPTCDeletionErrorMessage": "Error purgando la caché de PPTC en {0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "Vas a borrar la caché de sombreadores para:\n\n{0}\n\n¿Estás seguro de querer continuar?", "DialogShaderDeletionErrorMessage": "Error purgando la caché de sombreadores en {0}: {1}", "DialogRyujinxErrorMessage": "Ryujinx ha encontrado un error", diff --git a/src/Ryujinx/Assets/Locales/fr_FR.json b/src/Ryujinx/Assets/Locales/fr_FR.json index 59e0d449d..90987c341 100644 --- a/src/Ryujinx/Assets/Locales/fr_FR.json +++ b/src/Ryujinx/Assets/Locales/fr_FR.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "Gestion des caches", "GameListContextMenuCacheManagementPurgePptc": "Reconstruction du PPTC", "GameListContextMenuCacheManagementPurgePptcToolTip": "Effectuer une reconstruction du PPTC au prochain démarrage du jeu", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "Purger les shaders", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Supprime les shaders du jeu", "GameListContextMenuCacheManagementOpenPptcDirectory": "Ouvrir le dossier du PPTC", @@ -505,6 +507,7 @@ "DialogWarning": "Avertissement", "DialogPPTCDeletionMessage": "Vous êtes sur le point de mettre en file d'attente une reconstruction PPTC au prochain démarrage de :\n\n{0}\n\nÊtes-vous sûr de vouloir continuer ?", "DialogPPTCDeletionErrorMessage": "Erreur lors de la purge du cache PPTC à {0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "Vous êtes sur le point de supprimer le cache du Shader pour :\n\n{0}\n\nÊtes-vous sûr de vouloir continuer ?", "DialogShaderDeletionErrorMessage": "Erreur lors de la purge du cache du Shader à {0}: {1}", "DialogRyujinxErrorMessage": "Ryujinx a rencontré une erreur", diff --git a/src/Ryujinx/Assets/Locales/he_IL.json b/src/Ryujinx/Assets/Locales/he_IL.json index f7e7f6ddf..5143c6055 100644 --- a/src/Ryujinx/Assets/Locales/he_IL.json +++ b/src/Ryujinx/Assets/Locales/he_IL.json @@ -75,6 +75,8 @@ "GameListContextMenuManageDlcToolTip": "פותח את חלון מנהל הרחבות המשחקים", "GameListContextMenuCacheManagement": "ניהול מטמון", "GameListContextMenuCacheManagementPurgePptc": "הוסף PPTC לתור בנייה מחדש", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgePptcToolTip": "גרום ל-PPTC להבנות מחדש בפתיחה הבאה של המשחק", "GameListContextMenuCacheManagementPurgeShaderCache": "ניקוי מטמון הצללות", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "מוחק את מטמון ההצללות של היישום", @@ -505,6 +507,7 @@ "DialogWarning": "אזהרה", "DialogPPTCDeletionMessage": "אם תמשיכו אתם עומדים לגרום לבנייה מחדש של מטמון ה-PPTC עבור:\n\n{0}", "DialogPPTCDeletionErrorMessage": "שגיאה בטיהור מטמון PPTC ב-{0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "אם תמשיכו אתם עומדים למחוק את מטמון ההצללות עבור:\n\n{0}", "DialogShaderDeletionErrorMessage": "שגיאה בניקוי מטמון ההצללות ב-{0}: {1}", "DialogRyujinxErrorMessage": "ריוג'ינקס נתקלה בשגיאה", diff --git a/src/Ryujinx/Assets/Locales/it_IT.json b/src/Ryujinx/Assets/Locales/it_IT.json index 206ff377c..82f7f2c9b 100644 --- a/src/Ryujinx/Assets/Locales/it_IT.json +++ b/src/Ryujinx/Assets/Locales/it_IT.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "Gestione della cache", "GameListContextMenuCacheManagementPurgePptc": "Accoda rigenerazione della cache PPTC", "GameListContextMenuCacheManagementPurgePptcToolTip": "Esegue la rigenerazione della cache PPTC al prossimo avvio del gioco", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "Elimina la cache degli shader", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Elimina la cache degli shader dell'applicazione", "GameListContextMenuCacheManagementOpenPptcDirectory": "Apri la cartella della cache PPTC", @@ -505,6 +507,7 @@ "DialogWarning": "Avviso", "DialogPPTCDeletionMessage": "Stai per accodare la rigenerazione della cache PPTC al prossimo avvio per:\n\n{0}\n\nSei sicuro di voler proseguire?", "DialogPPTCDeletionErrorMessage": "Errore nell'eliminazione della cache PPTC a {0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "Stai per eliminare la cache degli shader per:\n\n{0}\n\nSei sicuro di voler proseguire?", "DialogShaderDeletionErrorMessage": "Errore nell'eliminazione della cache degli shader a {0}: {1}", "DialogRyujinxErrorMessage": "Ryujinx ha incontrato un errore", diff --git a/src/Ryujinx/Assets/Locales/ja_JP.json b/src/Ryujinx/Assets/Locales/ja_JP.json index 91931021b..641f26451 100644 --- a/src/Ryujinx/Assets/Locales/ja_JP.json +++ b/src/Ryujinx/Assets/Locales/ja_JP.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "キャッシュ管理", "GameListContextMenuCacheManagementPurgePptc": "PPTC を再構築", "GameListContextMenuCacheManagementPurgePptcToolTip": "次回のゲーム起動時に PPTC を再構築します", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "シェーダーキャッシュを破棄", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "アプリケーションのシェーダーキャッシュを破棄します", "GameListContextMenuCacheManagementOpenPptcDirectory": "PPTC ディレクトリを開く", @@ -505,6 +507,7 @@ "DialogWarning": "警告", "DialogPPTCDeletionMessage": "次回起動時に PPTC を再構築します:\n\n{0}\n\n実行してよろしいですか?", "DialogPPTCDeletionErrorMessage": "PPTC キャッシュ破棄エラー {0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "シェーダーキャッシュを破棄しようとしています:\n\n{0}\n\n実行してよろしいですか?", "DialogShaderDeletionErrorMessage": "シェーダーキャッシュ破棄エラー {0}: {1}", "DialogRyujinxErrorMessage": "エラーが発生しました", diff --git a/src/Ryujinx/Assets/Locales/ko_KR.json b/src/Ryujinx/Assets/Locales/ko_KR.json index 2b73fb41f..1a1b0e0fd 100644 --- a/src/Ryujinx/Assets/Locales/ko_KR.json +++ b/src/Ryujinx/Assets/Locales/ko_KR.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "캐시 관리", "GameListContextMenuCacheManagementPurgePptc": "대기열 PPTC 재구성", "GameListContextMenuCacheManagementPurgePptcToolTip": "다음 게임 실행 부팅 시, PPTC를 트리거하여 다시 구성", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "퍼지 셰이더 캐시", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "앱의 셰이더 캐시 삭제", "GameListContextMenuCacheManagementOpenPptcDirectory": "PPTC 디렉터리 열기", @@ -505,6 +507,7 @@ "DialogWarning": "경고", "DialogPPTCDeletionMessage": "다음에 부팅할 때, PPTC 재구축을 대기열에 추가하려고 합니다.\n\n{0}\n\n계속하시겠습니까?", "DialogPPTCDeletionErrorMessage": "{0}에서 PPTC 캐시를 지우는 중 오류 발생 : {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "다음 셰이더 캐시를 삭제 :\n\n{0}\n\n계속하시겠습니까?", "DialogShaderDeletionErrorMessage": "{0}에서 셰이더 캐시를 삭제하는 중 오류 발생 : {1}", "DialogRyujinxErrorMessage": "Ryujinx에서 오류 발생", diff --git a/src/Ryujinx/Assets/Locales/pl_PL.json b/src/Ryujinx/Assets/Locales/pl_PL.json index 8e5f3194f..3cf26e907 100644 --- a/src/Ryujinx/Assets/Locales/pl_PL.json +++ b/src/Ryujinx/Assets/Locales/pl_PL.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "Zarządzanie Cache", "GameListContextMenuCacheManagementPurgePptc": "Zakolejkuj rekompilację PPTC", "GameListContextMenuCacheManagementPurgePptcToolTip": "Zainicjuj Rekompilację PPTC przy następnym uruchomieniu gry", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "Wyczyść pamięć podręczną cieni", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Usuwa pamięć podręczną cieni danej aplikacji", "GameListContextMenuCacheManagementOpenPptcDirectory": "Otwórz katalog PPTC", @@ -505,6 +507,7 @@ "DialogWarning": "Uwaga", "DialogPPTCDeletionMessage": "Masz zamiar umieścić w kolejce rekompilację PPTC przy następnym uruchomieniu:\n\n{0}\n\nCzy na pewno chcesz kontynuować?", "DialogPPTCDeletionErrorMessage": "Błąd czyszczenia cache PPTC w {0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "Zamierzasz usunąć cache Shaderów dla :\n\n{0}\n\nNa pewno chcesz kontynuować?", "DialogShaderDeletionErrorMessage": "Błąd czyszczenia cache Shaderów w {0}: {1}", "DialogRyujinxErrorMessage": "Ryujinx napotkał błąd", diff --git a/src/Ryujinx/Assets/Locales/pt_BR.json b/src/Ryujinx/Assets/Locales/pt_BR.json index 8ce208e6f..9d2760103 100644 --- a/src/Ryujinx/Assets/Locales/pt_BR.json +++ b/src/Ryujinx/Assets/Locales/pt_BR.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "Gerenciamento de cache", "GameListContextMenuCacheManagementPurgePptc": "Limpar cache PPTC", "GameListContextMenuCacheManagementPurgePptcToolTip": "Deleta o cache PPTC armazenado em disco do jogo", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "Limpar cache de Shader", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Deleta o cache de Shader armazenado em disco do jogo", "GameListContextMenuCacheManagementOpenPptcDirectory": "Abrir diretório do cache PPTC", @@ -505,6 +507,7 @@ "DialogWarning": "Alerta", "DialogPPTCDeletionMessage": "Você está prestes a apagar o cache PPTC para :\n\n{0}\n\nTem certeza que deseja continuar?", "DialogPPTCDeletionErrorMessage": "Erro apagando cache PPTC em {0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "Você está prestes a apagar o cache de Shader para :\n\n{0}\n\nTem certeza que deseja continuar?", "DialogShaderDeletionErrorMessage": "Erro apagando o cache de Shader em {0}: {1}", "DialogRyujinxErrorMessage": "Ryujinx encontrou um erro", diff --git a/src/Ryujinx/Assets/Locales/ru_RU.json b/src/Ryujinx/Assets/Locales/ru_RU.json index f4ce7c891..36982ea65 100644 --- a/src/Ryujinx/Assets/Locales/ru_RU.json +++ b/src/Ryujinx/Assets/Locales/ru_RU.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "Управление кэшем", "GameListContextMenuCacheManagementPurgePptc": "Перестроить очередь PPTC", "GameListContextMenuCacheManagementPurgePptcToolTip": "Запускает перестройку PPTC во время следующего запуска игры.", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "Очистить кэш шейдеров", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Удаляет кеш шейдеров приложения", "GameListContextMenuCacheManagementOpenPptcDirectory": "Открыть папку PPTC", @@ -505,6 +507,7 @@ "DialogWarning": "Внимание", "DialogPPTCDeletionMessage": "Вы собираетесь перестроить кэш PPTC при следующем запуске для:\n\n{0}\n\nВы уверены, что хотите продолжить?", "DialogPPTCDeletionErrorMessage": "Ошибка очистки кэша PPTC в {0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "Вы собираетесь удалить кэш шейдеров для:\n\n{0}\n\nВы уверены, что хотите продолжить?", "DialogShaderDeletionErrorMessage": "Ошибка очистки кэша шейдеров в {0}: {1}", "DialogRyujinxErrorMessage": "Ryujinx обнаружил ошибку", diff --git a/src/Ryujinx/Assets/Locales/th_TH.json b/src/Ryujinx/Assets/Locales/th_TH.json index d8f62ea01..f513ee82f 100644 --- a/src/Ryujinx/Assets/Locales/th_TH.json +++ b/src/Ryujinx/Assets/Locales/th_TH.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "จัดการแคช", "GameListContextMenuCacheManagementPurgePptc": "เพิ่มคิวการสร้าง PPTC ใหม่", "GameListContextMenuCacheManagementPurgePptcToolTip": "ให้ PPTC สร้างใหม่ในเวลาบูตเมื่อเปิดเกมครั้งถัดไป", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "ล้างแคช แสงเงา", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "ลบแคช แสงเงา ของแอปพลิเคชัน", "GameListContextMenuCacheManagementOpenPptcDirectory": "เปิดไดเรกทอรี่ PPTC", diff --git a/src/Ryujinx/Assets/Locales/tr_TR.json b/src/Ryujinx/Assets/Locales/tr_TR.json index c0a8447e2..550f24428 100644 --- a/src/Ryujinx/Assets/Locales/tr_TR.json +++ b/src/Ryujinx/Assets/Locales/tr_TR.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "Önbellek Yönetimi", "GameListContextMenuCacheManagementPurgePptc": "PPTC Yeniden Yapılandırmasını Başlat", "GameListContextMenuCacheManagementPurgePptcToolTip": "Oyunun bir sonraki açılışında PPTC'yi yeniden yapılandır", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "Shader Önbelleğini Temizle", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Uygulamanın shader önbelleğini temizler", "GameListContextMenuCacheManagementOpenPptcDirectory": "PPTC Dizinini Aç", @@ -505,6 +507,7 @@ "DialogWarning": "Uyarı", "DialogPPTCDeletionMessage": "Belirtilen PPTC cache silinecek :\n\n{0}\n\nDevam etmek istediğinizden emin misiniz?", "DialogPPTCDeletionErrorMessage": "Belirtilen PPTC cache temizlenirken hata {0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "Belirtilen Shader cache silinecek :\n\n{0}\n\nDevam etmek istediğinizden emin misiniz?", "DialogShaderDeletionErrorMessage": "Belirtilen Shader cache temizlenirken hata {0}: {1}", "DialogRyujinxErrorMessage": "Ryujinx bir hata ile karşılaştı", diff --git a/src/Ryujinx/Assets/Locales/uk_UA.json b/src/Ryujinx/Assets/Locales/uk_UA.json index eb70d7877..38a4ea47f 100644 --- a/src/Ryujinx/Assets/Locales/uk_UA.json +++ b/src/Ryujinx/Assets/Locales/uk_UA.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "Керування кешем", "GameListContextMenuCacheManagementPurgePptc": "Очистити кеш PPTC", "GameListContextMenuCacheManagementPurgePptcToolTip": "Видаляє кеш PPTC програми", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "Очистити кеш шейдерів", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "Видаляє кеш шейдерів програми", "GameListContextMenuCacheManagementOpenPptcDirectory": "Відкрити каталог PPTC", @@ -516,6 +518,7 @@ "DialogWarning": "Увага", "DialogPPTCDeletionMessage": "Ви збираєтеся видалити кеш PPTC для:\n\n{0}\n\nВи впевнені, що бажаєте продовжити?", "DialogPPTCDeletionErrorMessage": "Помилка очищення кешу PPTC на {0}: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "Ви збираєтеся видалити кеш шейдерів для:\n\n{0}\n\nВи впевнені, що бажаєте продовжити?", "DialogShaderDeletionErrorMessage": "Помилка очищення кешу шейдерів на {0}: {1}", "DialogRyujinxErrorMessage": "У Ryujinx сталася помилка", @@ -895,4 +898,4 @@ "ClearLdnPass": "Очистити", "ClearLdnPassTooltip": "Очищає поточну пароль, повертаючись до публічної мережі.", "InvalidLdnPassphrase": "Невірний пароль! Має бути в форматі \"Ryujinx-<8 символів>\"" -} \ No newline at end of file +} diff --git a/src/Ryujinx/Assets/Locales/zh_CN.json b/src/Ryujinx/Assets/Locales/zh_CN.json index c5ab78f4d..ef0c7bdaf 100644 --- a/src/Ryujinx/Assets/Locales/zh_CN.json +++ b/src/Ryujinx/Assets/Locales/zh_CN.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "缓存管理", "GameListContextMenuCacheManagementPurgePptc": "清除 PPTC 缓存文件", "GameListContextMenuCacheManagementPurgePptcToolTip": "删除游戏的 PPTC 缓存文件,下次启动游戏时重新编译生成 PPTC 缓存文件", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "清除着色器缓存文件", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "删除游戏的着色器缓存文件,下次启动游戏时重新生成着色器缓存文件", "GameListContextMenuCacheManagementOpenPptcDirectory": "打开 PPTC 缓存目录", @@ -505,6 +507,7 @@ "DialogWarning": "警告", "DialogPPTCDeletionMessage": "您即将删除:\n\n{0} 的 PPTC 缓存文件\n\n确定吗?", "DialogPPTCDeletionErrorMessage": "清除 {0} 的 PPTC 缓存文件时出错:{1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "您即将删除:\n\n{0} 的着色器缓存文件\n\n确定吗?", "DialogShaderDeletionErrorMessage": "清除 {0} 的着色器缓存文件时出错:{1}", "DialogRyujinxErrorMessage": "Ryujinx 模拟器发生错误", diff --git a/src/Ryujinx/Assets/Locales/zh_TW.json b/src/Ryujinx/Assets/Locales/zh_TW.json index a57705f12..de91fb9c0 100644 --- a/src/Ryujinx/Assets/Locales/zh_TW.json +++ b/src/Ryujinx/Assets/Locales/zh_TW.json @@ -76,6 +76,8 @@ "GameListContextMenuCacheManagement": "快取管理", "GameListContextMenuCacheManagementPurgePptc": "佇列 PPTC 重建", "GameListContextMenuCacheManagementPurgePptcToolTip": "下一次啟動遊戲時,觸發 PPTC 進行重建", + "GameListContextMenuCacheManagementNukePptc": "Purge PPTC cache", + "GameListContextMenuCacheManagementNukePptcToolTip": "Deletes Application's PPTC cache", "GameListContextMenuCacheManagementPurgeShaderCache": "清除著色器快取", "GameListContextMenuCacheManagementPurgeShaderCacheToolTip": "刪除應用程式的著色器快取", "GameListContextMenuCacheManagementOpenPptcDirectory": "開啟 PPTC 資料夾", @@ -505,6 +507,7 @@ "DialogWarning": "警告", "DialogPPTCDeletionMessage": "您將在下一次啟動時佇列重建以下遊戲的 PPTC:\n\n{0}\n\n您確定要繼續嗎?", "DialogPPTCDeletionErrorMessage": "在 {0} 清除 PPTC 快取時出錯: {1}", + "DialogPPTCNukeMessage": "You are about to purge all PPTC data from:\n\n{0}\n\nAre you sure you want to proceed?", "DialogShaderDeletionMessage": "您將刪除以下遊戲的著色器快取:\n\n{0}\n\n您確定要繼續嗎?", "DialogShaderDeletionErrorMessage": "在 {0} 清除著色器快取時出錯: {1}", "DialogRyujinxErrorMessage": "Ryujinx 遇到錯誤", diff --git a/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml b/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml index 951f7f616..1cb64736f 100644 --- a/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml +++ b/src/Ryujinx/UI/Controls/ApplicationContextMenu.axaml @@ -82,6 +82,11 @@ Header="{ext:Locale GameListContextMenuCacheManagementPurgePptc}" Icon="{ext:Icon mdi-refresh}" ToolTip.Tip="{ext:Locale GameListContextMenuCacheManagementPurgePptcToolTip}" /> + cacheFiles = new(); + + if (mainDir.Exists) + { + cacheFiles.AddRange(mainDir.EnumerateFiles("*.cache")); + cacheFiles.AddRange(mainDir.EnumerateFiles("*.info")); + } + + if (backupDir.Exists) + { + cacheFiles.AddRange(backupDir.EnumerateFiles("*.cache")); + cacheFiles.AddRange(mainDir.EnumerateFiles("*.info")); + } + + if (cacheFiles.Count > 0) + { + foreach (FileInfo file in cacheFiles) + { + try + { + file.Delete(); + } + catch (Exception ex) + { + await ContentDialogHelper.CreateErrorDialog(LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogPPTCDeletionErrorMessage, file.Name, ex)); + } + } + } + } + } + public async void PurgeShaderCache_Click(object sender, RoutedEventArgs args) { if (sender is not MenuItem { DataContext: MainWindowViewModel { SelectedApplication: not null } viewModel })