Compare commits

..

24 Commits

Author SHA1 Message Date
Zamitto
1f000ab2b2 Merge pull request #1349 from Lianela/main
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
feat: spanish translation updated
2024-12-25 23:14:26 -03:00
Lianela
d6bd0ec221 feat: profile strings 2024-12-25 18:52:56 -06:00
Lianela
a9f8d1b42c feat: spanish translation updated
added seeding strings, updated hydra cloud and achievements strings, fixed mistake from previous commits
2024-12-25 18:38:38 -06:00
Zamitto
83e662f633 Merge pull request #1335 from hydrasources/patch-1
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Update README.uk-UA.md
2024-12-24 16:19:47 -03:00
Zamitto
c7b924bf2f Merge pull request #1336 from hydrasources/patch-2
Update README.be.md
2024-12-24 16:19:30 -03:00
Zamitto
e0d69ccf9d Merge pull request #1337 from hydrasources/patch-3
Update README.es.md
2024-12-24 16:12:19 -03:00
Zamitto
aa4e71076d Merge pull request #1338 from hydrasources/patch-4
Update README.fr.md
2024-12-24 16:11:14 -03:00
Zamitto
eccff27739 Merge pull request #1339 from hydrasources/patch-5
Update README.de.md
2024-12-24 16:10:53 -03:00
Zamitto
601b3b0a00 Merge pull request #1340 from hydrasources/patch-6
Update README.cs.md
2024-12-24 16:10:08 -03:00
Zamitto
1ceea5d5a3 Merge pull request #1341 from hydrasources/patch-7
Update README.da.md
2024-12-24 16:09:50 -03:00
Zamitto
9c99724e7d Merge pull request #1342 from hydrasources/patch-8
Update README.nb.md
2024-12-24 16:06:29 -03:00
Zamitto
55e0f42702 Merge pull request #1343 from hydrasources/patch-9
Update README.et.md
2024-12-24 16:06:02 -03:00
hydrasources
b355930eaf Update README.et.md 2024-12-24 20:19:26 +03:00
hydrasources
57b47951a1 Update README.nb.md 2024-12-24 20:18:34 +03:00
hydrasources
4780640ed0 Update README.da.md 2024-12-24 20:17:25 +03:00
hydrasources
8b92c8fdd9 Update README.cs.md 2024-12-24 20:16:40 +03:00
hydrasources
acd98d0aad Update README.de.md 2024-12-24 20:15:56 +03:00
hydrasources
27239f848e Update README.fr.md 2024-12-24 20:15:19 +03:00
hydrasources
c4d0a8eb94 Update README.es.md 2024-12-24 20:13:52 +03:00
hydrasources
60b12b2435 Update README.be.md 2024-12-24 20:09:33 +03:00
hydrasources
1c9515516f Update README.uk-UA.md 2024-12-24 20:08:33 +03:00
JackEnx
58a89372ab Merge pull request #1334 from hydralauncher/refactor/optimize-rpc
Refactor/optimize rpc
2024-12-24 14:07:12 -03:00
JackEnx
90841bf5e4 fix: gitignore 2024-12-24 13:50:40 -03:00
JackEnx
5564644378 refactor: rpc executable objects 2024-12-24 13:48:50 -03:00
13 changed files with 113 additions and 75 deletions

1
.gitignore vendored
View File

@@ -10,3 +10,4 @@ out
ludusavi/ ludusavi/
hydra-python-rpc/ hydra-python-rpc/
aria2/ aria2/
.python-version

View File

@@ -1 +0,0 @@
3.9.20

View File

@@ -14,7 +14,7 @@
[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases)
[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md)
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![en](https://img.shields.io/badge/lang-en-red.svg)](../README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
@@ -27,7 +27,7 @@
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) [![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md) [![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
![Hydra Catalogue](./screenshot.png) ![Hydra Catalogue](screenshot.png)
</div> </div>

View File

@@ -2,7 +2,7 @@
<div align="center"> <div align="center">
[<img src="./resources/icon.png" width="144"/>](https://help.hydralauncher.gg) [<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1> <h1 align="center">Hydra Launcher</h1>
@@ -14,7 +14,7 @@
[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases)
[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md)
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![en](https://img.shields.io/badge/lang-en-red.svg)](../README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
@@ -27,7 +27,7 @@
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) [![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md) [![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
![Hydra Katalog](./screenshot.png) ![Hydra Katalog](screenshot.png)
</div> </div>

View File

@@ -14,7 +14,7 @@
[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases)
[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md)
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![en](https://img.shields.io/badge/lang-en-red.svg)](../README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
@@ -26,7 +26,7 @@
[![da](https://img.shields.io/badge/lang-da-red)](README.da.md) [![da](https://img.shields.io/badge/lang-da-red)](README.da.md)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md) [![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
![Hydra Catalogue](./screenshot.png) ![Hydra Catalogue](screenshot.png)
</div> </div>

View File

@@ -13,7 +13,7 @@
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) [![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions)
[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases)
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![en](https://img.shields.io/badge/lang-en-red.svg)](../README.md)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
[![pl](https://img.shields.io/badge/lang-pl-white)](README.pl.md) [![pl](https://img.shields.io/badge/lang-pl-white)](README.pl.md)
[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md)
@@ -27,7 +27,7 @@
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) [![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md) [![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
![Hydra Katalog](./screenshot.png) ![Hydra Katalog](screenshot.png)
</div> </div>

View File

@@ -2,7 +2,7 @@
<div align="center"> <div align="center">
[<img src="./resources/icon.png" width="144"/>](https://help.hydralauncher.gg) [<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1> <h1 align="center">Hydra Launcher</h1>
@@ -14,7 +14,7 @@
[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases)
[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md)
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![en](https://img.shields.io/badge/lang-en-red.svg)](../README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
@@ -27,7 +27,7 @@
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) [![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md) [![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
![Hydra Catalogue](./screenshot.png) ![Hydra Catalogue](screenshot.png)
</div> </div>

View File

@@ -11,21 +11,21 @@
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) [![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions)
[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases)
[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](./README.pt-BR.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md)
[![en](https://img.shields.io/badge/lang-en-red.svg)](./README.md) [![en](https://img.shields.io/badge/lang-en-red.svg)](../README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](./README.ru.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](./README.uk-UA.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](./README.be.md) [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
[![es](https://img.shields.io/badge/lang-es-red)](./README.es.md) [![es](https://img.shields.io/badge/lang-es-red)](README.es.md)
[![fr](https://img.shields.io/badge/lang-fr-blue)](./README.fr.md) [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md)
[![de](https://img.shields.io/badge/lang-de-black)](./README.de.md) [![de](https://img.shields.io/badge/lang-de-black)](README.de.md)
[![ita](https://img.shields.io/badge/lang-it-red)](./README.it.md) [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md)
[![cs](https://img.shields.io/badge/lang-cs-purple)](./README.cs.md) [![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md)
[![da](https://img.shields.io/badge/lang-da-red)](./README.da.md) [![da](https://img.shields.io/badge/lang-da-red)](README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](./README.nb.md) [![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)
[![ee](https://img.shields.io/badge/lang-et-blue.svg)](./README.et.md) [![ee](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
![Hydra Kataloog](./screenshot.png) ![Hydra Kataloog](screenshot.png)
</div> </div>

View File

@@ -2,7 +2,7 @@
<div align="center"> <div align="center">
[<img src="./resources/icon.png" width="144"/>](https://help.hydralauncher.gg) [<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1> <h1 align="center">Hydra Launcher</h1>
@@ -14,7 +14,7 @@
[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases)
[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md)
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![en](https://img.shields.io/badge/lang-en-red.svg)](../README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
@@ -27,7 +27,7 @@
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) [![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md) [![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
![Catalogue Hydra](./screenshot.png) ![Catalogue Hydra](screenshot.png)
</div> </div>

View File

@@ -2,7 +2,7 @@
<div align="center"> <div align="center">
[<img src="./resources/icon.png" width="144"/>](https://help.hydralauncher.gg) [<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1> <h1 align="center">Hydra Launcher</h1>
@@ -14,7 +14,7 @@
[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases)
[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md)
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![en](https://img.shields.io/badge/lang-en-red.svg)](../README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
@@ -26,7 +26,7 @@
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) [![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md) [![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
![Hydra Catalogue](./screenshot.png) ![Hydra Catalogue](screenshot.png)
</div> </div>

View File

@@ -2,7 +2,7 @@
<div align="center"> <div align="center">
[<img src="./resources/icon.png" width="144"/>](https://help.hydralauncher.gg) [<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1> <h1 align="center">Hydra Launcher</h1>
@@ -14,7 +14,7 @@
[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) [![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases)
[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) [![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md)
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) [![en](https://img.shields.io/badge/lang-en-red.svg)](../README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) [![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
@@ -27,7 +27,7 @@
[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) [![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md) [![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
![Hydra Catalogue](./screenshot.png) ![Hydra Catalogue](screenshot.png)
</div> </div>

View File

@@ -50,7 +50,7 @@
"developers": "Desarrolladores", "developers": "Desarrolladores",
"genres": "Géneros", "genres": "Géneros",
"tags": "Marcadores", "tags": "Marcadores",
"publishers": "Distribuidoras", "publishers": "Editores",
"download_sources": "Fuentes de descarga", "download_sources": "Fuentes de descarga",
"result_count": "{{resultCount}} resultados", "result_count": "{{resultCount}} resultados",
"filter_count": "{{filterCount}} disponibles", "filter_count": "{{filterCount}} disponibles",
@@ -175,7 +175,7 @@
"backup_from": "Copia de seguridad de {{date}}", "backup_from": "Copia de seguridad de {{date}}",
"custom_backup_location_set": "Se configuró la carpeta de copia de seguridad", "custom_backup_location_set": "Se configuró la carpeta de copia de seguridad",
"clear": "Limpiar", "clear": "Limpiar",
"no_directory_selected": "No se seleccionó un directório" "no_directory_selected": "No se seleccionó un directorio"
}, },
"activation": { "activation": {
"title": "Activar Hydra", "title": "Activar Hydra",
@@ -208,7 +208,11 @@
"queued": "En cola", "queued": "En cola",
"no_downloads_title": "Esto está tan... vacío", "no_downloads_title": "Esto está tan... vacío",
"no_downloads_description": "No has descargado nada con Hydra... aún, ¡pero nunca es tarde para comenzar!.", "no_downloads_description": "No has descargado nada con Hydra... aún, ¡pero nunca es tarde para comenzar!.",
"checking_files": "Verificando archivos…" "checking_files": "Verificando archivos…",
"seeding": "Seeding",
"stop_seeding": "Detener seeding",
"resume_seeding": "Continuar seeding",
"options": "Gestionar"
}, },
"settings": { "settings": {
"downloads_path": "Ruta de descarga", "downloads_path": "Ruta de descarga",
@@ -265,7 +269,9 @@
"user_unblocked": "El usuario ha sido desbloqueado", "user_unblocked": "El usuario ha sido desbloqueado",
"enable_achievement_notifications": "Cuando un logro se desbloquea", "enable_achievement_notifications": "Cuando un logro se desbloquea",
"launch_minimized": "Iniciar Hydra minimizado", "launch_minimized": "Iniciar Hydra minimizado",
"disable_nsfw_alert": "Desactivar alerta NSFW" "disable_nsfw_alert": "Desactivar alerta NSFW",
"seed_after_download_complete": "Realizar seeding después de que se completa la descarga",
"show_hidden_achievement_description": "Ocultar descripción de logros ocultos antes de desbloquearlos"
}, },
"notifications": { "notifications": {
"download_complete": "Descarga completada", "download_complete": "Descarga completada",
@@ -366,7 +372,16 @@
"upload_banner": "Subir un banner", "upload_banner": "Subir un banner",
"uploading_banner": "Subiendo banner…", "uploading_banner": "Subiendo banner…",
"background_image_updated": "Imagen de fondo actualizada", "background_image_updated": "Imagen de fondo actualizada",
"playing": "Jugando {{game}}" "playing": "Jugando {{game}}",
"achievements": "logros",
"achievements_unlocked": "Logros desbloqueados",
"earned_points": "Puntos Obtenidos",
"show_achievements_on_profile": "Mostrar tus logros en tu perfil",
"show_points_on_profile": "Mostrar tus puntos obtenidos en tu perfil",
"games": "Juegos",
"ranking_updated_weekly": "El Ranking se actualiza semanalmente",
"stats": "Estadísticas",
"top_percentile": "Top {{percentile}}%"
}, },
"achievement": { "achievement": {
"achievement_unlocked": "Logro desbloqueado", "achievement_unlocked": "Logro desbloqueado",
@@ -376,7 +391,12 @@
"subscription_needed": "Se necesita una suscripción a Hydra Cloud necesita para ver este contenido", "subscription_needed": "Se necesita una suscripción a Hydra Cloud necesita para ver este contenido",
"new_achievements_unlocked": "Desbloqueados {{achievementCount}} nuevos logros de {{gameCount}} juegos", "new_achievements_unlocked": "Desbloqueados {{achievementCount}} nuevos logros de {{gameCount}} juegos",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} logros", "achievement_progress": "{{unlockedCount}}/{{totalCount}} logros",
"achievements_unlocked_for_game": "Se han desbloqueado {{achievementCount}} nuevos logros de {{gameTitle}}" "achievements_unlocked_for_game": "Se han desbloqueado {{achievementCount}} nuevos logros de {{gameTitle}}",
"hidden_achievement_tooltip": "Este es un logro oculto",
"achievement_earn_points": "Obtén {{points}} puntos con este logro",
"earned_points": "Puntos obtenidos:",
"available_points": "Puntos disponibles:",
"how_to_earn_achievements_points": "¿Cómo obtener puntos de logros?"
}, },
"hydra_cloud": { "hydra_cloud": {
"subscription_tour_title": "Suscripción Hydra Cloud", "subscription_tour_title": "Suscripción Hydra Cloud",
@@ -386,6 +406,9 @@
"animated_profile_picture": "Fotos de perfil animadas", "animated_profile_picture": "Fotos de perfil animadas",
"premium_support": "Soporte Premium", "premium_support": "Soporte Premium",
"show_and_compare_achievements": "Muestra y compara tus logros con otros usuarios", "show_and_compare_achievements": "Muestra y compara tus logros con otros usuarios",
"animated_profile_banner": "Fondo de perfil animado" "animated_profile_banner": "Fondo de perfil animado",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "¡Has descubierto una característica de Hydra Cloud!",
"learn_more": "Aprender más"
} }
} }

View File

@@ -21,6 +21,7 @@ export const gamesPlaytime = new Map<
interface ExecutableInfo { interface ExecutableInfo {
name: string; name: string;
os: string; os: string;
exe: string;
} }
interface GameExecutables { interface GameExecutables {
@@ -30,47 +31,65 @@ interface GameExecutables {
const TICKS_TO_UPDATE_API = 120; const TICKS_TO_UPDATE_API = 120;
let currentTick = 1; let currentTick = 1;
const gameExecutables = ( const isWindowsPlatform = process.platform === "win32";
await axios const isLinuxPlatform = process.platform === "linux";
.get(
import.meta.env.MAIN_VITE_EXTERNAL_RESOURCES_URL + const getGameExecutables = async () => {
"/game-executables.json" const gameExecutables = (
) await axios
.catch(() => { .get(
return { data: {} }; import.meta.env.MAIN_VITE_EXTERNAL_RESOURCES_URL +
}) "/game-executables.json"
).data as GameExecutables; )
.catch(() => {
return { data: {} };
})
).data as GameExecutables;
Object.keys(gameExecutables).forEach((key) => {
gameExecutables[key] = gameExecutables[key]
.filter((executable) => {
if (isWindowsPlatform) {
return executable.os === "win32";
} else if (isLinuxPlatform) {
return executable.os === "linux" || executable.os === "win32";
}
return false;
})
.map((executable) => {
return {
name: isWindowsPlatform
? executable.name.replace(/\//g, "\\")
: executable.name,
os: executable.os,
exe: executable.name.slice(executable.name.lastIndexOf("/") + 1),
};
});
});
return gameExecutables;
};
const gameExecutables = await getGameExecutables();
const findGamePathByProcess = ( const findGamePathByProcess = (
processMap: Map<string, Set<string>>, processMap: Map<string, Set<string>>,
gameId: string gameId: string
) => { ) => {
const executables = gameExecutables[gameId].filter((info) => { const executables = gameExecutables[gameId];
if (process.platform === "linux" && info.os === "linux") return true;
return info.os === "win32";
});
for (const executable of executables) { for (const executable of executables) {
const exe = executable.name.slice(executable.name.lastIndexOf("/") + 1); const pathSet = processMap.get(executable.exe);
if (!exe) continue;
const pathSet = processMap.get(exe);
if (pathSet) { if (pathSet) {
const executableName =
process.platform === "win32"
? executable.name.replace(/\//g, "\\")
: executable.name;
pathSet.forEach((path) => { pathSet.forEach((path) => {
if (path.toLowerCase().endsWith(executableName)) { if (path.toLowerCase().endsWith(executable.name)) {
gameRepository.update( gameRepository.update(
{ objectID: gameId, shop: "steam" }, { objectID: gameId, shop: "steam" },
{ executablePath: path } { executablePath: path }
); );
if (process.platform === "linux") { if (isLinuxPlatform) {
exec(commands.findWineDir, (err, out) => { exec(commands.findWineDir, (err, out) => {
if (err) return; if (err) return;
@@ -105,7 +124,7 @@ const getSystemProcessMap = async () => {
map.set(key, currentSet.add(value)); map.set(key, currentSet.add(value));
}); });
if (process.platform === "linux") { if (isLinuxPlatform) {
await new Promise((res) => { await new Promise((res) => {
exec(commands.findWineExecutables, (err, out) => { exec(commands.findWineExecutables, (err, out) => {
if (err) { if (err) {
@@ -152,7 +171,6 @@ export const watchProcesses = async () => {
for (const game of games) { for (const game of games) {
const executablePath = game.executablePath; const executablePath = game.executablePath;
if (!executablePath) { if (!executablePath) {
if (gameExecutables[game.objectID]) { if (gameExecutables[game.objectID]) {
findGamePathByProcess(processMap, game.objectID); findGamePathByProcess(processMap, game.objectID);
@@ -161,10 +179,7 @@ export const watchProcesses = async () => {
} }
const executable = executablePath const executable = executablePath
.slice( .slice(executablePath.lastIndexOf(isWindowsPlatform ? "\\" : "/") + 1)
executablePath.lastIndexOf(process.platform === "win32" ? "\\" : "/") +
1
)
.toLowerCase(); .toLowerCase();
const hasProcess = processMap.get(executable)?.has(executablePath); const hasProcess = processMap.get(executable)?.has(executablePath);