Compare commits

...

15 Commits

Author SHA1 Message Date
Zamitto
b9c7f992dc fix: aria2 process not being killed 2025-10-13 09:10:31 -03:00
Zamitto
97dc7653b0 chore: bump deps 2025-10-13 09:10:12 -03:00
Zamitto
330f38776f feat: change disk usage library as old one did not compile with more recent electron 2025-10-13 08:18:54 -03:00
Zamitto
b874138641 fix: also test executable name without extension 2025-10-13 08:17:50 -03:00
Chubby Granny Chaser
a439095260 fix: fixing hu translation
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-12 22:51:41 +01:00
Chubby Granny Chaser
5ff263e8c8 Merge pull request #1807 from Stormm232/main
Hungarian Translation: Aligned to latest update.
2025-10-12 22:46:06 +01:00
Kiwo.2
864c47ee46 Missing "," fix 2025-10-12 23:45:34 +02:00
Kiwo.2
523e19d97a Merge branch 'main' into main 2025-10-12 23:41:08 +02:00
Zamitto
03b2c8d07f fix: missing abortController after assets promise 2025-10-12 18:32:06 -03:00
Kiwo.2
d296830533 Matching *HU* translation to Latest 2025-10-12 23:30:52 +02:00
Kiwo.2
7fc4e17547 Merge branch 'hydralauncher:main' into main 2025-10-12 23:26:16 +02:00
Chubby Granny Chaser
636cf287c9 Merge branch 'main' of github.com:hydralauncher/hydra 2025-10-12 22:06:16 +01:00
Chubby Granny Chaser
84be238988 ci: version bump 2025-10-12 22:05:53 +01:00
Chubby Granny Chaser
494a2a0da5 Merge pull request #1806 from hydralauncher/fix/game_asset_changing_path
Fix: game asset changing path
2025-10-12 20:56:00 +01:00
Kiwo.2
aa4def327a New lines added for update 2025-10-07 19:39:25 +02:00
14 changed files with 824 additions and 595 deletions

View File

@@ -22,7 +22,7 @@ jobs:
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: 20.18.0 node-version: 20.18.3
- name: Install dependencies - name: Install dependencies
run: yarn --frozen-lockfile run: yarn --frozen-lockfile

View File

@@ -17,7 +17,7 @@ jobs:
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: 20.18.0 node-version: 20.18.3
- name: Install dependencies - name: Install dependencies
run: yarn --frozen-lockfile run: yarn --frozen-lockfile

View File

@@ -6,7 +6,7 @@ concurrency:
on: on:
push: push:
branches: main branches: [main]
jobs: jobs:
build: build:
@@ -23,7 +23,7 @@ jobs:
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: 20.18.0 node-version: 20.18.3
- name: Install dependencies - name: Install dependencies
run: yarn --frozen-lockfile run: yarn --frozen-lockfile

View File

@@ -1,6 +1,6 @@
{ {
"name": "hydralauncher", "name": "hydralauncher",
"version": "3.6.8", "version": "3.7.0",
"description": "Hydra", "description": "Hydra",
"main": "./out/main/index.js", "main": "./out/main/index.js",
"author": "Los Broxas", "author": "Los Broxas",
@@ -32,13 +32,13 @@
"protoc": "npx protoc --ts_out src/main/generated --proto_path proto proto/*.proto" "protoc": "npx protoc --ts_out src/main/generated --proto_path proto proto/*.proto"
}, },
"dependencies": { "dependencies": {
"@electron-toolkit/preload": "^3.0.0", "@electron-toolkit/preload": "^3.0.2",
"@electron-toolkit/utils": "^3.0.0", "@electron-toolkit/utils": "^4.0.0",
"@fontsource/noto-sans": "^5.1.0", "@fontsource/noto-sans": "^5.2.10",
"@hookform/resolvers": "^3.9.1", "@hookform/resolvers": "^5.2.2",
"@monaco-editor/react": "^4.6.0", "@monaco-editor/react": "^4.6.0",
"@primer/octicons-react": "^19.9.0", "@primer/octicons-react": "^19.9.0",
"@radix-ui/react-dropdown-menu": "^2.1.2", "@radix-ui/react-dropdown-menu": "^2.1.16",
"@reduxjs/toolkit": "^2.2.3", "@reduxjs/toolkit": "^2.2.3",
"@tiptap/extension-bold": "^3.6.2", "@tiptap/extension-bold": "^3.6.2",
"@tiptap/extension-italic": "^3.6.2", "@tiptap/extension-italic": "^3.6.2",
@@ -47,8 +47,9 @@
"@tiptap/react": "^3.6.2", "@tiptap/react": "^3.6.2",
"@tiptap/starter-kit": "^3.6.2", "@tiptap/starter-kit": "^3.6.2",
"auto-launch": "^5.0.6", "auto-launch": "^5.0.6",
"axios": "^1.7.9", "axios": "^1.12.2",
"axios-cookiejar-support": "^5.0.5", "axios-cookiejar-support": "^5.0.5",
"check-disk-space": "^3.4.0",
"classic-level": "^2.0.0", "classic-level": "^2.0.0",
"classnames": "^2.5.1", "classnames": "^2.5.1",
"color": "^4.2.3", "color": "^4.2.3",
@@ -57,8 +58,7 @@
"create-desktop-shortcuts": "^1.11.1", "create-desktop-shortcuts": "^1.11.1",
"date-fns": "^3.6.0", "date-fns": "^3.6.0",
"dexie": "^4.0.10", "dexie": "^4.0.10",
"diskusage": "^1.2.0", "electron-log": "^5.4.3",
"electron-log": "^5.2.4",
"electron-updater": "^6.6.2", "electron-updater": "^6.6.2",
"embla-carousel-autoplay": "^8.6.0", "embla-carousel-autoplay": "^8.6.0",
"embla-carousel-react": "^8.6.0", "embla-carousel-react": "^8.6.0",
@@ -116,7 +116,7 @@
"@types/winreg": "^1.2.36", "@types/winreg": "^1.2.36",
"@types/ws": "^8.18.1", "@types/ws": "^8.18.1",
"@vitejs/plugin-react": "^4.2.1", "@vitejs/plugin-react": "^4.2.1",
"electron": "^32.3.3", "electron": "^33.4.11",
"electron-builder": "^26.0.12", "electron-builder": "^26.0.12",
"electron-vite": "^3.0.0", "electron-vite": "^3.0.0",
"eslint": "^8.56.0", "eslint": "^8.56.0",
@@ -130,8 +130,8 @@
"sass-embedded": "^1.80.6", "sass-embedded": "^1.80.6",
"ts-node": "^10.9.2", "ts-node": "^10.9.2",
"typescript": "^5.3.3", "typescript": "^5.3.3",
"vite": "^5.0.12", "vite": "5.4.20",
"vite-plugin-svgr": "^4.2.0" "vite-plugin-svgr": "^4.5.0"
}, },
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
} }

View File

@@ -32,8 +32,8 @@
"show_playable_only_tooltip": "Csak játszható játék mutatása", "show_playable_only_tooltip": "Csak játszható játék mutatása",
"custom_game_modal": "Saját játék hozzáadása:", "custom_game_modal": "Saját játék hozzáadása:",
"custom_game_modal_description": "Adj meg egy futtatható fájlt", "custom_game_modal_description": "Adj meg egy futtatható fájlt",
"custom_game_modal_executable_path": "A fájl útvonala", "custom_game_modal_executable_path": "Futtatható fájl",
"custom_game_modal_select_executable": "Az útvonal", "custom_game_modal_select_executable": "Fájl útvonala",
"custom_game_modal_title": "Játékcím", "custom_game_modal_title": "Játékcím",
"custom_game_modal_enter_title": "Játék elnevezése", "custom_game_modal_enter_title": "Játék elnevezése",
"custom_game_modal_browse": "Tallózás", "custom_game_modal_browse": "Tallózás",
@@ -43,7 +43,7 @@
"custom_game_modal_success": "Saját játék sikeresen hozzáadva", "custom_game_modal_success": "Saját játék sikeresen hozzáadva",
"custom_game_modal_failed": "Saját játék hozzáadása sikertelen", "custom_game_modal_failed": "Saját játék hozzáadása sikertelen",
"custom_game_modal_executable": "Futtatható fájl", "custom_game_modal_executable": "Futtatható fájl",
"edit_game_modal": "Játékmegjelenés", "edit_game_modal": "Játékmegjelenítése:",
"edit_game_modal_description": "Játékcím és vizuális elemek módosítása", "edit_game_modal_description": "Játékcím és vizuális elemek módosítása",
"edit_game_modal_title": "Játékcím", "edit_game_modal_title": "Játékcím",
"edit_game_modal_enter_title": "Játék elnevezése", "edit_game_modal_enter_title": "Játék elnevezése",
@@ -70,7 +70,25 @@
"edit_game_modal_icon_resolution": "Ajánlott felbontás: 256x256px", "edit_game_modal_icon_resolution": "Ajánlott felbontás: 256x256px",
"edit_game_modal_logo_resolution": "Ajánlott felbontás: 640x360px", "edit_game_modal_logo_resolution": "Ajánlott felbontás: 640x360px",
"edit_game_modal_hero_resolution": "Ajánlott felbontás: 1920x620px", "edit_game_modal_hero_resolution": "Ajánlott felbontás: 1920x620px",
"edit_game_modal_assets": "Vizuális elemek:" "edit_game_modal_assets": "Vizuális elemek:",
"edit_game_modal_drop_icon_image_here": "Húzd ide az ikon képét",
"edit_game_modal_drop_logo_image_here": "Húzd ide a logó képét",
"edit_game_modal_drop_hero_image_here": "Húzd ide a borítókép képét",
"edit_game_modal_drop_to_replace_icon": "Ikon kicserélése ráhúzással",
"edit_game_modal_drop_to_replace_logo": "Logó kicserélése ráhúzással",
"edit_game_modal_drop_to_replace_hero": "Borítókép kicserélése ráhúzással",
"install_decky_plugin": "Decky Plugin Telepítése",
"update_decky_plugin": "Decky Plugin Frissítése",
"decky_plugin_installed_version": "Decky Plugin (v{{version}})",
"install_decky_plugin_title": "Telepítsd a Hydra Decky Plugint",
"install_decky_plugin_message": "Ez letölti és telepíteni fogja a Hydra plugint a Decky Loaderhez. Előfordulhat, hogy rendszergazdai jogosultságra lesz szükség. Folytatod?",
"update_decky_plugin_title": "Hydra Decky Plugin Frissítése",
"update_decky_plugin_message": "Egy új verzió elérhető a Hydra Decky Pluginhoz. Szeretnéd frissíteni?",
"decky_plugin_installed": "Decky plugin v{{version}} sikeresen telepítve",
"decky_plugin_installation_failed": "Decky plugin telepítése sikertelen: {{error}}",
"decky_plugin_installation_error": "Decky plugin telepítése hibával járt el: {{error}}",
"confirm": "Megerősít",
"cancel": "Mégse"
}, },
"header": { "header": {
"search": "Keresés", "search": "Keresés",
@@ -120,7 +138,7 @@
"downloading_metadata": "Metaadat letöltése", "downloading_metadata": "Metaadat letöltése",
"filter": "Repackek szűrése", "filter": "Repackek szűrése",
"requirements": "Rendszerkövetelmények", "requirements": "Rendszerkövetelmények",
"minimum": "Minimum", "minimum": "Minimális",
"recommended": "Ajánlott", "recommended": "Ajánlott",
"paused": "Szüneteltetve", "paused": "Szüneteltetve",
"release_date": "Megjelenés: {{date}}", "release_date": "Megjelenés: {{date}}",
@@ -144,7 +162,7 @@
"playing_now": "Játékban: ", "playing_now": "Játékban: ",
"change": "Változtatás", "change": "Változtatás",
"repacks_modal_description": "Válaszd ki a repacket amit leszeretnél tölteni", "repacks_modal_description": "Válaszd ki a repacket amit leszeretnél tölteni",
"select_folder_hint": "Hogy megváltoztasd a letöltési mappát, menj a <0>Beállítások</0> menüjébe", "select_folder_hint": "A letöltési mappát a <0>Beállítások</0> menüjében változtathatod meg",
"download_now": "Letöltés", "download_now": "Letöltés",
"no_shop_details": "A bolt adatai nem érhetőek el.", "no_shop_details": "A bolt adatai nem érhetőek el.",
"download_options": "Letöltési opciók", "download_options": "Letöltési opciók",
@@ -160,17 +178,19 @@
"open_folder": "Mappa megnyitása", "open_folder": "Mappa megnyitása",
"open_download_location": "Letöltött fájlok megtekintése", "open_download_location": "Letöltött fájlok megtekintése",
"create_shortcut": "Asztali parancsikon létrehozása", "create_shortcut": "Asztali parancsikon létrehozása",
"create_shortcut_simple": "Parancsikon létrehozása",
"clear": "Visszavon", "clear": "Visszavon",
"remove_files": "Fájlok eltávolítása", "remove_files": "Fájlok eltávolítása",
"remove_from_library_title": "Biztos vagy ebben?", "remove_from_library_title": "Biztos vagy ebben?",
"remove_from_library_description": "Ezzel eltávolítod a játékot {{game}} a könyvtáradból", "remove_from_library_description": "Ezzel eltávolítod a játékot {{game}} a könyvtáradból",
"options": "Beállítások", "options": "Beállítások",
"properties": "További beállítások",
"executable_section_title": "Futtatható fájl", "executable_section_title": "Futtatható fájl",
"executable_section_description": "A fájl amely futtatásra fog kerülni amikor a \"Játék\" lenyomásra kerül", "executable_section_description": "A fájl amely futtatásra fog kerülni amikor a \"Játék\" lenyomásra kerül",
"downloads_section_title": "Letöltések", "downloads_section_title": "Letöltések",
"downloads_section_description": "Csekkold le a játék frissítéseit vagy más verzióit", "downloads_section_description": "Csekkold le a játék frissítéseit vagy más verzióit",
"danger_zone_section_title": "Veszélyzóna", "danger_zone_section_title": "Veszélyzóna",
"danger_zone_section_description": "Távolítsd el a játékot könyvtáradból, vagy a fájlokat amit a Hydra töltött le", "danger_zone_section_description": "Itt eltávolítható a játék a könyvtáradból, vagy a fájlok amelyek a Hydra által lettek letöltve",
"download_in_progress": "Letöltés folyamatban", "download_in_progress": "Letöltés folyamatban",
"download_paused": "Letöltés szüneteltetve", "download_paused": "Letöltés szüneteltetve",
"last_downloaded_option": "Utoljára letöltött", "last_downloaded_option": "Utoljára letöltött",
@@ -178,13 +198,21 @@
"create_shortcut_success": "A parancsikon létrehozása sikeres", "create_shortcut_success": "A parancsikon létrehozása sikeres",
"you_might_need_to_restart_steam": "Lehetséges hogy újrakell indítsd a Steamet hogy lásd a változást.", "you_might_need_to_restart_steam": "Lehetséges hogy újrakell indítsd a Steamet hogy lásd a változást.",
"create_shortcut_error": "Hiba lépett fel létrehozás közben", "create_shortcut_error": "Hiba lépett fel létrehozás közben",
"nsfw_content_title": "Ez a játék nem megfelelő tartalmat tartalmaz.", "add_to_favorites": "Kedvencekhez adás",
"nsfw_content_description": "{{title}} tartalmaz tartalmat amely nem megfelelő minden korosztálynak. Biztosan folytatni szeretnéd?", "remove_from_favorites": "Eltávolítás a kedvencek közül",
"failed_update_favorites": "Kedvencek frissítése sikertelen",
"game_removed_from_library": "Játék eltávolítva a könyvtárból",
"failed_remove_from_library": "Játék eltávolítása a könyvtárból sikertelen",
"files_removed_success": "Fájlok eltávolítása sikeres",
"failed_remove_files": "Fájlok eltávolítása sikertelen",
"nsfw_content_title": "Ez a játék tartalmaz nem megfelelő tartalmat",
"nsfw_content_description": "A(z) {{title}} tartalma lehetséges hogy nem megfelelő minden korosztály számára. Biztosan folytatni szeretnéd?",
"allow_nsfw_content": "Folytatás", "allow_nsfw_content": "Folytatás",
"refuse_nsfw_content": "Vissza", "refuse_nsfw_content": "Vissza",
"stats": "Statisztikák", "stats": "Statisztikák",
"download_count": "Letöltések", "download_count": "Letöltések",
"player_count": "Aktív játékosok", "player_count": "Aktív játékosok",
"rating_count": "Értékelés",
"download_error": "Ez a letöltési opció nem elérhető", "download_error": "Ez a letöltési opció nem elérhető",
"download": "Letöltés", "download": "Letöltés",
"executable_path_in_use": "Ez a futtatható fájl már használatban van a(z) \"{{game}}\" által", "executable_path_in_use": "Ez a futtatható fájl már használatban van a(z) \"{{game}}\" által",
@@ -192,6 +220,39 @@
"hydra_needs_to_remain_open": "ehhez a letöltéshez, a Hydrának muszáj nyitva maradnia hogy letöltődjön. Ha a Hydra bezáródik letöltés előtt, a letöltés elveszik.", "hydra_needs_to_remain_open": "ehhez a letöltéshez, a Hydrának muszáj nyitva maradnia hogy letöltődjön. Ha a Hydra bezáródik letöltés előtt, a letöltés elveszik.",
"achievements": "Achievementek", "achievements": "Achievementek",
"achievements_count": "Achievementek {{unlockedCount}}/{{achievementsCount}}", "achievements_count": "Achievementek {{unlockedCount}}/{{achievementsCount}}",
"show_more": "Mutass többet",
"show_less": "Mutass kevesebbet",
"reviews": "Vélemények",
"leave_a_review": "Hagyd itt a véleményed",
"write_review_placeholder": "Oszd meg a gondolataid a játékról...",
"sort_newest": "Legújabb",
"no_reviews_yet": "Még nem lett vélemény megosztva",
"be_first_to_review": "Légy az első, aki megossza a véleményét a játékról!",
"sort_oldest": "Legrégibb",
"sort_highest_score": "Legmagasabb Pontszám",
"sort_lowest_score": "Legalacsonyabb Pontszám",
"sort_most_voted": "Legszavazottabb",
"rating": "Értékelés",
"rating_stats": "Értékelés",
"rating_very_negative": "Nagyon Negatív",
"rating_negative": "Negatív",
"rating_neutral": "Átlagos",
"rating_positive": "Pozitív",
"rating_very_positive": "Nagyon Pozitív",
"submit_review": "Küldés",
"submitting": "Küldés alatt...",
"review_submitted_successfully": "Vélemény beküldve sikeresen!",
"review_submission_failed": "Vélemény beküldése sikertelen. Kérlek próbáld újra.",
"review_cannot_be_empty": "A vélemény mező nem lehet üres.",
"review_deleted_successfully": "Vélemény sikeresen törölve.",
"review_deletion_failed": "Vélemény törlése sikertelen. Kérlek próbáld újra.",
"loading_reviews": "Vélemények betöltése...",
"loading_more_reviews": "Több vélemény betöltése...",
"load_more_reviews": "Több vélemény betöltése",
"you_seemed_to_enjoy_this_game": "Úgy látszik élvezted ezt a játékot",
"would_you_recommend_this_game": "Szeretnél véleményt írni erről a játékról?",
"yes": "Igen",
"maybe_later": "Talán Később",
"cloud_save": "Mentés felhőben", "cloud_save": "Mentés felhőben",
"cloud_save_description": "Mentsd el az előrehaladásod a felhőben, majd folytasd egy másik eszközön", "cloud_save_description": "Mentsd el az előrehaladásod a felhőben, majd folytasd egy másik eszközön",
"backups": "Biztonsági másolatok", "backups": "Biztonsági másolatok",
@@ -204,6 +265,7 @@
"uploading_backup": "Biztonsági mentés feltöltése…", "uploading_backup": "Biztonsági mentés feltöltése…",
"no_backups": "Még nem hoztál létre biztonsági másolatot ehhez a játékhoz", "no_backups": "Még nem hoztál létre biztonsági másolatot ehhez a játékhoz",
"backup_uploaded": "Biztonsági mentés feltöltve", "backup_uploaded": "Biztonsági mentés feltöltve",
"backup_failed": "Biztonsági mentés sikertelen",
"backup_deleted": "Biztonsági mentés törölve", "backup_deleted": "Biztonsági mentés törölve",
"backup_restored": "Biztonsági mentés helyreállítva", "backup_restored": "Biztonsági mentés helyreállítva",
"see_all_achievements": "Achievementlista megtekintése", "see_all_achievements": "Achievementlista megtekintése",
@@ -239,17 +301,17 @@
"reset_achievements_error": "Achievementek nullázása sikertelen", "reset_achievements_error": "Achievementek nullázása sikertelen",
"download_error_gofile_quota_exceeded": "Túllépted a Gofile havi kvótáját. Kérlek, várd meg amíg a kvóta lejár.", "download_error_gofile_quota_exceeded": "Túllépted a Gofile havi kvótáját. Kérlek, várd meg amíg a kvóta lejár.",
"download_error_real_debrid_account_not_authorized": "A Real-Debrid fiókod nem jogosult új letöltésekre. Kérlek, ellenőrízd a fiókbeállításaidat, majd próbáld újra.", "download_error_real_debrid_account_not_authorized": "A Real-Debrid fiókod nem jogosult új letöltésekre. Kérlek, ellenőrízd a fiókbeállításaidat, majd próbáld újra.",
"download_error_not_cached_on_real_debrid": "Ez a letöltés nem érhető el a Real-Debridnél, és lekérdezni letöltési állapotot még nem lehet vele.", "download_error_not_cached_on_real_debrid": "Ez a letöltés nem elérhető a Real-Debriden, és lekérdezni letöltési állapotot még nem lehet.",
"update_playtime_title": "Játékidő frissítése", "update_playtime_title": "Játékidő frissítése",
"update_playtime_description": "Manuálisan frissíteni a Játékidőt a {{game}} játékhoz", "update_playtime_description": "A(z) {{game}} játékidejének frissítése manuálisan",
"update_playtime": "Játékidő frissítése", "update_playtime": "Játékidő frissítése",
"update_playtime_success": "Játékidő sikeresen frissítve", "update_playtime_success": "Játékidő sikeresen frissítve",
"update_playtime_error": "A Játékidőnek nem sikerült frissülnie", "update_playtime_error": "A Játékidőnek nem sikerült frissülnie",
"update_game_playtime": "Játékidő frissítése", "update_game_playtime": "Játékidő frissítése",
"manual_playtime_warning": "Az óráid 'manuálisan frissítve' lesznek megjelölve, és ez nem visszavonható.", "manual_playtime_warning": "A Játékidő „Manuálisan frissített”-ként lesz megjelölve, és ez nem visszavonható.",
"manual_playtime_tooltip": "Ez a játékidő manuálisan lett frissítve", "manual_playtime_tooltip": "Ez a Játékidő manuálisan lett frissítve",
"download_error_not_cached_on_torbox": "This download is not available on TorBox and polling download status from TorBox is not yet available.", "download_error_not_cached_on_torbox": "Ez a letöltés nem elérhető a TorBoxon, és lekérdezni letöltési állapotot még nem lehet.",
"download_error_not_cached_on_hydra": "This download is not available on Nimbus.", "download_error_not_cached_on_hydra": "Ez a letöltés nem elérhető a Nimbuson.",
"game_removed_from_favorites": "Játék eltávolítva a kedvencek közül", "game_removed_from_favorites": "Játék eltávolítva a kedvencek közül",
"game_added_to_favorites": "Játék hozzáadva a kedvencekhez", "game_added_to_favorites": "Játék hozzáadva a kedvencekhez",
"game_removed_from_pinned": "Játék eltávolítva a kitűzöttek közül", "game_removed_from_pinned": "Játék eltávolítva a kitűzöttek közül",
@@ -272,7 +334,7 @@
"backup_frozen": "Biztonsági mentés rögzítve", "backup_frozen": "Biztonsági mentés rögzítve",
"backup_unfrozen": "Biztonsági mentés leválasztva", "backup_unfrozen": "Biztonsági mentés leválasztva",
"backup_freeze_failed": "Biztonsági mentés rögzítése sikertelen", "backup_freeze_failed": "Biztonsági mentés rögzítése sikertelen",
"backup_freeze_failed_description": "Legalább egy szabad helyet kell hagyni az automatikus biztonsági mentéseknek.", "backup_freeze_failed_description": "Legalább egy szabad helyet kell hagyni az automatikus biztonsági mentéseknek",
"edit_game_modal_button": "Játékadatok testreszabása", "edit_game_modal_button": "Játékadatok testreszabása",
"game_details": "Játék leírása", "game_details": "Játék leírása",
"currency_symbol": "Ft", "currency_symbol": "Ft",
@@ -286,13 +348,21 @@
"historical_keyshop": "Korábbi nem hivatalos ár", "historical_keyshop": "Korábbi nem hivatalos ár",
"language": "Nyelv", "language": "Nyelv",
"caption": "Felirat", "caption": "Felirat",
"audio": "Hang" "audio": "Hang",
"filter_by_source": "Szűrés forrás szerint",
"no_repacks_found": "Nem található forrás ehhez a játékhoz",
"delete_review": "Vélemény törlése",
"remove_review": "Vélemény eltávolítása",
"delete_review_modal_title": "Biztos vagy abban hogy törölni szeretnéd a véleményed?",
"delete_review_modal_description": "Ez a lépés nem vonható vissza.",
"delete_review_modal_delete_button": "Törlés",
"delete_review_modal_cancel_button": "Mégse"
}, },
"activation": { "activation": {
"title": "Hydra aktiválása", "title": "Hydra Aktiválása",
"installation_id": "Telepítési azonosító:", "installation_id": "Telepítési Azonosító:",
"enter_activation_code": "Írd be az aktiválási kódod", "enter_activation_code": "Írd be az aktiválási kódod",
"message": "Ha nem tudod kit kérdezz efelől, akkor nem kéne nálad legyen.", "message": "Ha nem tudod hol kérdezz efelől, akkor nem kéne ilyened legyen.",
"activate": "Aktiválás", "activate": "Aktiválás",
"loading": "Töltés…" "loading": "Töltés…"
}, },
@@ -324,6 +394,7 @@
"stop_seeding": "Seedelés leállítása", "stop_seeding": "Seedelés leállítása",
"resume_seeding": "Seedelés folytatása", "resume_seeding": "Seedelés folytatása",
"options": "Kezelés", "options": "Kezelés",
"alldebrid_size_not_supported": "Letöltési információ az AllDebrid-hez még nem támogatott",
"extract": "Fájlok kibontása", "extract": "Fájlok kibontása",
"extracting": "Fájlok kibontása…" "extracting": "Fájlok kibontása…"
}, },
@@ -342,10 +413,10 @@
"language": "Nyelv", "language": "Nyelv",
"api_token": "API Token", "api_token": "API Token",
"enable_real_debrid": "Real-Debrid Bekapcsolása", "enable_real_debrid": "Real-Debrid Bekapcsolása",
"real_debrid_description": "A Real-Debrid egy korlátozásmentes letöltőprogram, lehetővé teszi a fájlok gyors letöltését, és csak az internetkapcsolat sebessége szab határt.", "real_debrid_description": "A Real-Debrid egy korlátozásmentes letöltőprogram, ami lehetővé teszi a fájlok gyors letöltését, és csak az internetkapcsolat sebessége szab határt.",
"debrid_invalid_token": "Érvénytelen API token", "debrid_invalid_token": "Érvénytelen API token",
"debrid_api_token_hint": "Az API tokened <0>itt</0> található", "debrid_api_token_hint": "Az API tokened <0>itt</0> található",
"real_debrid_free_account_error": "Ez a fiók: \"{{username}}\" egy ingyenes fiók. Kérlek iratkozz fel a Real-Debrid-re", "real_debrid_free_account_error": "Ez a fiók: \"{{username}}\" egy ingyenes fiók. Kérlek iratkozz fel a Real-Debridre",
"debrid_linked_message": "Fiók összekapcsolva: \"{{username}}\" ", "debrid_linked_message": "Fiók összekapcsolva: \"{{username}}\" ",
"save_changes": "Változtatások mentése", "save_changes": "Változtatások mentése",
"changes_saved": "Változtatások sikeresen mentve", "changes_saved": "Változtatások sikeresen mentve",
@@ -407,7 +478,7 @@
"subscription_renew_cancelled": "Automatikus megújítás kikapcsolva", "subscription_renew_cancelled": "Automatikus megújítás kikapcsolva",
"subscription_renews_on": "Az előfizetésed megújul, ekkor: {{date}}", "subscription_renews_on": "Az előfizetésed megújul, ekkor: {{date}}",
"bill_sent_until": "A következő számlát ezen napon küldjük", "bill_sent_until": "A következő számlát ezen napon küldjük",
"no_themes": "Úgy látom nincs egyetlen témád sem még, de ne aggódj, kattints ide hogy elkészítsd a remekművedet.", "no_themes": "Úgy látszik nincs egyetlen témád sem még, de ne aggódj, kattints ide hogy elkészítsd a remekművedet.",
"editor_tab_code": "Code", "editor_tab_code": "Code",
"editor_tab_info": "Info", "editor_tab_info": "Info",
"editor_tab_save": "Mentés", "editor_tab_save": "Mentés",
@@ -427,12 +498,25 @@
"delete_theme_description": "Ez törölni fogja a(z) {{theme}} témát", "delete_theme_description": "Ez törölni fogja a(z) {{theme}} témát",
"cancel": "Mégsem", "cancel": "Mégsem",
"appearance": "Megjelenés", "appearance": "Megjelenés",
"debrid": "Debrid",
"debrid_description": "A Debrid szolgáltatások prémium szolgáltatások amelyek lehetővé teszik, hogy gyorsan letölts különböző fájltároló szolgáltatásokon tárolt fájlokat, csak az internet sebességed szab határt.",
"enable_torbox": "TorBox bekapcsolása", "enable_torbox": "TorBox bekapcsolása",
"torbox_description": "A TorBox egy olyan premium seedbox szolgáltatás, amely még a piacon elérhető legjobb szerverekkel is felveszi a versenyt.", "torbox_description": "A TorBox egy olyan premium seedbox szolgáltatás, amely még a piacon elérhető legjobb szerverekkel is felveszi a versenyt.",
"torbox_account_linked": "TorBox fiók összekapcsolva", "torbox_account_linked": "TorBox fiók összekapcsolva",
"create_real_debrid_account": "Kattints ide ha még nincs Real-Debrid fiókod", "create_real_debrid_account": "Kattints ide ha még nincs Real-Debrid fiókod",
"create_torbox_account": "Kattints ide ha még nincs TorBox fiókod", "create_torbox_account": "Kattints ide ha még nincs TorBox fiókod",
"real_debrid_account_linked": "Real-Debrid fiók összekapcsolva", "real_debrid_account_linked": "Real-Debrid fiók összekapcsolva",
"enable_all_debrid": "All-Debrid bekapcsolása",
"all_debrid_description": "Az All-Debrid egy korlátozásmentes letöltőprogram, ami lehetővé teszi a fájlok gyors letöltését különböző forrásokból.",
"all_debrid_free_account_error": "Ez a fiók: \"{{username}}\" egy ingyenes fiók. Kérlek iratkozz fel az All-Debridre",
"all_debrid_account_linked": "All-Debrid fiók összekapcsolva",
"alldebrid_missing_key": "Kérlek adj meg egy API key-t",
"alldebrid_invalid_key": "Érvénytelen API key",
"alldebrid_blocked": "Az API key-ed Földrajzilag vagy IP-alapján van blokkolva",
"alldebrid_banned": "Ez a fiók kitiltásra került",
"alldebrid_unknown_error": "Egy ismeretlen hiba történt",
"alldebrid_invalid_response": "Érvénytelen válasz az All-Debrid felől",
"alldebrid_network_error": "Hálózati hiba. Ellenőrízd az internetkapcsolatod",
"name_min_length": "A téma neve legalább 3 karakter hosszú legyen", "name_min_length": "A téma neve legalább 3 karakter hosszú legyen",
"import_theme": "Téma importálása", "import_theme": "Téma importálása",
"import_theme_description": "Ezt a témát fogod importálni a Témaáruház-ból: {{theme}}", "import_theme_description": "Ezt a témát fogod importálni a Témaáruház-ból: {{theme}}",
@@ -459,7 +543,7 @@
"variation": "Variáció", "variation": "Variáció",
"default": "Alapértelmezett", "default": "Alapértelmezett",
"rare": "Ritka", "rare": "Ritka",
"platinum": "Platinum", "platinum": "Platina",
"hidden": "Rejtett", "hidden": "Rejtett",
"test_notification": "Értesítés tesztelése", "test_notification": "Értesítés tesztelése",
"notification_preview": "Achievement Értesítés Előnézete", "notification_preview": "Achievement Értesítés Előnézete",
@@ -490,12 +574,13 @@
"game_card": { "game_card": {
"available_one": "Elérhető", "available_one": "Elérhető",
"available_other": "Elérhető", "available_other": "Elérhető",
"no_downloads": "Nincs elérhető letöltés" "no_downloads": "Nincs elérhető letöltés",
"calculating": "Feldolgozás"
}, },
"binary_not_found_modal": { "binary_not_found_modal": {
"title": "A programok nincsenek telepítve", "title": "A programok nincsenek telepítve",
"description": "Wine vagy Lutris futtatható fájlok nem találhatók a rendszereden", "description": "Wine vagy Lutris futtatható fájlok nem találhatók a rendszereden",
"instructions": "Ellenőrízd, hogy melyiket kell helyesen telepíteni a Linux disztribúcióra, hogy a játék normálisan fusson" "instructions": "Ellenőrízd hogy melyiket kell helyesen telepíteni a Linux disztribúciódra, hogy a játék megfelelően fusson"
}, },
"modal": { "modal": {
"close": "Bezárás gomb" "close": "Bezárás gomb"
@@ -575,7 +660,7 @@
"report_reason_violence": "Fenyegető", "report_reason_violence": "Fenyegető",
"report_reason_spam": "Spam", "report_reason_spam": "Spam",
"report_reason_other": "Egyéb", "report_reason_other": "Egyéb",
"profile_reported": "Profil jelentve", "profile_reported": "Profil bejelentve",
"your_friend_code": "A barát kódod:", "your_friend_code": "A barát kódod:",
"upload_banner": "Borítókép feltöltés", "upload_banner": "Borítókép feltöltés",
"uploading_banner": "Borítókép feltöltése…", "uploading_banner": "Borítókép feltöltése…",
@@ -593,17 +678,20 @@
"error_adding_friend": "Hiba, barátfelkérés sikertelen. Kérlek ellenőrízd a barát kódot", "error_adding_friend": "Hiba, barátfelkérés sikertelen. Kérlek ellenőrízd a barát kódot",
"friend_code_length_error": "A barát kódnak 8 karakterből kell állnia", "friend_code_length_error": "A barát kódnak 8 karakterből kell állnia",
"game_removed_from_pinned": "Játék eltávolítva a kitűzöttek közül", "game_removed_from_pinned": "Játék eltávolítva a kitűzöttek közül",
"game_added_to_pinned": "Játék hozzáadva a kitűzöttekhez" "game_added_to_pinned": "Játék hozzáadva a kitűzöttekhez",
"karma": "Karma",
"karma_count": "karma",
"karma_description": "Pozitív értékelésekre kapott pontok alapján"
}, },
"achievement": { "achievement": {
"achievement_unlocked": "Achievement feloldva", "achievement_unlocked": "Achievement feloldva",
"user_achievements": "{{displayName}} Achievementjei", "user_achievements": "{{displayName}} achievementjei",
"your_achievements": "A te Achievementjeid", "your_achievements": "A te achievementjeid",
"unlocked_at": "Feloldva ekkor: {{date}}", "unlocked_at": "Feloldva: {{date}}",
"subscription_needed": "A tartalom megtekintéséhez Hydra Cloud előfizetés szükséges", "subscription_needed": "A tartalom megtekintéséhez Hydra Cloud előfizetés szükséges",
"new_achievements_unlocked": "{{achievementCount}} új achievementet oldottál fel {{gameCount}} játékban", "new_achievements_unlocked": "{{achievementCount}} új achievement feloldva {{gameCount}} játékban",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} achievementek", "achievement_progress": "{{unlockedCount}}/{{totalCount}} achievementek",
"achievements_unlocked_for_game": "{{achievementCount}} új achievementet oldottál fel a(z) {{gameTitle}} játékban", "achievements_unlocked_for_game": "{{achievementCount}} új achievement feloldva itt: {{gameTitle}}",
"hidden_achievement_tooltip": "Ez egy rejtett achievement", "hidden_achievement_tooltip": "Ez egy rejtett achievement",
"achievement_earn_points": "Szerezz be {{points}} pontot ezzel az achievement-el", "achievement_earn_points": "Szerezz be {{points}} pontot ezzel az achievement-el",
"earned_points": "Megszerzett pontok:", "earned_points": "Megszerzett pontok:",

View File

@@ -1,10 +1,13 @@
import disk from "diskusage"; import { DiskUsage } from "@types";
import { registerEvent } from "../register-event"; import { registerEvent } from "../register-event";
import checkDiskSpace from "check-disk-space";
const getDiskFreeSpace = async ( const getDiskFreeSpace = async (
_event: Electron.IpcMainInvokeEvent, _event: Electron.IpcMainInvokeEvent,
path: string path: string
) => disk.check(path); ): Promise<DiskUsage> => {
const result = await checkDiskSpace(path);
return { free: result.free, total: result.size };
};
registerEvent("getDiskFreeSpace", getDiskFreeSpace); registerEvent("getDiskFreeSpace", getDiskFreeSpace);

View File

@@ -9,6 +9,7 @@ import {
clearGamesPlaytime, clearGamesPlaytime,
WindowManager, WindowManager,
Lock, Lock,
Aria2,
} from "@main/services"; } from "@main/services";
import resources from "@locales"; import resources from "@locales";
import { PythonRPC } from "./services/python-rpc"; import { PythonRPC } from "./services/python-rpc";
@@ -222,6 +223,7 @@ app.on("before-quit", async (e) => {
e.preventDefault(); e.preventDefault();
/* Disconnects libtorrent */ /* Disconnects libtorrent */
PythonRPC.kill(); PythonRPC.kill();
Aria2.kill();
await clearGamesPlaytime(); await clearGamesPlaytime();
canAppBeClosed = true; canAppBeClosed = true;
app.quit(); app.quit();

View File

@@ -1,6 +1,7 @@
import path from "node:path"; import path from "node:path";
import cp from "node:child_process"; import cp from "node:child_process";
import { app } from "electron"; import { app } from "electron";
import { logger } from "./logger";
export class Aria2 { export class Aria2 {
private static process: cp.ChildProcess | null = null; private static process: cp.ChildProcess | null = null;
@@ -23,6 +24,9 @@ export class Aria2 {
} }
public static kill() { public static kill() {
this.process?.kill(); if (this.process) {
logger.log("Killing aria2 process");
this.process.kill();
}
} }
} }

View File

@@ -79,11 +79,18 @@ const findGamePathByProcess = async (
const executables = gameExecutables[gameId]; const executables = gameExecutables[gameId];
for (const executable of executables) { for (const executable of executables) {
const pathSet = processMap.get(executable.exe); const executablewithoutExtension = executable.exe.replace(/\.exe$/i, "");
const pathSet =
processMap.get(executable.exe) ??
processMap.get(executablewithoutExtension);
if (pathSet) { if (pathSet) {
for (const path of pathSet) { for (const path of pathSet) {
if (path.toLowerCase().endsWith(executable.name)) { if (
path.toLowerCase().endsWith(executable.name) ||
path.toLowerCase().endsWith(executablewithoutExtension)
) {
const gameKey = levelKeys.game("steam", gameId); const gameKey = levelKeys.game("steam", gameId);
const game = await gamesSublevel.get(gameKey); const game = await gamesSublevel.get(gameKey);
@@ -124,7 +131,6 @@ const getSystemProcessMap = async () => {
if (!key || !value) return; if (!key || !value) return;
const STEAM_COMPAT_DATA_PATH = process.environ?.STEAM_COMPAT_DATA_PATH; const STEAM_COMPAT_DATA_PATH = process.environ?.STEAM_COMPAT_DATA_PATH;
if (STEAM_COMPAT_DATA_PATH) { if (STEAM_COMPAT_DATA_PATH) {
winePrefixMap.set(value, STEAM_COMPAT_DATA_PATH); winePrefixMap.set(value, STEAM_COMPAT_DATA_PATH);
} }

View File

@@ -1,6 +1,6 @@
import { Downloader } from "@shared"; import { Downloader } from "@shared";
export const VERSION_CODENAME = "Lumen"; export const VERSION_CODENAME = "Supernova";
export const DOWNLOADER_NAME = { export const DOWNLOADER_NAME = {
[Downloader.RealDebrid]: "Real-Debrid", [Downloader.RealDebrid]: "Real-Debrid",

View File

@@ -152,6 +152,7 @@ export function GameDetailsContextProvider({
Promise.all([shopDetailsPromise, assetsPromise]) Promise.all([shopDetailsPromise, assetsPromise])
.then(([_, assets]) => { .then(([_, assets]) => {
if (assets) { if (assets) {
if (abortController.signal.aborted) return;
setShopDetails((prev) => { setShopDetails((prev) => {
if (!prev) return null; if (!prev) return null;
return { return {

View File

@@ -40,9 +40,9 @@ import type {
AchievementNotificationInfo, AchievementNotificationInfo,
UserLibraryResponse, UserLibraryResponse,
Game, Game,
DiskUsage,
} from "@types"; } from "@types";
import type { AxiosProgressEvent } from "axios"; import type { AxiosProgressEvent } from "axios";
import type disk from "diskusage";
declare global { declare global {
declare module "*.svg" { declare module "*.svg" {
@@ -271,7 +271,7 @@ declare global {
>; >;
/* Hardware */ /* Hardware */
getDiskFreeSpace: (path: string) => Promise<disk.DiskUsage>; getDiskFreeSpace: (path: string) => Promise<DiskUsage>;
checkFolderWritePermission: (path: string) => Promise<boolean>; checkFolderWritePermission: (path: string) => Promise<boolean>;
/* Cloud save */ /* Cloud save */

View File

@@ -10,6 +10,11 @@ export type HydraCloudFeature =
| "backup" | "backup"
| "achievements-points"; | "achievements-points";
export interface DiskUsage {
free: number;
total: number;
}
export interface GameRepack { export interface GameRepack {
id: number; id: number;
title: string; title: string;

1192
yarn.lock

File diff suppressed because it is too large Load Diff