From 22f23b56c0b1187a6d5e43451f0a6c5d9f368eee Mon Sep 17 00:00:00 2001 From: Flavio F Lima Date: Fri, 4 Feb 2022 18:55:44 +0100 Subject: [PATCH 1/9] [Fix] Path opening twice on click --- electron/utils.ts | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/electron/utils.ts b/electron/utils.ts index a05a013739..a445915487 100644 --- a/electron/utils.ts +++ b/electron/utils.ts @@ -9,7 +9,7 @@ import si from 'systeminformation' import Store from 'electron-store' import { GlobalConfig } from './config' -import { heroicGamesConfigPath, home, icon, legendaryBin } from './constants' +import { heroicGamesConfigPath, icon, legendaryBin } from './constants' import { logError, logInfo, LogPrefix, logWarning } from './logger/logger' const execAsync = promisify(exec) @@ -260,29 +260,6 @@ function removeSpecialcharacters(text: string): string { } async function openUrlOrFile(url: string): Promise { - if (process.platform === 'darwin') { - try { - await execAsync(`open ${url}`) - } catch (error) { - dialog.showErrorBox( - i18next.t('box.error.log.title', 'Log Not Found'), - i18next.t('box.error.log.message', 'No Log was found for this game') - ) - return - } - } - if (process.platform === 'linux') { - try { - const fixedURL = url.replace('~', home) - await execAsync(`xdg-open '${fixedURL}'`) - } catch (error) { - dialog.showErrorBox( - i18next.t('box.error.log.title', 'Log Not Found'), - i18next.t('box.error.log.message', 'No Log was found for this game') - ) - return - } - } return shell.openPath(url) } From 3176d2e99532f1b75cfc6606082fa49ce4b60668 Mon Sep 17 00:00:00 2001 From: Flavio F Lima Date: Fri, 4 Feb 2022 19:39:04 +0100 Subject: [PATCH 2/9] [Linux] Check if Wine is available before launch --- electron/legendary/games.ts | 4 +- package.json | 6 +- src/components/UI/ToggleSwitch/index.tsx | 17 +++--- .../components/WineSettings/index.tsx | 61 +++++++++++++------ 4 files changed, 56 insertions(+), 32 deletions(-) diff --git a/electron/legendary/games.ts b/electron/legendary/games.ts index 14dd3fa44d..67defd2605 100644 --- a/electron/legendary/games.ts +++ b/electron/legendary/games.ts @@ -603,8 +603,8 @@ Categories=Game; return v } - if (!wineVersion.bin) { - dialog.showErrorBox( + if (!existsSync(wineVersion.bin.replaceAll("'", ''))) { + return dialog.showErrorBox( i18next.t('box.error.wine-not-found.title', 'Wine Not Found'), i18next.t( 'box.error.wine-not-found.message', diff --git a/package.json b/package.json index ed8eeb0326..03c920fb13 100644 --- a/package.json +++ b/package.json @@ -98,14 +98,14 @@ "dependencies": { "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", - "@fontsource/cabin": "^4.2.1", - "@fontsource/rubik": "^4.2.1", + "@fontsource/cabin": "^4.5.1", + "@fontsource/rubik": "^4.5.1", "@fortawesome/fontawesome-svg-core": "^1.3.0-beta3", "@fortawesome/free-brands-svg-icons": "^6.0.0-beta3", "@fortawesome/free-solid-svg-icons": "^6.0.0-beta3", "@fortawesome/react-fontawesome": "^0.1.16", "@mui/icons-material": "^5.3.1", - "@mui/material": "^5.3.1", + "@mui/material": "^5.4.0", "axios": "^0.21.1", "classnames": "^2.2.6", "discord-rich-presence-typescript": "^0.0.8", diff --git a/src/components/UI/ToggleSwitch/index.tsx b/src/components/UI/ToggleSwitch/index.tsx index aa7703923e..aadf01377c 100644 --- a/src/components/UI/ToggleSwitch/index.tsx +++ b/src/components/UI/ToggleSwitch/index.tsx @@ -9,13 +9,14 @@ interface Props { title: string } -export default function ToggleSwitch({ - handleChange, - value, - disabled, - title, - dataTestId = 'toggleSwitch' -}: Props) { +export default function ToggleSwitch(props: Props) { + const { + handleChange, + value, + disabled, + title, + dataTestId = 'toggleSwitch' + } = props return ( ) } diff --git a/src/screens/Settings/components/WineSettings/index.tsx b/src/screens/Settings/components/WineSettings/index.tsx index 5c1e43030a..5d919f9935 100644 --- a/src/screens/Settings/components/WineSettings/index.tsx +++ b/src/screens/Settings/components/WineSettings/index.tsx @@ -9,6 +9,7 @@ import ContextProvider from 'src/state/ContextProvider' import CreateNewFolder from '@mui/icons-material/CreateNewFolder' import RemoveCircleIcon from '@mui/icons-material/RemoveCircle' import classNames from 'classnames' +import { Tooltip } from '@mui/material' const { ipcRenderer } = window.require('electron') @@ -140,7 +141,13 @@ export default function WineSettings({ ) } > - + @@ -172,7 +179,13 @@ export default function WineSettings({ ) } > - + @@ -197,28 +210,38 @@ export default function WineSettings({
removeCustomPath()}> - + + + {' '} selectCustomPath()} className={`is-primary`} > - + + +
From 00b8cbe1a9faff1881cb907002cfb43c2d40a542 Mon Sep 17 00:00:00 2001 From: Flavio F Lima Date: Fri, 4 Feb 2022 19:49:15 +0100 Subject: [PATCH 3/9] i18n: updated keys --- public/locales/bg/translation.json | 11 +++++++---- public/locales/ca/translation.json | 11 +++++++---- public/locales/cs/translation.json | 11 +++++++---- public/locales/de/translation.json | 11 +++++++---- public/locales/el/translation.json | 11 +++++++---- public/locales/en/translation.json | 11 +++++++---- public/locales/es/translation.json | 11 +++++++---- public/locales/et/translation.json | 11 +++++++---- public/locales/fa/translation.json | 11 +++++++---- public/locales/fi/translation.json | 11 +++++++---- public/locales/fr/translation.json | 11 +++++++---- public/locales/gl/translation.json | 11 +++++++---- public/locales/hr/translation.json | 11 +++++++---- public/locales/hu/translation.json | 11 +++++++---- public/locales/id/translation.json | 11 +++++++---- public/locales/it/translation.json | 11 +++++++---- public/locales/ja/translation.json | 11 +++++++---- public/locales/ko/translation.json | 11 +++++++---- public/locales/ml/translation.json | 11 +++++++---- public/locales/nl/translation.json | 11 +++++++---- public/locales/pl/translation.json | 11 +++++++---- public/locales/pt/translation.json | 11 +++++++---- public/locales/pt_BR/translation.json | 11 +++++++---- public/locales/ru/translation.json | 11 +++++++---- public/locales/sv/translation.json | 11 +++++++---- public/locales/ta/translation.json | 11 +++++++---- public/locales/tr/translation.json | 11 +++++++---- public/locales/zh_Hans/translation.json | 11 +++++++---- public/locales/zh_Hant/translation.json | 11 +++++++---- 29 files changed, 203 insertions(+), 116 deletions(-) diff --git a/public/locales/bg/translation.json b/public/locales/bg/translation.json index 6919bf43b1..243e09e5ff 100644 --- a/public/locales/bg/translation.json +++ b/public/locales/bg/translation.json @@ -29,10 +29,6 @@ "title": "Неизвестна грешка" }, "launch": "Грешка при пускането на играта. Проверете журнала!", - "log": { - "message": "Не е намерен журнал за тази игра", - "title": "Журналът не е намерен" - }, "title": "Грешка", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Инсталирането е преустановено", + "error": "", "finished": "Инсталирането е завършено", "imported": "Играта е внесена", "startInstall": "Инсталацията е започната" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal – Проекти", "updates": "Изчакващи обновления" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Добавяне на нов път", "removepath": "Премахване на пътя" diff --git a/public/locales/ca/translation.json b/public/locales/ca/translation.json index 55dfe2cfbd..273b912a05 100644 --- a/public/locales/ca/translation.json +++ b/public/locales/ca/translation.json @@ -29,10 +29,6 @@ "title": "Error desconegut" }, "launch": "Ha sorgit un error mentres s'intentava iniciar el joc, mira el registre!", - "log": { - "message": "No s'ha trobat cap registre per aquest joc", - "title": "El registre no s'ha trobat" - }, "title": "Error", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Instal·lació cancelada", + "error": "", "finished": "Instal·lació finalitzada", "imported": "Game Imported", "startInstall": "Installation Started" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projectes", "updates": "Actualitzacions pendents" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Afegir nova ruta", "removepath": "Eliminar ruta" diff --git a/public/locales/cs/translation.json b/public/locales/cs/translation.json index 0506bad260..d7b0c27a83 100644 --- a/public/locales/cs/translation.json +++ b/public/locales/cs/translation.json @@ -29,10 +29,6 @@ "title": "Neočekávaná chyba" }, "launch": "Chyba při spouštění hry, zkontrolujte záznamy!", - "log": { - "message": "Pro tuto hru nebyl nalezen žádný protokol", - "title": "Protokol nebyl nalezen" - }, "title": "Error", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Instalace zrušena", + "error": "", "finished": "Instalace dokončena", "imported": "Game Imported", "startInstall": "Installation Started" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projects", "updates": "Pending Updates" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "přidat novou cestu", "removepath": "Odstranit cestu" diff --git a/public/locales/de/translation.json b/public/locales/de/translation.json index 9fda50e5c8..d390db27a9 100644 --- a/public/locales/de/translation.json +++ b/public/locales/de/translation.json @@ -29,10 +29,6 @@ "title": "Unbekannter Fehler" }, "launch": "Fehler beim Starten des Spiels, prüfen Sie die Logs!", - "log": { - "message": "Es wurde kein Log für dieses Spiel gefunden", - "title": "Log nicht gefunden" - }, "title": "Error", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Installation abgebrochen", + "error": "", "finished": "Installation abgeschlossen", "imported": "Spiel importiert", "startInstall": "Installation gestartet" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projekte", "updates": "Ausstehende Aktualisierungen" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Neuen Pfad hinzufügen", "removepath": "Pfad entfernen" diff --git a/public/locales/el/translation.json b/public/locales/el/translation.json index 3ff9768eb7..c1abd91b17 100644 --- a/public/locales/el/translation.json +++ b/public/locales/el/translation.json @@ -29,10 +29,6 @@ "title": "Άγνωστο σφάλμα" }, "launch": "Σφάλμα στην εκκίνηση του παιχνιδιού, ελέγξτε τα αρχεία καταγραφής!", - "log": { - "message": "Δεν βρέθηκαν αρχεία καταγραφής για το παιχνίδι", - "title": "Δεν βρέθηκε αρχείο καταγραφής" - }, "title": "Σφάλμα", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Η εγκατάσταση ακυρώθηκε", + "error": "", "finished": "Η εγκατάσταση ολοκληρώθηκε", "imported": "Game Imported", "startInstall": "Installation Started" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projects", "updates": "Pending Updates" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Προσθήκη Νέας Διαδρομής", "removepath": "Αφαίρεση Διαδρομής" diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index c9286e3fc6..fc95546400 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -29,10 +29,6 @@ "title": "Unknown Error" }, "launch": "Error when launching the game, check the logs!", - "log": { - "message": "No log was found for this game", - "title": "Log Not Found" - }, "title": "Error", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Install Canceled", + "error": "", "finished": "Install Finished", "imported": "Game Imported", "startInstall": "Installation Started" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projects", "updates": "Pending Updates" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Add New Path", "removepath": "Remove Path" diff --git a/public/locales/es/translation.json b/public/locales/es/translation.json index aad9173be7..6d0a603904 100644 --- a/public/locales/es/translation.json +++ b/public/locales/es/translation.json @@ -29,10 +29,6 @@ "title": "Error desconocido" }, "launch": "Error al iniciar el juego, ¡revisa los registros!", - "log": { - "message": "No se encontró el registro para este juego", - "title": "Registro no encontrado" - }, "title": "Error", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Instalación cancelada", + "error": "", "finished": "Instalación terminado", "imported": "Juego importado", "startInstall": "Instalación iniciada" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Proyectos", "updates": "Actualizaciones pendientes" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Agregar una nueva ruta", "removepath": "Eliminar ruta" diff --git a/public/locales/et/translation.json b/public/locales/et/translation.json index 17a2c5eb68..e9787a6ee7 100644 --- a/public/locales/et/translation.json +++ b/public/locales/et/translation.json @@ -29,10 +29,6 @@ "title": "Tundmatu viga" }, "launch": "Viga mängu käivitamisel, kontrollige logisid!", - "log": { - "message": "Selle mängu logi ei leitud", - "title": "Logi ei leitud" - }, "title": "Viga", "wine-not-found": { "message": "Wine-i versiooni pole valitud. Kontrolli mängu seadeid!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Paigaldamine tühistatud", + "error": "", "finished": "Paigaldamine lõpetatud", "imported": "Mäng imporditud", "startInstall": "Paigaldamine algas" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projektid", "updates": "Ootel olevad uuendused" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Lisa uus tee", "removepath": "Eemalda tee" diff --git a/public/locales/fa/translation.json b/public/locales/fa/translation.json index e966c04564..a682026c0f 100644 --- a/public/locales/fa/translation.json +++ b/public/locales/fa/translation.json @@ -29,10 +29,6 @@ "title": "خطای ناشناخته" }, "launch": "خطا در هنگام اجرای بازی، لاگها را چک کنید!", - "log": { - "message": "برای این بازی لاگی پیدا نشد", - "title": "لاگ پیدا نشد" - }, "title": "خطا", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "نصب لغو شد", + "error": "", "finished": "نصب به پایان رسید", "imported": "بازی وارد شد", "startInstall": "نصب آغاز شد" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - پروژهها", "updates": "آپدیتهای در حال انتظار" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "افزودن مسیر جدید", "removepath": "حذف مسیر" diff --git a/public/locales/fi/translation.json b/public/locales/fi/translation.json index 49ecd63746..865ddd0755 100644 --- a/public/locales/fi/translation.json +++ b/public/locales/fi/translation.json @@ -29,10 +29,6 @@ "title": "Tuntematon Virhe" }, "launch": "Virhe pelin käynnistyksessä, tarkista pelin lokitiedostot!", - "log": { - "message": "Tälle pelille ei löytynyt lokitiedostoja", - "title": "Lokitiedostoa ei löytynyt" - }, "title": "Virhe", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Asennus peruutettu", + "error": "", "finished": "Asennus valmis", "imported": "Game Imported", "startInstall": "Installation Started" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projects", "updates": "Pending Updates" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Lisää uusi sijainti", "removepath": "Poista sijainti" diff --git a/public/locales/fr/translation.json b/public/locales/fr/translation.json index 8078c1cb4c..4883266caa 100644 --- a/public/locales/fr/translation.json +++ b/public/locales/fr/translation.json @@ -29,10 +29,6 @@ "title": "Erreur inconnue" }, "launch": "Erreur lors du lancement du jeu, consultez les fichiers de journalisation !", - "log": { - "message": "Aucun Log n'a été trouvé pour ce jeu", - "title": "Aucun Log n'a été trouvé" - }, "title": "Erreur", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Installation Annulée", + "error": "", "finished": "Installation Terminée", "imported": "Jeu Importé", "startInstall": "Installation commencée" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projets", "updates": "Mises à jour en attente" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Ajouter un nouveau chemin", "removepath": "Supprimer le chemin" diff --git a/public/locales/gl/translation.json b/public/locales/gl/translation.json index 2a434308f5..e6e744b8de 100644 --- a/public/locales/gl/translation.json +++ b/public/locales/gl/translation.json @@ -29,10 +29,6 @@ "title": "Erro descoñecido" }, "launch": "Produciuse un erro ao iniciar o xogo, revisa os rexistros!", - "log": { - "message": "Non se atopou o rexistro para este xogo", - "title": "Rexistro non atopado" - }, "title": "Erro", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Instalación cancelada", + "error": "", "finished": "Instalación rematada", "imported": "Xogo importado", "startInstall": "Instalación iniciada" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Proxectos", "updates": "Actualizacións pendentes" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Agregar unha nova ruta", "removepath": "Eliminar ruta" diff --git a/public/locales/hr/translation.json b/public/locales/hr/translation.json index 27d27ba1a7..27f637f5f9 100644 --- a/public/locales/hr/translation.json +++ b/public/locales/hr/translation.json @@ -29,10 +29,6 @@ "title": "Nepoznata greška" }, "launch": "Greška kod pokretanja igrice, provjerite dnevnik!", - "log": { - "message": "Dnevnik nije nađen za ovu igricu", - "title": "Dnevnik nije pronađen" - }, "title": "Greška", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Instalacije prekinuta", + "error": "", "finished": "Instalacija gotova", "imported": "Game Imported", "startInstall": "Installation Started" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projects", "updates": "Pending Updates" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Dodaj novi put", "removepath": "Obriši put" diff --git a/public/locales/hu/translation.json b/public/locales/hu/translation.json index f257a36545..0c62d8e829 100644 --- a/public/locales/hu/translation.json +++ b/public/locales/hu/translation.json @@ -29,10 +29,6 @@ "title": "Ismeretlen hiba" }, "launch": "Hiba a játék indításakor, ellenőrizd a naplófájlokat!", - "log": { - "message": "Nem találtunk feljegyzést ehhez a játékhoz", - "title": "Nem találtunk feljegyzést" - }, "title": "Hiba", "wine-not-found": { "message": "Nincs kiválasztva Wine verzió. Ellenőrízd a játék beállításait!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Telepítés Visszavonva", + "error": "", "finished": "Telepítés Befejezve", "imported": "Játék importálva", "startInstall": "Telepítés elindult" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projektek", "updates": "Függőben lévő frissítések" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Új útvonal hozzáadása", "removepath": "Útvonal eltávolítása" diff --git a/public/locales/id/translation.json b/public/locales/id/translation.json index e71194e6fc..c59cc7b642 100644 --- a/public/locales/id/translation.json +++ b/public/locales/id/translation.json @@ -29,10 +29,6 @@ "title": "Error Tak Dikenal" }, "launch": "Error ketika meluncurkan permainan, periksa log!", - "log": { - "message": "Tidak ada Log yang ditemukan untuk game ini", - "title": "Log Tidak Ditemukan" - }, "title": "Error", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "", + "error": "", "finished": "", "imported": "Game Imported", "startInstall": "Installation Started" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projects", "updates": "Pending Updates" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Add New Path", "removepath": "Remove Path" diff --git a/public/locales/it/translation.json b/public/locales/it/translation.json index 26d8eb7598..161424a538 100644 --- a/public/locales/it/translation.json +++ b/public/locales/it/translation.json @@ -29,10 +29,6 @@ "title": "Errore sconosciuto" }, "launch": "Errore durante l'avvio del gioco, controlla i logs!", - "log": { - "message": "Non è stato trovato nessun log per questo gioco", - "title": "Log non trovato" - }, "title": "Errore", "wine-not-found": { "message": "Nessuna versione di Wine selezionata. Controlla le impostazioni del gioco!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Installazione annullata", + "error": "", "finished": "Installazione completata", "imported": "Gioco importato", "startInstall": "Installazione avviata" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Progetti", "updates": "Aggiornamenti in sospeso" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Aggiungi nuovo percorso", "removepath": "Rimuovi percorso" diff --git a/public/locales/ja/translation.json b/public/locales/ja/translation.json index 06a1fdd50d..c8b8dbee4b 100644 --- a/public/locales/ja/translation.json +++ b/public/locales/ja/translation.json @@ -29,10 +29,6 @@ "title": "不明なエラー" }, "launch": "ゲームの起動時にエラーが発生しました、ログを確認してください!", - "log": { - "message": "このゲームのログは見つかりませんでした", - "title": "ログが見つかりませんでした" - }, "title": "エラー", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "インストールがキャンセルされました", + "error": "", "finished": "インストールが完了しました", "imported": "Game Imported", "startInstall": "Installation Started" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projects", "updates": "Pending Updates" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "新しいパスを追加する", "removepath": "パスを削除する" diff --git a/public/locales/ko/translation.json b/public/locales/ko/translation.json index 4ea5d33159..7e0646b2fa 100644 --- a/public/locales/ko/translation.json +++ b/public/locales/ko/translation.json @@ -29,10 +29,6 @@ "title": "알 수 없는 오류" }, "launch": "게임을 실행할 때 오류가 발생했습니다, 로그를 확인 해주세요!", - "log": { - "message": "이 게임에 대한 로그를 찾을 수 없습니다", - "title": "로그를 찾을 수 없음" - }, "title": "오류", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "설치 취소됨", + "error": "", "finished": "설치 완료됨", "imported": "게임을 가져왔습니다", "startInstall": "설치 시작됨" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - 프로젝트", "updates": "보류 중인 업데이트" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "새 경로 추가", "removepath": "경로 삭제" diff --git a/public/locales/ml/translation.json b/public/locales/ml/translation.json index 557edaf370..c8a42c1091 100644 --- a/public/locales/ml/translation.json +++ b/public/locales/ml/translation.json @@ -29,10 +29,6 @@ "title": "കുഴപ്പമുണ്ടല്ലോ" }, "launch": "കളി ഓടിക്കുന്നതിനിടക്ക് എന്തോ കുഴപ്പം പറ്റിയട്ടുണ്ട്, കുറികള് നോക്കൂ!", - "log": { - "message": "ഈ കളിയെക്കുറിച്ചുള്ള കുറിപ്പുകളൊന്നും കണ്ടെത്താനായില്ല", - "title": "കുറിപ്പുകള് കണ്ടെത്താനായില്ല" - }, "title": "കുഴപ്പം", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "സ്ഥാപനം റദ്ദാക്കി", + "error": "", "finished": "സ്ഥാപിച്ചുകഴിഞ്ഞു", "imported": "കളി കൊണ്ടുവന്നു", "startInstall": "നടീല് തുടങ്ങി" @@ -280,6 +277,12 @@ "unrealProjects": "അണ്റിയല് - പണികള്", "updates": "നടക്കേണ്ട പുതുക്കലുകള്" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "പുതിയ ഇടം ചേര്ക്കുക", "removepath": "ഇടം നീക്കുക" diff --git a/public/locales/nl/translation.json b/public/locales/nl/translation.json index d3ab53f9ea..fae5e3e088 100644 --- a/public/locales/nl/translation.json +++ b/public/locales/nl/translation.json @@ -29,10 +29,6 @@ "title": "Onbekende fout" }, "launch": "Een probleem tijdens het lanceren van het spel, check de logs!", - "log": { - "message": "Geen Log was gevonden voor dit spel", - "title": "Geen Log gevonden" - }, "title": "Error", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Installatie geannuleerd", + "error": "", "finished": "Installatie is voltooid", "imported": "Game Imported", "startInstall": "Installation Started" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projects", "updates": "Pending Updates" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Voeg een nieuw pad toe", "removepath": "Pad verwijderen" diff --git a/public/locales/pl/translation.json b/public/locales/pl/translation.json index 022473b836..db97264498 100644 --- a/public/locales/pl/translation.json +++ b/public/locales/pl/translation.json @@ -29,10 +29,6 @@ "title": "Nieznany błąd" }, "launch": "Błąd przy uruchamianiu gry, sprawdź logi!", - "log": { - "message": "Nie znaleziono logów dla tej gry", - "title": "Nie znaleziono logu" - }, "title": "Error", "wine-not-found": { "message": "Nie Wybrano Wersji Wine . Sprawdź Ustawienia Gry!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Instalacja zatrzymana", + "error": "", "finished": "Instalacja zakończona", "imported": "Gra Zaimportowana", "startInstall": "Instalacja Rozpoczęta" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projekty", "updates": "Oczekujące Aktualizacje" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Dodaj nową ścieżkę", "removepath": "Usuń ścieżkę" diff --git a/public/locales/pt/translation.json b/public/locales/pt/translation.json index 1f9fce8fd0..e2774930ad 100644 --- a/public/locales/pt/translation.json +++ b/public/locales/pt/translation.json @@ -29,10 +29,6 @@ "title": "Erro Desconhecido" }, "launch": "Houve um erro ao rodar o jogo, veja os Logs para ver o que aconteceu!", - "log": { - "message": "Nenhum log foi encontrado para este jogo", - "title": "Log não encontrado" - }, "title": "Error", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Instalação cancelada", + "error": "", "finished": "Instalação concluída", "imported": "Game Imported", "startInstall": "Installation Started" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projects", "updates": "Pending Updates" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Adicionar", "removepath": "Remover" diff --git a/public/locales/pt_BR/translation.json b/public/locales/pt_BR/translation.json index 431f05dd8b..f58435277c 100644 --- a/public/locales/pt_BR/translation.json +++ b/public/locales/pt_BR/translation.json @@ -29,10 +29,6 @@ "title": "Erro Desconhecido" }, "launch": "Erro ao iniciar o jogo, confira os logs!", - "log": { - "message": "Nenhum log foi encontrado para esse jogo", - "title": "Log Não Encontrado" - }, "title": "Erro", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Instalação Cancelada", + "error": "", "finished": "Instalação concluída", "imported": "Jogo importado", "startInstall": "Instalação iniciada" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projetos", "updates": "Atualizações pendentes" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Adicionar", "removepath": "Remover" diff --git a/public/locales/ru/translation.json b/public/locales/ru/translation.json index 00fc63937e..77ec098cee 100644 --- a/public/locales/ru/translation.json +++ b/public/locales/ru/translation.json @@ -29,10 +29,6 @@ "title": "Неизвестная ошибка" }, "launch": "Ошибка при запуске игры, посмотрите логи!", - "log": { - "message": "Лог для этой игры не найден", - "title": "Лог не найден" - }, "title": "Ошибка", "wine-not-found": { "message": "Не выбрана версия Wine. Проверьте настройки игры!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Установка прервана", + "error": "", "finished": "Установка завершена", "imported": "Игра импортирована", "startInstall": "Установка началась" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Проекты", "updates": "Ожидаемые обновления" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Добавить новый путь", "removepath": "Удалить путь" diff --git a/public/locales/sv/translation.json b/public/locales/sv/translation.json index 4dd8701d51..558bfb22f1 100644 --- a/public/locales/sv/translation.json +++ b/public/locales/sv/translation.json @@ -29,10 +29,6 @@ "title": "Okänt fel" }, "launch": "Fel vid uppstar av spelet, kontrollera loggarna!", - "log": { - "message": "Ingen logg hittades för detta spel", - "title": "Ingen logg hittades" - }, "title": "Error", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Installation avbröts", + "error": "", "finished": "Installation klar", "imported": "Game Imported", "startInstall": "Installation Started" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projects", "updates": "Pending Updates" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Lägg till ny sökväg", "removepath": "Ta bort sökväg" diff --git a/public/locales/ta/translation.json b/public/locales/ta/translation.json index 2211f0cb6b..8fc1b380f0 100644 --- a/public/locales/ta/translation.json +++ b/public/locales/ta/translation.json @@ -29,10 +29,6 @@ "title": "அறியப்படாத பிழை" }, "launch": "விளையாட்டை துவக்கும்போது பிழை, பதிவுகளை பார்க்கவும்!", - "log": { - "message": "இந்த விளையாட்டுக்கு எந்த பதிவும் கிடைக்கவில்லை", - "title": "பதிவு கிடைக்கவில்லை" - }, "title": "பிழை", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "நிறுவல் ரத்துசெய்யப்பட்டது", + "error": "", "finished": "நிறுவல் முடிவடைந்தது", "imported": "Game Imported", "startInstall": "Installation Started" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projects", "updates": "Pending Updates" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "புதிய பாதையை சேர்", "removepath": "பாதையை அகற்று" diff --git a/public/locales/tr/translation.json b/public/locales/tr/translation.json index a67edee44f..208af2331f 100644 --- a/public/locales/tr/translation.json +++ b/public/locales/tr/translation.json @@ -29,10 +29,6 @@ "title": "Bilinmeyen hata" }, "launch": "Oyun başlatılırken hata oluştu, günlük kayıtlarına bakın!", - "log": { - "message": "Bu oyun için günlük kaydı bulunamadı", - "title": "Günlük Kaydı Bulunamadı" - }, "title": "Hata", "wine-not-found": { "message": "Wine Sürümü Seçilmedi. Oyun Ayarlarını Denetleyin!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "Kurulum İptal Edildi", + "error": "", "finished": "Kurulum Tamamlandı", "imported": "Oyun İçe Aktarıldı", "startInstall": "Kurulum Başladı" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projeler", "updates": "Bekleyen Güncellemeler" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "Yeni Yol Ekle", "removepath": "Yolu Kaldır" diff --git a/public/locales/zh_Hans/translation.json b/public/locales/zh_Hans/translation.json index 7d40eaff91..d59eb1b4fa 100644 --- a/public/locales/zh_Hans/translation.json +++ b/public/locales/zh_Hans/translation.json @@ -29,10 +29,6 @@ "title": "未知错误" }, "launch": "启动游戏时出现错误,请检查日志!", - "log": { - "message": "未找到此游戏的日志", - "title": "未找到日志" - }, "title": "错误", "wine-not-found": { "message": "没有选中 Wine 版本。检查游戏设置!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "已取消安装", + "error": "", "finished": "安装完成", "imported": "游戏已导入", "startInstall": "安装已开始" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - 项目", "updates": "待更新" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "添加新路径", "removepath": "删除路径" diff --git a/public/locales/zh_Hant/translation.json b/public/locales/zh_Hant/translation.json index 6f1cc04a93..2ff285e309 100644 --- a/public/locales/zh_Hant/translation.json +++ b/public/locales/zh_Hant/translation.json @@ -29,10 +29,6 @@ "title": "未知錯誤" }, "launch": "啟動遊戲時出現錯誤,請檢查日誌!", - "log": { - "message": "未找到此遊戲的日誌", - "title": "未找到日誌" - }, "title": "錯誤", "wine-not-found": { "message": "No Wine Version Selected. Check Game Settings!", @@ -156,6 +152,7 @@ }, "install": { "canceled": "已取消安裝", + "error": "", "finished": "安裝完成", "imported": "Game Imported", "startInstall": "Installation Started" @@ -280,6 +277,12 @@ "unrealProjects": "Unreal - Projects", "updates": "Pending Updates" }, + "toolbox": { + "settings": { + "default-wineprefix": "Select the default prefix folder for new configs", + "wineprefix": "Select a Folder for new Wine Prefixes" + } + }, "tooltip": { "addpath": "添加新路徑", "removepath": "刪除路徑" From 8704e234ec68d1fa561b0fd6c37922d80f3525fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fl=C3=A1vio=20F=20Lima?= Date: Sat, 5 Feb 2022 16:25:16 +0100 Subject: [PATCH 4/9] [Linux] Fix DXVK/VKD3D installation (#950) * [Linux] Fix DXVK/VKD3D installation * feat: split dxvk and vkd3d settings * feat: add zstd as dependencies * i18n: updated keys * feat: add new setting to game launch * fix: setting orientation * feat: add missing zstd error dialog --- electron/config.ts | 1 + electron/dxvk.ts | 26 +++++++++++++---- electron/legendary/games.ts | 8 +++++- electron/main.ts | 8 ++++-- electron/types.ts | 2 ++ package.json | 9 ++++-- public/locales/bg/translation.json | 7 ++++- public/locales/ca/translation.json | 7 ++++- public/locales/cs/translation.json | 7 ++++- public/locales/de/translation.json | 7 ++++- public/locales/el/translation.json | 7 ++++- public/locales/en/translation.json | 7 ++++- public/locales/es/translation.json | 7 ++++- public/locales/et/translation.json | 7 ++++- public/locales/fa/translation.json | 7 ++++- public/locales/fi/translation.json | 7 ++++- public/locales/fr/translation.json | 7 ++++- public/locales/gl/translation.json | 7 ++++- public/locales/hr/translation.json | 7 ++++- public/locales/hu/translation.json | 7 ++++- public/locales/id/translation.json | 7 ++++- public/locales/it/translation.json | 7 ++++- public/locales/ja/translation.json | 7 ++++- public/locales/ko/translation.json | 7 ++++- public/locales/ml/translation.json | 7 ++++- public/locales/nl/translation.json | 7 ++++- public/locales/pl/translation.json | 7 ++++- public/locales/pt/translation.json | 7 ++++- public/locales/pt_BR/translation.json | 7 ++++- public/locales/ro/translation.json | 2 +- public/locales/ru/translation.json | 7 ++++- public/locales/sv/translation.json | 7 ++++- public/locales/ta/translation.json | 7 ++++- public/locales/tr/translation.json | 7 ++++- public/locales/uk/translation.json | 2 +- public/locales/zh_Hans/translation.json | 7 ++++- public/locales/zh_Hant/translation.json | 7 ++++- .../components/WineSettings/index.tsx | 28 +++++++++++++++++++ src/screens/Settings/index.tsx | 10 +++++++ src/types.ts | 1 + 40 files changed, 257 insertions(+), 43 deletions(-) diff --git a/electron/config.ts b/electron/config.ts index e579b99521..35a10683fe 100644 --- a/electron/config.ts +++ b/electron/config.ts @@ -402,6 +402,7 @@ class GlobalConfigV0 extends GlobalConfig { addDesktopShortcuts: false, addStartMenuShortcuts: false, autoInstallDxvk: false, + autoInstallVkd3d: false, checkForUpdatesOnStartup: true, customWinePaths: isWindows ? null : [], defaultInstallPath: heroicInstallPath, diff --git a/electron/dxvk.ts b/electron/dxvk.ts index 36228109f8..3c241282d7 100644 --- a/electron/dxvk.ts +++ b/electron/dxvk.ts @@ -6,6 +6,8 @@ import { existsSync, readFileSync } from 'graceful-fs' import { execAsync, isOnline } from './utils' import { execOptions, heroicToolsPath, home } from './constants' import { logError, logInfo, LogPrefix, logWarning } from './logger/logger' +import { dialog } from 'electron' +import i18next from 'i18next' export const DXVK = { getLatest: async () => { @@ -18,9 +20,14 @@ export const DXVK = { } const tools = [ + { + name: 'vkd3d', + url: 'https://api.github.com/repos/HansKristian-Work/vkd3d-proton/releases/latest', + extractCommand: 'tar -I zstd -xvf' + }, { name: 'dxvk', - url: 'https://api.github.com/repos/lutris/dxvk/releases/latest', + url: 'https://api.github.com/repos/doitsujin/dxvk/releases/latest', extractCommand: 'tar -zxf' } ] @@ -31,7 +38,7 @@ export const DXVK = { } = await axios.default.get(tool.url) const { name, browser_download_url: downloadUrl } = assets[0] - const pkg = name.replace('.tar.gz', '') + const pkg = name.replace('.tar.gz', '').replace('.tar.zst', '') const latestVersion = `${heroicToolsPath}/${tool.name}/${name}` const pastVersionCheck = `${heroicToolsPath}/${tool.name}/latest_${tool.name}` @@ -59,12 +66,19 @@ export const DXVK = { logInfo(`extracting ${tool.name} updated!`, LogPrefix.DXVKInstaller) exec(cleanCommand) }) - .catch((error) => + .catch((error) => { logError( [`Error when downloading ${tool.name}`, error], LogPrefix.DXVKInstaller ) - ) + dialog.showErrorBox( + i18next.t('box.error.dxvk.title', 'DXVK/VKD3D error'), + i18next.t( + 'box.error.dxvk.message', + 'Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed' + ) + ) + }) }) }, @@ -110,13 +124,13 @@ export const DXVK = { .split('\n')[0] } - const installCommand = `PATH=${wineBin}:$PATH WINEPREFIX='${winePrefix}' bash ${toolPath}/setup_dxvk.sh install --symlink` + const installCommand = `PATH=${wineBin}:$PATH WINEPREFIX='${winePrefix}' bash ${toolPath}/setup*.sh install --symlink` const updatedVersionfile = `echo '${globalVersion}' > ${currentVersionCheck}` if (action === 'restore') { logInfo(`Removing ${tool} version information`, LogPrefix.DXVKInstaller) const updatedVersionfile = `rm -rf ${currentVersionCheck}` - const removeCommand = `PATH=${wineBin}:$PATH WINEPREFIX='${winePrefix}' bash ${toolPath}/setup_dxvk.sh uninstall --symlink` + const removeCommand = `PATH=${wineBin}:$PATH WINEPREFIX='${winePrefix}' bash ${toolPath}/setup*.sh uninstall --symlink` return execAsync(removeCommand, execOptions) .then(() => { logInfo(`${tool} removed from ${winePrefix}`, LogPrefix.DXVKInstaller) diff --git a/electron/legendary/games.ts b/electron/legendary/games.ts index 67defd2605..45a9184ea2 100644 --- a/electron/legendary/games.ts +++ b/electron/legendary/games.ts @@ -534,6 +534,7 @@ Categories=Game; showMangohud, audioFix, autoInstallDxvk, + autoInstallVkd3d, offlineMode, enableFSR, maxSharpness, @@ -670,6 +671,11 @@ Categories=Game; await DXVK.installRemove(winePrefix, wineVersion.bin, 'dxvk', 'backup') } + // Install VKD3D for non Proton/CrossOver Prefixes + if (!isProton && !isCrossover && autoInstallVkd3d) { + await DXVK.installRemove(winePrefix, winePath, 'vkd3d', 'backup') + } + if (wineVersion.name !== 'Wine Default') { const { bin } = wineVersion wineCommand = isProton @@ -726,7 +732,7 @@ Categories=Game; if (!existsSync(fixedWinePrefix)) { mkdirSync(fixedWinePrefix, { recursive: true }) - const initPrefixCommand = `WINEPREFIX='${fixedWinePrefix}' '${winePath}/wineboot' -i && '${winePath}/wineserver' --wait` + const initPrefixCommand = `WINEPREFIX='${fixedWinePrefix}' '${winePath}/wineboot' -i` logInfo(['creating new prefix', fixedWinePrefix], LogPrefix.Backend) return execAsync(initPrefixCommand) .then(() => logInfo('Prefix created succesfuly!', LogPrefix.Backend)) diff --git a/electron/main.ts b/electron/main.ts index a8d2a458bd..a84458f1ff 100644 --- a/electron/main.ts +++ b/electron/main.ts @@ -624,9 +624,13 @@ ipcMain.handle('requestSettings', async (event, appName) => { return await GameConfig.get(appName).getSettings() }) -ipcMain.on('toggleDXVK', (event, [{ winePrefix, winePath }, action]) => +ipcMain.on('toggleDXVK', (event, [{ winePrefix, winePath }, action]) => { DXVK.installRemove(winePrefix, winePath, 'dxvk', action) -) +}) + +ipcMain.on('toggleVKD3D', (event, [{ winePrefix, winePath }, action]) => { + DXVK.installRemove(winePrefix, winePath, 'vkd3d', action) +}) ipcMain.handle('writeConfig', (event, [appName, config]) => { if (appName === 'default') { diff --git a/electron/types.ts b/electron/types.ts index a84bad68e9..a6bd7b0bab 100644 --- a/electron/types.ts +++ b/electron/types.ts @@ -11,6 +11,7 @@ export interface AppSettings { altLegendaryBin: string audioFix: boolean autoInstallDxvk: boolean + autoInstallVkd3d: boolean autoSyncSaves: boolean checkForUpdatesOnStartup: boolean customWinePaths: string[] @@ -118,6 +119,7 @@ export interface InstallInfo { export interface GameSettings { audioFix: boolean autoInstallDxvk: boolean + autoInstallVkd3d: boolean autoSyncSaves: boolean enableEsync: boolean enableFSR: boolean diff --git a/package.json b/package.json index 03c920fb13..045a1ba535 100644 --- a/package.json +++ b/package.json @@ -77,21 +77,24 @@ "packageCategory": "games", "depends": [ "gawk", - "curl" + "curl", + "libzstd1" ] }, "pacman": { "packageCategory": "games", "depends": [ "gawk", - "curl" + "curl", + "zstd" ] }, "rpm": { "packageCategory": "games", "depends": [ "gawk", - "curl" + "curl", + "zstd" ] } }, diff --git a/public/locales/bg/translation.json b/public/locales/bg/translation.json index 243e09e5ff..f4db927ee3 100644 --- a/public/locales/bg/translation.json +++ b/public/locales/bg/translation.json @@ -24,6 +24,10 @@ "message": "Няма достатъчно свободно място на диска", "title": "Недостатъчно място" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Възникна неизвестна грешка", "title": "Неизвестна грешка" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Автоматично добавяне на игрите в менюто с приложения", "alt-legendary-bin": "Избиране на алтернативен изпълним файл на Legendary (изисква рестартиране)", "audiofix": "Поправка за звука (забавяне на Pulse Audio)", - "autodxvk": "Автоматично инсталиране/обновяване на DXVK/VKD3D в префикса", + "autodxvk": "Автоматично инсталиране/обновяване на DXVK в префикса", "autosync": "Автоматично синхронизиране на запазените файлове", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Изберете алтернативен файл EXE за изпълнение", "checkForUpdatesOnStartup": "Проверка за обновления при стартиране", "customWineProton": "Персонализирани пътища за Wine/Proton", diff --git a/public/locales/ca/translation.json b/public/locales/ca/translation.json index 273b912a05..dd8706f53b 100644 --- a/public/locales/ca/translation.json +++ b/public/locales/ca/translation.json @@ -24,6 +24,10 @@ "message": "No hi ha prou espai del disc", "title": "Sense espai del disc dur" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Un error desconegut ha ocorregut", "title": "Error desconegut" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Afegeix els jocs al menú d'inici automàticament", "alt-legendary-bin": "Choose an Alternative Legendary Binary (needs restart)", "audiofix": "Arreglar l'audio (Latència de pulse audio)", - "autodxvk": "Instal·la/Actualitza DXVK/VKD3D al prefix automàticament", + "autodxvk": "Instal·la/Actualitza DXVK al prefix automàticament", "autosync": "Sincronitza les dades automàticament", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Selecciona un EXE alternatiu per córrer", "checkForUpdatesOnStartup": "Comprova les actualitzacions al iniciar", "customWineProton": "Rutes de Wine o Proton personalitzades", diff --git a/public/locales/cs/translation.json b/public/locales/cs/translation.json index d7b0c27a83..efe8a4ffa6 100644 --- a/public/locales/cs/translation.json +++ b/public/locales/cs/translation.json @@ -24,6 +24,10 @@ "message": "Nedostatek místa na disku", "title": "Nedostatek místa" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Nastala neočekávaná chyba", "title": "Neočekávaná chyba" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Přidat hry do nabídky Start automaticky", "alt-legendary-bin": "Choose an Alternative Legendary Binary (needs restart)", "audiofix": "Oprava zvuku (Pulse Audio latence)", - "autodxvk": "Automaticky instalovat/aktualizovat DXVK/VKD3D na prefixu", + "autodxvk": "Automaticky instalovat/aktualizovat DXVK na prefixu", "autosync": "Automaticky synchronizovat uložené soubory", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Select an alternative EXE to run", "checkForUpdatesOnStartup": "Zjišťovat dostupnost aktualizací po spuštění", "customWineProton": "Vlastní cesty pro Wine/Proton", diff --git a/public/locales/de/translation.json b/public/locales/de/translation.json index d390db27a9..db61f342cc 100644 --- a/public/locales/de/translation.json +++ b/public/locales/de/translation.json @@ -24,6 +24,10 @@ "message": "Nicht genügend freier Speicherplatz", "title": "Kein Speicherplatz" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Ein unbekannter Fehler ist aufgetreten", "title": "Unbekannter Fehler" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Spiele automatisch zum Startmenü hinzufügen", "alt-legendary-bin": "Alternative Legendary Binärdatei auswählen (benötigt Neustart)", "audiofix": "Audio-Fix (Pulse Audio Latenz)", - "autodxvk": "Automatisches Installieren/Aktualisieren von DXVK/VKD3D im Prefix", + "autodxvk": "Automatisches Installieren/Aktualisieren von DXVK im Prefix", "autosync": "Spielstände automatisch synchronisieren", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Wählen Sie eine alternative EXE zum Ausführen", "checkForUpdatesOnStartup": "Beim Start nach Updates suchen", "customWineProton": "Wählen Sie die Wine oder Proton Binärdatei", diff --git a/public/locales/el/translation.json b/public/locales/el/translation.json index c1abd91b17..b18a7169d5 100644 --- a/public/locales/el/translation.json +++ b/public/locales/el/translation.json @@ -24,6 +24,10 @@ "message": "Δεν υπάρχει αρκετός διαθέσιμος χώρος στο δίσκο", "title": "Ανεπαρκής χώρος" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Προέκυψε άγνωστο σφάλμα", "title": "Άγνωστο σφάλμα" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Αυτόματη προσθήκη παιχνιδιών στο Μενού εκκίνησης", "alt-legendary-bin": "Επιλέξτε ένα εναλλακτικό δυαδικό αρχείο του Legendary για χρήση", "audiofix": "Επισκευή ήχου (Καθυστέρηση Pulse Audio)", - "autodxvk": "Αυτόματη εγκατάσταση/ενημέρωση DXVK/VKD3D στο πρόθεμα", + "autodxvk": "Αυτόματη εγκατάσταση/ενημέρωση DXVK στο πρόθεμα", "autosync": "Αυτόματος συγχρονισμός δεδομένων", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Επιλέξτε ένα εναλλακτικό αρχείο EXE προς εκτέλεση", "checkForUpdatesOnStartup": "Έλεγχος για ενημερώσεις κατά την εκκίνηση", "customWineProton": "Ειδικές διαδρομές Wine/Proton", diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index fc95546400..e7cccd52aa 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -24,6 +24,10 @@ "message": "Not enough available disk space", "title": "No Space" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "An Unknown Error has occurred", "title": "Unknown Error" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Add games to start menu automatically", "alt-legendary-bin": "Choose an Alternative Legendary Binary (restart required)", "audiofix": "Audio Fix (Pulse Audio Latency)", - "autodxvk": "Auto Install/Update DXVK/VKD3D on Prefix", + "autodxvk": "Auto Install/Update DXVK on Prefix", "autosync": "Autosync Saves", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Select an alternative EXE to run", "checkForUpdatesOnStartup": "Check For Updates On Startup", "customWineProton": "Custom Wine/Proton Paths", diff --git a/public/locales/es/translation.json b/public/locales/es/translation.json index 6d0a603904..d7e5af71ca 100644 --- a/public/locales/es/translation.json +++ b/public/locales/es/translation.json @@ -24,6 +24,10 @@ "message": "No hay suficiente espacio disponible en disco", "title": "Sin espacio" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Ha ocurrido un error desconocido", "title": "Error desconocido" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Añadir juegos al menú de inicio automáticamente", "alt-legendary-bin": "Elija un binario de Legendary alternativo (requiere reinicio)", "audiofix": "Corrección de audio (latencia de Pulseaudio)", - "autodxvk": "Autoinstalar / actualizar DXVK/VKD3D en el Prefix", + "autodxvk": "Autoinstalar / actualizar DXVK en el Prefix", "autosync": "Autosyncronizar guardados", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Seleccione un EXE alternativo para ejecutar", "checkForUpdatesOnStartup": "Buscar actualizaciones al iniciar", "customWineProton": "Rutas personalizadas de Wine o Proton", diff --git a/public/locales/et/translation.json b/public/locales/et/translation.json index e9787a6ee7..4c19aa5319 100644 --- a/public/locales/et/translation.json +++ b/public/locales/et/translation.json @@ -24,6 +24,10 @@ "message": "Ei ole piisavalt vaba kettaruumi", "title": "Ei ole ruumi" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Tekkinud on tundmatu viga", "title": "Tundmatu viga" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Mängude automaatne lisamine stardimenüüsse", "alt-legendary-bin": "Valige alternatiivne Legendary binaarfail, mida kasutada (vajab restarti)", "audiofix": "Heliparandus (Pulse Audio Latency)", - "autodxvk": "DXVK/VKD3D automaatne paigaldamine/uuendamine prefiksile", + "autodxvk": "DXVK automaatne paigaldamine/uuendamine prefiksile", "autosync": "Automaatne salvestiste sünkroonimine", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Valige alternatiivne EXE käivitamiseks", "checkForUpdatesOnStartup": "Uuenduste kontrollimine käivitamisel", "customWineProton": "Kohandatud Wine/Proton teed", diff --git a/public/locales/fa/translation.json b/public/locales/fa/translation.json index a682026c0f..8365e27a87 100644 --- a/public/locales/fa/translation.json +++ b/public/locales/fa/translation.json @@ -24,6 +24,10 @@ "message": "فضای ذخیرهسازی کافی موجود نیست", "title": "فضایی موجود نیست" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "خطایی ناشناخته رخ داده است", "title": "خطای ناشناخته" @@ -194,8 +198,9 @@ "addgamestostartmenu": "افزودن خودکار میانبرهای منوی استارت", "alt-legendary-bin": "انتخاب باینری Legendary جایگزین (نیازمند راهاندازی مجدد)", "audiofix": "تنظیم صدا (تاخیر Pulse Audio)", - "autodxvk": "نصب/بهروزرسانی خودکار DXVK/VKD3D در Prefix", + "autodxvk": "نصب/بهروزرسانی خودکار DXVK در Prefix", "autosync": "همگامسازی خودکار ذخیرهها", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "انتخاب EXE جایگزین برای اجرا", "checkForUpdatesOnStartup": "چک کردن برای به روزرسانی در هنگام راه اندازی", "customWineProton": "مسیرهای سفارشی Wine/Proton", diff --git a/public/locales/fi/translation.json b/public/locales/fi/translation.json index 865ddd0755..0a76a03ce3 100644 --- a/public/locales/fi/translation.json +++ b/public/locales/fi/translation.json @@ -24,6 +24,10 @@ "message": "Ei tarpeeksi tilaa levyllä", "title": "Ei ole tilaa levyllä" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Tuntematon Virhe on tapahtunut", "title": "Tuntematon Virhe" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Lisää pelit aloitusvalikkoon automaattisesti", "alt-legendary-bin": "Choose an Alternative Legendary Binary (needs restart)", "audiofix": "Äänikorjaus (Pulse Audion viive)", - "autodxvk": "Asenna automaattisesti/Päivitä DXVK/VKD3D Prefiksissä", + "autodxvk": "Asenna automaattisesti/Päivitä DXVK Prefiksissä", "autosync": "Automaattisesti synkronoi tallennukset", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Select an alternative EXE to run", "checkForUpdatesOnStartup": "Tarkista päivitysten varalta käynnistyessä", "customWineProton": "Mukautetut Wine/Proton sijainnit", diff --git a/public/locales/fr/translation.json b/public/locales/fr/translation.json index 4883266caa..88008d5514 100644 --- a/public/locales/fr/translation.json +++ b/public/locales/fr/translation.json @@ -24,6 +24,10 @@ "message": "Espace disque nécessaire insuffisant", "title": "Pas de place" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Une erreur inconnue s'est produite", "title": "Erreur inconnue" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Ajouter automatiquement les jeux au menu Démarrer", "alt-legendary-bin": "Choisir un autre exécutable Legendary (nécessite de relancer Heroic)", "audiofix": "Corriger l'audio (Latence Pulse Audio)", - "autodxvk": "Installation/Mise à jour automatique du préfix DXVK/VKD3D", + "autodxvk": "Installation/Mise à jour automatique du préfix DXVK", "autosync": "Sauvegardes Autosync", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Choisir un EXE alternatif pour faire fonctionner", "checkForUpdatesOnStartup": "Vérifier les mises à jour au démarrage", "customWineProton": "Chemins pour les Wine/Proton Custom", diff --git a/public/locales/gl/translation.json b/public/locales/gl/translation.json index e6e744b8de..68b6c4701d 100644 --- a/public/locales/gl/translation.json +++ b/public/locales/gl/translation.json @@ -24,6 +24,10 @@ "message": "Non hai suficiente espacio dispoñíbel no disco", "title": "Sen espacio" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Produciuse un erro descoñecido", "title": "Erro descoñecido" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Engadir xogos ao menú de inicio automaticamente", "alt-legendary-bin": "Seleccione o binario de Legendary alternativo (precisa reiniciar)", "audiofix": "Correción de audio (latencia de Pulseaudio)", - "autodxvk": "Autoinstalar/actualizar DXVK/VKD3D no prefixo", + "autodxvk": "Autoinstalar/actualizar DXVK no prefixo", "autosync": "Autosincronizar partidas gardadas", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Seleccionar un EXE alternativo a executar", "checkForUpdatesOnStartup": "Buscar actualizacións ao iniciar", "customWineProton": "Rutas personalizadas de Wine e Proton", diff --git a/public/locales/hr/translation.json b/public/locales/hr/translation.json index 27f637f5f9..8f99be3724 100644 --- a/public/locales/hr/translation.json +++ b/public/locales/hr/translation.json @@ -24,6 +24,10 @@ "message": "Nema dovoljno prostora na disku", "title": "Nema prostora" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Nepoznata greška se dogodila", "title": "Nepoznata greška" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Dodaje igrice u izbornik start automatski", "alt-legendary-bin": "Odaberi drugu Legendary verziju za koristiti", "audiofix": "Popravak zvuka (Pulse audio latencija)", - "autodxvk": "Automatski instaliraj/ažuriraj DXVK/VKD3D na put", + "autodxvk": "Automatski instaliraj/ažuriraj DXVK na put", "autosync": "Automatsko sinkroniziranje podataka", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Odaberi drugi EXE za pokrenuti", "checkForUpdatesOnStartup": "Provjeri za ažuriranjem na pokretanju", "customWineProton": "Prilagođen put za WINE/PROTON", diff --git a/public/locales/hu/translation.json b/public/locales/hu/translation.json index 0c62d8e829..245d5f5c64 100644 --- a/public/locales/hu/translation.json +++ b/public/locales/hu/translation.json @@ -24,6 +24,10 @@ "message": "Nincs elég elérhető lemezterület", "title": "Nincs hely" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Ismeretlen hiba lépett fel", "title": "Ismeretlen hiba" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Parancsikonok automatikus hozzáadása a Start Menühöz", "alt-legendary-bin": "Válassz egy alternatív Legendary binárist (újraindítás szükséges)", "audiofix": "Hangzás javítás (Pulse Audio Latency)", - "autodxvk": "DXVK/VKD3D Automatikus Telepítése/Frissítése a Prefix-en", + "autodxvk": "DXVK Automatikus Telepítése/Frissítése a Prefix-en", "autosync": "Mentések Automatikus Szinkronizálása", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Válassz alternatív EXE fájlt a futtatáshoz", "checkForUpdatesOnStartup": "Frissítés keresése indításkor", "customWineProton": "Egyéni Wine/Proton útvonalak", diff --git a/public/locales/id/translation.json b/public/locales/id/translation.json index c59cc7b642..7d093729ab 100644 --- a/public/locales/id/translation.json +++ b/public/locales/id/translation.json @@ -24,6 +24,10 @@ "message": "Tidak cukup ruang disk yang tersedia", "title": "Tidak ada ruang" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "An Unknown Error has occurred", "title": "Error Tak Dikenal" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Add games to start menu automatically", "alt-legendary-bin": "Choose an Alternative Legendary Binary (needs restart)", "audiofix": "", - "autodxvk": "Auto Install/Update DXVK/VKD3D on Prefix", + "autodxvk": "Auto Install/Update DXVK on Prefix", "autosync": "", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Select an alternative EXE to run", "checkForUpdatesOnStartup": "Check For Updates On Startup", "customWineProton": "Custom Wine/Proton Paths", diff --git a/public/locales/it/translation.json b/public/locales/it/translation.json index 161424a538..2334a49b61 100644 --- a/public/locales/it/translation.json +++ b/public/locales/it/translation.json @@ -24,6 +24,10 @@ "message": "Spazio su disco insufficiente", "title": "Spazio insufficiente" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Si è verificato un errore sconosciuto", "title": "Errore sconosciuto" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Aggiungere automaticamente giochi al menu start", "alt-legendary-bin": "Seleziona binari Legendary alternativi (riavvio richiesto)", "audiofix": "Audio Fix (Latenza Pulse Audio)", - "autodxvk": "Installa/Aggiorna automaticamente DXVK/VKD3D sul prefix", + "autodxvk": "Installa/Aggiorna automaticamente DXVK sul prefix", "autosync": "Sincronizza automaticamente i salvataggi", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Seleziona un eseguibile alternativo da avviare", "checkForUpdatesOnStartup": "Verifica la disponibilità di aggiornamenti all'avvio", "customWineProton": "Percorsi di Wine/Proton personalizzati", diff --git a/public/locales/ja/translation.json b/public/locales/ja/translation.json index c8b8dbee4b..1f5dfca2db 100644 --- a/public/locales/ja/translation.json +++ b/public/locales/ja/translation.json @@ -24,6 +24,10 @@ "message": "使用可能なディスク容量が不足しています", "title": "ディスク容量がありません" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "不明なエラーが発生しました", "title": "不明なエラー" @@ -194,8 +198,9 @@ "addgamestostartmenu": "ゲームをスタートメニューに自動的に追加する", "alt-legendary-bin": "Choose an Alternative Legendary Binary (needs restart)", "audiofix": "オーディオ修正(Pulseaudioレイテンシー)", - "autodxvk": "プレフィックスでのDXVK/VKD3Dの自動インストール/更新", + "autodxvk": "プレフィックスでのDXVKの自動インストール/更新", "autosync": "保存を自動的に同期する", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "実行する代替EXEを選択します", "checkForUpdatesOnStartup": "起動時に更新を確認する", "customWineProton": "カスタムWine/Protonパス", diff --git a/public/locales/ko/translation.json b/public/locales/ko/translation.json index 7e0646b2fa..62c5d114ab 100644 --- a/public/locales/ko/translation.json +++ b/public/locales/ko/translation.json @@ -24,6 +24,10 @@ "message": "사용 가능한 디스크 공간이 충분하지 않습니다", "title": "공간 없음" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "알 수 없는 오류가 발생하였습니다", "title": "알 수 없는 오류" @@ -194,8 +198,9 @@ "addgamestostartmenu": "시작 메뉴에 게임 자동 추가", "alt-legendary-bin": "대신 사용할 Legendary 바이너리 파일을 선택하십시오", "audiofix": "오디오 픽스 (Pulse Audio 지연)", - "autodxvk": "Prefix에 DXVK/VKD3D 자동 설치/업데이트", + "autodxvk": "Prefix에 DXVK 자동 설치/업데이트", "autosync": "세이브 자동 동기화", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "대체하여 실행할 EXE 선택", "checkForUpdatesOnStartup": "시작할 때 업데이트 확인", "customWineProton": "커스텀 Wine/Proton 경로", diff --git a/public/locales/ml/translation.json b/public/locales/ml/translation.json index c8a42c1091..aae4c21197 100644 --- a/public/locales/ml/translation.json +++ b/public/locales/ml/translation.json @@ -24,6 +24,10 @@ "message": "തകിടില്(disk) ആവശ്യത്തിന് സ്ഥലമില്ലല്ലോ", "title": "സ്ഥലമില്ല" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "എന്തോ കുഴപ്പം പറ്റിയിട്ടുണ്ട്", "title": "കുഴപ്പമുണ്ടല്ലോ" @@ -194,8 +198,9 @@ "addgamestostartmenu": "കളികള് തുടക്കപ്പട്ടികയില് താനേ ചേര്ക്കൂ", "alt-legendary-bin": "Choose an Alternative Legendary Binary (needs restart)", "audiofix": "ശബ്ദം ശരിയാക്കൂ (പള്സ് ഓഡിയോ ലാറ്റന്സി)", - "autodxvk": "ഉപസഗ്ഗ഻ത്തില്(പ്രഫിക്സില്) DXVK/VKD3D തന്നത്താന് സ്ഥാപിക്കൂ/പുതുക്കൂ", + "autodxvk": "ഉപസഗ്ഗ഻ത്തില്(പ്രഫിക്സില്) DXVK തന്നത്താന് സ്ഥാപിക്കൂ/പുതുക്കൂ", "autosync": "താനേസൂക്ഷിക്കപ്പെട്ട ഒന്നിപ്പിക്കലുകള്", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "ഓടിക്കുവാനായി പകരംവയ്ക്കാവുന്ന ഒരു EXE തിരഞ്ഞെടുക്കൂ", "checkForUpdatesOnStartup": "തുടങ്ങുമ്പോള് പുതുക്കലുകള്ക്കായി പരതൂ", "customWineProton": "ഇഷ്ടാനുസൃതം ചേര്ത്ത വൈന്/പ്രോട്ടോണ് അറകള്", diff --git a/public/locales/nl/translation.json b/public/locales/nl/translation.json index fae5e3e088..3db0695f52 100644 --- a/public/locales/nl/translation.json +++ b/public/locales/nl/translation.json @@ -24,6 +24,10 @@ "message": "Niet genoeg ruimte beschikbaar op de harde schijf", "title": "Niet genoeg opslag" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Er is een onbekende fout opgetreden", "title": "Onbekende fout" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Spellen automatish toevoegen aan start menu", "alt-legendary-bin": "Kies een andere Legendary Binary om te gebruiken", "audiofix": "Geluid fix (Pulse Audio Latency)", - "autodxvk": "Automatisch installeren/updated van DXVK/VKD3D op Prefix", + "autodxvk": "Automatisch installeren/updated van DXVK op Prefix", "autosync": "Automatisch Synchroniseren van saves", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Selecteer een alternatieve EXE om uit te voeren", "checkForUpdatesOnStartup": "Check voor Updates bij het opstarten", "customWineProton": "Aangepaste wijn- of protonpaden", diff --git a/public/locales/pl/translation.json b/public/locales/pl/translation.json index db97264498..80e67728d3 100644 --- a/public/locales/pl/translation.json +++ b/public/locales/pl/translation.json @@ -24,6 +24,10 @@ "message": "Za mało miejsca na dysku", "title": "Brak miejsca" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Wystąpił nieznany błąd", "title": "Nieznany błąd" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Dodawaj automatycznie gry do menu startowego", "alt-legendary-bin": "Wybierz Alternatywny plik binarny Legendary (wymaga restartu)", "audiofix": "Poprawa audio (Opóźnienie Pulse Audio)", - "autodxvk": "Automatycznie instaluj / aktualizuj DXVK/VKD3D w Prefiksie Wine", + "autodxvk": "Automatycznie instaluj / aktualizuj DXVK w Prefiksie Wine", "autosync": "Autosynchronizacja zapisów", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Wybierz alternatywny EXE do uruchomienia", "checkForUpdatesOnStartup": "Sprawdź aktualizacje podczas uruchamiania", "customWineProton": "Niestandardowe ścieżki Wine/Proton", diff --git a/public/locales/pt/translation.json b/public/locales/pt/translation.json index e2774930ad..590e8828f6 100644 --- a/public/locales/pt/translation.json +++ b/public/locales/pt/translation.json @@ -24,6 +24,10 @@ "message": "Sem espaço disponível no disco", "title": "Sem Espaço" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Ocorreu um erro desconhecido", "title": "Erro Desconhecido" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Adicionar atalhos ao menu automaticamente", "alt-legendary-bin": "Choose an Alternative Legendary Binary (needs restart)", "audiofix": "Consertar Audio do Jogo", - "autodxvk": "Instalar/Atualizar DXVK/VKD3D automaticamente", + "autodxvk": "Instalar/Atualizar DXVK automaticamente", "autosync": "Ativar Sincronização Automática", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Select an alternative EXE to run", "checkForUpdatesOnStartup": "Checar por atualizações ao iniciar", "customWineProton": "Wine e Proton Customizados", diff --git a/public/locales/pt_BR/translation.json b/public/locales/pt_BR/translation.json index f58435277c..c1a75875af 100644 --- a/public/locales/pt_BR/translation.json +++ b/public/locales/pt_BR/translation.json @@ -24,6 +24,10 @@ "message": "Sem espaço suficiente disponível no disco", "title": "Sem Espaço" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Um erro desconhecido ocorreu", "title": "Erro Desconhecido" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Adicionar atalhos dos jogos no menu inicial automaticamente", "alt-legendary-bin": "Escolha um binário alternativo do Legendary (requer reinício)", "audiofix": "Consertar áudio do jogo (latência do PulseAudio)", - "autodxvk": "Instalar/atualizar o DXVK/VKD3D automaticamente no prefixo", + "autodxvk": "Instalar/atualizar o DXVK automaticamente no prefixo", "autosync": "Sincronizar saves automaticamente", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Selecione um EXE alternativo para executar", "checkForUpdatesOnStartup": "Buscar atualizações ao iniciar", "customWineProton": "Locais com WINE/Proton Customizados", diff --git a/public/locales/ro/translation.json b/public/locales/ro/translation.json index a73b836030..9f12b27908 100644 --- a/public/locales/ro/translation.json +++ b/public/locales/ro/translation.json @@ -149,7 +149,7 @@ "addgamestostartmenu": "Adăugați jocuri în meniul Start automat", "alt-legendary-bin": "Alegeți un Legendary Binary alternativ pe care să îl utilizați", "audiofix": "Fixare Audio (Latență în PulseAudio)", - "autodxvk": "Instalare/Actualizare automată DXVK/VKD3D în Prefix", + "autodxvk": "Instalare/Actualizare automată DXVK în Prefix", "autosync": "Salvări de sincronizare automată", "change-target-exe": "Selectați un EXE alternativ pentru a rula", "checkForUpdatesOnStartup": "Verificare pentru actualizări la pornire", diff --git a/public/locales/ru/translation.json b/public/locales/ru/translation.json index 77ec098cee..672a723b5b 100644 --- a/public/locales/ru/translation.json +++ b/public/locales/ru/translation.json @@ -24,6 +24,10 @@ "message": "Недостаточно свободного места на диске", "title": "Нет места" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Произошла неизвестная ошибка", "title": "Неизвестная ошибка" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Добавить игры в меню приложений автоматически", "alt-legendary-bin": "Выбрать другой исполняемый файл Legendary (требуется перезапуск)", "audiofix": "Фикс аудио (Задержка Pulse Audio)", - "autodxvk": "Автоустановка/обновление DXVK/VKD3D на префикс", + "autodxvk": "Автоустановка/обновление DXVK на префикс", "autosync": "Автосинхронизация сохранений", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Выбрать другой EXE для запуска", "checkForUpdatesOnStartup": "Проверять наличие обновлений при запуске", "customWineProton": "Пользовательские пути Wine/Proton", diff --git a/public/locales/sv/translation.json b/public/locales/sv/translation.json index 558bfb22f1..d7b52da3f9 100644 --- a/public/locales/sv/translation.json +++ b/public/locales/sv/translation.json @@ -24,6 +24,10 @@ "message": "Det finns inte tillräckligt med hårdiskutrymme", "title": "Inget utrymme" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Ett okänt fel har inträffat", "title": "Okänt fel" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Lägg automatiskt till spel i startmenyn", "alt-legendary-bin": "Välj en Alternativ Legendary binär (kräver omstart)", "audiofix": "Ljudfix (Pulse Audio Latens)", - "autodxvk": "Automatiskt installera/uppdatera DXVK/VKD3D i prefix", + "autodxvk": "Automatiskt installera/uppdatera DXVK i prefix", "autosync": "Autosynkronisera sparfiler", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Välj en alternativ EXE att köra", "checkForUpdatesOnStartup": "Kontrollera uppdateringar vid uppstart", "customWineProton": "Anpassad wine/proton sökväg", diff --git a/public/locales/ta/translation.json b/public/locales/ta/translation.json index 8fc1b380f0..81c45faef4 100644 --- a/public/locales/ta/translation.json +++ b/public/locales/ta/translation.json @@ -24,6 +24,10 @@ "message": "போதுமான இடம் இல்லை", "title": "இடம் இல்லை" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "ஒரு அறியப்படாத பிழை ஏற்பட்டது", "title": "அறியப்படாத பிழை" @@ -194,8 +198,9 @@ "addgamestostartmenu": "துவகுப்பட்டியில் விளையாட்டுகளை தானாக சேர்", "alt-legendary-bin": "Choose an Alternative Legendary Binary (needs restart)", "audiofix": "கேட்பொலி பிழைத்திருத்தம் (Pulse Audio Latency)", - "autodxvk": "முன்னொட்டில் DXVK/VKD3D ஐ தானாக நிறுவு/புதுப்பி", + "autodxvk": "முன்னொட்டில் DXVK ஐ தானாக நிறுவு/புதுப்பி", "autosync": "சேமிப்புகளை தானாக ஒத்திசைவுசெய்", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Select an alternative EXE to run", "checkForUpdatesOnStartup": "Check For Updates On Startup", "customWineProton": "தனிப்பயன் Wine/Proton பாதைகள்", diff --git a/public/locales/tr/translation.json b/public/locales/tr/translation.json index 208af2331f..29c65e7e4b 100644 --- a/public/locales/tr/translation.json +++ b/public/locales/tr/translation.json @@ -24,6 +24,10 @@ "message": "Yeterli kullanılabilir disk alanı yok", "title": "Alan Yok" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "Bilinmeyen bir hata oluştu", "title": "Bilinmeyen hata" @@ -194,8 +198,9 @@ "addgamestostartmenu": "Oyunları başlangıç menüsüne otomatik ekle", "alt-legendary-bin": "Alternatif bir Legendary dosyası seçin (yeniden başlatma gerekir)", "audiofix": "Ses Çözümü (Pulse Audio Gecikmesi)", - "autodxvk": "DXVK/VKD3D'yı otomatik kur/güncelle", + "autodxvk": "DXVK'yı otomatik kur/güncelle", "autosync": "Kayıtları Otomatik Eşzamanla", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Çalıştırmak için alternatif bir EXE seçin", "checkForUpdatesOnStartup": "Açılışta Güncellemeleri Denetle", "customWineProton": "Özel Wine/Proton Yolları", diff --git a/public/locales/uk/translation.json b/public/locales/uk/translation.json index cbc292ed8c..3b2606044b 100644 --- a/public/locales/uk/translation.json +++ b/public/locales/uk/translation.json @@ -126,7 +126,7 @@ "customWineProton": "Інший шлях до Wine/Proton", "checkForUpdatesOnStartup": "Перевіряти на наявність оновлень при старті системи", "autosync": "Автосинхронізація збережень", - "autodxvk": "Автоматично встановлювати/оновлювати DXVK/VKD3D на префіксі", + "autodxvk": "Автоматично встановлювати/оновлювати DXVK на префіксі", "audiofix": "Виправлення звуку (затримка Pulse Audio)", "addgamestostartmenu": "Додавати ігри до головного меню автоматично", "adddesktopshortcuts": "Створювати ярлики на робочому столі автоматично" diff --git a/public/locales/zh_Hans/translation.json b/public/locales/zh_Hans/translation.json index d59eb1b4fa..96bbe9e40e 100644 --- a/public/locales/zh_Hans/translation.json +++ b/public/locales/zh_Hans/translation.json @@ -24,6 +24,10 @@ "message": "没有足够的可用磁盘空间", "title": "没有空间" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "发生了未知错误", "title": "未知错误" @@ -194,8 +198,9 @@ "addgamestostartmenu": "自动添加到启动菜单快捷方式", "alt-legendary-bin": "选择备选的 Legendary 二进制文件 (需要重启)", "audiofix": "音频修复(Pulse Audio延迟)", - "autodxvk": "在PREFIX自动安装并更新DXVK/VKD3D", + "autodxvk": "在PREFIX自动安装并更新DXVK", "autosync": "自动同步存档", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "选择要运行的替代EXE", "checkForUpdatesOnStartup": "启动时检查更新", "customWineProton": "自定义Wine/Proton路径", diff --git a/public/locales/zh_Hant/translation.json b/public/locales/zh_Hant/translation.json index 2ff285e309..43bc34e42f 100644 --- a/public/locales/zh_Hant/translation.json +++ b/public/locales/zh_Hant/translation.json @@ -24,6 +24,10 @@ "message": "磁碟空間不足", "title": "空間不足" }, + "dxvk": { + "message": "Error installing DXVK/VKD3D! Check your connection or if you have zstd/libzstd1 installed", + "title": "DXVK/VKD3D error" + }, "generic": { "message": "發生了未知錯誤", "title": "未知錯誤" @@ -194,8 +198,9 @@ "addgamestostartmenu": "自動添加捷徑到開始功能表", "alt-legendary-bin": "Choose an Alternative Legendary Binary (needs restart)", "audiofix": "音頻修覆(Pulse Audio延遲)", - "autodxvk": "在PREFIX自動安裝並更新DXVK/VKD3D", + "autodxvk": "在PREFIX自動安裝並更新DXVK", "autosync": "自動同步存檔", + "autovkd3d": "Auto Install/Update VKD3D on Prefix", "change-target-exe": "Select an alternative EXE to run", "checkForUpdatesOnStartup": "啟動時檢查更新", "customWineProton": "自定義Wine/Proton路徑", diff --git a/src/screens/Settings/components/WineSettings/index.tsx b/src/screens/Settings/components/WineSettings/index.tsx index 5d919f9935..0c68b27bcc 100644 --- a/src/screens/Settings/components/WineSettings/index.tsx +++ b/src/screens/Settings/components/WineSettings/index.tsx @@ -16,6 +16,7 @@ const { ipcRenderer } = window.require('electron') interface Props { altWine: WineInstallation[] autoInstallDxvk: boolean + autoInstallVkd3d: boolean customWinePaths: string[] isDefault: boolean maxSharpness: number @@ -28,6 +29,7 @@ interface Props { setFsrSharpness: (value: number) => void setWineVersion: (wine: WineInstallation) => void toggleAutoInstallDxvk: () => void + toggleAutoInstallVkd3d: () => void toggleFSR: () => void toggleResizableBar: () => void wineCrossoverBottle: string @@ -49,9 +51,11 @@ export default function WineSettings({ wineVersion, altWine, toggleAutoInstallDxvk, + toggleAutoInstallVkd3d, enableFSR, toggleFSR, autoInstallDxvk, + autoInstallVkd3d, customWinePaths, setCustomWinePaths, wineCrossoverBottle, @@ -323,6 +327,30 @@ export default function WineSettings({ )} + {isLinux && !isProton && ( + + + { + const action = autoInstallVkd3d ? 'restore' : 'backup' + ipcRenderer.send('toggleVKD3D', [ + { winePrefix, winePath: wineVersion.bin }, + action + ]) + return toggleAutoInstallVkd3d() + }} + title={t( + 'setting.autovkd3d', + 'Auto Install/Update VKD3D on Prefix' + )} + /> + + {t('setting.autovkd3d', 'Auto Install/Update VKD3D on Prefix')} + + + + )} From 1f80f1ad72ad1a14925c6e271b5429ccd4a2f526 Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Sat, 5 Feb 2022 16:25:30 +0100 Subject: [PATCH 5/9] Translations update from Hosted Weblate (#923) * Update translation files Updated by "Squash Git commits" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/globals/ Translation: Heroic Games Launcher/Globals * Update translation files Updated by "Squash Git commits" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/globals/ Translation: Heroic Games Launcher/Globals * Update translation files Updated by "Squash Git commits" hook in Weblate. Translation: Heroic Games Launcher/GamePage Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/gamepage/ --- public/locales/fa/gamepage.json | 2 +- public/locales/fa/login.json | 2 +- public/locales/fa/translation.json | 40 ++++++++-------- public/locales/fr/translation.json | 4 +- public/locales/uk/gamepage.json | 76 ++++++++++++++++++------------ public/locales/uk/login.json | 6 +-- public/locales/uk/translation.json | 9 +++- 7 files changed, 82 insertions(+), 57 deletions(-) diff --git a/public/locales/fa/gamepage.json b/public/locales/fa/gamepage.json index 12cf368f2d..a582d871a7 100644 --- a/public/locales/fa/gamepage.json +++ b/public/locales/fa/gamepage.json @@ -23,7 +23,7 @@ "title": "توقف نصب" }, "uninstall": { - "checkbox": "Would you like to remove the prefix aswell? This can't be undone.", + "checkbox": "آیا می‌خواهید مسیر را هم پاک کنید؟ این کار بازگشت پذیر نیست.", "checkbox_prefix": "Prefix", "message": "آیا میخواهید این بازی را حذف کنید؟", "title": "حذف" diff --git a/public/locales/fa/login.json b/public/locales/fa/login.json index 082fa46c0a..796c3c3a6e 100644 --- a/public/locales/fa/login.json +++ b/public/locales/fa/login.json @@ -18,7 +18,7 @@ "status": { "error": "خطا", "loading": "در حال بارگیری لیست بازی، لطفا منتظر بمانید", - "logging": "در حال وارد شدن…" + "logging": "در حال ورود…" }, "welcome": "خوش آمدید!" } diff --git a/public/locales/fa/translation.json b/public/locales/fa/translation.json index 8365e27a87..63b3c6a3ff 100644 --- a/public/locales/fa/translation.json +++ b/public/locales/fa/translation.json @@ -7,7 +7,7 @@ "title": "بهروزرسانی موجود است" }, "cache-cleared": { - "message": "کش Heroic پاک شد!", + "message": "کش Heroic پاک شد.", "title": "کش پاک شد" }, "choose": "انتخاب", @@ -35,8 +35,8 @@ "launch": "خطا در هنگام اجرای بازی، لاگها را چک کنید!", "title": "خطا", "wine-not-found": { - "message": "No Wine Version Selected. Check Game Settings!", - "title": "Wine Not Found" + "message": "نسخه‌ای از Wine انتخاب نشده است. تنظیمات بازی را چک کنید!", + "title": "Wine یافت نشد" } }, "no": "خیر", @@ -74,24 +74,24 @@ }, "warning": { "epic": { - "import": "Epic Servers are having major outage right now, the game cannot be imported!", - "install": "Epic Servers are having major outage right now, the game cannot be installed!", - "update": "Epic Servers are having major outage right now, the game cannot be updated!" + "import": "سرورهای اپیک در حال حاضر قطعی عمده دارند، بازی نمی‌تواند اضافه شود!", + "install": "سرورهای اپیک در حال حاضر قطعی عمده دارند، بازی نمی‌تواند نصب شود!", + "update": "سرورهای اپیک در حال حاضر قطعی عمده دارند، بازی نمی‌تواند به‌روزرسانی شود!" }, - "title": "Warning" + "title": "هشدار" }, "wineprefix": "انتخاب پوشه Wine Prefix", "yes": "بله" }, "button": { - "login": "Login", + "login": "ورود", "sync": "همگامسازی", "syncing": "در حال همگامسازی", "unsync": "عدم همگامسازی" }, "Downloading": "در حال دانلود", "epic": { - "offline-notification-body": "Heroic will not work probably!", + "offline-notification-body": "احتمالا Heroic کار نخواهد کرد!", "offline-notification-title": "offline" }, "Epic Games": "اپیک گیمز", @@ -217,11 +217,11 @@ "gamemode": "استفاده از GameMode (Feral Game Mode باید نصب شده باشد)", "language": "انتخاب زبان نرمافزار", "log": { - "copy-to-clipboard": "Copy log content to clipboard", - "current-log": "Current Log", - "last-log": "Last Log", - "no-file": "No log file found", - "show-in-folder": "Show log file in folder" + "copy-to-clipboard": "کپی کردن محتوای لاگ در کليپ بورد", + "current-log": "لاگ اخیر", + "last-log": "آخرین لاگ", + "no-file": "فایل لاگی پیدا نشد", + "show-in-folder": "نمایش فایل لاگ در پوشه" }, "mangohud": "فعالسازی Mangohud (Mangohud باید نصب شده باشد)", "manualsync": { @@ -255,7 +255,7 @@ }, "settings": { "clear-cache": "پاک کردن کش Heroic", - "copiedToClipboard": "Copied to Clipboard!", + "copiedToClipboard": "در کليپ بورد کپی شد!", "copyToClipboard": "کپی کردن همه تنظیمات در کليپ بورد", "navbar": { "general": "عمومی", @@ -268,7 +268,7 @@ "Settings": "تنظیمات", "status": { "loading": "در حال بارگیری لیست بازی، لطفا منتظر بمانید", - "logging": "در حال وارد شدن..." + "logging": "در حال ورود..." }, "store": "فروشگاه", "title": { @@ -310,10 +310,10 @@ "wiki": "ویکی", "wine": { "manager": { - "error": "Could not fetch Wine/Proton versions this time.", - "link": "Wine Manager", - "title": "Wine Manager (Beta)", - "unzipping": "Unzipping" + "error": "نمی‌توان در این زمان نسخه‌های Wine/Proton را به دست آورد.", + "link": "مدیریت Wine‮", + "title": "مدیریت Wine (آزمایشی)", + "unzipping": "در حال خارج کردن از حالت فشرده" } } } diff --git a/public/locales/fr/translation.json b/public/locales/fr/translation.json index 88008d5514..0f62f8f374 100644 --- a/public/locales/fr/translation.json +++ b/public/locales/fr/translation.json @@ -43,7 +43,7 @@ "ok": "Ok", "protocol": { "install": { - "not_installed": "n'est pas installé, voulez-vous l'installer ?" + "not_installed": "Ceci n'est pas installé, voulez-vous l'installer ?" } }, "quit": { @@ -84,7 +84,7 @@ "yes": "OUI" }, "button": { - "login": "Login", + "login": "Connexion", "sync": "Synchroniser", "syncing": "Synchronisation en cours", "unsync": "Désynchroniser" diff --git a/public/locales/uk/gamepage.json b/public/locales/uk/gamepage.json index e9710e24ce..7d5869a0bb 100644 --- a/public/locales/uk/gamepage.json +++ b/public/locales/uk/gamepage.json @@ -1,12 +1,12 @@ { "submenu": { - "verify": "Підтвердити і відновити", + "verify": "Перевірити і відновити", "store": "Сторінка в крамниці", "settings": "Налаштування", "protondb": "Перевірити сумісність", "move": "Перенести гру", "log": "Останній лоґ", - "change": "Змінити шлях інсталяції", + "change": "Змінити шлях встановлення", "addShortcut": "Додати ярлик" }, "status": { @@ -16,10 +16,10 @@ "notSupported": "Гра може бути тільки імпортована", "notinstalled": "Гра не інстальована", "moving": "Переносимо інсталяцію, будь ласка зачекайте", - "installing": "Інсталюється", - "installed": "Інстальовано", - "hasUpdates": "Нова версія доступна!", - "clickToUpdate": "Натисніть щоб оновити" + "installing": "Встановлюється", + "installed": "Встановлено", + "hasUpdates": "Доступна нова версія!", + "clickToUpdate": "Натисніть для оновлення" }, "specs": { "recommended": "Рекомендовані", @@ -31,19 +31,22 @@ }, "playing": { "stop": "Запущено (зупинити)", - "start": "Грати зараз" + "start": "Грати" } }, "install": { "import": "Імпортувати гру", "default": "Інсталювати в", - "another": "Інсталювати за іншим шляхом" + "another": "Інсталювати за іншим шляхом", + "wineprefix": "Префікс Wine", + "path": "Вкажіть шлях встановлення" }, "info": { "version": "Версія", "syncsaves": "Синхронізувати збереження", "size": "Розмір", - "path": "Шлях інсталяції" + "path": "Шлях встановлення", + "canRunOffline": "Чи потрібно бути в мережі" }, "gamecard": { "repairing": "Відновлюється", @@ -53,17 +56,19 @@ "totalPlayed": "Зіграно часу", "neverPlayed": "Ніколи", "lastPlayed": "Востаннє зіграно", - "firstPlayed": "Вперше зіграно" + "firstPlayed": "Вперше зіграно", + "downloadSize": "Розмір завантаження", + "installSize": "Розмір встановлення" }, - "enabled": "Включено", - "disabled": "Відключено", + "enabled": "Увімкнено", + "disabled": "Вимкнено", "button": { "update": "Оновити", - "uninstall": "Деінсталювати", - "install": "Інсталювати", - "import": "Імпортувати", + "uninstall": "Видалити", + "install": "Встановити", + "import": "Імпортувати гру", "continue": "Продовжити завантаження", - "cancel": "Скасувати" + "cancel": "Призупинити/Скасувати" }, "box": { "yes": "ТАК", @@ -72,36 +77,49 @@ "message": "Доступне оновлення до цієї гри. Оновити зараз?" }, "uninstall": { - "title": "Деінсталювати", - "message": "Ви хочете деінсталювати цю гру?" + "title": "Видалити", + "message": "Бажаєте видалити цю гру?", + "checkbox": "Бажаєте вилучити також префікс? Це неможливо скасувати.", + "checkbox_prefix": "Префікс" }, "stopInstall": { - "title": "Зупинити інсталяцію", - "message": "Ви хочете ЗАЛИШИТИ завантажені файли?", - "keepInstalling": "Продовжити інсталяцію" + "title": "Зупинити встановлення", + "message": "Бажаєте ЗАЛИШИТИ завантажені файли?", + "keepInstalling": "Продовжити встановлення" }, "change": { - "message": "Це змінить розташування інсталяції цієї гри, ви впевнені?", - "title": "Змінити шлях інсталяції гри", - "path": "Оберіть шлях інсталяції" + "message": "Це змінить місце встановлення цієї гри, ви впевнені?", + "title": "Змінити шлях встановлення гри", + "path": "Оберіть новий шлях встановлення" }, "shortcuts": { "title": "Ярлики", "message": "Ярлики були створені на робочому столі і в меню" }, "repair": { - "title": "Підтвердити і відновити", - "message": "Ви хочете спробувати відновити гру? Це може зайняти багато часу." + "title": "Перевірити і відновити", + "message": "Бажаєте спробувати відновити гру? Це може зайняти багато часу." }, "ok": "Ок", "no": "НІ", "move": { - "title": "Перенести інсталяцію гри", + "title": "Перенести встановлення гри", "path": "Оберіть куди ви хочете перенести", "message": "Це може зайняти багато часу, ви впевнені?" }, "installpath": "Оберіть шлях інсталяції", "importpath": "Оберіть теку гри щоб імпортувати", - "choose": "Оберіть" + "choose": "Оберіть", + "wineprefix": "Оберіть теку префікса Wine" + }, + "dlc": { + "installDlcs": "Встановити всі DLC", + "title": "Завантажуваний вміст" + }, + "launch": { + "options": "Параметри запуску..." + }, + "sdl": { + "title": "Оберіть компоненти для встановлення" } -} \ No newline at end of file +} diff --git a/public/locales/uk/login.json b/public/locales/uk/login.json index 9e98377134..6058be1f07 100644 --- a/public/locales/uk/login.json +++ b/public/locales/uk/login.json @@ -13,12 +13,12 @@ "part4": ", увійдіть в свій акаунт і скопіюйте ваш", "part3": "Epic Store тут", "part2": "Відкрийте", - "part1": "Щоб ви могли увійти і інсталювати ваші ігри спершу вам треба зробити наступні кроки:" + "part1": "Щоб мати можливість входити та встановлювати свої ігри, ви маєте виконати наступне:" }, "button": { "login": "Увійти" }, "input": { - "placeholder": "Вставте номер SID сюди" + "placeholder": "Вставте сюди номер SID" } -} \ No newline at end of file +} diff --git a/public/locales/uk/translation.json b/public/locales/uk/translation.json index 3b2606044b..d3590ec195 100644 --- a/public/locales/uk/translation.json +++ b/public/locales/uk/translation.json @@ -24,7 +24,8 @@ "button": { "syncing": "Синхронізація", "sync": "Синхронізувати", - "unsync": "Десинхронізувати" + "unsync": "Десинхронізувати", + "login": "Увійти" }, "box": { "yes": "ТАК", @@ -171,5 +172,11 @@ "nogames": "Не знайдено ігор", "info": { "settings": "Налаштування збережені автоматично" + }, + "install": { + "path": "Вкажіть шлях встановлення" + }, + "status": { + "loading": "Завантажуємо список ігор, будь ласка зачекайте" } } From 5140334875490661c60f8ec2a51b6803d10af377 Mon Sep 17 00:00:00 2001 From: Niklas <61798668+Nocccer@users.noreply.github.com> Date: Sat, 5 Feb 2022 20:44:34 +0100 Subject: [PATCH 6/9] [Fix] Heroic Freezeing when the log was too big (#954) * Imrpoved log settings * lint fix * Fixed log path * yarn i18n * fixed marking of lines --- electron/__mocks__/electron.ts | 6 + electron/constants.ts | 2 - electron/logger/logger.ts | 37 +++--- public/locales/bg/translation.json | 3 + public/locales/ca/translation.json | 3 + public/locales/cs/translation.json | 3 + public/locales/de/translation.json | 3 + public/locales/el/translation.json | 3 + public/locales/en/translation.json | 3 + public/locales/es/translation.json | 3 + public/locales/et/translation.json | 3 + public/locales/fa/translation.json | 3 + public/locales/fi/translation.json | 3 + public/locales/fr/translation.json | 3 + public/locales/gl/translation.json | 3 + public/locales/hr/translation.json | 3 + public/locales/hu/translation.json | 3 + public/locales/id/translation.json | 3 + public/locales/it/translation.json | 3 + public/locales/ja/translation.json | 3 + public/locales/ko/translation.json | 3 + public/locales/ml/translation.json | 3 + public/locales/nl/translation.json | 3 + public/locales/pl/translation.json | 3 + public/locales/pt/translation.json | 3 + public/locales/pt_BR/translation.json | 3 + public/locales/ru/translation.json | 3 + public/locales/sv/translation.json | 3 + public/locales/ta/translation.json | 3 + public/locales/tr/translation.json | 3 + public/locales/zh_Hans/translation.json | 3 + public/locales/zh_Hant/translation.json | 3 + .../Settings/components/LogSettings/index.css | 14 ++- .../Settings/components/LogSettings/index.tsx | 107 +++++++++++++----- yarn.lock | 44 +++---- 35 files changed, 217 insertions(+), 80 deletions(-) diff --git a/electron/__mocks__/electron.ts b/electron/__mocks__/electron.ts index 4685c983b9..ff06540687 100644 --- a/electron/__mocks__/electron.ts +++ b/electron/__mocks__/electron.ts @@ -1,4 +1,10 @@ +import { tmpdir } from 'os' + export const dialog = { showErrorBox: jest.fn(), showMessageBox: jest.fn() } + +export const app = { + getPath: jest.fn().mockReturnValue(tmpdir()) +} diff --git a/electron/constants.ts b/electron/constants.ts index 7b01f67a0f..125814f6d4 100644 --- a/electron/constants.ts +++ b/electron/constants.ts @@ -46,7 +46,6 @@ const legendaryConfigPath = isFlatpak const heroicFolder = isFlatpak ? `${home}/config/heroic/` : `${home}/.config/heroic/` -const heroicLogFolder = `${heroicFolder}/Logs` const { currentLogFile: currentLogFile, lastLogFile: lastLogFile } = createNewLogFileAndClearOldOnces() const heroicConfigPath = `${heroicFolder}config.json` @@ -132,7 +131,6 @@ export { heroicIconFolder, heroicInstallPath, heroicToolsPath, - heroicLogFolder, home, kofiPage, icon, diff --git a/electron/logger/logger.ts b/electron/logger/logger.ts index 2c50174726..24b958bbb4 100644 --- a/electron/logger/logger.ts +++ b/electron/logger/logger.ts @@ -4,21 +4,14 @@ * Note that with console.log and console.warn everything will be saved too. * error equals console.error */ -import { - openSync, - existsSync, - readdirSync, - mkdirSync, - rmSync, - appendFileSync -} from 'graceful-fs' +import { openSync, readdirSync, unlinkSync, appendFileSync } from 'graceful-fs' import Store from 'electron-store' import { currentLogFile, heroicGamesConfigPath, - heroicLogFolder, lastLogFile } from '../constants' +import { app } from 'electron' export enum LogPrefix { General = '', @@ -167,11 +160,9 @@ interface createLogFileReturn { */ export function createNewLogFileAndClearOldOnces(): createLogFileReturn { const date = new Date() - const newLogFile = `${heroicLogFolder}/heroic-${date.toISOString()}.log` + const logDir = app.getPath('logs') + const newLogFile = `${logDir}/heroic-${date.toISOString()}.log` try { - if (!existsSync(heroicLogFolder)) { - mkdirSync(heroicLogFolder) - } openSync(newLogFile, 'w') } catch (error) { logError( @@ -182,20 +173,22 @@ export function createNewLogFileAndClearOldOnces(): createLogFileReturn { } try { - const logs = readdirSync(heroicLogFolder) + const logs = readdirSync(logDir) logs.forEach((log) => { - const dateString = log.replace('heroic-', '').replace('.log', '') - const logDate = new Date(dateString) - if ( - logDate.getFullYear() < date.getFullYear() || - logDate.getMonth() < date.getMonth() - ) { - rmSync(`${heroicLogFolder}/${log}`) + if (log.includes('heroic-')) { + const dateString = log.replace('heroic-', '').replace('.log', '') + const logDate = new Date(dateString) + if ( + logDate.getFullYear() < date.getFullYear() || + logDate.getMonth() < date.getMonth() + ) { + unlinkSync(`${logDir}/${log}`) + } } }) } catch (error) { logError( - `Removing old logs in ${heroicLogFolder} failed with ${error}`, + `Removing old logs in ${logDir} failed with ${error}`, LogPrefix.Backend, true ) diff --git a/public/locales/bg/translation.json b/public/locales/bg/translation.json index f4db927ee3..82d195d16b 100644 --- a/public/locales/bg/translation.json +++ b/public/locales/bg/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Изчистване на кеша на Heroic", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Копиране на всички настройки в буфера за обмен", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Общи", "log": "Log", diff --git a/public/locales/ca/translation.json b/public/locales/ca/translation.json index dd8706f53b..7ce4f6b051 100644 --- a/public/locales/ca/translation.json +++ b/public/locales/ca/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copy All Setting to Clipboard", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "General", "log": "Log", diff --git a/public/locales/cs/translation.json b/public/locales/cs/translation.json index efe8a4ffa6..e84cc61748 100644 --- a/public/locales/cs/translation.json +++ b/public/locales/cs/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copy All Setting to Clipboard", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Obecné", "log": "Log", diff --git a/public/locales/de/translation.json b/public/locales/de/translation.json index db61f342cc..d37173a5b4 100644 --- a/public/locales/de/translation.json +++ b/public/locales/de/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Heroic Cache leeren", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Alle Einstellungen in die Zwischenablage kopieren", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Allgemein", "log": "Log", diff --git a/public/locales/el/translation.json b/public/locales/el/translation.json index b18a7169d5..391ef92668 100644 --- a/public/locales/el/translation.json +++ b/public/locales/el/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copy All Setting to Clipboard", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Γενικά", "log": "Log", diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index e7cccd52aa..2855e336fd 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copy All Settings to Clipboard", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "General", "log": "Log", diff --git a/public/locales/es/translation.json b/public/locales/es/translation.json index d7e5af71ca..9aabaa9353 100644 --- a/public/locales/es/translation.json +++ b/public/locales/es/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Borrar la caché de Heroic", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copiar todas las configuraciones al portapapeles", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "General", "log": "Log", diff --git a/public/locales/et/translation.json b/public/locales/et/translation.json index 4c19aa5319..a2c512232d 100644 --- a/public/locales/et/translation.json +++ b/public/locales/et/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Tühjenda Heroic'u vahemälu", "copiedToClipboard": "Kopeeritud lõikelauale!", "copyToClipboard": "Kopeeri kõik seaded lõikelauale", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Üldine", "log": "Log", diff --git a/public/locales/fa/translation.json b/public/locales/fa/translation.json index 63b3c6a3ff..d3d8d4ae67 100644 --- a/public/locales/fa/translation.json +++ b/public/locales/fa/translation.json @@ -257,6 +257,9 @@ "clear-cache": "پاک کردن کش Heroic", "copiedToClipboard": "در کليپ بورد کپی شد!", "copyToClipboard": "کپی کردن همه تنظیمات در کليپ بورد", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "عمومی", "log": "Log", diff --git a/public/locales/fi/translation.json b/public/locales/fi/translation.json index 0a76a03ce3..1197766216 100644 --- a/public/locales/fi/translation.json +++ b/public/locales/fi/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copy All Setting to Clipboard", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Yleiset", "log": "Log", diff --git a/public/locales/fr/translation.json b/public/locales/fr/translation.json index 0f62f8f374..14da6ba319 100644 --- a/public/locales/fr/translation.json +++ b/public/locales/fr/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Effacer le cache Heroic", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copier tous les paramètres dans le presse-papier", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Général", "log": "Log", diff --git a/public/locales/gl/translation.json b/public/locales/gl/translation.json index 68b6c4701d..2b6b5f6a2d 100644 --- a/public/locales/gl/translation.json +++ b/public/locales/gl/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Limpar caché de Heroic", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copiar todas as preferencias ao portapapeis", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Xeral", "log": "Log", diff --git a/public/locales/hr/translation.json b/public/locales/hr/translation.json index 8f99be3724..055edf7956 100644 --- a/public/locales/hr/translation.json +++ b/public/locales/hr/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copy All Setting to Clipboard", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Generalno", "log": "Log", diff --git a/public/locales/hu/translation.json b/public/locales/hu/translation.json index 245d5f5c64..7b06a97a95 100644 --- a/public/locales/hu/translation.json +++ b/public/locales/hu/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Heroic gyorsítótár eltávolítása", "copiedToClipboard": "Vágólapra másolva!", "copyToClipboard": "Összes beállítás másolása a vágólapra", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Általános", "log": "Log", diff --git a/public/locales/id/translation.json b/public/locales/id/translation.json index 7d093729ab..d0cad20e71 100644 --- a/public/locales/id/translation.json +++ b/public/locales/id/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copy All Setting to Clipboard", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "", "log": "Log", diff --git a/public/locales/it/translation.json b/public/locales/it/translation.json index 2334a49b61..0969f3a49c 100644 --- a/public/locales/it/translation.json +++ b/public/locales/it/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Pulisci cache Heroic", "copiedToClipboard": "Copiato negli appunti!", "copyToClipboard": "Copia tutte le impostazioni negli appunti", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Generale", "log": "Log", diff --git a/public/locales/ja/translation.json b/public/locales/ja/translation.json index 1f5dfca2db..3ea66c97cd 100644 --- a/public/locales/ja/translation.json +++ b/public/locales/ja/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copy All Setting to Clipboard", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "一般", "log": "Log", diff --git a/public/locales/ko/translation.json b/public/locales/ko/translation.json index 62c5d114ab..9cba98b029 100644 --- a/public/locales/ko/translation.json +++ b/public/locales/ko/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Heroic 캐시 삭제", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "모든 설정을 클립보드에 복사", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "일반", "log": "Log", diff --git a/public/locales/ml/translation.json b/public/locales/ml/translation.json index aae4c21197..35d72e527a 100644 --- a/public/locales/ml/translation.json +++ b/public/locales/ml/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copy All Setting to Clipboard", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "പൊതുവായവ", "log": "Log", diff --git a/public/locales/nl/translation.json b/public/locales/nl/translation.json index 3db0695f52..a25124c524 100644 --- a/public/locales/nl/translation.json +++ b/public/locales/nl/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copy All Setting to Clipboard", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Algemeen", "log": "Log", diff --git a/public/locales/pl/translation.json b/public/locales/pl/translation.json index 80e67728d3..ea5d215a87 100644 --- a/public/locales/pl/translation.json +++ b/public/locales/pl/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Wyczyść Cache Heroic", "copiedToClipboard": "Skopiowano do Schowka!", "copyToClipboard": "Kopiuj Wszystkie Ustawienia do Schowka", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Główne", "log": "Log", diff --git a/public/locales/pt/translation.json b/public/locales/pt/translation.json index 590e8828f6..1c9e13de80 100644 --- a/public/locales/pt/translation.json +++ b/public/locales/pt/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copiar todas as configurações para a área de transferência", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Geral", "log": "Log", diff --git a/public/locales/pt_BR/translation.json b/public/locales/pt_BR/translation.json index c1a75875af..895e8e0919 100644 --- a/public/locales/pt_BR/translation.json +++ b/public/locales/pt_BR/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Limpar cache do Heroic", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copiar todas as configurações para a área de transferência", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Config. Gerais", "log": "Log", diff --git a/public/locales/ru/translation.json b/public/locales/ru/translation.json index 672a723b5b..161af710f9 100644 --- a/public/locales/ru/translation.json +++ b/public/locales/ru/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Очистить кэш Heroic", "copiedToClipboard": "Скопировано в буфер обмена!", "copyToClipboard": "Скопировать все настройки в буфер обмена", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Основные", "log": "Log", diff --git a/public/locales/sv/translation.json b/public/locales/sv/translation.json index d7b52da3f9..654c134ad0 100644 --- a/public/locales/sv/translation.json +++ b/public/locales/sv/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copy All Setting to Clipboard", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Allmänna", "log": "Log", diff --git a/public/locales/ta/translation.json b/public/locales/ta/translation.json index 81c45faef4..32dbe1f9bf 100644 --- a/public/locales/ta/translation.json +++ b/public/locales/ta/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copy All Setting to Clipboard", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "பொதுவானவை", "log": "Log", diff --git a/public/locales/tr/translation.json b/public/locales/tr/translation.json index 29c65e7e4b..fa2526d85b 100644 --- a/public/locales/tr/translation.json +++ b/public/locales/tr/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Heroic Önbelleğini Temizle", "copiedToClipboard": "Panoya kopyalandı!", "copyToClipboard": "Tüm Ayarları Panoya Kopyala", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "Genel", "log": "Log", diff --git a/public/locales/zh_Hans/translation.json b/public/locales/zh_Hans/translation.json index 96bbe9e40e..fd73c1d124 100644 --- a/public/locales/zh_Hans/translation.json +++ b/public/locales/zh_Hans/translation.json @@ -257,6 +257,9 @@ "clear-cache": "清理 Heroic 缓存", "copiedToClipboard": "已复制到剪贴板!", "copyToClipboard": "复制所有设置到剪贴板", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "常规", "log": "Log", diff --git a/public/locales/zh_Hant/translation.json b/public/locales/zh_Hant/translation.json index 43bc34e42f..5ade33d6d0 100644 --- a/public/locales/zh_Hant/translation.json +++ b/public/locales/zh_Hant/translation.json @@ -257,6 +257,9 @@ "clear-cache": "Clear Heroic Cache", "copiedToClipboard": "Copied to Clipboard!", "copyToClipboard": "Copy All Setting to Clipboard", + "log": { + "long-log-hint": "Log truncated, last 1000 lines are shown!" + }, "navbar": { "general": "一般", "log": "Log", diff --git a/src/screens/Settings/components/LogSettings/index.css b/src/screens/Settings/components/LogSettings/index.css index 24f8d89db2..b9a19dfe8d 100644 --- a/src/screens/Settings/components/LogSettings/index.css +++ b/src/screens/Settings/components/LogSettings/index.css @@ -26,10 +26,6 @@ padding-inline: 6px; max-height: 25em; max-width: 622px; - overflow: hidden; -} - -.log-box:hover { overflow: auto; } @@ -51,3 +47,13 @@ .log-info { color: rgb(175, 172, 172); } + +.long-log-hint { + font-style: italic; + color: #f5cf69; +} + +.icon { + font-size: 40px; + animation: refreshing 1.5s infinite; +} diff --git a/src/screens/Settings/components/LogSettings/index.tsx b/src/screens/Settings/components/LogSettings/index.tsx index d08e7bab72..8ed83700ac 100644 --- a/src/screens/Settings/components/LogSettings/index.tsx +++ b/src/screens/Settings/components/LogSettings/index.tsx @@ -3,6 +3,8 @@ import React, { useEffect, useState } from 'react' import { useTranslation } from 'react-i18next' import FolderOpenIcon from '@mui/icons-material/FolderOpen' import ContentCopyIcon from '@mui/icons-material/ContentCopy' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { faSyncAlt } from '@fortawesome/free-solid-svg-icons' const { ipcRenderer } = window.require('electron') @@ -16,25 +18,34 @@ export default function LogSettings({ isDefault, appName }: Props) { const [logFileContent, setLogFileContent] = useState('') const [logFileExist, setLogFileExist] = useState(false) const [defaultLast, setDefaultLast] = useState(false) + const [refreshing, setRefreshing] = useState(true) - const getLogContent = (defaultLast: boolean) => { + const getLogContent = () => { ipcRenderer .invoke('getLogContent', { isDefault, appName, defaultLast }) .then((content: string) => { setLogFileContent(content) setLogFileExist(true) + setRefreshing(false) }) .catch(() => { setLogFileContent(t('setting.log.no-file', 'No log file found.')) setLogFileExist(false) + setRefreshing(false) }) } useEffect(() => { - const interval = setInterval(() => { - getLogContent(defaultLast) - }, 500) - return () => clearInterval(interval) + if (defaultLast || !isDefault) { + getLogContent() + return + } else { + getLogContent() + const interval = setInterval(() => { + getLogContent() + }, 1000) + return () => clearInterval(interval) + } }, [defaultLast]) function showLogFileInFolder() { @@ -47,43 +58,33 @@ export default function LogSettings({ isDefault, appName }: Props) { setDefaultLast(false)} + onClick={() => { + setRefreshing(true) + setDefaultLast(false) + }} title={t('setting.log.current-log')} > {t('setting.log.current-log', 'Current log')} setDefaultLast(true)} + onClick={() => { + setRefreshing(true) + setDefaultLast(true) + }} title={t('setting.log.last-log')} > {t('setting.log.last-log', 'Last Log')} )} - - {logFileContent?.split('\n').map((line, key) => { - if (line.toLowerCase().includes('err')) { - return ( -

- {line} -

- ) - } else if (line.toLowerCase().includes('warn')) { - return ( -

- {line} -

- ) - } else { - return ( -

- {line} -

- ) - } - })} -
+ {refreshing ? ( + + + + ) : ( + formatLogBox() + )} {logFileExist && ( ) + + function formatLogBox() { + const maxLines = 1000 + let sliced = false + let lines = logFileContent.split('\n') + if (lines.length > maxLines) { + lines = ['...', ...lines.slice(-maxLines)] + sliced = true + } + + return ( + <> + {sliced && ( + + {t( + 'settings.log.long-log-hint', + 'Log truncated, last 1000 lines are shown!' + )} + + )} + + {lines.map((line, key) => { + if (line.toLowerCase().includes(' err')) { + return ( +

+ {line} +

+ ) + } else if (line.toLowerCase().includes(' warn')) { + return ( +

+ {line} +

+ ) + } else { + return ( +

+ {line} +

+ ) + } + })} +
+ + ) + } } diff --git a/yarn.lock b/yarn.lock index bf1bc05a6c..287f244c7d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1221,15 +1221,15 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@fontsource/cabin@^4.2.1": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@fontsource/cabin/-/cabin-4.5.0.tgz#c438bfec9cade7adc19fa469d11652e909801357" - integrity sha512-0BsaPOruXFIFmn5DoAZb9eJXL3Ycb0wWztZ5mff6AkFHAA+quclOfgV8c5vIqC6AO0h8zmJUrZjV/IryP9WvmA== +"@fontsource/cabin@^4.5.1": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@fontsource/cabin/-/cabin-4.5.1.tgz#3ced18ec40d8c98d7d4f7cf63ad567f221211289" + integrity sha512-HS/ZWb8kOWp4AqIwKmh9Ej0MFbKs1cwniWnMAoJKj7x+3GCVedMS8i9EsNhwWC9KGVbDeYS+dyiTaZfnHd3bVA== -"@fontsource/rubik@^4.2.1": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@fontsource/rubik/-/rubik-4.5.0.tgz#e6e86606903d7102c565eec4b1339298308c3acb" - integrity sha512-evvN6wFvc4gH9X3PuRkAfaWXJya5jcZxbMpAsiQIfq8KUCSBx74Rknm5M6hpRuB9AdxdchF/A3p18VkR9RZy2g== +"@fontsource/rubik@^4.5.1": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@fontsource/rubik/-/rubik-4.5.1.tgz#247f01ae16542cb2d43542dff713030fa50c7126" + integrity sha512-HJPvEROpyC1//FtgVzWYV+oYByFxY4rT97c6wmbaKCjq14Jn7Duqfz/TgT7RTvbpyOUrzlzXJZkp5SyS1udmVw== "@fortawesome/fontawesome-common-types@^0.3.0-beta3": version "0.3.0-beta3" @@ -1491,10 +1491,10 @@ lodash "^4.17.15" tmp-promise "^3.0.2" -"@mui/base@5.0.0-alpha.66": - version "5.0.0-alpha.66" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.66.tgz#5f03e641daecbc54a7b03d6368e625fef45cb7e4" - integrity sha512-LARfVx0HmGV5YwU2pdIqEApQwz/CtEnYtKkV856hlY0cgi5NQL2htzZ/9ujKz0j3LFUaMYiYuJ2AOwrNtGFGrw== +"@mui/base@5.0.0-alpha.67": + version "5.0.0-alpha.67" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.67.tgz#da2423b96204f71cf37bcfcf3054667f38361eb8" + integrity sha512-yK2++NivZUitAVpheMc5QVuwrVCphrTw85L6qjKcvnSpB8wmVYne58CY2vzMCNEuHkuHG2jccq9/JlRZFGAanw== dependencies: "@babel/runtime" "^7.16.7" "@emotion/is-prop-valid" "^1.1.1" @@ -1511,14 +1511,14 @@ dependencies: "@babel/runtime" "^7.16.7" -"@mui/material@^5.3.1": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.3.1.tgz#23c1e71b9cf995837ff5fdca34ac5052496861f5" - integrity sha512-XWPsJ2jet2zfnKojth5d2IaHIJPpJnHq1ACCSlNf898BjYh1j50gRWsPpIHiptQ0oc0pdWmMcmrXbdANKR1ybw== +"@mui/material@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.4.0.tgz#b54d9fbcad5c4036b95c53906f0fc9c16c980f6e" + integrity sha512-vfBIAMsRNWI/A4p/eP01MjqhSACwxRGYp/2Yi7WAU64PpI/TXR4b9SRl+XJMMJXVC7+abu4E3hTdF3oqwMCSYA== dependencies: "@babel/runtime" "^7.16.7" - "@mui/base" "5.0.0-alpha.66" - "@mui/system" "^5.3.0" + "@mui/base" "5.0.0-alpha.67" + "@mui/system" "^5.4.0" "@mui/types" "^7.1.0" "@mui/utils" "^5.3.0" "@types/react-transition-group" "^4.4.4" @@ -1547,10 +1547,10 @@ "@emotion/cache" "^11.7.1" prop-types "^15.7.2" -"@mui/system@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.3.0.tgz#cd2c5fd7631f2c90f0072c866015bb24e319b66e" - integrity sha512-mblz3EObrhhIMPwSEe2Az7MbMaXOFgrvItPOzZwcY5O9qERB7Rr8KQgbU8VouWLUqyV2i8BaFpLrkKPA6eX2Aw== +"@mui/system@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.4.0.tgz#ff79c4922b8cea8c6e05946587fa9a3b938ab729" + integrity sha512-LX7g5gK5yCwiueSUVG73uVNc0yeHjsWUIFLrnPjP3m+J7O38RkPqyao5nZahhaSL1PGNbR9+zfkxljXthO9QqA== dependencies: "@babel/runtime" "^7.16.7" "@mui/private-theming" "^5.3.0" From 02e82ce7a8406f6f91fa3163ef933b763a161943 Mon Sep 17 00:00:00 2001 From: "Weblate (bot)" Date: Sun, 6 Feb 2022 13:41:45 +0100 Subject: [PATCH 7/9] Translations update from Hosted Weblate (#957) * Update translation files Updated by "Squash Git commits" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/gamepage/ Translation: Heroic Games Launcher/GamePage * Update translation files Updated by "Squash Git commits" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/gamepage/ Translation: Heroic Games Launcher/GamePage * Update translation files Updated by "Squash Git commits" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/gamepage/ Translation: Heroic Games Launcher/GamePage * Update translation files Updated by "Squash Git commits" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/gamepage/ Translation: Heroic Games Launcher/GamePage * Update translation files Updated by "Squash Git commits" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/gamepage/ Translation: Heroic Games Launcher/GamePage * Update translation files Updated by "Squash Git commits" hook in Weblate. Translation: Heroic Games Launcher/Globals Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/globals/ --- public/locales/de/gamepage.json | 2 +- public/locales/de/translation.json | 4 +- public/locales/en/gamepage.json | 6 +-- public/locales/en/login.json | 12 ++--- public/locales/en/translation.json | 10 ++-- public/locales/tr/gamepage.json | 4 +- public/locales/tr/login.json | 8 +-- public/locales/tr/translation.json | 44 ++++++++-------- public/locales/uk/translation.json | 67 ++++++++++++++++++++++--- public/locales/zh_Hans/gamepage.json | 2 +- public/locales/zh_Hans/login.json | 8 +-- public/locales/zh_Hans/translation.json | 34 ++++++------- 12 files changed, 126 insertions(+), 75 deletions(-) diff --git a/public/locales/de/gamepage.json b/public/locales/de/gamepage.json index 629c02511f..63316a9064 100644 --- a/public/locales/de/gamepage.json +++ b/public/locales/de/gamepage.json @@ -23,7 +23,7 @@ "title": "Installation abbrechen" }, "uninstall": { - "checkbox": "Would you like to remove the prefix aswell? This can't be undone.", + "checkbox": "Möchten Sie das Prefix ebenfalls entfernen? Dies kann nicht rückgängig gemacht werden", "checkbox_prefix": "Prefix", "message": "Möchten Sie dieses Spiel deinstallieren?", "title": "Deinstallieren" diff --git a/public/locales/de/translation.json b/public/locales/de/translation.json index d37173a5b4..bfcd70af49 100644 --- a/public/locales/de/translation.json +++ b/public/locales/de/translation.json @@ -43,7 +43,7 @@ "ok": "Ok", "protocol": { "install": { - "not_installed": "Ist nicht installiert, möchten Sie es installieren?" + "not_installed": "Momentan nicht installiert. Installieren?" } }, "quit": { @@ -196,7 +196,7 @@ "setting": { "adddesktopshortcuts": "Desktop-Verknüpfungen automatisch hinzufügen", "addgamestostartmenu": "Spiele automatisch zum Startmenü hinzufügen", - "alt-legendary-bin": "Alternative Legendary Binärdatei auswählen (benötigt Neustart)", + "alt-legendary-bin": "Alternative Legendary Binärdatei auswählen (Neustart erforderlich)", "audiofix": "Audio-Fix (Pulse Audio Latenz)", "autodxvk": "Automatisches Installieren/Aktualisieren von DXVK im Prefix", "autosync": "Spielstände automatisch synchronisieren", diff --git a/public/locales/en/gamepage.json b/public/locales/en/gamepage.json index a1bd83a592..68dba4bf70 100644 --- a/public/locales/en/gamepage.json +++ b/public/locales/en/gamepage.json @@ -9,7 +9,7 @@ "importpath": "Choose Game Folder to import", "move": { "message": "This can take a long time, are you sure?", - "path": "Choose where do you want to move", + "path": "Choose where you want to move", "title": "Move Game Installation" }, "no": "NO", @@ -23,13 +23,13 @@ "title": "Stop Installation" }, "uninstall": { - "checkbox": "Would you like to remove the prefix aswell? This can't be undone.", + "checkbox": "Would you like to remove the prefix as well? This can't be undone.", "checkbox_prefix": "Prefix", "message": "Do you want to uninstall this game?", "title": "Uninstall" }, "update": { - "message": "This game has an update, do you wish to update now?", + "message": "This game has an update, apply update now?", "title": "Game Needs Update" }, "wineprefix": "Select WinePrefix Folder", diff --git a/public/locales/en/login.json b/public/locales/en/login.json index 706a59a064..86c6a4a71d 100644 --- a/public/locales/en/login.json +++ b/public/locales/en/login.json @@ -3,17 +3,17 @@ "login": "Log in" }, "input": { - "placeholder": "Paste the SID number here" + "placeholder": "Paste your SID number here" }, "message": { - "part1": "In order for you to be able to log in and install your games, you first need you to follow the steps below:", - "part2": "Open", + "part1": "In order to log in and install your games, you first need to follow the steps below:", + "part2": "Open the", "part3": "Epic Store here", - "part4": ", log in your account and copy your", + "part4": ", log in to your account and copy your", "part5": "SID information number", - "part6": "Paste the", + "part6": "Paste your", "part7": "SID number", - "part8": "in the input box below, click on the login button and wait." + "part8": "in the input box below and click on the login button." }, "status": { "error": "Error", diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index 2855e336fd..c6321cc456 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -3,17 +3,17 @@ "Assets": "Assets", "box": { "appupdate": { - "message": "There is a new version of Heroic Available, do you want to update now?", + "message": "There is a new version of Heroic available, do you want to update now?", "title": "Update Available" }, "cache-cleared": { "message": "Heroic cache cleared.", - "title": "Cache Cleared" + "title": "Cache cleared" }, "choose": "Choose", "choose-egs-prefix": "Choose Prefix where EGS is installed", - "choose-legendary-binary": "Select Legendary Binary", - "customWine": "Select the Wine or Proton Binary", + "choose-legendary-binary": "Select Legendary binary", + "customWine": "Select the Wine or Proton binary", "default-install-path": "Choose Default Install Path", "error": { "credentials": { @@ -101,7 +101,7 @@ "Filter": "Filter", "globalSettings": "Global Settings", "help": { - "general": "Sync with EGS in case you have a working installation of the Epic Games Store elsewhere and want to import your games to avoid downloading them again.", + "general": "Sync with EGL in case you have a working installation of the Epic Games Launcher elsewhere and want to import your games to avoid downloading them again.", "other": { "part1": "Use the ", "part2": "Advanced Options", diff --git a/public/locales/tr/gamepage.json b/public/locales/tr/gamepage.json index c8ffb6dfd3..de92754954 100644 --- a/public/locales/tr/gamepage.json +++ b/public/locales/tr/gamepage.json @@ -23,13 +23,13 @@ "title": "Kurulumu Durdur" }, "uninstall": { - "checkbox": "Would you like to remove the prefix aswell? This can't be undone.", + "checkbox": "Prefix'i de kaldırmak ister misiniz? Bu geri alınamaz.", "checkbox_prefix": "Prefix", "message": "Oyunu kaldırmak istiyor musunuz?", "title": "Kaldır" }, "update": { - "message": "Bu oyunun bir güncellemesi var, şimdi güncellemek ister misiniz?", + "message": "Bu oyunun bir güncellemesi var, güncelleme şimdi uygulansın mı?", "title": "Oyunun Güncellenmesi Gerekiyor" }, "wineprefix": "Wine Prefix Klasörünü Seçin", diff --git a/public/locales/tr/login.json b/public/locales/tr/login.json index ea7cba49f6..5a5da310c9 100644 --- a/public/locales/tr/login.json +++ b/public/locales/tr/login.json @@ -3,17 +3,17 @@ "login": "Oturum Aç" }, "input": { - "placeholder": "SID numarasını buraya yapıştırın" + "placeholder": "SID numaranızı buraya yapıştırın" }, "message": { "part1": "Oturum açabilmeniz ve oyunlarınızı kurabilmeniz için öncelikle aşağıdaki adımları uygulamanız gerekiyor:", "part2": "Epic Store'u", "part3": "buradan", - "part4": " açın, hesabınıza giriş yapın ve", + "part4": "açın, hesabınıza giriş yapın ve", "part5": "SID bilgi numarasını kopyalayın", "part6": "Aşağıdaki kutucuğa", - "part7": "SID numarasını", - "part8": "yapıştırın, oturum aç düğmesine tıklayın ve bekleyin." + "part7": "SID numaranızı", + "part8": "yapıştırın ve oturum aç düğmesine tıklayın." }, "status": { "error": "Hata", diff --git a/public/locales/tr/translation.json b/public/locales/tr/translation.json index fa2526d85b..1aa77448f6 100644 --- a/public/locales/tr/translation.json +++ b/public/locales/tr/translation.json @@ -8,13 +8,13 @@ }, "cache-cleared": { "message": "Heroic önbelleği temizlendi.", - "title": "Önbellek Temizlendi" + "title": "Önbellek temizlendi" }, "choose": "Seç", "choose-egs-prefix": "EGS'nin kurulu olduğu yeri seçin", - "choose-legendary-binary": "Legendary Çalıştırılabilir Dosyası Seç", - "customWine": "Wine ya da Proton Dosyasını Seçin", - "default-install-path": "Varsayılan Kurulum Yerini Seçin", + "choose-legendary-binary": "Legendary çalıştırılabilir dosyasını seç", + "customWine": "Wine veya Proton çalıştırılabilir dosyasını seç", + "default-install-path": "Öntanımlı Kurulum Yerini Seçin", "error": { "credentials": { "message": "Kimlik bilgilerinizin süresi doldu, lütfen oturumunuzu kapatın ve tekrar oturum açın.", @@ -74,11 +74,11 @@ }, "warning": { "epic": { - "import": "Epic Servers are having major outage right now, the game cannot be imported!", - "install": "Epic Servers are having major outage right now, the game cannot be installed!", - "update": "Epic Servers are having major outage right now, the game cannot be updated!" + "import": "Epic Sunucuları şu anda büyük bir kesinti yaşıyor, oyun içe aktarılamıyor!", + "install": "Epic Sunucuları şu anda büyük bir kesinti yaşıyor, oyun kurulamıyor!", + "update": "Epic Sunucuları şu anda büyük bir kesinti yaşıyor, oyun güncellenemiyor!" }, - "title": "Warning" + "title": "Uyarı" }, "wineprefix": "Wine Prefix Klasörünü Seçin", "yes": "EVET" @@ -91,7 +91,7 @@ }, "Downloading": "İndiriliyor", "epic": { - "offline-notification-body": "Heroic will not work probably!", + "offline-notification-body": "Heroic muhtemelen çalışmayacak!", "offline-notification-title": "offline" }, "Epic Games": "Epic Games", @@ -101,7 +101,7 @@ "Filter": "Filtre", "globalSettings": "Genel Ayarlar", "help": { - "general": "Başka bir yerde çalışan bir Epic Games Store kurulumunuz varsa ve oyunlarınızı tekrar indirmemek için onları içeri aktarmak istiyorsanız EGS ile eşzamanlayın.", + "general": "Başka bir yerde çalışan bir Epic Games Launcher kurulumunuz varsa ve oyunlarınızı tekrar indirmemek için onları içeri aktarmak istiyorsanız EGL ile eşzamanlayın.", "other": { "part1": "Oyun başlatılmadan önce çağırılması için ", "part2": "Gelişmiş Seçenekler", @@ -205,7 +205,7 @@ "checkForUpdatesOnStartup": "Açılışta Güncellemeleri Denetle", "customWineProton": "Özel Wine/Proton Yolları", "darktray": "Karanlık Tepsi İkonu Kullan", - "default-install-path": "Varsayılan Kurulum Yeri", + "default-install-path": "Öntanımlı Kurulum Yeri", "defaultWinePrefix": "Yeni Wine Prefix'leri için Klasörü Ayarla", "discordRPC": "Discord Rich Presence'i Etkinleştir", "egs-sync": "Kurulu Epic Games ile Eşzamanla", @@ -217,11 +217,11 @@ "gamemode": "Oyun Modu Kullan (Feral Game Mode yüklü olmalıdır)", "language": "Uygulama Dilini Seç", "log": { - "copy-to-clipboard": "Copy log content to clipboard", - "current-log": "Current Log", - "last-log": "Last Log", - "no-file": "No log file found", - "show-in-folder": "Show log file in folder" + "copy-to-clipboard": "Günlük içeriğini panoya kopyala", + "current-log": "Geçerli Günlük", + "last-log": "Son Günlük", + "no-file": "Günlük dosyası bulunamadı", + "show-in-folder": "Günlük dosyasını klasörde göster" }, "mangohud": "Mangohud'u Etkinleştir (Mangohud kurulu olmalıdır)", "manualsync": { @@ -287,8 +287,8 @@ }, "toolbox": { "settings": { - "default-wineprefix": "Select the default prefix folder for new configs", - "wineprefix": "Select a Folder for new Wine Prefixes" + "default-wineprefix": "Yeni yapılandırmalar için öntanımlı prefix klasörünü seçin", + "wineprefix": "Yeni Wine Prefix'leri için bir Klasör Seçin" } }, "tooltip": { @@ -313,10 +313,10 @@ "wiki": "Wiki", "wine": { "manager": { - "error": "Could not fetch Wine/Proton versions this time.", - "link": "Wine Manager", - "title": "Wine Manager (Beta)", - "unzipping": "Unzipping" + "error": "Wine/Proton sürümleri bu defa alınamadı.", + "link": "Wine Yöneticisi", + "title": "Wine Yöneticisi (Beta)", + "unzipping": "Çıkartılıyor" } } } diff --git a/public/locales/uk/translation.json b/public/locales/uk/translation.json index d3590ec195..f2f34541f3 100644 --- a/public/locales/uk/translation.json +++ b/public/locales/uk/translation.json @@ -35,7 +35,10 @@ "error": "Неіснуючий шлях", "button": "Обрати" }, - "select": "Обрати", + "select": { + "button": "Обрати", + "exe": "Оберіть EXE" + }, "runexe": { "title": "Оберіть EXE щоб запустити" }, @@ -45,7 +48,7 @@ }, "protocol": { "install": { - "not_installed": "Не інстальовано, бажаєте встановити?" + "not_installed": "Наразі не встановлена, встановити?" } }, "no": "НІ", @@ -67,6 +70,10 @@ "credentials": { "title": "Термін дії облікових даних скінчився", "message": "Термін дії ваших облікових даних скінчився, будь ласка вийдіть і увійдіть знову." + }, + "wine-not-found": { + "message": "Не обрана версія Wine. Перевірте налаштування гри!", + "title": "Wine не знайдено" } }, "default-install-path": "Обрати стандартний шлях інсталяції", @@ -76,7 +83,27 @@ "appupdate": { "title": "Оновлення доступне", "message": "Нова версія Heroic доступна. Оновити зараз?" - } + }, + "warning": { + "epic": { + "import": "На Epic серверах сталася значна аварія, неможливо імпортувати гру!", + "install": "На Epic серверах сталася значна аварія, неможливо встановити гру!", + "update": "На Epic серверах сталася значна аварія, неможливо оновити гру!" + }, + "title": "Увага" + }, + "reset-heroic": { + "question": { + "title": "Скинути Heroic", + "message": "Справді бажаєте скинути Heroic? Це прибере всі налаштування та кешування, але не встановлені ігри та дані вашого Epic акаунта" + } + }, + "cache-cleared": { + "title": "Кеш очищено", + "message": "Кеш Heroic очищено." + }, + "ok": "Гаразд", + "choose-legendary-binary": "Оберіть бінарний файл Legendary" }, "Assets": "Ассети", "All": "Все", @@ -132,7 +159,7 @@ "addgamestostartmenu": "Додавати ігри до головного меню автоматично", "adddesktopshortcuts": "Створювати ярлики на робочому столі автоматично" }, - "Recent": "Нещодавні ігри", + "Recent": "Нещодавно зіграні", "search": "Введіть назву гри тут...", "Return": "Повернутись", "Ready": "Готове", @@ -142,7 +169,8 @@ "egs-prefix": "Префікс де встановлено EGS" }, "other": { - "weblate": "Допоможіть перекласти Heroic." + "weblate": "Допоможіть перекласти Heroic.", + "legendary-version": "Версія Legendary: " }, "options": { "gameargs": { @@ -151,21 +179,29 @@ }, "advanced": { "title": "Додаткові налаштування (варіації оточення):", - "placeholder": "Додайте сюди инші опції запуску" + "placeholder": "Додайте сюди инші параметри запуску" } }, "notify": { "update": { - "canceled": "Оновлення скасовано" + "canceled": "Оновлення скасовано", + "finished": "Оновлення завершене", + "started": "Розпочалось оновлення" }, "uninstalled": "Деінстальовано", "moved": "Закінчено перенесення", "install": { "finished": "Встановлення закінчено", - "canceled": "Встановлення скасовано" + "canceled": "Встановлення скасовано", + "imported": "Гра імпортована", + "startInstall": "Розпочалось встановлення" }, "finished": { "reparing": "Відновлення закінчено" + }, + "error": { + "move": "Помилка під час переміщення гри", + "reparing": "Помилка під час відновлення" } }, "Not Ready": "Не готове", @@ -178,5 +214,20 @@ }, "status": { "loading": "Завантажуємо список ігор, будь ласка зачекайте" + }, + "login": { + "loginWithEpic": "Вхід через Epic", + "loginWithSid": "Зайти через SID" + }, + "filter": { + "noFilter": "Без фільтра" + }, + "loading": { + "website": "Завантаження вебсайта" + }, + "Epic Games": "Epic Games", + "epic": { + "offline-notification-body": "Heroic ймовірно не працюватиме!", + "offline-notification-title": "офлайн" } } diff --git a/public/locales/zh_Hans/gamepage.json b/public/locales/zh_Hans/gamepage.json index 93166d9c72..a2ccd4269a 100644 --- a/public/locales/zh_Hans/gamepage.json +++ b/public/locales/zh_Hans/gamepage.json @@ -23,7 +23,7 @@ "title": "停止安装" }, "uninstall": { - "checkbox": "Would you like to remove the prefix aswell? This can't be undone.", + "checkbox": "你是否也要删除前缀?此操作无法撤销。", "checkbox_prefix": "Prefix", "message": "你希望卸载这个游戏吗?", "title": "卸载" diff --git a/public/locales/zh_Hans/login.json b/public/locales/zh_Hans/login.json index e7c0e8c443..aa8ff82125 100644 --- a/public/locales/zh_Hans/login.json +++ b/public/locales/zh_Hans/login.json @@ -6,19 +6,19 @@ "placeholder": "在此处粘贴SID号" }, "message": { - "part1": "为了让您能够登录并安装您的游戏,您首先需要按照以下步骤操作:", + "part1": "为了登录并安装游戏,你需要按照以下步骤操作:", "part2": "打开", "part3": "Epic Games商城", - "part4": ",登录您的账户,复制你的", + "part4": ",登录你的账户,复制你的", "part5": "SID信息号码", "part6": "粘贴", "part7": "SID号码", - "part8": "到下面的输入框中,点击登录并稍等。" + "part8": "到下面的输入框中,并点击登录按钮。" }, "status": { "error": "错误", "loading": "正在加载游戏列表,请稍后", "logging": "正在登录…" }, - "welcome": "欢迎您!" + "welcome": "欢迎你!" } diff --git a/public/locales/zh_Hans/translation.json b/public/locales/zh_Hans/translation.json index fd73c1d124..85863462e6 100644 --- a/public/locales/zh_Hans/translation.json +++ b/public/locales/zh_Hans/translation.json @@ -3,21 +3,21 @@ "Assets": "素材", "box": { "appupdate": { - "message": "有新版本的Heroic启动器可用,您要立即更新吗?", + "message": "有新版本的Heroic启动器可用,你要立即更新吗?", "title": "有可用更新" }, "cache-cleared": { "message": "Heroic 缓存已清理。", - "title": "缓存清理" + "title": "缓存已清理" }, "choose": "请选择", "choose-egs-prefix": "选择已安装Epic Game商城的前缀", - "choose-legendary-binary": "选择Legendary二进制文件", - "customWine": "选择已编译的Wine或Proton", + "choose-legendary-binary": "选择 Legendary 二进制文件", + "customWine": "选择Wine或Proton二进制文件", "default-install-path": "选择默认安装路径", "error": { "credentials": { - "message": "您的凭据已过期,请注销并重新登录。", + "message": "你的凭据已过期,请注销并重新登录。", "title": "过期的登录凭据" }, "diskspace": { @@ -43,11 +43,11 @@ "ok": "是", "protocol": { "install": { - "not_installed": "当前未安装,您是否希望安装它?" + "not_installed": "当前未安装,你是否希望安装它?" } }, "quit": { - "message": "有待处理的操作,您确定吗?", + "message": "有待处理的操作,你确定吗?", "title": "退出" }, "reset-heroic": { @@ -91,7 +91,7 @@ }, "Downloading": "正在下载", "epic": { - "offline-notification-body": "Heroic will not work probably!", + "offline-notification-body": "Heroic 也许不会正常工作!", "offline-notification-title": "offline" }, "Epic Games": "Epic 游戏", @@ -101,7 +101,7 @@ "Filter": "筛选", "globalSettings": "全局设置", "help": { - "general": "与Epic Games商城同步,如果您在其他地方已经安装了Epic Games启动器,可以导入您的游戏以避免再次下载它们。", + "general": "与 Epic Games 启动器同步,如果你在其他地方安装了Epic Games 启动器,想要导入你的游戏,以免再次下载它们。", "other": { "part1": "使用 ", "part2": "高级选项", @@ -217,11 +217,11 @@ "gamemode": "使用GameMode(需要已安装Feral Game Mode)", "language": "选择应用语言", "log": { - "copy-to-clipboard": "Copy log content to clipboard", - "current-log": "Current Log", - "last-log": "Last Log", - "no-file": "No log file found", - "show-in-folder": "Show log file in folder" + "copy-to-clipboard": "复制日志内容到剪贴板", + "current-log": "当前日志", + "last-log": "上一日志", + "no-file": "未找到日志文件", + "show-in-folder": "显示文件夹中的日志文件" }, "mangohud": "启用MangoHud(需要已安装Mangohud)", "manualsync": { @@ -287,8 +287,8 @@ }, "toolbox": { "settings": { - "default-wineprefix": "Select the default prefix folder for new configs", - "wineprefix": "Select a Folder for new Wine Prefixes" + "default-wineprefix": "选择新配置的默认前缀文件夹", + "wineprefix": "为新的 Wine 前缀选择一个文件夹" } }, "tooltip": { @@ -307,7 +307,7 @@ "userselector": { "discord": "Discord", "logout": "退出登录", - "logout_confirmation": "您确定要退出登录吗?", + "logout_confirmation": "你确定要退出登录吗?", "quit": "退出" }, "wiki": "Wiki百科", From d944b8c867ff351fd7aba0e9b24187ee47073dbd Mon Sep 17 00:00:00 2001 From: Niklas <61798668+Nocccer@users.noreply.github.com> Date: Sun, 6 Feb 2022 14:29:31 +0100 Subject: [PATCH 8/9] [Bugfix] Fixed dependency zstd for debian based distros (#956) * Fixed dependency and installation of tools * lint fix * Removed electron 17.0.0 * lint fix --- electron/dxvk.ts | 20 ++++++++++++++++++-- package.json | 2 +- yarn.lock | 6 +++--- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/electron/dxvk.ts b/electron/dxvk.ts index 3c241282d7..0606640805 100644 --- a/electron/dxvk.ts +++ b/electron/dxvk.ts @@ -47,9 +47,13 @@ export const DXVK = { pastVersion = readFileSync(pastVersionCheck).toString().split('\n')[0] } - if (pastVersion === pkg) { + if ( + pastVersion === pkg && + existsSync(`${heroicToolsPath}/${tool.name}/${pkg}`) + ) { return } + const downloadCommand = `curl -L ${downloadUrl} -o ${latestVersion} --create-dirs` const extractCommand = `${tool.extractCommand} ${latestVersion} -C ${heroicToolsPath}/${tool.name}` const echoCommand = `echo ${pkg} > ${heroicToolsPath}/${tool.name}/latest_${tool.name}` @@ -63,7 +67,19 @@ export const DXVK = { logInfo(`extracting ${tool.name}`, LogPrefix.DXVKInstaller) exec(echoCommand) await execAsync(extractCommand) - logInfo(`extracting ${tool.name} updated!`, LogPrefix.DXVKInstaller) + .then(() => + logInfo( + `extracting ${tool.name} updated!`, + LogPrefix.DXVKInstaller + ) + ) + .catch((error) => + logError( + `Extraction of ${tool.name} failed with: ${error}`, + LogPrefix.DXVKInstaller + ) + ) + exec(cleanCommand) }) .catch((error) => { diff --git a/package.json b/package.json index 045a1ba535..00af0a4339 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "depends": [ "gawk", "curl", - "libzstd1" + "zstd" ] }, "pacman": { diff --git a/yarn.lock b/yarn.lock index 287f244c7d..f5d02ac30f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2100,9 +2100,9 @@ integrity sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw== "@types/node@^14.6.2": - version "14.18.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.9.tgz#0e5944eefe2b287391279a19b407aa98bd14436d" - integrity sha512-j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q== + version "14.18.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.10.tgz#774f43868964f3cfe4ced1f5417fe15818a4eaea" + integrity sha512-6iihJ/Pp5fsFJ/aEDGyvT4pHGmCpq7ToQ/yf4bl5SbVAvwpspYJ+v3jO7n8UyjhQVHTy+KNszOozDdv+O6sovQ== "@types/node@^17.0.10": version "17.0.10" From 1723f1c7bdd2d3c3fdecfbd251daaff8fbbdc704 Mon Sep 17 00:00:00 2001 From: Flavio F Lima Date: Sun, 6 Feb 2022 14:55:23 +0100 Subject: [PATCH 9/9] [Release] v2.1.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 00af0a4339..a53349da26 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "heroic", - "version": "2.1.0", + "version": "2.1.1", "private": true, "main": "public/main.js", "homepage": "./",