Compare commits

...

1053 Commits
v2.1.2 ... main

Author SHA1 Message Date
Zamitto
3247fcda60 feat: update batch size
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
2025-02-02 01:35:33 -03:00
Zamitto
a22be44086
Merge pull request #1439 from hydralauncher/feature/torbox-integration
feat: torbox integration
2025-02-01 21:33:46 -03:00
Zamitto
4e2427dbef feat: refactor settings tabs 2025-02-01 21:23:22 -03:00
Zamitto
ba6d8dd6a4 feat: remove unnecessary inline css 2025-02-01 21:12:15 -03:00
Zamitto
220b3620d4 feat: add torbox error handling 2025-02-01 21:09:06 -03:00
Zamitto
9fe1d43145 Merge branch 'main' into feature/torbox-integration 2025-02-01 21:04:40 -03:00
Chubby Granny Chaser
64c397d38b
Merge pull request #1401 from hydralauncher/feat/migration-to-leveldb
feat: migration to leveldb
2025-02-01 23:58:43 +00:00
Chubby Granny Chaser
7e54a6d0a9
chore: adding download sorting 2025-02-01 23:52:12 +00:00
Chubby Granny Chaser
7fed104afd
Merge branch 'main' of github.com:hydralauncher/hydra into feat/migration-to-leveldb 2025-02-01 23:51:52 +00:00
Chubby Granny Chaser
5661468839
Merge pull request #1440 from Shisuiicaro/Feat/Mediafire-Download
Fix: Fix Mediafire hoster 403
2025-02-01 23:51:33 +00:00
Zamitto
8dba75df34 feat: add title to toast 2025-02-01 20:18:10 -03:00
Shisuys
d017b0c261 Remove Cors proxy 2025-02-01 20:09:41 -03:00
Shisuys
c554dd0cbe Update mediafire.ts 2025-02-01 19:57:18 -03:00
Shisuys
a126707fb7 Update mediafire.ts 2025-02-01 19:54:31 -03:00
Zamitto
10f23bd997 feat: use correct label 2025-02-01 19:51:47 -03:00
Shisuys
3aa0b8fa6c
Update src/main/services/hosters/mediafire.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-02-01 19:41:32 -03:00
Shisuys
fe2a23b345
Fix 403 2025-02-01 19:18:59 -03:00
Zamitto
df86a7716b feat: remove out name pixel drain 2025-02-01 18:39:08 -03:00
Zamitto
0820e4632b feat: remove duplicate code 2025-02-01 18:30:20 -03:00
Zamitto
bdf3a98c1a feat: add torbox icon 2025-02-01 18:02:29 -03:00
Zamitto
ebc70ce28f feat: own tab to torbox 2025-02-01 17:44:54 -03:00
Chubby Granny Chaser
59a32c7189
fix: open dev tools on right window 2025-02-01 20:12:49 +00:00
Zamitto
7fbaea15e8 Merge branch 'feat/migration-to-leveldb' into feature/torbox-integration
# Conflicts:
#	src/renderer/src/constants.ts
#	src/shared/constants.ts
2025-02-01 17:03:42 -03:00
Zamitto
ddbb2483c6 feat: adjustments 2025-02-01 17:02:48 -03:00
Chubby Granny Chaser
0c8bccc6f3
chore: merge with main 2025-02-01 19:59:09 +00:00
Chubby Granny Chaser
260fc46963
Merge pull request #1420 from Shisuiicaro/Feat/Mediafire-Download
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
Feat: Mediafire Hoster
2025-02-01 19:55:46 +00:00
Chubby Granny Chaser
12eb76f371
chore: adding dev tools to staging 2025-02-01 19:54:55 +00:00
Zamitto
d8e322e022 feat: save torbox token 2025-02-01 16:47:10 -03:00
Shisuys
77c8362298 Fix empty response and 3xx codes 2025-02-01 16:43:21 -03:00
Zamitto
e3b9b16387 Merge branch 'feat/migration-to-leveldb' into feature/torbox-integration
# Conflicts:
#	src/renderer/src/pages/downloads/download-group.tsx
2025-02-01 16:42:15 -03:00
Chubby Granny Chaser
e49a8204fb
Merge branch 'main' into Feat/Mediafire-Download 2025-02-01 19:34:36 +00:00
Chubby Granny Chaser
fcd8a4a556
chore: merge with main 2025-02-01 19:34:14 +00:00
Chubby Granny Chaser
88184f735b
Merge pull request #1397 from Shisuiicaro/Fix/Pixeldrain-Limit
Feat: GameDrive hoster (Pixeldrain bypass)
2025-02-01 19:33:35 +00:00
Chubby Granny Chaser
24f58673cf
fix: fixing css issues 2025-02-01 19:33:09 +00:00
Chubby Granny Chaser
a0b5430c80
Merge branch 'main' into Fix/Pixeldrain-Limit 2025-02-01 19:27:08 +00:00
Zamitto
e812c365a1
Merge pull request #1438 from Lianela/main
updated spanish translation.json
2025-02-01 16:26:55 -03:00
Chubby Granny Chaser
586ea0d7b4
Merge branch 'main' into Fix/Pixeldrain-Limit 2025-02-01 19:24:16 +00:00
Zamitto
fc003841b0 feat: merge adjustments 2025-02-01 16:23:26 -03:00
Shisuys
1ed13d8a91 Revert "Create a downloader for the gamedrivers bypass"
This reverts commit 6da648b21c.
2025-02-01 16:20:14 -03:00
Chubby Granny Chaser
2e08752e13
Merge branch 'main' into Feat/Mediafire-Download 2025-02-01 19:17:02 +00:00
Chubby Granny Chaser
d5a3e3fae5
fix: fixing css issues 2025-02-01 19:11:58 +00:00
Zamitto
3d571edccb Merge branch 'feat/migration-to-leveldb' into feature/torbox-integration
# Conflicts:
#	src/locales/en/translation.json
#	src/locales/pt-BR/translation.json
#	src/main/entity/user-preferences.entity.ts
#	src/main/events/auth/sign-out.ts
#	src/main/knex-client.ts
#	src/main/main.ts
#	src/main/services/download/download-manager.ts
#	src/main/services/process-watcher.ts
#	src/renderer/src/pages/downloads/download-group.tsx
#	src/types/index.ts
#	src/types/torbox.types.ts
2025-02-01 15:43:32 -03:00
Chubby Granny Chaser
7c87e121bc
chore: merge with dev 2025-02-01 18:04:22 +00:00
Lianela
f37b1f3d12
Update src/locales/es/translation.json
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-02-01 03:38:31 -03:00
Lianela
a3a1271b63
updated es translation.json
added missing strings
2025-02-01 02:57:51 -03:00
Zamitto
732a00c388
Merge pull request #1374 from hydralauncher/feature/check-directory-permission
feat: changing permission verify strategy
2025-01-31 23:55:35 -03:00
Zamitto
7c7f621d95
Merge pull request #1432 from 7ROBE/patch-7
Some checks failed
Release / build (windows-latest) (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Update translation.json
2025-01-30 13:44:11 -03:00
7ROBE
032293b339
Update translation.json 2025-01-30 04:45:22 +03:00
Zamitto
f62c3f9c37 feat: ensure all events are loaded before create window 2025-01-29 09:50:59 -03:00
Zamitto
94a13991fa feat: add dependency array 2025-01-29 09:40:01 -03:00
Zamitto
04f5f26712 Merge branch 'feat/migration-to-leveldb' into feature/check-directory-permission
# Conflicts:
#	src/main/events/library/open-game.ts
#	src/main/events/user-preferences/update-user-preferences.ts
#	src/main/index.ts
#	src/main/main.ts
#	src/main/services/achievements/achievement-watcher-manager.ts
#	src/main/services/achievements/get-game-achievement-data.ts
#	src/main/services/notifications/index.ts
#	src/renderer/src/pages/downloads/download-group.tsx
2025-01-29 09:38:32 -03:00
Zamitto
b54167cd5b feat: remove unneeded async 2025-01-29 09:14:01 -03:00
Zamitto
0ea2c4638b feat: update hook dependency 2025-01-29 09:14:00 -03:00
Zamitto
9c1b3e83e8 feat: refactor check for updates periodically 2025-01-29 09:14:00 -03:00
Zamitto
b1ff05c456 feat: add network logger file 2025-01-29 09:12:58 -03:00
Zamitto
5869057692 feat: i18n 2025-01-29 09:12:58 -03:00
Zamitto
b48393c296 feat: adjust python log file 2025-01-29 09:12:57 -03:00
Zamitto
0baaf843eb fix: error handling 2025-01-29 09:12:57 -03:00
Zamitto
d016f5e475 feat: add featureBaseJwt to type 2025-01-29 09:12:57 -03:00
Zamitto
b494b28f6f feat: sonar suggestions 2025-01-29 09:12:51 -03:00
Zamitto
40f71786f9 feat: sonar suggestions 2025-01-29 08:58:29 -03:00
Zamitto
901dcb676f feat: update user language 2025-01-29 08:58:29 -03:00
Zamitto
6d86002977 feat: prefer to play achievement sound in browser window if available 2025-01-29 08:58:28 -03:00
Zamitto
39572702a0 feat: remove unnecessary userPreferences findOne 2025-01-29 08:58:28 -03:00
Zamitto
52f85517bf feat: handle open new browser window on link 2025-01-29 08:58:27 -03:00
Zamitto
b8dcd66cd2 feat: add optional game params back 2025-01-29 08:58:27 -03:00
Zamitto
6a52cb3f52 feat: show featurebase dropdown changelog on bottom panel version 2025-01-29 08:58:27 -03:00
Zamitto
bf4c07241f fix: ensure ipcHandles are loaded before create window 2025-01-29 08:58:26 -03:00
Chubby Granny Chaser
ce76bc5b6b feat: updating title bar z-index 2025-01-29 08:58:26 -03:00
Chubby Granny Chaser
2a3c3eb7b8 feat: changing permission verify strategy 2025-01-29 08:58:26 -03:00
Zamitto
3335e9808d
Merge branch 'main' into feat/migration-to-leveldb 2025-01-28 20:33:11 -03:00
Zamitto
f6eedde976 chore: update upload-build script
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
2025-01-28 20:21:22 -03:00
Zamitto
857eb93117
Merge branch 'main' into Fix/Pixeldrain-Limit 2025-01-27 10:24:36 -03:00
Shisuys
c1d15efbc0 Mediafire Support 2025-01-26 11:19:41 -03:00
Shisuys
6da648b21c Create a downloader for the gamedrivers bypass 2025-01-26 10:41:08 -03:00
Zamitto
18c6994df6
Merge pull request #1413 from Kukuryzen/main
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Smaller and clearer text
2025-01-25 20:11:13 -03:00
Chubby Granny Chaser
b86746287f
chore: refactoring toast 2025-01-23 14:03:28 +00:00
Chubby Granny Chaser
36bd588d6a
Merge branch 'main' into feature/custom-themes 2025-01-23 13:54:56 +00:00
Chubby Granny Chaser
f81e4ac5b5
fix: adding catch to tables 2025-01-22 15:10:38 +00:00
Chubby Granny Chaser
a839e5166b
chore: changing boolean strategy on migration 2025-01-22 13:40:17 +00:00
Chubby Granny Chaser
93fc486e90
fix: fixing sonar issues 2025-01-22 10:11:30 +00:00
Chubby Granny Chaser
dcd16346ab
fix: fixing sonar issues 2025-01-22 10:08:52 +00:00
Chubby Granny Chaser
bfd54d5a3a
fix: fixing sonar issues 2025-01-22 10:02:05 +00:00
Chubby Granny Chaser
4c5c602775
fix: adding bit validation to is deleted 2025-01-22 09:43:28 +00:00
Chubby Granny Chaser
f5532fa26f
chore: encrypting real-debrid 2025-01-22 01:57:27 +00:00
Chubby Granny Chaser
549481f85a
chore: improving download queue 2025-01-22 01:39:22 +00:00
Chubby Granny Chaser
f387560836
fix: migrating level to classic-level 2025-01-22 00:48:54 +00:00
Chubby Granny Chaser
2aff983dec
fix: fixing sonar issues 2025-01-22 00:19:24 +00:00
Chubby Granny Chaser
71cb4cd240
chore: level as external dep 2025-01-22 00:09:21 +00:00
Hachi-R
52f7647c79 refactor: remove css-in-ts styles from all pages 2025-01-21 18:09:08 -03:00
Hachi-R
28a2f1dda5 refactor: fix some styles in game details modals 2025-01-21 17:41:58 -03:00
Hachi-R
c7bc868fbb refactor: migrate playtime styles from VE to SCSS + BEM 2025-01-21 15:56:54 -03:00
Hachi-R
19976da82e refactor: migrate shared modals styles from VE to SCSS + BEM 2025-01-21 15:23:17 -03:00
Hachi-R
c51b61501e refactor: migrate settings page styles from VE to SCSS + BEM 2025-01-21 14:39:15 -03:00
Hachi-R
eed28d7444 feat: add disabled state styles for checkbox component 2025-01-21 14:17:51 -03:00
Hachi-R
8cb231329b refactor: enhance text field styles 2025-01-21 13:53:31 -03:00
Kukuryzen 🌽
239b29687c
Smaller and clearer text 2025-01-21 21:05:29 +05:00
Chubby Granny Chaser
0f0a67b55e
chore: merge with main 2025-01-21 10:44:43 +00:00
Chubby Granny Chaser
eb11eb2bd0
chore: merge with main 2025-01-21 10:31:39 +00:00
Chubby Granny Chaser
facca3e26c
chore: merge with main 2025-01-21 03:51:53 +00:00
Chubby Granny Chaser
f1e0ba4dd6
feat: migrating user preferences 2025-01-21 03:48:46 +00:00
Zamitto
dfc2dd1c8b
Merge pull request #1388 from KelvinDiasMoreira/readme-improvement
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
readme translation pt-BR improvement
2025-01-20 15:09:33 -03:00
Hachi-R
e457950761 refactor: migrate profile page styles from VE to SCSS + BEM 2025-01-20 12:45:24 -03:00
Chubby Granny Chaser
d760d0139d
feat: migrating games to level 2025-01-20 10:09:49 +00:00
Hachi-R
c44b5fa6af refactor: migrate home page styles from VE to SCSS + BEM 2025-01-19 20:27:38 -03:00
Hachi-R
cbe94665d0 fix 2025-01-19 19:49:55 -03:00
Hachi-R
88fe3d8f07 fix: background color 2025-01-19 19:48:48 -03:00
Hachi-R
f037d3d112 fix: border color 2025-01-19 19:42:18 -03:00
Hachi-R
a52979d912 refactor: migrate game details styles from VE to SCSS + BEM 2025-01-19 19:33:37 -03:00
Hachi-R
296524f894 lint 2025-01-19 19:30:48 -03:00
Hachi-R
d758f326c3 refactor: update download group styles 2025-01-19 17:04:37 -03:00
Hachi-R
57a8368b3b refactor: migrate download page styles from VE to SCSS + BEM 2025-01-19 16:35:21 -03:00
Chubby Granny Chaser
1f0e195854
feat: migrating games to leveldb 2025-01-19 17:59:39 +00:00
Hachi-R
2e38419e8a refactor: migrate pagination styles from VE to SCSS + BEM 2025-01-19 13:49:21 -03:00
Hachi-R
b855abbab0 refactor: migrate filter item and section styles from VE to SCSS + BEM 2025-01-19 13:42:26 -03:00
Hachi-R
86d7ced0c0 refactor: migrate achievement list styles from VE to SCSS + BEM 2025-01-18 23:43:56 -03:00
Hachi-R
2d665b2266 refactor: update achievement panel styles 2025-01-18 23:06:55 -03:00
Hachi-R
f74061a69b refactor: migrate achievement panel styles from VE to SCSS + BEM 2025-01-18 22:03:56 -03:00
Hachi-R
b41e3def4c revert: rollback to 395f77e17c 2025-01-18 21:31:39 -03:00
Chubby Granny Chaser
8a30e946e3
Merge pull request #1405 from vitorRibeiro7/hotfix-game-minimun-specs-accordion
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
fix: fix css bug on requirements details style
2025-01-17 16:09:17 +00:00
vitorRibeiro7
cd871ec359 refactor: add non re-render rules to useEffect 2025-01-17 12:25:35 -03:00
Chubby Granny Chaser
548b7c3f41
Merge branch 'main' into hotfix-game-minimun-specs-accordion 2025-01-17 15:18:28 +00:00
vitorRibeiro7
bbcdb42708 ench: add dynamic height 2025-01-17 11:55:03 -03:00
vitorRibeiro7
e9d541498e fix: reset overflow hidden 2025-01-17 11:54:14 -03:00
vitorRibeiro7
4e34f41ee0 ench: remove maxHeight on sidebar section 2025-01-17 11:33:44 -03:00
vitorRibeiro7
049c27cdb7 fix; revert minHeight 2025-01-17 11:32:28 -03:00
vitorRibeiro7
2ba653429f fix: fix css bug on requirements details style 2025-01-16 18:20:08 -03:00
Zamitto
9574e39d75
Merge pull request #1404 from hydrasources/patch-11
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
Update RU translation.json
2025-01-16 15:42:38 -03:00
hydrasources
8ebb5edfbc
Update translation.json 2025-01-16 21:29:28 +03:00
Zamitto
69787ee068
Merge pull request #1402 from hydralauncher/feat/manage-account-buttons
feat: manage account buttons
2025-01-16 13:45:24 -03:00
Zamitto
d1fa4895e4 feat: adjust spacing 2025-01-16 12:58:09 -03:00
Hachi-R
395f77e17c refactor: change notifications header to paragraph 2025-01-16 12:18:25 -03:00
Zamitto
5d0e825880 fix: i18n 2025-01-16 11:57:28 -03:00
Zamitto
b06339d362 feat: handle refreshToken failure 2025-01-16 11:55:13 -03:00
Zamitto
3d0bf11359 feat: update text 2025-01-16 11:53:10 -03:00
Zamitto
2346a5bf86 feat: add renewal info 2025-01-16 11:32:59 -03:00
Hachi-R
f6707a5c84 lint 2025-01-16 11:30:24 -03:00
Hachi-R
ee4c564698 Merge branch 'main' into feature/migration-to-scss 2025-01-16 11:30:09 -03:00
Zamitto
81cb73c243 feat: code suggestion 2025-01-16 11:22:10 -03:00
Zamitto
923f7d7e80 feat: review 2025-01-16 09:48:08 -03:00
Zamitto
153ab05174 feat: remove unused string 2025-01-16 09:47:24 -03:00
Zamitto
ff0ef74066 feat: update icon order 2025-01-16 09:38:28 -03:00
Zamitto
bc2ee2dc4c feat: texts and layout 2025-01-16 01:12:34 -03:00
Zamitto
d866face54 feat: add account updated listener 2025-01-16 00:21:44 -03:00
Zamitto
44fd971c95 feat: refactor open auth 2025-01-15 23:56:37 -03:00
Chubby Granny Chaser
c115040e90
fix: fixing sonar issues 2025-01-16 02:37:57 +00:00
Chubby Granny Chaser
a23106b0b1
feat: migrating achievements to level 2025-01-16 02:30:09 +00:00
Zamitto
9941460c60 feat: code review 2025-01-15 17:13:36 -03:00
Zamitto
15f721ac39 feat: use Avatar component and remove non null assertion 2025-01-15 17:11:02 -03:00
Zamitto
56fabb2881 fix: hook dependencies 2025-01-15 17:08:07 -03:00
Zamitto
ffd3e37b48 feat: refactor 2025-01-15 16:57:41 -03:00
Zamitto
c4378c0ffc feat: update user details on settings account tab 2025-01-15 16:29:36 -03:00
Zamitto
af4fcb8f06 feat: manage account buttons 2025-01-15 15:49:11 -03:00
Chubby Granny Chaser
2c881a6100
fix: fixing duplicate export 2025-01-15 17:15:57 +00:00
Chubby Granny Chaser
8b47082047
fix: removing unused navigate 2025-01-15 17:08:22 +00:00
Chubby Granny Chaser
c59b039eb4
fix: removing unused navigate 2025-01-15 17:02:40 +00:00
Chubby Granny Chaser
08bcf09641
feat: adding initial leveldb configuration 2025-01-15 17:00:27 +00:00
Chubby Granny Chaser
2c5fb8a037
feat: adding initial leveldb configuration 2025-01-15 16:58:59 +00:00
Shisuys
b4014535e8 change pixeldrain url to gamedrivers servers 2025-01-13 10:23:50 -03:00
Zamitto
8761302384 feat: debrid token input component 2025-01-12 11:01:18 -03:00
Zamitto
b1dde446b2 feat: few adjustments 2025-01-12 11:00:54 -03:00
Zamitto
db2e31b8cc feat: add torbox migration 2025-01-11 17:52:48 -03:00
Zamitto
abb16e7736 chore: prettier 2025-01-11 15:19:20 -03:00
Zamitto
6c11ba4331 Merge branch 'main' into feature/torbox-integration
# Conflicts:
#	src/renderer/src/constants.ts
#	src/shared/constants.ts
2025-01-11 15:19:01 -03:00
Kelvin
09c1170407
added anchor tag 2025-01-10 14:45:19 -03:00
Chubby Granny Chaser
89f1ce5ead
Merge branch 'main' into readme-improvement 2025-01-10 17:13:43 +00:00
Kelvin
392279c4e1
fix translate error 2025-01-09 11:58:08 -03:00
Kelvin
8fbe23e61c readme translation pt-BR improvement 2025-01-09 00:58:25 -03:00
Zamitto
d4be5b8c66
Merge pull request #1386 from hydrasources/patch-10
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Update RU translation.json
2025-01-07 13:48:35 -03:00
Zamitto
21a88b889f
chore: run prettier 2025-01-07 13:45:31 -03:00
Zamitto
a0a3697516
fix: missing comma 2025-01-07 13:08:13 -03:00
Zamitto
317434f663
fix: lint error 2025-01-07 13:02:20 -03:00
hydrasources
cac2a7a70e
Update translation.json 2025-01-07 18:53:34 +03:00
Chubby Granny Chaser
11700b7c16
Merge pull request #1378 from Shisuiicaro/Feature/Datanodes-Hoster
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
Feat: Datanodes Hoster
2025-01-07 08:40:45 +00:00
Chubby Granny Chaser
2407be0fb2
Merge branch 'main' into Feature/Datanodes-Hoster 2025-01-06 20:43:37 +00:00
Shisuys
2a31c32cda Update datanodes.ts 2025-01-05 17:32:09 -03:00
Zamitto
7a7f270482
Merge pull request #1384 from mikropsoft/main
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Update TR Locales
2025-01-05 15:47:44 -03:00
Zamitto
ab2d8c351b
Removing excessive new lines 2025-01-05 15:37:25 -03:00
𝗦𝗵𝗟𝗲𝗿𝗣
87acdea5ab Update TR Locales 2025-01-05 21:08:52 +03:00
Eight
385db5c936
Merge pull request #1301 from hydralauncher/feature/reset-achievements
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
feat: add reset achievements modal
2025-01-03 19:41:24 -03:00
Hachi-R
cade56bb12 feat: disable reset achievements button if user is not logged in 2025-01-03 19:15:31 -03:00
Hachi-R
3efb1425b9 lint 2025-01-03 18:50:13 -03:00
Hachi-R
2df57b071d feat: disable reset achievement button if has no achievements 2025-01-03 18:50:02 -03:00
Hachi-R
5061695500 lint 2025-01-03 18:22:25 -03:00
Hachi-R
190ddeb46e refactor: improve logging for deleted game achievements 2025-01-03 18:22:13 -03:00
Hachi-R
e6d76a5dbe lint 2025-01-03 17:56:39 -03:00
Hachi-R
2ddda4e4d2 refactor: remove error logging 2025-01-03 17:56:13 -03:00
Hachi-R
ef3bf98903 feat: add success and error toast 2025-01-03 17:36:55 -03:00
Hachi-R
b68fe300ba refactor: rename state variable for clarity 2025-01-03 17:24:37 -03:00
Hachi-R
29ba0cca85 fix: update button disabled state logic 2025-01-03 17:21:09 -03:00
Shisuys
82b1d710c2 Datanodes support 2025-01-03 16:58:37 -03:00
Hachi-R
93b86f8c6c refactor: improve reset achievements handling and modal state management 2025-01-03 12:38:06 -03:00
Hachi-R
8cf549ff05 refactor: enhance logging in resetGameAchievement 2025-01-03 12:16:32 -03:00
Hachi-R
257a71d626 fix: change console.info to console.log 2025-01-02 09:37:58 -03:00
Hachi-R
f3d617a13a feat: log response after deleting game achievements 2025-01-02 09:37:23 -03:00
Hachi-R
9672e649e4 feat: log deleted achievement files 2025-01-02 09:36:09 -03:00
Hachi-R
e2f798c627 refactor: simplify resetGameAchievements by replacing Promise.all with a for loop 2025-01-02 09:35:05 -03:00
Hachi-R
52c159fe51 fix: replace console.error with achievementsLogger.error 2025-01-02 09:34:28 -03:00
Hachi-R
9849fbb31c refactor: change ResetAchievementsModalProps to use Readonly type for better immutability 2025-01-02 06:36:55 -03:00
Hachi-R
addc2a74d3 lint 2025-01-02 06:28:45 -03:00
Hachi-R
10766526c5 refactor: streamline resetGameAchievements with a single try catch 2025-01-02 06:28:32 -03:00
Hachi-R
bfdc2787d4 feat: remove hame achievements from remote db 2025-01-02 06:14:56 -03:00
Hachi-R
c60cd4bee4 Merge remote-tracking branch 'origin/main' into feature/reset-achievements 2025-01-02 05:28:57 -03:00
Zamitto
59bc23bbd8
Merge pull request #1367 from hydralauncher/fix/issues
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
fix: issues
2025-01-01 20:32:05 -03:00
Zamitto
16b50fc22b feat: remove launch options temporarily 2025-01-01 20:19:57 -03:00
Zamitto
720a7aa2a0 chore: bump version 2025-01-01 19:53:48 -03:00
Zamitto
5c2bafcfe8
Merge pull request #1371 from hydralauncher/feature/adding-sentry
Feature/adding sentry
2025-01-01 19:48:17 -03:00
Chubby Granny Chaser
c30c685ee4
fix: fixing translation 2025-01-01 21:50:26 +00:00
Chubby Granny Chaser
fba86002d1
feat: adding translation for button 2025-01-01 21:38:28 +00:00
Chubby Granny Chaser
a121ef77c0
feat: adding translation for button 2025-01-01 21:32:22 +00:00
Chubby Granny Chaser
bd653be071
Merge branch 'main' into fix/issues 2025-01-01 21:31:36 +00:00
Zamitto
297ca5a190
Merge pull request #1369 from 7ROBE/patch-6
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
Update ar translation.json
2025-01-01 10:31:04 -03:00
7ROBE
6278600b98
Update translation.json 2025-01-01 11:11:41 +03:00
Zamitto
1226483deb fix: open game with parameters 2024-12-31 19:38:17 -03:00
Zamitto
0661cbd661 fix: steamGenres 2024-12-31 19:32:41 -03:00
Zamitto
ad204e3879 fix: issues 2024-12-31 14:06:44 -03:00
Zamitto
cbbe6993bd
chore: bump version
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
2024-12-31 02:31:59 -03:00
Chubby Granny Chaser
3edadea0f3
Merge pull request #1365 from hydralauncher/feature/adding-sentry
feat: adding sentry to renderer
2024-12-31 05:30:57 +00:00
Chubby Granny Chaser
16259b5399
fix: fixing backups per game limit as conditional 2024-12-31 05:10:03 +00:00
Chubby Granny Chaser
726c753568
feat: adding sentry to renderer 2024-12-31 04:44:05 +00:00
Zamitto
ba2ac1eb93
Merge pull request #1364 from hydralauncher/feat/adjust-tray-icon-interaction
feat: double click shows windows
2024-12-31 00:12:45 -03:00
Zamitto
726d99a5c7 chore: bump version 2024-12-30 23:06:23 -03:00
Zamitto
402e5df9ac feat: double click shows windows 2024-12-30 22:38:16 -03:00
Zamitto
0ee55b7fd5
Merge pull request #1362 from bankov4eto/main
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
PR:[translation] Bulgarian language add missing strings
2024-12-30 15:27:22 -03:00
bankov4eto
8286390d9f
Update translation.json
Added missing translation for the new strings 
{
  "catalogue": {
    "search": "Filter…",
    "developers": "Developers",
    "genres": "Genres",
    "tags": "Tags",
    "publishers": "Publishers",
    "download_sources": "Download sources",
    "result_count": "{{resultCount}} results",
    "filter_count": "{{filterCount}} available",
    "clear_filters": "Clear {{filterCount}} selected"
  },
  "game_details": {
    "launch_options": "Launch Options",
    "launch_options_description": "Advanced users may choose to enter modifications to their launch options",
    "launch_options_placeholder": "No parameter specified"
  },
  "downloads": {
    "seeding": "Seeding",
    "stop_seeding": "Stop seeding",
    "resume_seeding": "Resume seeding",
    "options": "Manage"
  },
  "settings": {
    "seed_after_download_complete": "Seed after download complete",
    "show_hidden_achievement_description": "Show hidden achievements description before unlocking them"
  },
  "user_profile": {
    "stats": "Stats",
    "achievements": "achievements",
    "games": "Games",
    "top_percentile": "Top {{percentile}}%",
    "ranking_updated_weekly": "Ranking is updated weekly",
    "playing": "Playing {{game}}",
    "achievements_unlocked": "Achievements Unlocked",
    "earned_points": "Earned points",
    "show_achievements_on_profile": "Show your achievements on your profile",
    "show_points_on_profile": "Show your earned points on your profile"
  },
  "achievement": {
    "hidden_achievement_tooltip": "This is a hidden achievement",
    "achievement_earn_points": "Earn {{points}} points with this achievement",
    "earned_points": "Earned points:",
    "available_points": "Available points:",
    "how_to_earn_achievements_points": "How to earn achievements points?"
  },
  "hydra_cloud": {
    "hydra_cloud": "Hydra Cloud",
    "hydra_cloud_feature_found": "You've just discovered a Hydra Cloud feature!",
    "learn_more": "Learn More"
  }
}
2024-12-29 13:30:07 +02:00
bankov4eto
6e00fb8e13
Update translation.json 2024-12-29 12:47:01 +02:00
bankov4eto
9f5d8cadda
Update translation.json
Added missing translation for the new strings 
{
  "catalogue": {
    "search": "Filter…",
    "developers": "Developers",
    "genres": "Genres",
    "tags": "Tags",
    "publishers": "Publishers",
    "download_sources": "Download sources",
    "result_count": "{{resultCount}} results",
    "filter_count": "{{filterCount}} available",
    "clear_filters": "Clear {{filterCount}} selected"
  },
  "game_details": {
    "launch_options": "Launch Options",
    "launch_options_description": "Advanced users may choose to enter modifications to their launch options",
    "launch_options_placeholder": "No parameter specified"
  },
  "downloads": {
    "seeding": "Seeding",
    "stop_seeding": "Stop seeding",
    "resume_seeding": "Resume seeding",
    "options": "Manage"
  },
  "settings": {
    "seed_after_download_complete": "Seed after download complete",
    "show_hidden_achievement_description": "Show hidden achievements description before unlocking them"
  },
  "user_profile": {
    "stats": "Stats",
    "achievements": "achievements",
    "games": "Games",
    "top_percentile": "Top {{percentile}}%",
    "ranking_updated_weekly": "Ranking is updated weekly",
    "playing": "Playing {{game}}",
    "achievements_unlocked": "Achievements Unlocked",
    "earned_points": "Earned points",
    "show_achievements_on_profile": "Show your achievements on your profile",
    "show_points_on_profile": "Show your earned points on your profile"
  },
  "achievement": {
    "hidden_achievement_tooltip": "This is a hidden achievement",
    "achievement_earn_points": "Earn {{points}} points with this achievement",
    "earned_points": "Earned points:",
    "available_points": "Available points:",
    "how_to_earn_achievements_points": "How to earn achievements points?"
  },
  "hydra_cloud": {
    "hydra_cloud": "Hydra Cloud",
    "hydra_cloud_feature_found": "You've just discovered a Hydra Cloud feature!",
    "learn_more": "Learn More"
  }
}
2024-12-29 12:42:27 +02:00
Zamitto
9060d435cf
Merge pull request #1355 from dvsouto/feat/launch-options
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
feat: add custom launch options to game
2024-12-28 13:14:32 -03:00
Zamitto
d8e7fca224
Merge branch 'main' into feat/launch-options 2024-12-28 12:50:38 -03:00
Zamitto
3bef2633fd
Merge pull request #1354 from hydralauncher/feat/game-card-animation
feat: game card stats animation
2024-12-28 12:50:02 -03:00
Zamitto
db2688f3a7
feat: rename variable 2024-12-28 11:28:43 -03:00
Zamitto
4e282921ef chore: dont remove installation dirs in custom install script
Some checks failed
Release / build (windows-latest) (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
2024-12-27 17:42:12 -03:00
Zamitto
b22b998c29
Merge branch 'main' into feat/game-card-animation 2024-12-27 15:36:29 -03:00
Davi Souto
423693040b feat: added debounce to the launch options input and removed unnecessary fragment in the clear button 2024-12-27 00:53:13 -03:00
Davi Souto
c098d8ffcf fix: added detached to the spawn to fix the game closing with the launcher 2024-12-26 22:17:22 -03:00
Davi Souto
e1904b853e fix: security and persistence adjustments 2024-12-26 21:45:18 -03:00
Davi Souto
520eb91a55 feat: add custom launch options to game 2024-12-26 20:56:25 -03:00
Zamitto
16eaf4261a feat: animation and number format 2024-12-26 20:38:41 -03:00
Zamitto
ec289fe4c7 feat: animation 2024-12-26 15:07:05 -03:00
Zamitto
6ea1f9034b fix: possible fix for pixel drain and torbox cancel download 2024-12-25 23:15:58 -03:00
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
Chubby Granny Chaser
c9ae543d3e
feat: adding automatic backup on game close 2024-12-26 00:41:57 +00: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
f5d5aa39dc feat: game card animation 2024-12-25 20:28:56 -03:00
Chubby Granny Chaser
91b1c349e7
feat: adding torbox integration 2024-12-25 21:59:48 +00:00
Chubby Granny Chaser
201d89e2c4
feat: adding torbox integration 2024-12-25 21:39:59 +00: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
Zamitto
89bfb517fb fix: seeding causing python process to crash
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
2024-12-24 02:15:27 -03:00
Chubby Granny Chaser
e1a1136e05
Merge branch 'main' of github.com:hydralauncher/hydra
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
2024-12-24 04:33:49 +00:00
Chubby Granny Chaser
4c6f87f6e7
chore: setting objects to expire in 3 days 2024-12-24 04:33:24 +00:00
Zamitto
3613ad156b
Merge pull request #1326 from hydralauncher/fix/adding-debounce-to-search
fix: adding debounce to search
2024-12-24 01:09:12 -03:00
Zamitto
e50cb74d1d feat: move python rpc log to own file 2024-12-24 00:54:20 -03:00
Chubby Granny Chaser
36800c6368
Merge branch 'main' into fix/adding-debounce-to-search 2024-12-24 03:38:39 +00:00
Chubby Granny Chaser
f67395c94c
fix: adding debounce to search 2024-12-24 03:35:29 +00:00
Zamitto
f8b9fe80fd
Merge pull request #1325 from hydralauncher/fix/stop-seeding-games-that-are-not-downloaded-on-startup
fix: seeding
2024-12-24 00:35:18 -03:00
Zamitto
e211517e24 feat: revert change 2024-12-24 00:26:58 -03:00
Zamitto
538d3e5982 feat: set libtorrent flags 2024-12-24 00:23:50 -03:00
Zamitto
60e0b39f86 feat: use enum 2024-12-23 23:47:34 -03:00
Zamitto
789bccf77a chore: bump version 2024-12-23 23:45:21 -03:00
Zamitto
ce3ed6f17c fix: seeding 2024-12-23 23:44:33 -03:00
Zamitto
54c6b1f1af chore: update version_codename 2024-12-23 20:02:51 -03:00
Zamitto
dfb50e9a06
Merge pull request #1311 from hydralauncher/feat/achievements-points
feat: achievements points
2024-12-23 19:53:09 -03:00
Zamitto
017954b646 Merge branch 'main' into feat/achievements-points 2024-12-23 19:51:24 -03:00
Zamitto
73ac809bb3 Merge branch 'main' into feat/achievements-points 2024-12-23 19:51:06 -03:00
Chubby Granny Chaser
c0f35c5c54
Merge pull request #1313 from hydralauncher/feat/new-catalogue
Feat/new catalogue
2024-12-23 22:50:51 +00:00
Zamitto
84b10eaa0b chore: bump version 2024-12-23 19:50:23 -03:00
Chubby Granny Chaser
813b9e1586
Merge branch 'main' into feat/new-catalogue 2024-12-23 22:49:18 +00:00
Chubby Granny Chaser
92cdfa0526
chore: removing console log 2024-12-23 22:48:09 +00:00
Chubby Granny Chaser
a06333f716
feat: genre translation 2024-12-23 22:45:40 +00:00
Zamitto
01e3054ce9
Merge pull request #1318 from hydrasources/patch-15
Update README.ru.md
2024-12-23 19:27:20 -03:00
Zamitto
549ea750c0 chore: sonar warnings 2024-12-23 19:23:09 -03:00
Zamitto
aab4197156 feat: remove unused file 2024-12-23 19:16:55 -03:00
Zamitto
1bd32012d3 fix: build python 2024-12-23 19:14:09 -03:00
Zamitto
9f84538b76 fix: cancel download that is not active 2024-12-23 18:58:49 -03:00
Zamitto
e53f4808d5 Merge branch 'feat/new-catalogue' into feat/achievements-points 2024-12-23 18:55:26 -03:00
Zamitto
9b9545fb8f fix: wrong folder name 2024-12-23 18:55:13 -03:00
Chubby Granny Chaser
cbfe831e0c
Merge branch 'feat/new-catalogue' of github.com:hydralauncher/hydra into feat/new-catalogue 2024-12-23 21:54:25 +00:00
Chubby Granny Chaser
7d277e0133
feat: adding translation for catalogue 2024-12-23 21:54:01 +00:00
Chubby Granny Chaser
d072a14aa3
feat: adding translation for catalogue 2024-12-23 21:52:01 +00:00
Hachi-R
ddc8d67d84 Merge branch 'feat/new-catalogue' of https://github.com/hydralauncher/hydra into feat/new-catalogue 2024-12-23 18:49:24 -03:00
Hachi-R
a499aae31f feat: smooth scrolling on pagination 2024-12-23 18:49:18 -03:00
Zamitto
aa0321df8f fix: continue http downloads 2024-12-23 18:38:27 -03:00
Chubby Granny Chaser
4aa7df65f5
chore: moving tags to redux 2024-12-23 21:38:17 +00:00
Chubby Granny Chaser
8dbb0726d0
chore: moving tags to redux 2024-12-23 21:37:23 +00:00
Zamitto
53b0c0b08f Merge branch 'feat/new-catalogue' into feat/achievements-points 2024-12-23 18:35:38 -03:00
Hachi-R
502f3b4aa7 refactor: move formatNumber hook usage to before early return 2024-12-23 18:19:22 -03:00
Hachi-R
85422837b0 Merge branch 'feat/new-catalogue' of https://github.com/hydralauncher/hydra into feat/new-catalogue 2024-12-23 18:16:01 -03:00
Hachi-R
26a35a902c feat: enhance pagination component with first and last page buttons 2024-12-23 18:15:48 -03:00
hydrasources
f2a058c8c5
Update README.ru.md 2024-12-24 00:09:56 +03:00
Zamitto
1b837377cb feat: update tray icon 2024-12-23 18:02:26 -03:00
Chubby Granny Chaser
7c497977a2
feat: merging with achievements 2024-12-23 20:51:58 +00:00
Chubby Granny Chaser
8c1c86c374
Merge branch 'feat/achievements-points' of github.com:hydralauncher/hydra into feat/new-catalogue 2024-12-23 20:50:36 +00:00
Zamitto
9e714f811b Merge branch 'feat/new-catalogue' into feat/achievements-points 2024-12-23 17:22:50 -03:00
Chubby Granny Chaser
a4754c947f
feat: adding new icons 2024-12-23 20:18:00 +00:00
Zamitto
fdced15e40 Merge branch 'feat/new-catalogue' into feat/achievements-points 2024-12-23 17:15:09 -03:00
Chubby Granny Chaser
4c137d4602
feat: adding new icons 2024-12-23 19:58:16 +00:00
Zamitto
711cbb906c Merge branch 'feat/new-catalogue' into feat/achievements-points
# Conflicts:
#	yarn.lock
2024-12-23 16:53:28 -03:00
Chubby Granny Chaser
2e6766f195
feat: adding new icons 2024-12-23 19:44:03 +00:00
Chubby Granny Chaser
87bcfe90fe
chore: merging with main 2024-12-23 19:27:57 +00:00
Zamitto
54886a2c5a Merge branch 'feat/new-catalogue' into feat/achievements-points 2024-12-23 16:19:20 -03:00
Chubby Granny Chaser
550cd3b3d5
chore: merging with main 2024-12-23 19:18:34 +00:00
Zamitto
f1c83808fb Merge branch 'main' into feat/achievements-points 2024-12-23 16:16:02 -03:00
Zamitto
fbe3276bac
Merge pull request #1317 from hydrasources/patch-14
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
Update translation.json
2024-12-23 16:15:41 -03:00
Eight
1479c15312
Merge pull request #1223 from hydralauncher/feature/seed-completed-downloads
Feature/seed completed downloads
2024-12-23 16:12:54 -03:00
Chubby Granny Chaser
f738f91f24
fix: resetting pages when filter changes 2024-12-23 19:06:10 +00:00
Chubby Granny Chaser
aaecd203e1
feat: adding remove function to filter tags 2024-12-23 19:01:52 +00:00
Chubby Granny Chaser
4af5535f81
feat: adding remove function to filter tags 2024-12-23 19:00:55 +00:00
Chubby Granny Chaser
b5a9beb481
feat: adding remove function to filter tags 2024-12-23 18:57:41 +00:00
Zamitto
ed351109ba Merge branch 'feature/seed-completed-downloads' into feat/achievements-points 2024-12-23 15:27:47 -03:00
hydrasources
3ed5a2ff64
Update translation.json 2024-12-23 21:00:16 +03:00
Hachi-R
b8f5f90929 feat: enhance download handling for magnet and HTTP links in action function 2024-12-23 14:53:35 -03:00
Zamitto
1115cc03b1 Merge branch 'feature/seed-completed-downloads' into feat/achievements-points 2024-12-23 14:33:00 -03:00
Hachi-R
17879f9c70 refactor: remove unused seed process functionality from main application 2024-12-23 14:28:24 -03:00
Zamitto
1ff33be36f feat: remove download warning 2024-12-23 14:19:32 -03:00
Zamitto
0f396b83f1 Merge branch 'feature/seed-completed-downloads' into feat/achievements-points 2024-12-23 14:09:07 -03:00
Zamitto
e02875ad56 feat: improve friends playing game box 2024-12-23 14:08:56 -03:00
Hachi-R
230c24cca5 lint 2024-12-23 14:07:15 -03:00
Hachi-R
f853a2a39e feat: move initial seeding for DownloadManager 2024-12-23 14:07:03 -03:00
Hachi-R
843301c8b6 feat: implement pause and resume functionality for game seeding in DownloadManager 2024-12-23 13:50:57 -03:00
Zamitto
ea90b49604 chore: sonar adjustments 2024-12-23 10:50:35 -03:00
Zamitto
cf39b426e1 Merge branch 'feature/seed-completed-downloads' into feat/achievements-points 2024-12-23 10:41:15 -03:00
Zamitto
b74035979f feat: replace button with div on DropdownMenu 2024-12-23 10:34:18 -03:00
Zamitto
a3caa62ed3 feat: remove console log 2024-12-23 09:40:01 -03:00
Zamitto
2b44728c0e Merge branch 'feature/seed-completed-downloads' into feat/achievements-points 2024-12-23 09:39:08 -03:00
Zamitto
56217fbcf8 fix: bug after pause seed 2024-12-23 09:38:50 -03:00
Zamitto
c9be6b6b92 feat: replace console with logger 2024-12-23 09:17:47 -03:00
Zamitto
07d0e86031 Merge branch 'feature/seed-completed-downloads' into feat/achievements-points 2024-12-23 09:07:37 -03:00
Zamitto
59846cfe2f fix: processProfileImage path and body 2024-12-23 09:06:14 -03:00
Zamitto
ea3d922242 Merge branch 'feature/seed-completed-downloads' into feat/achievements-points 2024-12-23 08:51:24 -03:00
Hachi-R
f9719c995c feat: delay in seed process 2024-12-23 03:07:06 -03:00
Hachi-R
c755aa388b lint 2024-12-23 02:07:48 -03:00
Hachi-R
af2b422154 feat: integrate DownloadManager for active game downloads and streamline RPC handling 2024-12-23 02:07:37 -03:00
Hachi-R
e463ee569a feat: add initial download handling in Python RPC and update spawn method to accept download parameters 2024-12-23 01:25:01 -03:00
Zamitto
8f169ee113 fix: achievement panel when owner does not have the game 2024-12-23 00:00:10 -03:00
Zamitto
b8c456eb71 Merge branch 'feat/new-catalogue' into feat/achievements-points
# Conflicts:
#	src/renderer/src/app.tsx
2024-12-22 22:45:27 -03:00
Hachi-R
35d14b33ca lint 2024-12-22 22:40:51 -03:00
Hachi-R
3aa8230e17 feat: restart downloads and move seed process initiation to main.ts 2024-12-22 22:40:18 -03:00
Chubby Granny Chaser
4476b1b216
feat: removing publishers 2024-12-23 01:32:45 +00:00
Zamitto
12c827fe2a Merge branch 'feat/new-catalogue' into feat/achievements-points 2024-12-22 22:27:34 -03:00
Zamitto
6db6c14016 feat: hydra cloud modal 2024-12-22 22:25:20 -03:00
Chubby Granny Chaser
3a1fa9ab00
feat: removing publishers 2024-12-23 01:14:50 +00:00
Zamitto
fb8682e88d Merge branch 'feat/new-catalogue' into feat/achievements-points 2024-12-22 22:10:43 -03:00
Chubby Granny Chaser
618d6f8337
Merge branch 'feat/new-catalogue' of github.com:hydralauncher/hydra into feat/new-catalogue 2024-12-23 00:48:22 +00:00
Chubby Granny Chaser
214f7d3523
feat: removing publishers 2024-12-23 00:47:39 +00:00
Chubby Granny Chaser
b439a1af3f
feat: removing publishers 2024-12-23 00:46:11 +00:00
Chubby Granny Chaser
602ee61cb6
feat: removing publishers 2024-12-23 00:42:08 +00:00
Zamitto
4d0a75e61f feat: refactor 2024-12-22 21:31:24 -03:00
Zamitto
cabddfb926 Merge branch 'feat/new-catalogue' into feat/achievements-points
# Conflicts:
#	src/preload/index.ts
#	src/renderer/src/app.tsx
#	src/renderer/src/features/index.ts
#	src/renderer/src/store.ts
#	yarn.lock
2024-12-22 21:22:52 -03:00
Zamitto
c20369fa57 Merge branch 'feature/seed-completed-downloads' into feat/achievements-points 2024-12-22 21:21:27 -03:00
Zamitto
d6b5fd1b9f feat: cloud ui 2024-12-22 21:21:05 -03:00
Chubby Granny Chaser
4edf1ed41f
Merge branch 'main' into feat/new-catalogue 2024-12-23 00:14:22 +00:00
Chubby Granny Chaser
4607665908
fix: fixing download sources migration 2024-12-23 00:07:35 +00:00
Chubby Granny Chaser
c9f8148acf
fix: fixing download sources migration 2024-12-23 00:07:02 +00:00
Chubby Granny Chaser
1fd930b0a3
fix: fixing download sources migration 2024-12-23 00:06:23 +00:00
Chubby Granny Chaser
c9c6d5ee46
fix: fixing download sources migration 2024-12-23 00:05:27 +00:00
Chubby Granny Chaser
496924b2a4
fix: fixing download sources migration 2024-12-22 23:42:49 +00:00
Chubby Granny Chaser
32032e1c8a
fix: fixing download sources migration 2024-12-22 23:38:54 +00:00
Hachi-R
65b1ec9b1f refactor: replace dataSource with gameRepository in pauseGameSeed and resumeGameSeed events 2024-12-22 20:31:34 -03:00
Zamitto
7b724d4185 Merge branch 'feature/seed-completed-downloads' into feat/achievements-points 2024-12-22 20:27:09 -03:00
Zamitto
c8566dd2be feat: ui improvement 2024-12-22 20:27:04 -03:00
Hachi-R
79bb12ee61 lint 2024-12-22 20:21:16 -03:00
Hachi-R
db01980eb8 refactor: clean up code 2024-12-22 20:20:46 -03:00
Hachi-R
859d849d36 fix: update Portuguese translations and enhance dropdown menu styling 2024-12-22 19:30:05 -03:00
Hachi-R
855f0aa334 refactor: remove commented-out code in download-manager.ts 2024-12-22 18:50:19 -03:00
Zamitto
313ebc6055 feat: cloud modal 2024-12-22 18:05:54 -03:00
Zamitto
041b7d520c feat: ui adjustments and add friend playing game 2024-12-22 16:47:13 -03:00
Zamitto
93bc7c690f feat: ui adjustments 2024-12-22 12:38:31 -03:00
Zamitto
58a8f6fd6e Merge branch 'feature/seed-completed-downloads' into feat/achievements-points 2024-12-22 11:48:25 -03:00
Zamitto
1522b00579 feat: some visuals 2024-12-22 11:47:55 -03:00
Hachi-R
93712a7f5e refactor: remove commented-out code for torrent actions in main.py and torrent_downloader.py 2024-12-22 09:08:36 -03:00
Hachi-R
abb3db4e30 feat: implement directory size check and seed abort 2024-12-22 09:08:20 -03:00
Hachi-R
bd184fceda lint 2024-12-22 09:07:02 -03:00
Hachi-R
93ef0c256e feat: updated pauseGameSeed and resumeGameSeed events 2024-12-22 09:06:39 -03:00
Hachi-R
fd5b2e08a5 lint 2024-12-22 06:58:20 -03:00
Hachi-R
1a286df3f7 Merge branch 'main' into feature/seed-completed-downloads 2024-12-22 06:58:03 -03:00
Zamitto
06e59fdfa0 feat: adding panel 2024-12-21 20:49:50 -03:00
Hachi-R
9884a39abc refactor: replace resumeSeeding with resumeDownload in torrenting event handler 2024-12-21 16:44:49 -03:00
Hachi-R
90b320952b lint 2024-12-21 16:28:01 -03:00
Hachi-R
4b8569bd5e refactor: streamline download completion handling 2024-12-21 16:27:28 -03:00
Hachi-R
5714c23073 feat: implement seed process initiation in PythonRPC 2024-12-21 15:34:29 -03:00
Hachi-R
09ea3b27f4 feat: improve seed status response structure by including game ID 2024-12-21 14:39:16 -03:00
Hachi-R
5fbf0baa0f feat: enhance seed status retrieval 2024-12-21 10:15:04 -03:00
Zamitto
2c09520f98
Merge pull request #1315 from hydrasources/patch-12
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
fix: update language anchor in README.pt-BR.md
2024-12-20 22:57:25 -03:00
Zamitto
87189c070e chore: add openssl to readme 2024-12-20 22:56:42 -03:00
Zamitto
81cded0052 feat: add points to achievement list 2024-12-20 22:22:13 -03:00
Zamitto
89cd970d5a feat: refactor component 2024-12-20 20:31:31 -03:00
hydrasources
c2b7fb4823
Update README.pt-BR.md 2024-12-21 01:55:01 +03:00
Chubby Granny Chaser
f37b92261f
feat: adding button to clear selected filters 2024-12-20 22:40:41 +00:00
Chubby Granny Chaser
b28d34cf66
feat: increasing number of results 2024-12-20 22:14:58 +00:00
Zamitto
a21c3dcdf1
Merge pull request #1314 from hydrasources/patch-10
Update RU translation.json
2024-12-20 18:57:28 -03:00
Chubby Granny Chaser
59655a819a
feat: adding link direct from sources 2024-12-20 21:33:17 +00:00
Chubby Granny Chaser
d3450c5f65
feat: adding link direct from sources 2024-12-20 21:28:51 +00:00
Chubby Granny Chaser
3af0ae9f85
feat: adding scroll to filters 2024-12-20 18:59:51 +00:00
Chubby Granny Chaser
a557bbb948
feat: adding user tags 2024-12-20 18:43:17 +00:00
Chubby Granny Chaser
e78de55fe7
feat: adding user tags 2024-12-20 18:39:40 +00:00
Zamitto
065ea0c6fe feat: adjust log 2024-12-20 15:38:39 -03:00
hydrasources
9b22251705
Update translation.json 2024-12-20 20:53:41 +03:00
Zamitto
721d0c6da1 Merge branch 'main' into feat/achievements-points 2024-12-20 14:49:40 -03:00
Zamitto
170ac28bb5 fix: user data not being correctly loaded on hydra api setup 2024-12-20 14:48:04 -03:00
Chubby Granny Chaser
3be9053b76
feat: adding pacman 2024-12-20 17:33:13 +00:00
Chubby Granny Chaser
ede1dbc5e7
feat: adding source search 2024-12-20 17:12:59 +00:00
Chubby Granny Chaser
5551125865
feat: adding source search 2024-12-20 17:12:21 +00:00
Chubby Granny Chaser
eb744346f0
feat: adding source search 2024-12-20 17:10:33 +00:00
Chubby Granny Chaser
5d5ce092b7
feat: adding source search 2024-12-20 17:09:56 +00:00
Chubby Granny Chaser
109c12064d
feat: adding source search 2024-12-20 17:07:51 +00:00
Zamitto
c9a553c5d3 fix: spanish translation
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
2024-12-20 12:53:12 -03:00
Zamitto
1fae3066fa feat: spanish translation adjustment 2024-12-20 12:53:09 -03:00
Zamitto
c8d1b2c19a feat: spanish translation adjustment 2024-12-20 12:31:32 -03:00
Zamitto
be89e0d60b feat: create stats box 2024-12-20 10:14:59 -03:00
Zamitto
076f33605a fix: spanish translation 2024-12-18 16:26:53 -03:00
Zamitto
eaf099d2ce Merge branch 'main' into feat/achievements-points 2024-12-18 16:13:29 -03:00
Chubby Granny Chaser
007731b71c
Merge pull request #1283 from hydralauncher/ci/testing-build-webhook
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
ci: testing upload build script
2024-12-18 19:12:30 +00:00
Chubby Granny Chaser
0ca6c2cbff
fix: removing pnpm lock file 2024-12-18 19:10:17 +00:00
Chubby Granny Chaser
94f0df096d
Merge branch 'main' into ci/testing-build-webhook 2024-12-18 18:10:26 +00:00
Zamitto
55ed27511f
Merge pull request #1306 from 7ROBE/patch-4
Some checks are pending
Release / build (windows-latest) (push) Waiting to run
Release / build (ubuntu-latest) (push) Waiting to run
Update translation.json
2024-12-18 14:16:49 -03:00
Zamitto
294700a6ca Merge branch 'main' into feat/achievements-points 2024-12-18 14:15:55 -03:00
JackEnx
dfe70a5a95
Merge pull request #1299 from hydralauncher/feature/rpc
Feature/rpc
2024-12-18 14:14:30 -03:00
JackEnx
bc98f7c55e fix: closed game pestis in the watch processes 2024-12-18 13:02:13 -03:00
JackEnx
e2d16ba63e Merge branch 'feature/rpc' of https://github.com/hydralauncher/hydra into feature/rpc 2024-12-18 12:33:25 -03:00
JackEnx
4f7255a8d9 refactor: process watcher commands 2024-12-18 12:31:12 -03:00
Zamitto
ad59fcd3e9
Merge branch 'main' into feature/rpc 2024-12-18 12:29:07 -03:00
JackEnx
5222d319a3 refactor: add bundle.js in external script environment 2024-12-18 12:25:55 -03:00
JackEnx
1f3a6a9da6 refactor: add bundle.js in external script environment 2024-12-18 12:20:07 -03:00
7ROBE
d687c156ff
Update translation.json 2024-12-18 18:01:13 +03:00
JackEnx
e95407e6f5 refactor: add URL to end of the env main external resources 2024-12-18 11:51:22 -03:00
Zamitto
23f9b5228c feat: adjustments 2024-12-17 23:40:30 -03:00
Zamitto
ac0d0efe0f feat: update interfaces 2024-12-17 16:14:09 -03:00
JackEnx
4c3eb98041 refactor: rpc url to a generic url 2024-12-17 15:48:11 -03:00
Zamitto
ce2cf89fd6
Merge pull request #1302 from hydralauncher/feat/hidden-achievement-description
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
feat: add description option for hidden achievements
2024-12-17 15:45:32 -03:00
JackEnx
347e38c413 refactor: move rpc game executables url to a env 2024-12-17 15:35:42 -03:00
Zamitto
3a964dcf17 feat: create game 2024-12-17 15:25:10 -03:00
Hachi-R
afcfcbf482 refactor: clean up reset game achievements logic 2024-12-17 13:55:45 -03:00
Hachi-R
ac6eb247df feat: implement reset game achievements functionality 2024-12-17 13:15:55 -03:00
Hachi-R
47a5f4d327 feat: add reset achievements modal 2024-12-17 11:10:25 -03:00
JackEnx
f2714bd0ab fix: process map promise return 2024-12-16 21:47:09 -03:00
JackEnx
66a8170fd2 fix: lint 2024-12-16 21:40:56 -03:00
JackEnx
9f8269d9a9 refactor: linux get game exe logic 2024-12-16 21:31:39 -03:00
JackEnx
64745b9147 feature: linux find opened game and wine path 2024-12-16 20:45:09 -03:00
Zamitto
b0bf33191b Merge branch 'main' into feat/hidden-achievement-description 2024-12-16 20:00:46 -03:00
Zamitto
500db90974 chore: readme link
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
2024-12-16 19:56:14 -03:00
Zamitto
e5f575705f Merge branch 'main' into feat/hidden-achievement-description 2024-12-16 19:55:19 -03:00
Zamitto
1acafe5b8f
Merge pull request #1289 from hydralauncher/fix/handle-achievement-exception
fix: handle achievement exception
2024-12-16 19:54:56 -03:00
JackEnx
fcfaae7b58 refactor: move exec command to a function 2024-12-16 19:51:15 -03:00
JackEnx
311b011ec6 feature: linux game observe 2024-12-16 19:48:07 -03:00
JackEnx
efcf778c95 refactor: merged game queries to a single query 2024-12-16 18:52:11 -03:00
Zamitto
149c278e22
Merge branch 'main' into fix/handle-achievement-exception 2024-12-16 18:40:58 -03:00
JackEnx
431ad2ff2c refactor: Set descontruction to Set foreach 2024-12-16 18:39:30 -03:00
Zamitto
93a77dc027
Merge pull request #1296 from hydrasources/patch-7
Update README.ru.md
2024-12-16 18:20:25 -03:00
Zamitto
e5c6b54e7b
Merge pull request #1298 from hydrasources/hydrasources-patch-1-6
Hydrasources patch 1 6
2024-12-16 18:19:43 -03:00
Zamitto
859dbb8655
Merge pull request #1295 from hydrasources/patch-4
Update translation.json
2024-12-16 18:19:23 -03:00
Zamitto
6c2f25a9a3
Merge pull request #1297 from hydrasources/patch-8
Update README.pt-BR.md
2024-12-16 18:19:04 -03:00
hydrasources
75140ccf97
Update README.da.md 2024-12-17 00:07:34 +03:00
hydrasources
df46f1f1d0
Update README.de.md 2024-12-17 00:07:15 +03:00
hydrasources
166e53ceaa
Update README.nb.md 2024-12-17 00:05:37 +03:00
hydrasources
165e346d38
Update README.nb.md 2024-12-17 00:05:12 +03:00
hydrasources
8485544731
Update README.be.md 2024-12-17 00:03:55 +03:00
hydrasources
feb325c2c7
Update README.pt-BR.md 2024-12-17 00:01:13 +03:00
hydrasources
c611ff2229
Update README.ru.md 2024-12-16 23:58:55 +03:00
hydrasources
e75b2960c0
Update translation.json
I just forgot to update another line
2024-12-16 23:53:09 +03:00
JackEnx
1ffb9828f7 refactor: get system process map 2024-12-16 17:38:03 -03:00
JackEnx
fee1a92715 fix: executable lastIndeOf 2024-12-16 17:10:34 -03:00
Zamitto
8d7553e1cc
Merge pull request #1290 from hydrasources/patch-3
Update translation.json
2024-12-16 17:03:49 -03:00
Zamitto
a40638b657
chore: lint 2024-12-16 16:55:10 -03:00
JackEnx
d9adc49e9f fix: executable slice 2024-12-16 16:53:09 -03:00
JackEnx
5607f6d524 refactor: move executable name replate outside the forof 2024-12-16 16:42:07 -03:00
hydrasources
d821fd7800
Update translation.json 2024-12-16 22:38:16 +03:00
JackEnx
e87f287476 refactor: remove redundant plataform validation 2024-12-16 16:37:50 -03:00
JackEnx
c2a52d3c18 refactor: reduce code redundance 2024-12-16 16:35:12 -03:00
JackEnx
08d320ad1c fix: win32 path 2024-12-16 16:34:00 -03:00
JackEnx
d17abdcd11 refactor: games id without path get only games objectID 2024-12-16 16:17:46 -03:00
JackEnx
19485b5ba1 feature: find game in execution executable path 2024-12-16 15:57:49 -03:00
Zamitto
1ea98613fb feat: add hidden achievement description option 2024-12-16 14:57:14 -03:00
JackEnx
b8b000d88c refactor: change game process set to map 2024-12-16 14:36:16 -03:00
Chubby Granny Chaser
1e99dae9de
Merge branch 'main' of github.com:hydralauncher/hydra 2024-12-16 16:21:43 +00:00
Chubby Granny Chaser
cedb61cb38
feat: removing insert custom styles 2024-12-16 16:21:02 +00:00
hydrasources
1e78532dc5
Update translation.json 2024-12-14 16:09:30 +03:00
hydrasources
454beff2d3
Update translation.json 2024-12-14 16:04:19 +03:00
Zamitto
6f417d23d1 fix: handle achievement parse error causing hydra to never search new achievements in real time 2024-12-13 16:48:09 -03:00
Zamitto
58cbf78fb9 chore: update libs 2024-12-13 16:47:51 -03:00
JackEnx
ff917b7ecf
Merge pull request #1230 from hydralauncher/fix/linux-game-tracking
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
fix: linux game tracking and closed button
2024-12-13 11:45:12 -03:00
Zamitto
b2d6d7e736
Merge branch 'main' into fix/linux-game-tracking 2024-12-13 11:31:05 -03:00
Zamitto
95d320a0fe
Merge pull request #1287 from JarEXE/fix/traymenu
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
fix: workaround for broken or missing tray icon menu on linux
2024-12-11 17:22:49 -03:00
jarome
fd8c57bff0 fix: implemented workaround for broken or missing tray icon menu on linux 2024-12-11 13:24:54 -03:00
Chubby Granny Chaser
36cb1e1103
ci: testing upload build script 2024-12-10 00:54:58 +00:00
Chubby Granny Chaser
77e0be8234
ci: testing upload build script 2024-12-10 00:54:35 +00:00
Chubby Granny Chaser
4b93b91373
ci: testing upload build script 2024-12-10 00:20:35 +00:00
Chubby Granny Chaser
639c7ef1e6
ci: testing upload build script 2024-12-10 00:03:14 +00:00
Chubby Granny Chaser
95ae59c7a3
Merge branch 'main' of github.com:hydralauncher/hydra 2024-12-09 23:38:37 +00:00
Chubby Granny Chaser
9e73a44426
ci: testing upload build script 2024-12-09 23:14:21 +00:00
Chubby Granny Chaser
2c93312df0
ci: testing upload build script 2024-12-09 23:12:10 +00:00
Chubby Granny Chaser
09cf207ecc
ci: testing upload build script 2024-12-09 23:04:37 +00:00
Chubby Granny Chaser
1d13b7bede
ci: testing upload build script 2024-12-09 23:01:54 +00:00
Chubby Granny Chaser
5b104ecb42
ci: testing upload build script 2024-12-09 22:59:40 +00:00
Chubby Granny Chaser
235045dec4
ci: testing upload build script 2024-12-09 22:56:49 +00:00
Chubby Granny Chaser
fa273a13f2
ci: testing upload build script 2024-12-09 22:54:58 +00:00
Zamitto
d8b59cae05 feat: differ staging cookie
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
2024-12-09 19:29:31 -03:00
Zamitto
45f2727415 chore: bump version 2024-12-09 17:58:46 -03:00
Zamitto
7e44b3dedb
Merge pull request #1282 from hydralauncher/fix/intercepting-cookies
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
Fix/intercepting cookies
2024-12-09 17:57:30 -03:00
Zamitto
0dea700479 feat: adjustments on clear button 2024-12-09 17:26:20 -03:00
Zamitto
56247eaf7b Merge branch 'main' into fix/intercepting-cookies 2024-12-09 16:52:47 -03:00
Zamitto
590a15e534
Merge pull request #1254 from JarEXE/feature/clearpaths
feat: allow clearing game executable path and wine prefix
2024-12-09 16:51:18 -03:00
Zamitto
fb1cc9b82c
Merge branch 'main' into feature/clearpaths 2024-12-09 16:29:19 -03:00
Zamitto
7595f19af3 feat: remove console log 2024-12-08 22:50:39 -03:00
Zamitto
e978d84f5f feat: intercepting cookies 2024-12-08 22:21:20 -03:00
Zamitto
0157d546e4 chore: bump version
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
2024-12-08 10:57:39 -03:00
Chubby Granny Chaser
4f5dc51a68
Merge pull request #1281 from hydralauncher/fix/fixing-local-images
fix: fixing local images
2024-12-08 13:17:25 +00:00
Chubby Granny Chaser
938650dbde
Merge branch 'main' into fix/fixing-local-images 2024-12-08 13:15:52 +00:00
Chubby Granny Chaser
bae9e57fcd
fix: fixing local images 2024-12-08 13:12:38 +00:00
Zamitto
6a673f0c6b
Merge pull request #1280 from hydralauncher/fix/headers-and-logs
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
Fix/headers and logs
2024-12-08 01:26:55 -03:00
Zamitto
a962d839a8 fix: chatwoot and featurebase headers 2024-12-08 01:04:17 -03:00
Zamitto
173fb41e63 feat: refactor error logs 2024-12-08 00:59:53 -03:00
Zamitto
26cbeee5af
Merge pull request #1277 from GearCzech/main
Updated czech translation [translation]
2024-12-08 00:42:33 -03:00
Zamitto
f6b5263814
Merge branch 'main' into main 2024-12-08 00:29:40 -03:00
Zamitto
3b7ddd0170
Merge pull request #1279 from bankov4eto/main
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
PR: [translation]
2024-12-07 10:36:18 -03:00
bankov4eto
600cbfe861
Update translation.json
Updated translation and corrections
2024-12-07 10:57:02 +02:00
bankov4eto
994f4568a4
Update translation.json
Updated translations and corrections
2024-12-07 10:50:06 +02:00
Gear
1de973ebd0 Fixed by prettier now 2024-12-05 22:36:12 +01:00
Gear
4f6d3d7057 fixed the last line 2024-12-05 22:32:31 +01:00
Gear
124e38c782 Updated czech translation 2024-12-05 22:13:28 +01:00
Zamitto
c9eed85a00
Merge pull request #1275 from hydralauncher/fix/set-userDetails-after-login
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
fix: set window.userDetails after login
2024-12-04 21:11:13 -03:00
Zamitto
988c01f506 fix: set window.userDetails after login 2024-12-04 12:11:14 -03:00
Zamitto
5450443022
Merge pull request #1274 from hydralauncher/chore/remove-intercom-dependency
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
chore: remove intercom dependency
2024-12-04 09:04:35 -03:00
Zamitto
590a1b354d chore: remove intercom dependency 2024-12-04 01:57:47 -03:00
Zamitto
2dcb629c2d
Merge pull request #1269 from Lianela/main
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
feature: updated spanish translation
2024-12-02 23:59:48 -03:00
Lianela
96feaf8d42
Update translation.json 2024-12-02 17:43:00 -06:00
Lianela
4cb3258e17
feat: updated spanish translation
added missing strings
2024-12-02 17:38:13 -06:00
Chubby Granny Chaser
9b9b3f73d0
fix: fixing data: links on CSP
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
2024-12-02 20:37:43 +00:00
Chubby Granny Chaser
de36965017
fix: prevent loading external resources twice 2024-12-02 19:37:32 +00:00
Chubby Granny Chaser
e9fddd2456
Merge branch 'main' of github.com:hydralauncher/hydra 2024-12-02 19:13:41 +00:00
Chubby Granny Chaser
8b4791f1f4
chore: bump version 2024-12-02 19:12:39 +00:00
Zamitto
281208a8aa
Merge branch 'main' into fix/linux-game-tracking 2024-12-02 16:08:38 -03:00
Chubby Granny Chaser
5f9397f6db
Merge branch 'main' into feature/clearpaths 2024-12-02 18:47:19 +00:00
Chubby Granny Chaser
870e45991b
Merge pull request #1268 from hydralauncher/fix/migrating-hltb
Fix/migrating hltb
2024-12-02 18:47:08 +00:00
Chubby Granny Chaser
38e94c92d7
fix: cache-busting external resources 2024-12-02 18:44:03 +00:00
Chubby Granny Chaser
93fbf7657d
fix: returning hydra api call directly 2024-12-02 18:15:45 +00:00
Chubby Granny Chaser
0fc6d69851
fix: migrating hltb to api 2024-12-02 17:58:13 +00:00
Chubby Granny Chaser
7f600a0cbf
feat: adding csp update 2024-12-02 17:10:13 +00:00
Chubby Granny Chaser
d7e06d6622
feat: adding aria2c 2024-11-28 19:16:05 +00:00
Chubby Granny Chaser
c6d4b658a1
feat: adding aria2c 2024-11-28 19:13:39 +00:00
Chubby Granny Chaser
a847f9370c
feat: adding aria2c 2024-11-28 19:13:15 +00:00
Chubby Granny Chaser
fe8f962fb0
feat: adding aria2c 2024-11-28 19:12:47 +00:00
Chubby Granny Chaser
4060f7a1a6
feat: adding aria2c 2024-11-28 19:09:13 +00:00
Zamitto
5bc424796a
Merge pull request #1219 from hydralauncher/feat/intercom-user-id
Some checks failed
Release / build (ubuntu-latest) (push) Failing after 9s
Release / build (windows-latest) (push) Has been cancelled
feat: add intercom user id
2024-11-28 11:27:57 -03:00
Zamitto
7f33b63bed
Merge branch 'main' into feat/intercom-user-id 2024-11-28 09:55:15 -03:00
Chubby Granny Chaser
2d8b63c803
Merge branch 'feature/seed-completed-downloads' of github.com:hydralauncher/hydra into feature/seed-completed-downloads 2024-11-28 10:34:15 +00:00
Chubby Granny Chaser
6259cf4104
Merge branch 'main' of github.com:hydralauncher/hydra into feature/seed-completed-downloads 2024-11-28 10:13:37 +00:00
Chubby Granny Chaser
f35c34fa63
fix: fixing bottom panel scss 2024-11-28 10:13:23 +00:00
Zamitto
57e0fb493f
Merge pull request #1261 from hydralauncher/fix/correct-subscription-date-validation
Some checks failed
Release / build (windows-latest) (push) Waiting to run
Release / build (ubuntu-latest) (push) Failing after 11s
fix: subscription date validation
2024-11-27 13:37:32 -03:00
Zamitto
730ea4f2b9 fix: subscription date validation 2024-11-27 13:27:13 -03:00
jarome
948965dda5 QoL allow clearing game executable path and wine prefix 2024-11-23 21:39:45 -03:00
Hachi-R
f2cc20cb7c refactor: removed dropdown title because its ugly 2024-11-15 23:54:45 -03:00
JackEnx
46c3b33548 refactor: remove process watcher duplicated code 2024-11-13 11:54:01 -03:00
JackEnx
7785d42021 fix: linux game tracking and closed button 2024-11-12 15:39:18 -03:00
Eight
130c23603f
Merge branch 'main' into feature/seed-completed-downloads 2024-11-12 04:34:15 -03:00
Hachi-R
330341392d lint 2024-11-12 04:32:34 -03:00
Hachi-R
9d1c04d07a refactor: export with component definition 2024-11-12 04:32:08 -03:00
Hachi-R
94ef1679a9 feat: add menu with download options on download page 2024-11-12 04:12:22 -03:00
Hachi-R
ca953de464 lint 2024-11-12 04:10:43 -03:00
Hachi-R
2c1c3e3c98 feat: add dropdown menu component 2024-11-12 04:10:19 -03:00
Hachi-R
40ec773425 lint 2024-11-11 16:39:58 -03:00
Hachi-R
a7b8018ed9 "feat: pause seeding if game folder is deleted" 2024-11-11 16:24:04 -03:00
Zamitto
8cfe5b4d34 fix: add friend's pass to format name 2024-11-11 10:35:33 -03:00
Zamitto
a2e41b81a3 Merge branch 'main' into feat/intercom-user-id 2024-11-10 23:38:07 -03:00
Zamitto
ee4639e041
Merge pull request #1222 from bankov4eto/main
Some checks failed
Release / build (windows-latest) (push) Waiting to run
Release / build (ubuntu-latest) (push) Failing after 1m32s
PR: [translation] bulgarian
2024-11-10 23:37:00 -03:00
Zamitto
6e6469d90f fix: format ignore case 2024-11-10 20:55:23 -03:00
bankov4eto
a53793a76b
Merge branch 'hydralauncher:main' into main 2024-11-10 12:50:23 +02:00
bankov4eto
d046f1ed21
Update index.ts 2024-11-10 09:25:19 +02:00
Zamitto
da1ac788fb
Update translation.json 2024-11-09 20:58:21 -03:00
Chubby Granny Chaser
1980560a2d
Merge branch 'main' of github.com:hydralauncher/hydra
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
2024-11-09 22:14:29 +00:00
Hachi-R
1416cd46a3 feat: seed downloads from previous versions 2024-11-09 16:03:43 -03:00
Chubby Granny Chaser
610b6e528c
Merge branch 'main' into feature/seed-completed-downloads 2024-11-09 18:03:28 +00:00
Hachi-R
f66bdd706b feat: pause seeding before deleting game 2024-11-09 14:29:45 -03:00
Hachi-R
518d919da5 feat: add locale strings 2024-11-09 13:00:22 -03:00
Hachi-R
9619578fcf lint 2024-11-09 12:47:16 -03:00
Hachi-R
56687948bf feat: display upload speed during seeding 2024-11-09 12:45:48 -03:00
bankov4eto
7166f66a9e
Update translation.json 2024-11-09 17:29:32 +02:00
Hachi-R
8ec52bf193 temp 2024-11-09 12:08:58 -03:00
bankov4eto
cc3fc10ddf
Merge pull request #1 from bankov4eto/bankov4eto-patch-1
Create translation.json
2024-11-09 15:41:30 +02:00
bankov4eto
15ecba1f6e
Create translation.json
Bulgarian translation added
2024-11-09 15:36:16 +02:00
Zamitto
2828640ed7 feat: add intercom user id 2024-11-09 02:54:23 -03:00
Hachi-R
c314c397a5 feat: add option to disable seeding after download completes 2024-11-09 01:29:06 -03:00
Chubby Granny Chaser
341903fc3e
ci: pushing builds to r2 2024-11-09 04:26:01 +00:00
Hachi-R
5078946191 refactor: change logic to seed new downloads 2024-11-09 01:16:03 -03:00
Hachi-R
7c039ead10 feat: add seeding management logic 2024-11-08 23:36:43 -03:00
Zamitto
20c001914a
Merge pull request #1217 from hydralauncher/feat/intercom-userid
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
feat: add userid to intercom and post to logout
2024-11-08 23:16:48 -03:00
Zamitto
77e9de704d feat: open checkout with user language 2024-11-08 22:40:43 -03:00
Zamitto
34ec8467ec feat: temp removing userId intercom 2024-11-08 22:34:58 -03:00
Hachi-R
94b65c0357 lint 2024-11-08 21:30:51 -03:00
Hachi-R
b32952f076 feat: add ablity to pause and resume the seeding process 2024-11-08 21:29:40 -03:00
Zamitto
eeae140a41 chore: remove unused file 2024-11-08 20:17:12 -03:00
Zamitto
e277af0e4b feat: add staging info on bottom panel 2024-11-08 20:03:22 -03:00
Zamitto
8a67492cf8 feat: add userid to itercom and post to logout 2024-11-08 19:47:28 -03:00
Hachi-R
c556a00e4a feat: get seed status 2024-11-08 18:28:58 -03:00
Hachi-R
9c9c0e6c09 feat: seed after doenload 2024-11-08 18:24:06 -03:00
Hachi-R
21ca26dcfe feat: update schema with seeding columns 2024-11-08 17:30:18 -03:00
Chubby Granny Chaser
a292164a55
feat: adding demo theme composer 2024-11-08 17:05:38 +00:00
bumyy
4b59a007f4 feat: migration to scss 2024-11-08 13:31:40 -03:00
bumyy
c9e99d3852 feat: migrated to scss 2024-11-07 20:23:03 -03:00
Eight
981dbceb93
Merge pull request #1207 from hydralauncher/feature/disable-nsfw-popup
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Feature/disable nsfw alert
2024-11-06 21:51:24 -03:00
Hachi-R
aaee27732d refactor: rename all "popup" strings to "alert" 2024-11-06 20:44:56 -03:00
Hachi-R
e7acce2dfc feat: add localization strings 2024-11-06 03:01:28 -03:00
Hachi-R
56b15bf52a lint 2024-11-06 02:58:10 -03:00
Hachi-R
2f8fe67f9f feat: add option to disable NSFW warning 2024-11-06 02:57:52 -03:00
Chubby Granny Chaser
b09e91a1cf
fix: fixing analytics for ddl
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
2024-11-05 20:29:44 +00:00
Zamitto
9418c4acf7 fix: achievement filter 2024-11-05 17:09:46 -03:00
Chubby Granny Chaser
0451bc55aa
chore: more relaxed CSP 2024-11-05 19:59:41 +00:00
Chubby Granny Chaser
2840110a21
ci: removing bump 2024-11-05 19:30:09 +00:00
Chubby Granny Chaser
8c4eacf045
chore: bump version 2024-11-05 19:18:13 +00:00
Chubby Granny Chaser
179785432d
Merge pull request #1206 from hydralauncher/ci/adding-intercom-app-id
Ci/adding intercom app
2024-11-05 19:17:46 +00:00
Chubby Granny Chaser
c3da39205f
ci: adding intercom app id 2024-11-05 19:12:12 +00:00
Chubby Granny Chaser
f071d1006b
ci: adding intercom app id 2024-11-05 19:11:03 +00:00
Chubby Granny Chaser
6da1832799
ci: adding intercom app id 2024-11-05 19:08:37 +00:00
Chubby Granny Chaser
df0e124c3a
Merge pull request #1204 from hydralauncher/feat/adding-intercom
Feat/adding intercom
2024-11-05 18:24:06 +00:00
Chubby Granny Chaser
25f1a72b48
Merge branch 'main' into feat/adding-intercom 2024-11-05 18:17:37 +00:00
Chubby Granny Chaser
2b5e76ffdd
feat: adding intercom 2024-11-05 18:15:17 +00:00
Chubby Granny Chaser
9d75e3ad6f
feat: adding intercom 2024-11-05 18:13:32 +00:00
Zamitto
ab5024ec4a
Merge pull request #1203 from hydralauncher/fix/replace-nbsp-with-space
fix: replace nbsp with space
2024-11-05 14:23:02 -03:00
Zamitto
bdaf4d6d9b fix: use game iconUrl to show finish download notification 2024-11-05 13:49:29 -03:00
Zamitto
6d53aaa631 feat: parsing hash before post analytics 2024-11-05 13:43:21 -03:00
Zamitto
e67d605949 chore: add envs to gh action yml 2024-11-05 13:21:51 -03:00
Zamitto
b82840df3b feat: add download analytics 2024-11-05 13:07:37 -03:00
Zamitto
42e0df29ee fix: replace nbsp with space 2024-11-05 12:33:09 -03:00
Zamitto
0745f5b401 chore: bump version
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
2024-11-05 01:33:44 -03:00
Zamitto
1ab5b8bd00
Merge pull request #1200 from hydralauncher/fix/linux-deb-download
fix: linux deb download
2024-11-05 01:32:40 -03:00
JackEnx
dc93ef9134 fix: linux deb download 2024-11-05 00:13:55 -03:00
Zamitto
943cfc2913
Merge pull request #1193 from zxcsix-zxc/patch-1
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Update RU translation.json
2024-11-03 16:11:45 -03:00
zxcsix-zxc
6b125aff27
Update translation.json
Changed translation for "hot"
2024-11-03 00:50:29 +02:00
Chubby Granny Chaser
3469b624d5
Merge pull request #1190 from hydralauncher/feat/removing-sentry
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
fix: removing sentry
2024-11-02 17:25:41 +00:00
Chubby Granny Chaser
c498e331c7
fix: removing sentry.properties 2024-11-02 17:16:33 +00:00
Chubby Granny Chaser
c8165c10bf
chore: resolving conflicts with yarn.lock 2024-11-02 17:09:10 +00:00
Chubby Granny Chaser
8af29abd92
fix: removing sentry 2024-11-02 17:06:30 +00:00
Zamitto
5662ddd2be
Merge pull request #1170 from hydralauncher/feat/use-native-notification-for-achievements
feat: use native notification for achievements
2024-11-02 13:33:55 -03:00
Zamitto
8f1e71010b
Merge branch 'main' into feat/use-native-notification-for-achievements 2024-11-02 13:20:43 -03:00
Chubby Granny Chaser
71ff6c3c44
Merge pull request #1189 from hydralauncher/feature/removing-lottie-and-starting-sass-migration
Feature/removing lottie and starting sass migration
2024-11-02 15:50:15 +00:00
Chubby Granny Chaser
74cd60ff3d
feat: removing lottie react 2024-11-02 15:31:24 +00:00
Chubby Granny Chaser
d09a441faa
feat: removing lottie react 2024-11-02 15:27:27 +00:00
Chubby Granny Chaser
bef9ec30f9
Merge branch 'main' of github.com:hydralauncher/hydra into feature/cloud-sync 2024-11-02 14:44:51 +00:00
Chubby Granny Chaser
3e33e1f4b3
fix: fixing window on macos 2024-11-02 14:44:42 +00:00
Zamitto
c8485adac5
Merge pull request #1184 from Sir-Kam/Sir-Kam-English-Translation-Modifications
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
[translation] Update en translation.json
2024-11-01 09:16:32 -03:00
Cameron W. A.
d623828fe5
Update translation.json
Fixed the English of some entries as they weren't quite right or didn't flow the best.
2024-10-31 22:06:18 -04:00
Zamitto
0f5c7af703 feat: adjust profile hero current game link not linking correctly 2024-10-31 18:22:22 -03:00
Zamitto
b965d3aa0e Merge branch 'main' into feat/use-native-notification-for-achievements 2024-10-31 17:53:57 -03:00
Zamitto
1d6db5b76b
Merge pull request #1181 from expload233/main
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
🎯Update Chinese Translation to fit new version
2024-10-31 17:53:43 -03:00
Zamitto
0b896b8b7c
Merge branch 'main' into main 2024-10-31 17:52:08 -03:00
Zamitto
93d12a9fb6 chore: update steam games 2024-10-31 17:39:13 -03:00
Zamitto
ce239e0e20 fix: types 2024-10-31 17:34:13 -03:00
Zamitto
09af1d1f89 feat: remove unused code 2024-10-31 17:19:58 -03:00
Zamitto
3b828ca0f4 feat: adjust css 2024-10-31 17:15:49 -03:00
Zamitto
4f4dd29e5f feat: refactor 2024-10-31 16:57:46 -03:00
Zamitto
9189541c3a feat: i18n 2024-10-31 13:11:52 -03:00
expload
dcb6eb9ba6 Update translation of new functions 2024-10-31 16:03:24 +00:00
expload
e43365e568 🎯Update&Complete Chinese Translation 2024-10-31 16:03:17 +00:00
Zamitto
9ee4e2e29b Merge branch 'main' into feat/use-native-notification-for-achievements
# Conflicts:
#	src/main/index.ts
2024-10-31 12:53:39 -03:00
Eight
760030841a
Merge pull request #1177 from hydralauncher/feature/quality-of-life
feature/add-start-minimized-option
2024-10-31 12:25:25 -03:00
Hachi-R
5fb08b39fa refactor: rename migration to be more descriptive 2024-10-31 11:39:18 -03:00
Hachi-R
43558f8c0e feat: prevent main window creation when --hidden arg is present 2024-10-31 11:32:20 -03:00
Hachi-R
554889fe7d refactor: remove launch app minimized logic 2024-10-31 09:26:55 -03:00
expload
25e1a15828
Merge branch 'hydralauncher:main' into main 2024-10-31 15:51:45 +08:00
Hachi-R
619090961b chore: refactor hidden startup logic and tray click event 2024-10-31 01:09:10 -03:00
Hachi-R
0ecd27d4d5 lint 2024-10-30 20:00:50 -03:00
Hachi-R
f585e343d9 feat: use argv to start app minimized on system launch 2024-10-30 19:59:37 -03:00
Hachi-R
0d68851cf4 fix: ensure both values are passed to object to prevent false outcome 2024-10-30 17:46:52 -03:00
Hachi-R
36813d5f86 chore: remove unnecessary log 2024-10-30 17:34:38 -03:00
Hachi-R
ad3b84b0ae lint 2024-10-30 15:47:47 -03:00
Hachi-R
9e020652c9 feat: implement launch minimized option 2024-10-30 15:47:42 -03:00
Hachi-R
7af56cd7cc feat: add option to start minimized in user settings 2024-10-30 15:47:33 -03:00
Hachi-R
6dd454a982 feat: add 'startMinimized' property to user preferences 2024-10-30 15:47:22 -03:00
Zamitto
fd80b85786 feat: parse xml 2024-10-30 15:25:11 -03:00
Zamitto
119af47d77 feat: remove audio file 2024-10-29 23:55:55 -03:00
Zamitto
a419b9ae38 feat: add test notification 2024-10-29 23:53:30 -03:00
Zamitto
7d4d434164 chore: libs 2024-10-29 23:47:05 -03:00
Zamitto
5d304f9e13 feat: replace notification window 2024-10-29 23:45:39 -03:00
Zamitto
a45e06efa3 feat: use electron native notification with xml 2024-10-29 23:45:39 -03:00
Zamitto
e7292eb75e chore: update node version 2024-10-29 22:28:35 -03:00
Zamitto
39f731352f feat: use sound lib 2024-10-29 22:17:45 -03:00
Zamitto
9fa9f6d85a feat: use power toast 2024-10-29 21:36:16 -03:00
Zamitto
0a86ec89aa chore: bump version
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
2024-10-29 18:49:30 -03:00
Zamitto
238d207590
Merge pull request #1159 from hydralauncher/fix/remove-wine-prefix-not-null-on-pre-search
fix: remove wine prefix on pre search
2024-10-29 16:41:19 -03:00
Zamitto
98e2d2ec0d chore: update steam-games.json 2024-10-29 11:12:55 -03:00
Zamitto
717dab5c90
Merge pull request #1158 from Zormein/patch-2
Update translation.json
2024-10-28 19:51:40 -03:00
Zamitto
d73a46aac2 feat: remove wine prefix on pre search 2024-10-28 19:50:16 -03:00
Zamitto
9f9a4eba18 feat: remove wine prefix on pre search 2024-10-28 18:12:17 -03:00
Zamitto
3bddd7e76b feat: remove wine prefix on pre search 2024-10-28 17:38:27 -03:00
Zormein
7cfc871be2
Update translation.json
Fix little grammar error
2024-10-28 21:25:01 +02:00
Zamitto
5705de7d7a chore: add FAQ to issue template 2024-10-27 10:56:32 -03:00
Zamitto
b6fb29ca2d fix: french translation 2024-10-26 23:57:10 -03:00
expload
d094230614 merge with en translation 2024-10-26 14:44:17 +00:00
expload
742abb06ac
Merge branch 'hydralauncher:main' into main 2024-10-26 21:57:39 +08:00
Zamitto
e89f459c78
Merge pull request #1127 from bernardofernandezz/patch-1
fix: not redirecting to readme with correct language
2024-10-25 18:20:16 -03:00
Zamitto
0dac4d5cf3 feat: remove silent auto install
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
2024-10-25 16:30:44 -03:00
Bernardo Fernandez
93fb26c89b
fix: not redirecting to readme with correct language 2024-10-25 08:26:46 -03:00
Zamitto
446d6b75c0 chore: bump version
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
2024-10-24 21:07:38 -03:00
Zamitto
8dd29c7461 feat: disable lottie loop on game page 2024-10-24 20:56:29 -03:00
Zamitto
0ad1a2e3fe fix: shortcut and animation on home 2024-10-24 19:32:04 -03:00
Zamitto
3c03d5ce16
Merge pull request #1113 from SoloQTKiller/correcao_traducao
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
Translation Correction
2024-10-23 22:58:47 -03:00
SoloQTKiller
8d8b714c68 Correçao de Tradução 2024-10-23 22:29:26 -03:00
Zamitto
7d79048a25
Merge pull request #1094 from hydralauncher/feat/refactor-achievements-files
feat: refactor achievements file
2024-10-23 21:52:27 -03:00
Zamitto
4a3ba43dae feat: remove uneeded logs 2024-10-23 21:14:04 -03:00
Zamitto
dc413736e8 fix: sign in to see achievements overlay 2024-10-23 20:17:08 -03:00
Zamitto
2d98addd02
Merge branch 'main' into feat/refactor-achievements-files 2024-10-23 13:31:22 -03:00
Zamitto
b85e712d8c chore: bump version 2024-10-23 13:24:09 -03:00
Zamitto
582c276e95 fix: N/A problem on repacks 2024-10-23 13:23:44 -03:00
Zamitto
430b07eb89
Merge pull request #1096 from Zormein/patch-1
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
Update Estonian translation
2024-10-23 06:32:04 -03:00
Zamitto
b46f46bc45
Merge branch 'main' into feat/refactor-achievements-files 2024-10-23 06:24:03 -03:00
Zamitto
fd41ec5070
Merge branch 'main' into patch-1 2024-10-23 06:23:35 -03:00
Zamitto
25d0f77c1d
Merge pull request #1095 from Lianela/main
feat: new strings translated to spanish
2024-10-23 06:19:05 -03:00
Zormein
c5b2a8242c
Update Estonian translation
Added new translations & removed duplicate lines.
2024-10-23 09:16:27 +03:00
Lianela
8b7ce6b062
fix: comma... (second one) 2024-10-22 23:19:00 -06:00
Lianela
db58ff0ba3
fix: comma...
(this is akward from my side)
2024-10-22 23:18:28 -06:00
Lianela
e951e11e62
Update translation.json 2024-10-22 23:09:47 -06:00
Lianela
0b854eda7c
feat: new strings translated to spanish 2024-10-22 23:08:48 -06:00
Zamitto
648083fbf4 chore: bump version 2024-10-23 00:07:50 -03:00
Zamitto
09316dac9e fix: isPortableVersion 2024-10-23 00:07:45 -03:00
Zamitto
670df826af chore: bump version 2024-10-23 00:06:54 -03:00
Zamitto
912f9611ea fix: isPortableVersion 2024-10-22 23:47:35 -03:00
Zamitto
d8254353b5 feat: refactor achievements file 2024-10-22 23:24:22 -03:00
Zamitto
73185e7cbc fix: small adjustment
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
2024-10-22 22:33:23 -03:00
Zamitto
c36c940a79 fix: subscription 2024-10-22 22:25:35 -03:00
Zamitto
1d73b0a251
Merge pull request #1091 from MigProPlayer/patch-1
Update Portuguese (Portugal) translation
2024-10-22 19:13:08 -03:00
MigPro
8e4e87840a
Merge branch 'main' into patch-1 2024-10-22 23:10:30 +01:00
MigPro
cb8d9aeb82
Update pt-PT translation with new strings
Also fixed some strings with bad grammar (I basically rewrote the entire translation from scratch)
2024-10-22 23:07:24 +01:00
Zamitto
1656ff1b0a fix: subscription check 2024-10-22 19:07:20 -03:00
Zamitto
b54cfbadc5 feat: i18n 2024-10-22 18:41:42 -03:00
Zamitto
f02959f134 feat: hide tour modal 2024-10-22 18:21:46 -03:00
Zamitto
3bff55ef2c
Merge pull request #1090 from hydralauncher/feat/i18n
feat: i18n adjustments
2024-10-22 18:11:35 -03:00
Zamitto
02d1f8ff47 feat: i18n 2024-10-22 17:50:19 -03:00
Zamitto
f1cf4b683b
Merge branch 'main' into feat/i18n 2024-10-22 17:47:29 -03:00
Zamitto
a774b107f3
Merge pull request #1087 from hydralauncher/feature/cloud-sync-improvements
feat: improving cloud sync manual mapping
2024-10-22 17:47:14 -03:00
Zamitto
57179446ce Merge branch 'feature/cloud-sync-improvements' into feat/i18n 2024-10-22 17:33:02 -03:00
Zamitto
034e71b3ee
Merge branch 'main' into feature/cloud-sync-improvements 2024-10-22 17:32:55 -03:00
Zamitto
c1144d3891 feat: update translations 2024-10-22 17:32:40 -03:00
Zamitto
2620f31989 Merge branch 'feature/cloud-sync-improvements' into feat/i18n
# Conflicts:
#	src/locales/en/translation.json
2024-10-22 17:17:30 -03:00
Zamitto
3bca6eed2b feat: i18n 2024-10-22 17:14:37 -03:00
Zamitto
d10fed6aeb feat: update i18n 2024-10-22 17:01:56 -03:00
Zamitto
ee73c04b12 fix: audio only playing once 2024-10-22 16:25:51 -03:00
Zamitto
73eb7ac637 feat: add new achievement provider 2024-10-22 16:13:50 -03:00
Zamitto
144444ad10
Merge pull request #1089 from Zormein/main
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
Added Estonian translation
2024-10-22 11:43:58 -03:00
Zormein
8d892ab440
Merge branch 'main' into main 2024-10-22 17:22:01 +03:00
Zormein
eb6c056713
Changed Readme code to et & added Estonian to other readme files as well 2024-10-22 17:20:39 +03:00
Zormein
4063568a42
Changed code from ee to et & added language to index.ts. 2024-10-22 17:15:27 +03:00
Zamitto
7ebe42ebf1
Merge pull request #1078 from Deeptanshuu/patch-1
Fixed Translation
2024-10-22 11:14:43 -03:00
Chubby Granny Chaser
21b6783624
fix: adding wine prefix to preview 2024-10-22 15:11:47 +01:00
Zamitto
1ab9564fac
Merge branch 'main' into patch-1 2024-10-22 11:06:10 -03:00
Zamitto
ab618cea90
Merge branch 'main' into main 2024-10-22 11:03:45 -03:00
Zamitto
202533c85c
Merge pull request #1088 from hydralauncher/feat/update-hydra-api-subscription
feat: HydraApi updates
2024-10-22 11:03:09 -03:00
Zormein
7a5cacf103
Update translation.json
Made prettier using Prettier
2024-10-22 16:42:02 +03:00
Zormein
dfb6a324c3
Update translation.json 2024-10-22 16:33:04 +03:00
Zormein
6a26c6e5e8
Add files via upload 2024-10-22 16:31:49 +03:00
Zormein
5dac84051e
Update README.ee.md 2024-10-22 16:19:58 +03:00
Zamitto
57e4bd4d27 feat: updates 2024-10-22 10:17:54 -03:00
Zormein
dec4254cb3
Add files via upload 2024-10-22 16:07:55 +03:00
Chubby Granny Chaser
7d3d5d42d1
fix: adding wine prefix to preview 2024-10-22 14:01:44 +01:00
Chubby Granny Chaser
6bbd916e99
Merge branch 'feature/cloud-sync-improvements' of https://github.com/hydralauncher/hydra into feature/cloud-sync-improvements 2024-10-22 13:40:46 +01:00
Chubby Granny Chaser
ceef316a19
fix: adding wine prefix to preview 2024-10-22 13:39:41 +01:00
Chubby Granny Chaser
fe056eaf85
Merge branch 'main' into feature/cloud-sync-improvements 2024-10-22 13:35:30 +01:00
Chubby Granny Chaser
bfcf8178d8
feat: improving cloud sync manual mapping 2024-10-22 13:34:34 +01:00
Zamitto
3ade87fe0b
Merge pull request #1086 from Lianela/main
feat. updated spanish translation
2024-10-22 09:16:10 -03:00
Lianela
07205d043d
feat. updated spanish translation
This update adds this:
- fixed mistakes
- changed some words to make it more friendly
- added achievements strings
- hydra cloud strings added too
- re-done entire translation to make sure everything is good
- strings compared to the english translation to make everything easier to find
- deleted strings that were still on spanish translation but in english didn't exist
- added missing strings and translated from last updates that weren't translated or missing at all

Basically I took the time to clean everything and make sure it was ready on time
2024-10-21 20:43:16 -06:00
Zamitto
7de6e96f63 feat: wait get me on main
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
2024-10-21 19:26:34 -03:00
Zamitto
9c595583cd
Merge pull request #1031 from hydralauncher/feature/game-achievements
game achievements
2024-10-21 17:54:48 -03:00
Zamitto
1c63fc11ee chore: docs 2024-10-21 17:45:42 -03:00
Zamitto
49ee05770a feat: creating subscribe modal 2024-10-21 17:41:52 -03:00
Zamitto
44131fe831 Merge branch 'feature/cloud-sync' into feature/game-achievements 2024-10-21 16:13:58 -03:00
Zamitto
a72eb768e7 feat: show buttons to open checkout 2024-10-21 16:12:10 -03:00
Chubby Granny Chaser
955725b646
fix: fixing games with colon ludusavi 2024-10-21 20:10:18 +01:00
Zamitto
8a24fd8ef9 feat: add envs to gh action yml 2024-10-21 15:54:37 -03:00
Zamitto
b7f717a6f4 feat: use env 2024-10-21 15:38:43 -03:00
Zamitto
6d1f290895 Merge branch 'feature/cloud-sync' into feature/game-achievements 2024-10-21 15:34:13 -03:00
Chubby Granny Chaser
e86daacad4
ci: testing cloudfront deployment 2024-10-21 19:33:25 +01:00
Zamitto
f2d66df34f Merge branch 'feature/cloud-sync' into feature/game-achievements
# Conflicts:
#	src/main/services/achievements/achievement-watcher.ts
#	src/main/services/achievements/update-local-unlocked-achivements.ts
#	src/main/services/hydra-api.ts
2024-10-21 15:32:16 -03:00
Zamitto
21fecb2c4e feat: open checkout page 2024-10-21 15:30:38 -03:00
Chubby Granny Chaser
af8468066a
feat: adding artifact limit 2024-10-21 19:21:25 +01:00
Chubby Granny Chaser
34a33ccef3
feat: adding artifact limit 2024-10-21 19:19:18 +01:00
Zamitto
6ef1135ba2 feat: update error log 2024-10-21 15:10:07 -03:00
Zamitto
df5f82d47f feat: getMe on launch 2024-10-21 15:05:56 -03:00
Zamitto
d801bad49e feat: show notification on launch 2024-10-21 12:57:31 -03:00
Zamitto
9f76ae8c59 feat: re add log interceptor 2024-10-21 11:28:38 -03:00
Zamitto
2f9fa6da48 feat: add new possible path 2024-10-21 10:37:31 -03:00
Zamitto
d0f42e73ff feat: get achievement data on demand 2024-10-21 10:27:16 -03:00
Zamitto
0bcf005365 feat: refactor 2024-10-21 04:40:04 -03:00
Zamitto
27e8a0820f feat: optimizations 2024-10-21 04:34:39 -03:00
Zamitto
fd5262cd6e feat: change Users to users 2024-10-21 02:57:14 -03:00
Zamitto
36b98a7d73 fix: return on parse file 2024-10-21 02:31:06 -03:00
Zamitto
c6fda9b4d8 feat: start watching new achievements only after finishing sync 2024-10-21 02:29:40 -03:00
Zamitto
bb65d77fc6 feat: adjustments on achievements 2024-10-21 01:42:07 -03:00
Zamitto
22fc95ff53 feat: wine prefix for achievements 2024-10-20 23:45:34 -03:00
Zamitto
36e6a8cef7 feat: refactor 2024-10-20 22:13:06 -03:00
Zamitto
33e91e2007 feat: update compare achievement response 2024-10-20 14:40:08 -03:00
Chubby Granny Chaser
2599b332fd
Merge branch 'feature/game-achievements' of github.com:hydralauncher/hydra into feature/cloud-sync 2024-10-20 18:16:02 +01:00
Chubby Granny Chaser
735b540af4
feat: adding console.log 2024-10-20 18:11:13 +01:00
Zamitto
1d7858438d feat: update logs for achievements 2024-10-20 13:01:24 -03:00
Zamitto
993b35cf3b feat: adjust rld achievement 2024-10-20 12:48:04 -03:00
Zamitto
63507f00f6 Merge branch 'feature/cloud-sync' into feature/game-achievements 2024-10-20 12:04:12 -03:00
Chubby Granny Chaser
ded56c518d
feat: adding file parser 2024-10-20 08:56:52 +01:00
Chubby Granny Chaser
fbae552b1b
feat: adding file parser 2024-10-20 08:55:41 +01:00
Chubby Granny Chaser
0567674f2a
Merge branch 'main' of github.com:hydralauncher/hydra into feature/cloud-sync 2024-10-20 08:12:51 +01:00
Chubby Granny Chaser
b7c9b5ec54
fix: fixing multiple calls for backup 2024-10-20 08:09:15 +01:00
Zamitto
f0a2bf2f48 feat: use new endpoint to get compared achievements 2024-10-19 17:35:50 -03:00
Zamitto
89bb099caa feat: add link to game in achievements page 2024-10-19 14:01:33 -03:00
Zamitto
f7b9a88219 Merge branch 'main' into feature/game-achievements 2024-10-19 13:35:31 -03:00
Zamitto
7f8fd32cfe fix: headers for auth window 2024-10-19 13:30:17 -03:00
Zamitto
614c840aac Merge branch 'feature/cloud-sync' into feature/game-achievements 2024-10-19 11:53:03 -03:00
Zamitto
bc6d038c58 feat: add correct text 2024-10-19 11:52:55 -03:00
Chubby Granny Chaser
0e5d37a3a0
feat: adding wine prefix 2024-10-19 15:48:41 +01:00
Deeptanshu Lal
1bdb80a92b
Update translation.json
Change Conclusion to Completion in ETA
2024-10-19 16:08:52 +05:30
Zamitto
584f725eda feat: adjustments 2024-10-19 04:06:34 -03:00
Zamitto
1176ddbe30
Merge pull request #1074 from hohky/main
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Changes in language and code visual
2024-10-18 13:35:36 -03:00
Hohky
c7fe59c854
Delete .yarnrc 2024-10-18 17:15:59 +01:00
Hohky
9a61a3b448
Delete .yarn/releases/yarn-1.22.22.cjs 2024-10-18 17:15:48 +01:00
Hohky
801658fb39 changes in language and code visual 2024-10-18 16:02:57 +00:00
Zamitto
6c6d13e387 feat: adjusting ui 2024-10-18 12:31:16 -03:00
Zamitto
ab27fd21d7 feat: redoing page 2024-10-18 12:02:07 -03:00
Zamitto
2700f27d03 feat: redoing page 2024-10-18 01:00:42 -03:00
Zamitto
ea5b07a1ec feat: testing new achievements page ui 2024-10-16 23:09:54 -03:00
Zamitto
108b2552b5 feat: achievements adjustments 2024-10-16 12:37:44 -03:00
Chubby Granny Chaser
a498f9dd80
feat: adding background image migration 2024-10-16 11:06:15 +01:00
Chubby Granny Chaser
67109ff51a
feat: adding background image upload 2024-10-16 10:59:57 +01:00
Chubby Granny Chaser
bdaf68ad23
Merge branch 'feature/game-achievements' of github.com:hydralauncher/hydra into feature/cloud-sync 2024-10-16 10:46:35 +01:00
Chubby Granny Chaser
05625e7594
feat: enabling gif upload 2024-10-16 10:46:17 +01:00
Zamitto
4820109b8d feat: WIP validate cloud subscription 2024-10-16 01:37:11 -03:00
Zamitto
5c4ddd9b7a feat: profile active subscription 2024-10-16 01:08:10 -03:00
Zamitto
fe681c3af9 feat: create UserSubscription 2024-10-16 00:58:22 -03:00
Zamitto
8ff925fbb9 feat: refactor 2024-10-15 16:16:38 -03:00
Zamitto
958a7d037f feat: add profileImage to achievements page 2024-10-15 12:39:39 -03:00
Zamitto
c5764a49e1 chore: update dependencies 2024-10-15 11:56:53 -03:00
Zamitto
64c16e82b4 fix: ini files with BOM and new online fix location 2024-10-14 20:48:41 -03:00
Zamitto
e9186e0a3c fix: bug 2024-10-14 17:46:52 -03:00
Zamitto
e7a4888f54 feat: skeleton 2024-10-14 15:06:02 -03:00
Zamitto
359733fa40 fix: seeing own profile 2024-10-14 14:42:16 -03:00
Zamitto
034e88e286 feat: adjusting achievements page 2024-10-14 14:20:42 -03:00
Zamitto
1d29bc3620 feat: add achievement notifications setting 2024-10-13 22:37:36 -03:00
Zamitto
c24f6be1b7 feat: comparing achievements 2024-10-13 22:22:36 -03:00
Zamitto
694e0cd12c feat: achievements ui 2024-10-13 22:07:16 -03:00
Zamitto
8cc8b5fe6f feat: format date based on language for repacks 2024-10-13 21:30:21 -03:00
Zamitto
a4475d2145 feat: achievement section for user not logged in 2024-10-13 21:14:06 -03:00
Zamitto
a064958d4c feat: update achievements processors 2024-10-13 16:03:54 -03:00
Zamitto
7e25741657 feat: achievements page adjustments 2024-10-11 16:02:38 -03:00
Zamitto
0d909d6eeb chore: cache 2024-10-11 15:33:35 -03:00
Zamitto
9a699e082d chore: test cache 2024-10-11 15:29:46 -03:00
Zamitto
bf416e47b3 chore: cache 2024-10-11 14:05:28 -03:00
Zamitto
0461aa2b71 chore: cache 2024-10-11 13:39:31 -03:00
Zamitto
b3aae3e8aa chore: update cache 2024-10-11 13:27:27 -03:00
Zamitto
887ec3f8eb feat: update achievements page 2024-10-11 13:24:43 -03:00
Zamitto
be08fb6d14 feat: temp remove fetch from local cache 2024-10-11 13:13:47 -03:00
Chubby Granny Chaser
05653500b6
Merge branch 'feature/cloud-sync' of github.com:hydralauncher/hydra into feature/cloud-sync 2024-10-10 13:29:42 +01:00
Chubby Granny Chaser
0241d8752b
feat: adding border to profile hero 2024-10-10 13:29:32 +01:00
Zamitto
c8022896a6 feat: refactor 2024-10-09 23:11:28 -03:00
Zamitto
3dcdcae9a7 Merge branch 'feature/cloud-sync' into feature/game-achievements 2024-10-09 21:45:35 -03:00
Zamitto
fa026f82a6 feat: update achievements page 2024-10-09 21:26:45 -03:00
Chubby Granny Chaser
e3f61bbaa8
fix: fixing games with : 2024-10-10 00:33:16 +01:00
Zamitto
8fb31e0e64 Merge branch 'main' into feature/game-achievements 2024-10-09 10:37:30 -03:00
Zamitto
d93e234001 chore: update steam-games.json
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
2024-10-08 22:21:04 -03:00
Zamitto
03413a9e6b fix: open game installer when download is zip 2024-10-08 15:44:21 -03:00
Zamitto
ffac677e3f feat: update achievements on sidebar 2024-10-08 15:24:49 -03:00
Zamitto
0fdd2797a5
Merge pull request #1049 from Lianela/main
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
fix: fixed some translations
2024-10-08 15:09:16 -03:00
Lianela
4b763173f6
fix: fixed some translations 2024-10-07 22:15:04 -06:00
Chubby Granny Chaser
446b03eeff
feat: removing documents mapping 2024-10-08 04:23:33 +01:00
Chubby Granny Chaser
16cd5b43d8
feat: adding drive mapping 2024-10-08 03:33:57 +01:00
Chubby Granny Chaser
bcca701dc9
feat: adding drive mapping 2024-10-08 03:33:06 +01:00
Zamitto
365178b06d fix: update normalize path 2024-10-07 22:29:39 -03:00
Zamitto
1bba8c84bd Merge branch 'feature/cloud-sync' into feature/game-achievements 2024-10-07 21:31:21 -03:00
Zamitto
a557735545 feat: update hook dependency 2024-10-07 21:30:53 -03:00
Chubby Granny Chaser
1705b89355
fix: normalizing windows paths 2024-10-08 01:13:09 +01:00
Zamitto
fca585d062 feat: preview version of achievements screen 2024-10-07 20:25:05 -03:00
Zamitto
63aee44982 feat: refactor achievement listeners 2024-10-07 20:16:12 -03:00
Zamitto
f5445b00f4 Merge branch 'feature/cloud-sync' into feature/game-achievements 2024-10-07 19:13:20 -03:00
Zamitto
e93088e8b9 Merge branch 'feature/cloud-sync' into feature/game-achievements
# Conflicts:
#	src/locales/en/translation.json
#	src/locales/pt-BR/translation.json
#	src/main/events/library/add-game-to-library.ts
#	src/renderer/src/pages/game-details/sidebar/sidebar.css.ts
#	src/renderer/src/pages/game-details/sidebar/sidebar.tsx
2024-10-07 19:12:57 -03:00
Chubby Granny Chaser
0f1ed20bbb
fix: removing backup folder before uploading 2024-10-07 22:30:29 +01:00
Chubby Granny Chaser
9405b0dcfc
fix: removing backup folder before uploading 2024-10-07 22:29:48 +01:00
Zamitto
39af661720 feat: create achievements page 2024-10-07 17:17:12 -03:00
Chubby Granny Chaser
75be6e5b47
feat: adding hltb key extraction 2024-10-07 21:02:15 +01:00
Chubby Granny Chaser
baafc6c7d1
feat: adding hltb key extraction 2024-10-07 20:56:53 +01:00
Zamitto
6d4f957e2b feat: add achievement section title 2024-10-07 12:26:36 -03:00
Zamitto
7c9c27801f feat: add dodi folder 2024-10-07 11:52:25 -03:00
Zamitto
7f09a7796f feat: remove awaits 2024-10-06 15:15:24 -03:00
Zamitto
af83152997 feat: creamapi process 2024-10-06 11:18:14 -03:00
Zamitto
5d21adcbb1 wip: get alternate objectIds 2024-10-06 02:48:46 -03:00
Zamitto
456e7ed809 feat: add alternative objectIds 2024-10-06 02:33:02 -03:00
Zamitto
f5da836b1b feat: remove unneeded log persist 2024-10-05 23:10:32 -03:00
Zamitto
1ea64d7243 fix: file not being processed if it was created after watcher started 2024-10-05 23:07:14 -03:00
Zamitto
57118ec5b9 feat: add rle folder 2024-10-05 22:43:19 -03:00
Zamitto
002028130b feat: try add FLT and fix possible bug on unlockedAchievements 2024-10-05 22:17:00 -03:00
Zamitto
71e7f1ee58 fix: process user_stats.ini 2024-10-05 20:31:05 -03:00
Chubby Granny Chaser
0222121288
fix: fixing multiple folders 2024-10-05 07:12:47 +01:00
Chubby Granny Chaser
f6acfa4aee
feat: removing existing directory 2024-10-05 04:53:15 +01:00
Zamitto
2a6b757e37 feat: get achievement from game directory on launch 2024-10-05 00:49:52 -03:00
Chubby Granny Chaser
9391b7e6c9
feat: removing directory sync 2024-10-05 04:29:29 +01:00
Chubby Granny Chaser
b99dbe83e2
adding mkdir for backup path 2024-10-05 03:55:48 +01:00
Chubby Granny Chaser
bcbe6c9619
updating current home dir 2024-10-05 03:53:51 +01:00
Chubby Granny Chaser
0873c8e244
fix: fixing windows path replacement 2024-10-05 03:27:40 +01:00
Chubby Granny Chaser
58502aeb1f
feat: adding change hero 2024-10-05 02:25:46 +01:00
Chubby Granny Chaser
4222fcec52
feat: adding change hero 2024-10-05 02:22:43 +01:00
Chubby Granny Chaser
035e424a76
feat: adding change hero 2024-10-05 02:21:41 +01:00
Zamitto
5e313a0374 feat: add 3dm file inside game directory 2024-10-04 16:37:42 -03:00
Zamitto
81e2bda049 chore: add preview on version 2024-10-04 13:58:32 -03:00
Zamitto
d27ce9781f Merge branch 'feature/game-achievements' into chore/test-preview 2024-10-04 13:56:40 -03:00
Zamitto
94e242168c fix: file location 2024-10-04 13:48:03 -03:00
Zamitto
e4ca3d38ec Merge branch 'feature/game-achievements' into chore/test-preview 2024-10-04 13:27:03 -03:00
Zamitto
0acb0fd4c8 feat: add more folders and organize code 2024-10-04 13:26:52 -03:00
Zamitto
241d7692b9 feat: add new rld folder 2024-10-04 11:56:36 -03:00
Zamitto
0895e9ec72 Merge branch 'feature/game-achievements' into chore/test-preview 2024-10-03 21:29:33 -03:00
Zamitto
9b932358e8 feat: increase notification time 2024-10-03 21:29:07 -03:00
Zamitto
3ed4547dfe Merge branch 'feature/game-achievements' into chore/test-preview 2024-10-03 21:11:16 -03:00
Zamitto
9731035820 feat: searching new folders 2024-10-03 21:04:37 -03:00
Zamitto
7e2d9316f3 feat: achievement animation 2024-10-03 19:13:00 -03:00
Zamitto
7cddcd8147 feat: refactoring code 2024-10-03 11:16:30 -03:00
Zamitto
5da9eb6366 Merge branch 'feature/game-achievements' into chore/test-preview 2024-10-02 23:09:15 -03:00
Zamitto
9c7651d8e2 feat: dev tools 2024-10-02 23:08:58 -03:00
Zamitto
8b5ed96e9b Merge branch 'feature/game-achievements' into chore/test-preview
# Conflicts:
#	yarn.lock
2024-10-02 22:59:32 -03:00
Zamitto
f0e0abae8c feat: showing achievements queue 2024-10-02 22:58:10 -03:00
Zamitto
cadb9e8dff feat: add GSE Saves 2024-10-02 21:55:42 -03:00
Zamitto
beaa919c80 feat: refactoring notification window 2024-10-02 18:01:58 -03:00
Zamitto
ef4844b8c0 Merge branch 'feature/game-achievements' into chore/test-preview
# Conflicts:
#	src/main/services/window-manager.ts
#	src/renderer/src/context/game-details/game-details.context.tsx
#	src/renderer/src/declaration.d.ts
#	src/types/index.ts
#	yarn.lock
2024-10-02 15:16:43 -03:00
Zamitto
d5b1bcdc7f fix: adjustment to get achievements when file is created after watcher started 2024-10-02 13:59:48 -03:00
Zamitto
05652d9c1b feat: refactor watcher 2024-10-02 13:30:07 -03:00
Zamitto
6a0f47eacb feat: use uppercase 2024-10-01 23:53:37 -03:00
Zamitto
8f9508c00e chore: bump libraries
# Conflicts:
#	package.json
#	yarn.lock
2024-10-01 23:52:40 -03:00
Zamitto
44e59a5f6f feat: refactoring achievements watcher 2024-10-01 22:29:42 -03:00
Zamitto
c18c41ac95 feat: update achievement audio and refactors 2024-10-01 18:34:46 -03:00
Zamitto
084b7f5b9c chore: bump libraries
# Conflicts:
#	yarn.lock
2024-10-01 18:32:02 -03:00
Zamitto
92b0ced08a feat: logs 2024-10-01 11:08:08 -03:00
Zamitto
f6ce6eddb8 feat: logs 2024-10-01 10:50:30 -03:00
Zamitto
a031049b73 feat: adjustments 2024-09-29 16:46:12 -03:00
Zamitto
a48e269d7f feat: adjustment update achievements on api 2024-09-29 16:24:57 -03:00
Zamitto
333b143b17 feat: route adjustment 2024-09-29 11:36:44 -03:00
Chubby Granny Chaser
586df616e8
feat: removing session interception from auth 2024-09-28 00:59:17 +01:00
Zamitto
eda47fc6af Merge branch 'main' into feature/game-achievements
# Conflicts:
#	src/renderer/src/context/game-details/game-details.context.tsx
#	src/renderer/src/main.tsx
2024-09-27 20:54:02 -03:00
Chubby Granny Chaser
202751ddca
feat: adding logger 2024-09-28 00:24:18 +01:00
Chubby Granny Chaser
790f7a2549
feat: adding logger 2024-09-28 00:23:47 +01:00
Chubby Granny Chaser
eebd09ccf2
feat: adding logger 2024-09-28 00:22:38 +01:00
Chubby Granny Chaser
ac9565f924
Merge branch 'main' of github.com:hydralauncher/hydra into feature/cloud-sync 2024-09-27 23:19:51 +01:00
Chubby Granny Chaser
55a92fd68a
docs: moving readme 2024-09-27 23:19:39 +01:00
Chubby Granny Chaser
37111c11d8
Merge pull request #1008 from hydralauncher/fix/migrate-repacks-from-sqlite-to-dexie
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Fix/migrate repacks from sqlite to dexie
2024-09-27 23:15:37 +01:00
Zamitto
84420668fc fix: import 2024-09-27 18:20:29 -03:00
Zamitto
4bf25f8c52 feat: adjust notifications code 2024-09-27 17:12:12 -03:00
Zamitto
bdba3dd29c feat: browser window for notification 2024-09-27 14:59:08 -03:00
Chubby Granny Chaser
43e9919b6b
fix: adding direct comparison last downloaded option 2024-09-27 03:39:42 +01:00
Chubby Granny Chaser
2aa393967f
Merge branch 'fix/migrate-repacks-from-sqlite-to-dexie' of github.com:hydralauncher/hydra into fix/migrate-repacks-from-sqlite-to-dexie 2024-09-27 03:27:55 +01:00
Chubby Granny Chaser
17febcd88a
feat: adding notification when all repacks are migrated 2024-09-27 03:27:02 +01:00
Zamitto
753a293cd7 feat: remove notification spam 2024-09-26 21:51:15 -03:00
Zamitto
d7c05247c3 feat: merge achievements with remote 2024-09-26 18:27:35 -03:00
Zamitto
54dae87a58 feat: grayscale and update game details context on achievement event 2024-09-26 17:47:15 -03:00
Zamitto
50b34dc864 feat: add catch 2024-09-26 16:13:41 -03:00
Zamitto
08fbd4c8d8 feat: fix notification icons 2024-09-26 16:09:36 -03:00
Zamitto
780ab5f909 feat: refactor 2024-09-26 15:33:32 -03:00
Zamitto
c72eefdb77 feat: notifications 2024-09-26 14:50:23 -03:00
Zamitto
5c790edb2c feat: real time achievement track 2024-09-26 13:37:33 -03:00
Zamitto
24d21b9839 feat: use different db for staging build 2024-09-26 09:30:37 -03:00
Chubby Granny Chaser
5b9d860937
feat: adding i18n for cloud sync 2024-09-25 22:22:52 +01:00
Chubby Granny Chaser
9b5e13ad35
feat: adding i18n for cloud sync 2024-09-25 22:22:26 +01:00
Zamitto
25cfdb50d8 feat: refactor 2024-09-25 18:16:32 -03:00
Chubby Granny Chaser
32fa69627c
Merge branch 'feature/cloud-sync' of github.com:hydralauncher/hydra into feature/cloud-sync 2024-09-25 21:07:48 +01:00
Chubby Granny Chaser
3e165e05fb
fix: adding no backup preview condition 2024-09-25 21:07:41 +01:00
Chubby Granny Chaser
89b830fe9a
feat: clearing backup history on sign out 2024-09-25 20:44:56 +01:00
Chubby Granny Chaser
2d7aef34c6
Merge branch 'main' into feature/cloud-sync 2024-09-25 19:54:38 +01:00
Chubby Granny Chaser
0ea7329aa3
fix: fixing chmod for windows on postinstall 2024-09-25 19:53:37 +01:00
Chubby Granny Chaser
b87aade2a3
ci: pointing build to staging 2024-09-25 19:48:32 +01:00
Chubby Granny Chaser
41c80daaaa
Merge branch 'main' into fix/migrate-repacks-from-sqlite-to-dexie 2024-09-25 19:38:43 +01:00
Chubby Granny Chaser
e64a414309
feat: adding cloud sync 2024-09-25 19:37:28 +01:00
Zamitto
f98432f6c6 feat: refactor game achievement table 2024-09-24 17:31:49 -03:00
Zamitto
f3a5f90bc7 feat: save achievements cache 2024-09-24 16:32:48 -03:00
Zamitto
d57980edc7
Merge pull request #987 from alexhostrup/danish-translation
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Added a danish README
2024-09-24 14:28:07 -03:00
Zamitto
97dc9b03b0
Merge branch 'main' into danish-translation 2024-09-24 14:19:41 -03:00
Zamitto
7e3cf0a00e feat: starting showing local achievements 2024-09-24 14:00:56 -03:00
Zamitto
5b0cf1e82b feat: handle user not logged in error 2024-09-24 13:06:32 -03:00
Zamitto
500cd2a531 feat: saving achievements on open launcher 2024-09-24 13:06:24 -03:00
JackEnx
8fb62af0cf feature: wip-game-achievements
refactor: rename files
2024-09-24 10:33:54 -03:00
Zamitto
fabeedaa8a
Merge pull request #1012 from hydralauncher/chore/update-steam-games
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
chore: update steam games
2024-09-23 14:45:02 -03:00
Zamitto
e701a273d8 fix: ui when game has no icon 2024-09-23 14:20:57 -03:00
Zamitto
6c32fdbcbb
Merge branch 'main' into chore/update-steam-games 2024-09-23 13:46:47 -03:00
Zamitto
61b2d55d47
Merge branch 'main' into danish-translation 2024-09-23 12:22:41 -03:00
Zamitto
7b5e4459d4 chore: update READMES 2024-09-23 12:16:22 -03:00
Zamitto
5b450db5eb chore: update steam games 2024-09-22 22:01:50 -03:00
Chubby Granny Chaser
d88e06e289
Merge branch 'main' of github.com:hydralauncher/hydra into fix/migrate-repacks-from-sqlite-to-dexie 2024-09-22 21:09:06 +01:00
Zamitto
e77991ea16
Merge pull request #1009 from hydralauncher/chore/update-api-url
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
chore: update api and auth url
2024-09-22 16:42:19 -03:00
Zamitto
5e55c05bd7 chore: i18n for friend code 2024-09-22 16:30:47 -03:00
Zamitto
81e74f068f fix: import correctly vite env 2024-09-22 16:25:16 -03:00
Zamitto
d5a510175f feat: use env to open auth window 2024-09-22 16:21:01 -03:00
Zamitto
2b2f29da61 chore: add envs to pipeline 2024-09-22 16:20:45 -03:00
Chubby Granny Chaser
339dc89702
feat: adding dexie 2024-09-22 17:45:50 +01:00
Chubby Granny Chaser
50028fbfd8
feat: adding dexie 2024-09-22 17:45:01 +01:00
Chubby Granny Chaser
d97c5b894a
feat: adding dexie 2024-09-22 17:44:06 +01:00
Chubby Granny Chaser
f860439fb5
feat: adding dexie 2024-09-22 17:43:05 +01:00
Chubby Granny Chaser
ddd6ff7dbe
Merge branch 'main' of github.com:hydralauncher/hydra into feature/adding-flame-animation 2024-09-21 21:19:08 +01:00
Chubby Granny Chaser
849b6de6bc
feat: adding dexie 2024-09-21 21:19:00 +01:00
Zamitto
79e2eb042a
Merge pull request #1001 from hydralauncher/chore/bump-version-and-update-CSP
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
chore: bump version and change CSP
2024-09-21 10:47:32 -03:00
Zamitto
f9ad26c836 chore: bump version and change CSP 2024-09-21 10:38:53 -03:00
Zamitto
f6fbfe33e0
Merge pull request #988 from alexhostrup/nb-translation
Norwegian bokmål translation and README
2024-09-21 10:38:26 -03:00
Alexander Hostrup
18d6ca630a
Merge branch 'main' into nb-translation 2024-09-20 23:39:59 +02:00
Alexander Hostrup
c7afcff0b4 Fixed small issue with language code being wrong 2024-09-20 23:38:20 +02:00
Zamitto
a3bdfe7641
Merge pull request #995 from hydralauncher/fix/game-details-gallery-align
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
fix: game details gallery align
2024-09-19 20:48:48 -03:00
Zamitto
e7b4f8e1c8 feat: add lazy loading 2024-09-19 15:38:33 -03:00
Zamitto
e526c0f650 feat: adjust align on wider images 2024-09-19 15:38:20 -03:00
Zamitto
9791c311f1 chore: update bug issue template 2024-09-18 15:46:14 -03:00
Alexander Hostrup
b1ea9cbfaa formatting 2024-09-18 19:54:08 +02:00
Alexander Hostrup
74d2ec8238 Added translation and README in Norwegian Bokmål 2024-09-18 19:53:46 +02:00
Alexander Hostrup
f8f2124cec Forgot something 2024-09-18 18:08:30 +02:00
Alexander Hostrup
3833e11e98 Added a danish README 2024-09-18 18:04:32 +02:00
Zamitto
613898b32d
Merge pull request #985 from hydralauncher/fix/migration-to-fix-missing-columns
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
fix: migration to fix missing columns
2024-09-18 07:35:27 -03:00
Zamitto
2bc98317e9 fix: conditional to check if hydra is updating 2024-09-18 07:07:29 -03:00
Zamitto
2e87ae8486 fix: new line 2024-09-18 06:50:20 -03:00
Zamitto
df5f34119f feat: add script to remove hydra folders on uninstall 2024-09-17 23:02:12 -03:00
Zamitto
2271368199 chore: bump version 2024-09-17 21:56:50 -03:00
Zamitto
e139423b52 feat: add axios user agent header with Hydra version 2024-09-17 21:56:46 -03:00
Zamitto
aa2ecfad96 feat: add migration to add missing columns from installations before 2.0 2024-09-17 21:49:30 -03:00
Zamitto
b76441a763
Merge pull request #984 from alexhostrup/danish-translation
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
Updated Danish translation to match English translation
2024-09-17 18:23:07 -03:00
Alexander Hostrup
2d160ba8ee
Merge branch 'main' into danish-translation 2024-09-17 22:35:06 +02:00
Zamitto
5863b15b12 doc: fix log location description 2024-09-17 17:32:05 -03:00
Zamitto
bc175e635f doc: update bug report template 2024-09-17 17:30:28 -03:00
Alexander Hostrup
f7f89cb778 Updated Danish translation to match English translation 2024-09-17 22:19:53 +02:00
Chubby Granny Chaser
16c45692da
Merge pull request #982 from hydralauncher/feature/adding-flame-animation
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
chore: bump version
2024-09-17 16:53:06 +01:00
Chubby Granny Chaser
30aa3f5470
chore: bump version 2024-09-17 16:50:26 +01:00
Chubby Granny Chaser
ef16732c0a
Merge pull request #981 from hydralauncher/feature/adding-flame-animation
feat: adding flame animation
2024-09-17 16:42:24 +01:00
Chubby Granny Chaser
84c472a3fa
chore: bump version 2024-09-17 16:37:25 +01:00
Chubby Granny Chaser
2610f8b17b
Merge branch 'feature/adding-flame-animation' of github.com:hydralauncher/hydra into feature/adding-flame-animation 2024-09-17 16:32:11 +01:00
Chubby Granny Chaser
705b12019f
Merge branch 'main' of github.com:hydralauncher/hydra into feature/adding-flame-animation 2024-09-17 16:31:44 +01:00
Zamitto
39be8fdf53
Merge branch 'main' into feature/adding-flame-animation 2024-09-17 12:28:59 -03:00
Chubby Granny Chaser
cc7c3455fa
feat: adding flame animation 2024-09-17 16:28:59 +01:00
Chubby Granny Chaser
d1f4bc7207
feat: adding flame animation 2024-09-17 16:26:12 +01:00
Chubby Granny Chaser
aa4ca25653
feat: adding flame animation 2024-09-17 16:25:19 +01:00
Zamitto
405ea0a824 fix: playtime count 2024-09-17 11:10:44 -03:00
Zamitto
43bc0cb08f
Merge pull request #977 from hydralauncher/feat/polling-from-sync
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
feat: polling from sync
2024-09-16 16:46:29 -03:00
Zamitto
3c200aa2eb fix: rename variable 2024-09-16 14:48:15 -03:00
Zamitto
cc5967814b fix: adjust when calling /games/download 2024-09-16 14:07:00 -03:00
Zamitto
ec16efed2f feat: create use details functions 2024-09-16 14:03:54 -03:00
Zamitto
09d0e5b4ef
Merge pull request #976 from hydralauncher/feat/update-typing-to-match-get-me
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
feat: update typing to match get me
2024-09-16 13:36:26 -03:00
Zamitto
5b18aba2b8 feat: omit username and tokens in logs 2024-09-16 13:09:50 -03:00
Zamitto
192008c76c fix: not showing repacks and stats if game details request fails 2024-09-16 12:56:29 -03:00
Zamitto
1de3a9836c feat: update typing to match get me endpoint 2024-09-16 11:22:41 -03:00
Zamitto
ee02811aea chore: remove space in version string
Some checks are pending
Release / build (ubuntu-latest) (push) Waiting to run
Release / build (windows-latest) (push) Waiting to run
2024-09-15 12:21:41 -03:00
Zamitto
c21ebe1ce2 fix: database migration 2024-09-15 12:09:51 -03:00
expload
2edb96ba5b
Create pull-request-template.md 2024-07-10 14:16:30 +08:00
414 changed files with 23232 additions and 11880 deletions

View File

@ -1,4 +1,2 @@
MAIN_VITE_STEAMGRIDDB_API_KEY=YOUR_API_KEY
MAIN_VITE_API_URL=API_URL
MAIN_VITE_SENTRY_DSN=YOUR_SENTRY_DSN
SENTRY_AUTH_TOKEN=
MAIN_VITE_AUTH_URL=AUTH_URL

View File

@ -3,3 +3,4 @@ dist
out
.gitignore
migration.stub
hydra-python-rpc/

View File

@ -26,4 +26,9 @@ module.exports = {
},
],
},
settings: {
react: {
version: "detect",
},
},
};

View File

@ -1,6 +1,6 @@
name: Bug Report
description: Create a report to help us improve. Write in English, please.
title: "[BUG] "
description: Create a report to help us improve. Write in English.
title: "[BUG] Write a title for your bug"
labels: ["bug"]
body:
- type: markdown
@ -29,12 +29,15 @@ body:
validations:
required: false
- type: textarea
id: screenshots
id: additional-info
attributes:
label: Screenshots
description: If applicable, add screenshots to help explain your problem.
label: Additional information and data
description: |
Add screenshots and upload your logs file here.
Logs location on Windows: "%appdata%/hydra"
Logs location on Linux: "~/.config/hydra/"
validations:
required: false
required: true
- type: input
id: OS
attributes:
@ -49,13 +52,6 @@ body:
description: Please provide the version of Hydra you are using.
validations:
required: true
- type: textarea
id: additional-info
attributes:
label: Additional Information
description: Please provide any additional information and context about your problem.
validations:
required: false
- type: checkboxes
id: terms
attributes:
@ -65,3 +61,5 @@ body:
required: true
- label: I am aware that Hydra team does not offer any support or help regarding the downloaded games.
required: true
- label: I have read the [Frequently Asked Questions (FAQ)](https://github.com/hydralauncher/hydra/wiki/FAQ).
required: true

12
.github/pull-request-template.md vendored Normal file
View File

@ -0,0 +1,12 @@
<!-- Please be sure to add one of the labels in the right hand side Labels option before creating a PR: [feature], [fix], [documentation],[translation]. This will allow Actions to automatically categorize PRs when generating Releases. -->
**When submitting this pull request, I confirm the following (please check the boxes):**
- [ ] I have read and understood the [Contributor Guidelines](https://github.com/hydralauncher/hydra?tab=readme-ov-file#ways-you-can-contribute).
- [ ] I have checked that there are no duplicate pull requests related to this request.
- [ ] I have considered, and confirm that this submission is valuable to others.
- [ ] I accept that this submission may not be used and the pull request may be closed at the discretion of the maintainers.
**Fill in the PR content:**
-

View File

@ -17,7 +17,7 @@ jobs:
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20.11.1
node-version: 20.18.0
- name: Install dependencies
run: yarn
@ -31,7 +31,7 @@ jobs:
run: pip install -r requirements.txt
- name: Build with cx_Freeze
run: python torrent-client/setup.py build
run: python python_rpc/setup.py build
- name: Build Linux
if: matrix.os == 'ubuntu-latest'
@ -40,26 +40,48 @@ jobs:
sudo apt-get install -y libarchive-tools
yarn build:linux
env:
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }}
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_STAGING_API_URL }}
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_STAGING_AUTH_URL }}
MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_STAGING_CHECKOUT_URL }}
RENDERER_VITE_INTERCOM_APP_ID: ${{ vars.RENDERER_VITE_INTERCOM_APP_ID }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
RENDERER_VITE_SENTRY_DSN: ${{ vars.SENTRY_DSN }}
- name: Build Windows
if: matrix.os == 'windows-latest'
run: yarn build:win
env:
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }}
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_STAGING_API_URL }}
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_STAGING_AUTH_URL }}
MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_STAGING_CHECKOUT_URL }}
RENDERER_VITE_INTERCOM_APP_ID: ${{ vars.RENDERER_VITE_INTERCOM_APP_ID }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
RENDERER_VITE_SENTRY_DSN: ${{ vars.SENTRY_DSN }}
- name: Test Upload build
env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
S3_ACCESS_KEY_ID: ${{ secrets.S3_ACCESS_KEY_ID }}
S3_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_ACCESS_KEY }}
S3_BUILDS_BUCKET_NAME: ${{ secrets.S3_BUILDS_BUCKET_NAME }}
BUILDS_URL: ${{ secrets.BUILDS_URL }}
BUILD_WEBHOOK_URL: ${{ secrets.BUILD_WEBHOOK_URL }}
GITHUB_ACTOR: ${{ github.actor }}
run: node scripts/upload-build.cjs
- name: Create artifact
uses: actions/upload-artifact@v4
with:
name: Build-${{ matrix.os }}
path: |
dist/win-unpacked/**
dist/*-portable.exe
dist/*.zip
dist/*.dmg

View File

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

View File

@ -19,7 +19,7 @@ jobs:
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20.11.1
node-version: 20.18.0
- name: Install dependencies
run: yarn
@ -33,7 +33,7 @@ jobs:
run: pip install -r requirements.txt
- name: Build with cx_Freeze
run: python torrent-client/setup.py build
run: python python_rpc/setup.py build
- name: Build Linux
if: matrix.os == 'ubuntu-latest'
@ -43,21 +43,49 @@ jobs:
yarn build:linux
env:
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }}
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_AUTH_URL }}
MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_CHECKOUT_URL }}
MAIN_VITE_ANALYTICS_API_URL: ${{ vars.MAIN_VITE_ANALYTICS_API_URL }}
RENDERER_VITE_INTERCOM_APP_ID: ${{ vars.RENDERER_VITE_INTERCOM_APP_ID }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
RENDERER_VITE_SENTRY_DSN: ${{ vars.SENTRY_DSN }}
- name: Build Windows
if: matrix.os == 'windows-latest'
run: yarn build:win
env:
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }}
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_AUTH_URL }}
MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_CHECKOUT_URL }}
MAIN_VITE_ANALYTICS_API_URL: ${{ vars.MAIN_VITE_ANALYTICS_API_URL }}
RENDERER_VITE_INTERCOM_APP_ID: ${{ vars.RENDERER_VITE_INTERCOM_APP_ID }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
RENDERER_VITE_SENTRY_DSN: ${{ vars.SENTRY_DSN }}
- name: Create artifact
uses: actions/upload-artifact@v4
with:
name: Build-${{ matrix.os }}
path: |
dist/win-unpacked/**
dist/*-portable.exe
dist/*.zip
dist/*.dmg
dist/*.deb
dist/*.rpm
dist/*.tar.gz
dist/*.yml
dist/*.blockmap
dist/*.pacman
- name: Release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
with:
draft: true
files: |

16
.gitignore vendored
View File

@ -1,7 +1,5 @@
.vscode
node_modules
hydra-download-manager/
fastlist.exe
.vscode/
node_modules/
__pycache__
dist
out
@ -9,4 +7,12 @@ out
*.log*
.env
.vite
sentry.properties
ludusavi/
hydra-python-rpc/
aria2/
.python-version
# Sentry Config File
.env.sentry-build-plugin
*storybook.log

View File

@ -2,7 +2,7 @@
<div align="center">
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
[<img src="./resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
@ -13,16 +13,19 @@
[![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)
[![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)
[![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)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.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)
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](./docs/README.pt-BR.md)
[![en](https://img.shields.io/badge/lang-en-red.svg)](./README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](./docs/README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](./docs/README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](./docs/README.be.md)
[![es](https://img.shields.io/badge/lang-es-red)](./docs/README.es.md)
[![fr](https://img.shields.io/badge/lang-fr-blue)](./docs/README.fr.md)
[![de](https://img.shields.io/badge/lang-de-black)](./docs/README.de.md)
[![ita](https://img.shields.io/badge/lang-it-red)](./docs/README.it.md)
[![cs](https://img.shields.io/badge/lang-cs-purple)](./docs/README.cs.md)
[![da](https://img.shields.io/badge/lang-da-red)](./docs/README.da.md)
[![nb](https://img.shields.io/badge/lang-nb-blue)](./docs/README.nb.md)
[![ee](https://img.shields.io/badge/lang-et-blue.svg)](./docs/README.et.md)
![Hydra Catalogue](./docs/screenshot.png)
@ -122,6 +125,10 @@ cd hydra
yarn
```
### Install OpenSSL 1.1
[OpenSSL 1.1](https://slproweb.com/download/Win64OpenSSL-1_1_1w.exe) is required by libtorrent in Windows environments.
### Install Python 3.9
Ensure you have Python 3.9 installed on your machine. You can download and install it from [python.org](https://www.python.org/downloads/release/python-3913/).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 KiB

After

Width:  |  Height:  |  Size: 19 KiB

5
build/installer.nsh Normal file
View File

@ -0,0 +1,5 @@
!macro customUnInstall
${ifNot} ${isUpdated}
RMDir /r "$LOCALAPPDATA\hydralauncher-updater"
${endIf}
!macroend

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 604 KiB

View File

@ -2,19 +2,19 @@
<div align="center">
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
[<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
<p align="center">
<strong>Hydra - гэта гульнявы лаўнчар з уласным убудаваным кліентам BitTorrent і самастойным scraper`ам для рэпакаў.</strong>
<strong>Hydra - гэта гульнявы лаўнчар з уласным убудаваным кліентам BitTorrent.</strong>
</p>
[![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)
[![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)
[![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)
@ -23,8 +23,11 @@
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![da](https://img.shields.io/badge/lang-da-red)](README.da.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)
![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](screenshot.png)
</div>
@ -139,9 +142,8 @@ pip install -r requirements.txt
## Пераменныя асяроддзі
Вам спатрэбіцца ключ API SteamGridDB, каб атрымаць значкі гульняў пры ўсталёўкі.
Калі вы жадаеце выкарыстоўваць onlinefix у якасці рэпака, вам трэба дадаць вашыя ўліковыя дадзеныя ў файл .env.
Як толькі вы атрымаеце ключ, вы зможаце скапіяваць або пераназваць файл `.env.example` у `.env` і змясціць у яго `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
Як толькі вы атрымаеце ключ, вы зможаце скапіяваць або пераназваць файл `.env.example` у `.env` і змясціць у яго `STEAMGRIDDB_API_KEY`.
## Запуск

View File

@ -2,7 +2,7 @@
<div align="center">
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
[<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<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)
[![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)
[![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)
@ -23,8 +23,11 @@
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![da](https://img.shields.io/badge/lang-da-red)](README.da.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)
![Hydra Katalog](./docs/screenshot.png)
![Hydra Katalog](screenshot.png)
</div>

187
docs/README.da.md Normal file
View File

@ -0,0 +1,187 @@
<br>
<div align="center">
[<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
<p align="center">
<strong>Hydra er en spil launcher med sin egen indbyggede bittorrent klient.</strong>
</p>
[![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)
[![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)
[![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)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.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)
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![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)
![Hydra Catalogue](screenshot.png)
</div>
## Indholdsfortegnelse
- [Indholdsfortegnelse](#indholdsfortegnelse)
- [Om](#om)
- [Funktioner](#funktioner)
- [Installation](#installation)
- [Bidrag](#-bidrag)
- [Bliv medlem af vores Telegram kanal](#-join-our-telegram)
- [Fork og klon dit repo](#fork-and-clone-your-repository)
- [Måder du kan bidrage](#ways-you-can-contribute)
- [Projekt Struktur](#project-structure)
- [Byg fra kildekode](#build-from-source)
- [Installér Node.js](#install-nodejs)
- [Installér Yarn](#install-yarn)
- [Installér Node Afhængigheder](#install-node-dependencies)
- [Installér Python 3.9](#install-python-39)
- [Installér Python Afhængigheder](#install-python-dependencies)
- [Miljøvariabler](#environment-variables)
- [Køre](#running)
- [Bygge](#build)
- [Bygge bittorrent klienten](#build-the-bittorrent-client)
- [Bygge Electron applikationen](#build-the-electron-application)
- [Bidragere](#contributors)
- [Licens](#license)
## Om
**Hydra** er en **Spil Launcher** med sin egen indbyggede **BitTorrent Klient**.
<br>
Launcheren er skrevet i TypeScript (Electron) og Python, som håndterer torrenting system ved brug af libtorrent.
## Funktioner
- Sin egen indbyggede bittorrent klient
- How Long To Beat (HLTB) integration på spil siden
- Downloadsti tilpasning
- Windows og Linux understøttelse
- Konstant opdateret
- Og mere ...
## Installation
Følg trinene her under for at installere:
1. Download den seneste version af Hydra fra [Releases](https://github.com/hydralauncher/hydra/releases/latest) siden.
- Download kun .exe hvis du vil installere Hydra på Windows.
- Download .deb, .rpm eller .zip hvis du vil installere Hydra på Linux. (afhænger af din Linux distro)
2. Kør den downloadede fil.
3. Nyd Hydra!
## <a name="bidrag"> Bidrag
### <a name="join-our-telegram"></a> Bliv medlem af vores Telegram kanal
Vi holder vores diskusioner i vores [Telegram](https://t.me/hydralauncher) kanal.
### Fork og klon dit repo
1. Fork repoet [(klik her for at forke nu)](https://github.com/hydralauncher/hydra/fork)
2. Klon din forkede kode `git clone https://github.com/dit_brugernavn/hydra`
3. Lav en ny branch
4. Skub dine commits
5. Indsend en ny Pull Request
### Måder du kan bidrage
- Oversættelse: Vi vil gerne have at Hydra er tilgængeligt for så mange folk som overhovedet muligt. Du er velkommen til at hjælpe med at oversætte til nye sprog eller at opdatere og forbedre de sprog som allerede er tilgængelige i Hydra.
- Kode: Hydra er lavet med Typescript, Electron og en lille smule Python. Hvis du har lyst til at bidrage, kan du blive medlem af vores [Telegram](https://t.me/hydralauncher) kanal! (Alt kommunikation foregår hovedsageligt på Engelsk, Brasiliansk eller Russisk)
### Projekt struktur
- torrent-client: Vi bruger libtorrent, et Python bibliotek, til at administrere torrent downloads
- src/renderer: UI'en i applikationen
- src/main: her har vi al logikken
## Byg fra kildekode
### Installér Node.js
Vær sikker på at du har Node.js installeret på din maskine. Hvis ikke, kan du downloade og installere det fra [nodejs.org](https://nodejs.org/).
### Installér Yarn
Yarn er et pakkehåndteringsprogram til Node.js. Hvis du ikke har installeret Yarn endnu, så kan du gøre det ved at følge instruktionerne på [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### Installér Node Afhængigheder
Navigér til projekt mappen og installér Node afhængighederne ved bruge af Yarn:
```bash
cd hydra
yarn
```
### Installér Python 3.9
Vær sikker på at du har Python 3.9 installeret på din maskine. Du kan downloade og installere det her: [python.org](https://www.python.org/downloads/release/python-3913/).
### Installér Python Afhængigheder
Installér de påkrævede Python afhængigheder ved brug af pip:
```bash
pip install -r requirements.txt
```
## Miljøvariabler
Du får brug for en SteamGridDB API nøgle for at kunne hente spil ikonerne under installationen.
Når du har det, kan du kopiere og omdøbe `.env.example` filen til `.env` og indsætte nøglen som `STEAMGRIDDB_API_KEY`.
## Køre
Når alt er sat op, kan du køre den følgende kommando for at starte både Electron processen og bittorrent klienten:
```bash
yarn dev
```
## Bygge
### Byg bittorrent klienten
Byg bittorrent klienten ved brug af følgende kommando:
```bash
python torrent-client/setup.py build
```
### Byg Electron applikationen
Byg Electron applikationen ved brug af følgende kommando:
På Windows:
```bash
yarn build:win
```
På Linux:
```bash
yarn build:linux
```
## Bidragere
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## Licens
Hydra benytter sig af [MIT Licensen](LICENSE).

View File

@ -2,7 +2,7 @@
<div align="center">
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
[<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
@ -13,7 +13,7 @@
[![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)
[![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)
[![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)
@ -23,8 +23,11 @@
[![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md)
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![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)
![Hydra Katalog](./docs/screenshot.png)
![Hydra Katalog](screenshot.png)
</div>

View File

@ -2,19 +2,19 @@
<div align="center">
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
[<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
<p align="center">
<strong>Hydra es un launcher de juegos con su propio cliente de bittorrent y gestor propio de repacks.</strong>
<strong>Hydra es un launcher de juegos con su propio cliente de bittorrent.</strong>
</p>
[![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)
[![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)
[![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)
@ -23,8 +23,11 @@
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![da](https://img.shields.io/badge/lang-da-red)](README.da.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)
![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](screenshot.png)
</div>
@ -55,17 +58,15 @@
## Acerca de
**Hydra** es un **Launcher de Juegos** con su propio **Cliente Bittorrent** y **autogestor de Repacks**.
**Hydra** es un **Launcher de Juegos** con su propio **Cliente Bittorrent**.
<br>
El launcher está escrito en TypeScript (Electron) y Python, el cuál se encarga del sistema de torrent usando libtorrent.
## Caracteristicas
- Buscador e instalador autogestionado de repacks a través de las páginas más confiables en él [Megahilo](https://www.reddit.com/r/Piracy/wiki/megathread/)
- Cliente propio de bittorrent integrado
- Integración de How Long To Beat (HLTB) en la página del juego
- Customización de rutas de descargas
- Notificaciones en actualizaciones a listas de repacks
- Soporte a Windows y Linux
- En constante actualización
- Y mucho más ...
@ -139,9 +140,8 @@ pip install -r requirements.txt
## Variables del Entorno
Necesitas una llave API de SteamGridDB para así poder obtener los íconos de los juegos en la instalación.
Si quieres también tener los repacks de onlinefix, necesitarás añadir tus credenciales al .env
Una vez que los tengas, puedes copiar o renombrar el archivo `.env.example` cómo `.env` y colocarlo en `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
Una vez que los tengas, puedes copiar o renombrar el archivo `.env.example` cómo `.env` y colocarlo en `STEAMGRIDDB_API_KEY`.
## Ejecucion

186
docs/README.et.md Normal file
View File

@ -0,0 +1,186 @@
<div align="center">
[<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
<p align="center">
<strong>Hydra on mängulauncher oma sisseehitatud bittorrenti kliendiga.</strong>
</p>
[![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)
[![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)
[![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)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.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)
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![da](https://img.shields.io/badge/lang-da-red)](README.da.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)
![Hydra Kataloog](screenshot.png)
</div>
## Sisukord
- [Sisukord](#sisukord)
- [Tutvustus](#tutvustus)
- [Funktsioonid](#funktsioonid)
- [Paigaldamine](#paigaldamine)
- [Panustamine](#panustamine)
- [Liitu meie Telegramiga](#liitu-meie-telegramiga)
- [Forki ja klooni oma repositoorium](#forki-ja-klooni-oma-repositoorium)
- [Viisid panustamiseks](#viisid-panustamiseks)
- [Projekti Struktuur](#projekti-struktuur)
- [Lähtekoodi kompileerimine](#lähtekoodi-kompileerimine)
- [Node.js paigaldamine](#nodejs-paigaldamine)
- [Yarn'i paigaldamine](#yarni-paigaldamine)
- [Node sõltuvuste paigaldamine](#node-sõltuvuste-paigaldamine)
- [Python 3.9 paigaldamine](#python-39-paigaldamine)
- [Python'i sõltuvuste paigaldamine](#pythoni-sõltuvuste-paigaldamine)
- [Keskkonna muutujad](#keskkonna-muutujad)
- [Käivitamine](#käivitamine)
- [Kompileerimine](#kompileerimine)
- [Bittorrenti kliendi kompileerimine](#bittorrenti-kliendi-kompileerimine)
- [Electron rakenduse kompileerimine](#electron-rakenduse-kompileerimine)
- [Panustajad](#panustajad)
- [Litsents](#litsents)
## Tutvustus
**Hydra** on **Mängulauncher** oma sisseehitatud **BitTorrent Kliendiga**.
<br>
Launcher on kirjutatud TypeScriptis (Electron) ja Pythonis, mis haldab torrentide süsteemi kasutades libtorrenti.
## Funktsioonid
- Sisseehitatud bittorrenti klient
- How Long To Beat (HLTB) integratsioon mängu lehel
- Allalaadimiste kausta kohandamine
- Windowsi ja Linuxi tugi
- Pidevad uuendused
- Ja palju muud ...
## Paigaldamine
Järgi paigaldamiseks järgmisi samme:
1. Lae alla Hydra uusim versioon [Releases](https://github.com/hydralauncher/hydra/releases/latest) lehelt.
- Lae alla ainult .exe fail, kui soovid paigaldada Hydrat Windowsile.
- Lae alla .deb või .rpm või .zip fail, kui soovid paigaldada Hydrat Linuxile. (sõltub sinu Linuxi distrost)
2. Käivita allalaaditud fail.
3. Naudi Hydrat!
## Panustamine
### Liitu meie Telegramiga
Me keskendume aruteludele meie [Telegrami](https://t.me/hydralauncher) kanalis.
### Forki ja klooni oma repositoorium
1. Forki repositoorium [(klõpsa siia forkimiseks)](https://github.com/hydralauncher/hydra/fork)
2. Klooni oma forkitud kood `git clone https://github.com/your_username/hydra`
3. Loo uus haru
4. Pushi oma commitid
5. Esita uus Pull Request
### Viisid panustamiseks
- Tõlkimine: Me soovime, et Hydra oleks kättesaadav võimalikult paljudele inimestele. Võid aidata tõlkida uutesse keeltesse või uuendada ja parandada juba olemasolevaid tõlkeid Hydras.
- Kood: Hydra on ehitatud kasutades TypeScripti, Electroni ja natuke Pythonit. Kui soovid panustada, liitu meie [Telegramiga](https://t.me/hydralauncher)!
### Projekti Struktuur
- torrent-client: Kasutame libtorrenti, Pythoni teeki, torrentide allalaadimiste haldamiseks
- src/renderer: rakenduse kasutajaliides
- src/main: kogu loogika asub siin.
## Lähtekoodi kompileerimine
### Node.js paigaldamine
Veendu, et Node.js on sinu arvutisse paigaldatud. Kui ei ole, lae alla ja paigalda see [nodejs.org](https://nodejs.org/) lehelt.
### Yarn'i paigaldamine
Yarn on Node.js paketihaldur. Kui sa pole Yarni veel paigaldanud, saad seda teha järgides juhiseid [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/) lehel.
### Node sõltuvuste paigaldamine
Liigu projekti kausta ja paigalda Node sõltuvused kasutades Yarni:
```bash
cd hydra
yarn
```
### Python 3.9 paigaldamine
Veendu, et Python 3.9 on sinu arvutisse paigaldatud. Saad selle alla laadida ja paigaldada [python.org](https://www.python.org/downloads/release/python-3913/) lehelt.
### Python'i sõltuvuste paigaldamine
Paigalda vajalikud Pythoni sõltuvused kasutades pip'i:
```bash
pip install -r requirements.txt
```
## Keskkonna muutujad
Sul on vaja SteamGridDB API võtit, et laadida alla mängude ikoone paigaldamisel.
Kui sul on see olemas, saad kopeerida või ümber nimetada `.env.example` faili `.env` failiks ja lisada sinna `STEAMGRIDDB_API_KEY`.
## Käivitamine
Kui kõik on seadistatud, saad käivitada järgmise käsu, et käivitada nii Electroni protsess kui ka bittorrenti klient:
```bash
yarn dev
```
## Kompileerimine
### Bittorrenti kliendi kompileerimine
Kompileeri bittorrenti klient kasutades järgmist käsku:
```bash
python torrent-client/setup.py build
```
### Electron rakenduse kompileerimine
Kompileeri Electron rakendus kasutades järgmist käsku:
Windowsil:
```bash
yarn build:win
```
Linuxil:
```bash
yarn build:linux
```
## Panustajad
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## Litsents
Hydra on litsentseeritud [MIT Litsentsi](LICENSE) all.

View File

@ -2,19 +2,19 @@
<div align="center">
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
[<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
<p align="center">
<strong>Hydra est un lanceur de jeux avec son propre client bittorrent intégré et un scraper de repack auto-géré.</strong>
<strong>Hydra est un lanceur de jeux avec son propre client bittorrent intégré.</strong>
</p>
[![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)
[![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)
[![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)
@ -23,8 +23,11 @@
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![da](https://img.shields.io/badge/lang-da-red)](README.da.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)
![Catalogue Hydra](./docs/screenshot.png)
![Catalogue Hydra](screenshot.png)
</div>
@ -55,17 +58,15 @@
## À propos
**Hydra** est un **lanceur de jeux** avec son propre **client BitTorrent** intégré et un **scraper de repack auto-géré**.
**Hydra** est un **lanceur de jeux** avec son propre **client BitTorrent** intégré.
<br>
Le lanceur est écrit en TypeScript (Electron) et Python, qui gère le système de torrent en utilisant libtorrent.
## Fonctionnalités
- Scraper de repack auto-géré parmi tous les sites les plus fiables sur le [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/")
- Client bittorrent intégré
- Intégration How Long To Beat (HLTB) sur la page du jeu
- Personnalisation des chemins de téléchargement
- Notifications de mise à jour de la liste de repack
- Support pour Windows et Linux
- Constamment mis à jour
- Et plus encore ...
@ -139,9 +140,8 @@ pip install -r requirements.txt
## Variables d'environnement
Vous aurez besoin d'une clé API SteamGridDB pour récupérer les icônes de jeux lors de l'installation.
Si vous voulez avoir onlinefix comme repacker, vous devrez ajouter vos identifiants au fichier .env.
Une fois que vous l'avez, vous pouvez copier ou renommer le fichier `.env.example` en `.env` et y mettre `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
Une fois que vous l'avez, vous pouvez copier ou renommer le fichier `.env.example` en `.env` et y mettre `STEAMGRIDDB_API_KEY`.
## Lancement

View File

@ -2,12 +2,12 @@
<div align="center">
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
[<img src="./resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
<p align="center">
<strong>Hydra è un game launcher con il proprio client bittorrent e autogestore di repacks.</strong>
<strong>Hydra è un game launcher con il proprio client bittorrent.</strong>
</p>
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions)
@ -23,8 +23,11 @@
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![da](https://img.shields.io/badge/lang-da-red)](README.da.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)
![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](./screenshot.png)
</div>
@ -55,17 +58,15 @@
## A proposito
**Hydra** è un **Game Launcher** con il proprio **Client BitTorrent** e **autogestore di repack**.
**Hydra** è un **Game Launcher** con il proprio **Client BitTorrent**.
<br>
Il launcher è scritto in TypeScript (Electron) and Python, che gestisce il sistema di torrenting appoggiandosi a libtorrent.
## Caratteristiche
- Motore di ricerca automatizzato sulle fonti di repack dal [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/")
- Client Bittorrent integrato
- Integrazione How Long To Beat (HLTB) nella pagina del gioco
- Percorso del download Personalizzato
- Notifiche di aggiornamenti sulla list dei repacks
- Supporto Windows e Linux
- Costantemente Aggiornato
- E molto altro ...
@ -139,9 +140,8 @@ pip install -r requirements.txt
## Variabili d'ambiente
Avrai bisogno di una chiave API SteamGridDB per poter caricare le icone di gioco.
Se intendi avere onlinefix come repacker dovrai aggiungere le tue credenziali al file .env
Una volta ottenuta, puoi copiare e rinominare il file `.env.example` a `.env` e metterlo in `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
Una volta ottenuta, puoi copiare e rinominare il file `.env.example` a `.env` e metterlo in `STEAMGRIDDB_API_KEY`.
## Esecuzione

188
docs/README.nb.md Normal file
View File

@ -0,0 +1,188 @@
<br>
<div align="center">
[<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
<p align="center">
<strong>Hydra er en spill launcher sin egen innebygt bittorrent klient.</strong>
</p>
[![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)
[![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)
[![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)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.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)
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![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)
![Hydra Catalogue](screenshot.png)
</div>
## Innhold
- [Innhold](#innhold)
- [Om](#om)
- [Funksjoner](#funksjoner)
- [Installasjon](#installasjon)
- [Bidra](#-bidra)
- [Bli med i Telegram kanalen vår](#-join-our-telegram)
- [Forke og klone repoet ditt](#fork-and-clone-your-repository)
- [Måter du kan bidra](#ways-you-can-contribute)
- [Prosjekt Struktur](#project-structure)
- [Bygg fra kilden](#build-from-source)
- [Installere Node.js](#install-nodejs)
- [Installere Yarn](#install-yarn)
- [Installere Node-avhengigheter](#install-node-dependencies)
- [Installere Python 3.9](#install-python-39)
- [Installere Python-avhengigheter](#install-python-dependencies)
- [Miljøvariabler](#environment-variables)
- [Kjøre](#running)
- [Bygge](#build)
- [Bygg bittorrent klienten](#build-the-bittorrent-client)
- [Bygg Electron applikationen](#build-the-electron-application)
- [Bidragsytere](#contributors)
- [Lisens](#license)
## Om
**Hydra** er en **Spill Launcher** sin egne innbygte **BitTorrent Klient**.
<br>
Launcheren er skrevet i TypeScript (Electron) og Python, som håndterer torrent systemet ved bruk av libtorrent.
## Funksjoner
- Sin egen innebyggte bittorrent klient
- How Long To Beat (HLTB) integrasjon på spillsiden
- Nedlastingssti tilpasning
- Windows og Linux understøttelse
- Konstant oppdatert
- Og mer ...
## Installasjon
Følg trinnene her under for å innstallere:
1. Last ned den seneste versjonen av Hydra fra [Releases](https://github.com/hydralauncher/hydra/releases/latest) siden.
- Last kun .exe filen ned om du vil installere Hydra på Windows.
- Last kun .deb, .rpm eller .zip ned om du vil installere Hydra på Linux. (kommer an på Linux distroen din)
2. Kjør den nedlastede filen.
3. Nyt Hydra!
## <a name="contributing"> Bidra
### <a name="join-our-telegram"></a> Bli med i Telegram kanalen vår
Vi holder diskusjonene våres i [Telegram](https://t.me/hydralauncher) kanalen.
### Forke og klone repoet ditt
1. Fork repoet [(trykk her for å forke nå)](https://github.com/hydralauncher/hydra/fork)
2. Klon den forkede koden `git clone https://github.com/brukernavnet_ditt/hydra`
3. Lag en ny branch
4. Skyv committene dine
5. Send inn en ny Pull-forespørsel.
### Måter du kan bidra
- Oversetting: Vi har lyst at Hydra skal bli tilgjengelig for så mange som mulig. Hjelp gjerne med å oversette til nye språk eller oppdater og forbedre de som allerede er tilgjengelige i Hydra.
- Code: Hydra is built with Typescript, Electron and a little bit of Python. If you want to contribute, join our [Telegram](https://t.me/hydralauncher)!
- Kode: Hydra er laget med Typescript, Electron og lite gran Pythong. Hvis du har lyst på å bidra, bli med i [Telegram](https://t.me/hydralauncher) kanalen vår!
### Prosjektstruktur
- torrent-client: Vi bruker libtorrent, et Python-bibliotek, til å håndtere torrent nedlastinger.
- src/renderer: UIen til applikasjonen
- src/main: all logikken er her.
## Bygg fra kildekoden
### Installere Node.js
Vær sikker på at du har installert Node.js på maskinen din. Hvis du ikke har det, må du laste ned og installere det fra [nodejs.org](https://nodejs.org/).
### Installere Yarn
Yarn er et pakkehåndteringsverktøy til Node.js. Hvis du ikke allerede har installert Yarn, da kan du gjøre det ved å følge instruksjonene på [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### Installere Node-avhengigheter
Naviger til prosjektmappen og installer Node-avhengighetene ved bruk av Yarn:
```bash
cd hydra
yarn
```
### Installere Python 3.9
Vær sikker på at du har installert Python 3.9 på maskinen din. Du kan laste ned og installere det på [python.org](https://www.python.org/downloads/release/python-3913/).
### Installere Python-avhengigheter
Installer de nødvendige Python-avhengigheter ved bruk av pip:
```bash
pip install -r requirements.txt
```
## Miljøvariabler
Du trenger en SteamGridDB API nøkkel for å kunne hente spillikonene ved installasjon.
Når du har det, kan du kopiere eller endre navnet på `.env.example` filen til å være `.env` og lagre nøkkelen som `STEAMGRIDDB_API_KEY`.
## Kjøre
Når alt er satt op, kan du kjøre følgende kommando for å start både Electron prosessen og bittorrent klienten.
```bash
yarn dev
```
## Bygge
### Bygge bittorrent klienten
Bygg bittorrent klienten ved å bruke denne kommandoen:
```bash
python torrent-client/setup.py build
```
### Bygge Electron applikasjonen
Bygg Electron applikasjonen ved å bruke denne kommandoen:
På Windows:
```bash
yarn build:win
```
På Linux:
```bash
yarn build:linux
```
## Bidragsytere
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## Lisens
Hydra bruker [MIT Lisensen](LICENSE).

View File

@ -2,12 +2,12 @@
<div align="center">
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
[<img src="./resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
<p align="center">
<strong>Hydra - to program uruchamiający gry z własnym wbudowanym klientem bittorrent i samodzielnie zarządzanym repackagerem..</strong>
<strong>Hydra - to program uruchamiający gry z własnym wbudowanym klientem bittorrent.</strong>
</p>
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions)
@ -23,8 +23,11 @@
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![da](https://img.shields.io/badge/lang-da-red)](README.da.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)
![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](./screenshot.png)
</div>
@ -55,17 +58,15 @@
## O nas
**Hydra** - jest **programem uruchamiającym gry** z wbudowanym **klientem BitTorrent** i **samozarządzającym się repackagerem**.
**Hydra** - jest **programem uruchamiającym gry** z wbudowanym **klientem BitTorrent**.
<br>
Ten launcher jest napisany w TypeScript (Electron) i Pythonie, który współpracuje z systemem torrent przy użyciu libtorrent.
## Cechy
- Samodzielnie zarządzany repackager wśród wszystkich najbardziej zaufanych stron na [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/").
- Własny wbudowany klient bittorrent
- Integracja funkcji How Long To Beat (HLTB) na stronie gry
- Personalizacja folderu pobierania
- Powiadomienia o aktualizacjach listy repacków
- Wsparcie dla systemów Windows i Linux
- Stała aktualizacja
- I nie tylko ...
@ -143,9 +144,8 @@ pip install -r requirements.txt
## Zmienne środowiskowe
Będziesz potrzebował klucza API SteamGridDB, aby uzyskać ikony gier podczas instalacji.
Jeśli chcesz użyć onlinefix jako repackagera, musisz dodać swoje dane uwierzytelniające do .env
Po jego uzyskaniu można skopiować plik lub zmienić jego nazwę `.env.example` na `.env` i umieść go na`STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
Po jego uzyskaniu można skopiować plik lub zmienić jego nazwę `.env.example` na `.env` i umieść go na`STEAMGRIDDB_API_KEY`.
## Run

View File

@ -2,19 +2,19 @@
<div align="center">
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
[<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
<p align="center">
<strong>Hydra é um Launcher de Jogos com seu próprio cliente de bittorrent integrado e um wrapper autogerenciado para busca de repacks.</strong>
<strong>Hydra é um Launcher de Jogos com seu próprio cliente de bittorrent integrado.</strong>
</p>
[![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)
[![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)
[![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)
@ -23,8 +23,11 @@
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![da](https://img.shields.io/badge/lang-da-red)](README.da.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)
![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](./screenshot.png)
</div>
@ -48,24 +51,22 @@
- [Environment variables](#-environment-variables)
- [Running](#-running)
- [Build](#-build)
- [Build the bittorrent client](#-build-the-bittorrent-client)
- [Build the Electron application](#-build-the-electron-application)
- [Contributors](#-contributors)
- [ Criar o cliente bittorrent](#-build-the-bittorrent-client)
- [Criar a aplicação Electron](#-build-the-electron-application)
- [Contribuidores](#-contributors)
- [Licença](#-licença)
## <a name="about"> Sobre
**Hydra** é um **Launcher de Jogos** com seu próprio **Cliente BitTorrent incorporado** e um **raspador de repack auto-gerenciado**.
**Hydra** é um **Launcher de Jogos** com seu próprio **Cliente BitTorrent incorporado**.
<br>
O launcher é escrito em TypeScript (Electron) e Python, que lida com o sistema de torrent usando libtorrent.
## <a name="features"> Recursos
- Wrapper de repacks auto-gerenciado entre todos os sites mais confiáveis no [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/")
- Cliente BitTorrent incorporado próprio
- Integração com [How Long To Beat (HLTB)](https://howlongtobeat.com/) na página do jogo
- Personalização do caminho de downloads
- Notificações de atualização da lista de repacks
- Suporte para Windows e Linux
- Constantemente atualizado
- E mais ...
@ -124,6 +125,10 @@ cd hydra
yarn
```
### <a name="install-openssl-11"></a> Instale OpenSSL 1.1
[OpenSSL 1.1](https://slproweb.com/download/Win64OpenSSL-1_1_1w.exe) é exigido pelo libtorrent em ambientes Windows.
### <a name="install-python-39"></a> Instale Python 3.9
Certifique-se de ter o Python 3.9 instalado em sua máquina. Você pode baixá-lo e instalá-lo em [python.org](https://www.python.org/downloads/release/python-3913/).
@ -136,14 +141,13 @@ Instale as dependências Python necessárias usando o pip:
pip install -r requirements.txt
```
## <a name="environment-variables"></a> Environment variables
## <a name="environment-variables"></a> Variáveis de ambiente
Você precisará de uma chave da API SteamGridDB para buscar os ícones do jogo durante a instalação.
Se você deseja ter o onlinefix como um repacker, precisará adicionar suas credenciais ao arquivo .env.
Depois de obtê-lo, você pode copiar ou renomear o arquivo `.env.example` para `.env` e inserir `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME` e `ONLINEFIX_PASSWORD`.
Depois de obtê-lo, você pode copiar ou renomear o arquivo `.env.example` para `.env` e inserir `STEAMGRIDDB_API_KEY`.
## <a name="running"></a> Running
## <a name="running"></a> Executando
Uma vez que você tenha configurado tudo, você pode executar o seguinte comando para iniciar tanto o processo Electron quanto o cliente BitTorrent:
@ -153,7 +157,7 @@ yarn dev
## <a name="build"></a> Build
### <a name="build-the-bittorrent-client"></a> Build the bittorrent client
### <a name="build-the-bittorrent-client"></a> Criar o cliente bittorrent
Compile o cliente BitTorrent usando este comando
@ -161,7 +165,7 @@ Compile o cliente BitTorrent usando este comando
python torrent-client/setup.py build
```
### <a name="build-the-electron-application"></a> Build the Electron application
### <a name="build-the-electron-application"></a> Criar a aplicação Electron
Compile a aplicação Electron usando este comando:
@ -177,7 +181,7 @@ No Linux:
yarn build:linux
```
## <a name="contributors"></a> Contributors
## <a name="contributors"></a> Contribuidores
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />

View File

@ -2,19 +2,19 @@
<div align="center">
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
[<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
<p align="center">
<strong>Hydra - это игровой лаунчер с собственным встроенным клиентом BitTorrent и самостоятельным scraper`ом для репаков.</strong>
<strong>Hydra - это игровой лаунчер с собственным встроенным клиентом BitTorrent.</strong>
</p>
[![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)
[![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)
[![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)
@ -23,8 +23,11 @@
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![da](https://img.shields.io/badge/lang-da-red)](README.da.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)
![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](./screenshot.png)
</div>
@ -139,9 +142,8 @@ pip install -r requirements.txt
## Переменные среды
Вам понадобится ключ API SteamGridDB, чтобы получить значки игр при установке.
Если вы хотите использовать onlinefix в качестве репака, вам нужно добавить ваши учетные данные в файл .env.
Как только у вас будет ключ, вы можете скопировать или переименовать файл `.env.example` в `.env` и поместить в него `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
Как только у вас будет ключ, вы можете скопировать или переименовать файл `.env.example` в `.env` и поместить в него `STEAMGRIDDB_API_KEY`.
## Запуск

View File

@ -2,19 +2,19 @@
<div align="center">
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
[<img src="../resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
<p align="center">
<strong>Hydra - це ігровий лаунчер з власним вбудованим bittorrent-клієнтом і самокерованим збирачем репаків.</strong>
<strong>Hydra - це ігровий лаунчер з власним вбудованим bittorrent-клієнтом.</strong>
</p>
[![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)
[![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)
[![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)
@ -23,8 +23,11 @@
[![de](https://img.shields.io/badge/lang-de-black)](README.de.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)
[![da](https://img.shields.io/badge/lang-da-red)](README.da.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)
![Hydra Catalogue](./docs/screenshot.png)
![Hydra Catalogue](screenshot.png)
</div>
@ -143,9 +146,8 @@ pip install -r requirements.txt
## Змінні середовища
Вам знадобиться ключ API SteamGridDB, щоб отримати іконки ігор під час встановлення.
Якщо ви хочете використовувати onlinefix як перепакувальник, вам потрібно додати свої облікові дані до .env
Отримавши його, ви можете скопіювати або перейменувати файл `.env.example` на `.env`і помістити його на`STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
Отримавши його, ви можете скопіювати або перейменувати файл `.env.example` на `.env`і помістити його на`STEAMGRIDDB_API_KEY`.
## Запустіть

View File

@ -1,11 +1,14 @@
appId: site.hydralauncher.hydra
appId: gg.hydralauncher.hydra
productName: Hydra
directories:
buildResources: build
extraResources:
- hydra-download-manager
- aria2
- ludusavi
- hydra-python-rpc
- seeds
- from: node_modules/create-desktop-shortcuts/src/windows.vbs
- from: resources/achievement.wav
files:
- "!**/.vscode/*"
- "!src/*"
@ -27,6 +30,7 @@ nsis:
createDesktopShortcut: always
oneClick: false
allowToChangeInstallationDirectory: true
include: installer.nsh
portable:
artifactName: ${name}-${version}-portable.${ext}
mac:

View File

@ -6,15 +6,9 @@ import {
externalizeDepsPlugin,
} from "electron-vite";
import react from "@vitejs/plugin-react";
import { sentryVitePlugin } from "@sentry/vite-plugin";
import { vanillaExtractPlugin } from "@vanilla-extract/vite-plugin";
import svgr from "vite-plugin-svgr";
const sentryPlugin = sentryVitePlugin({
authToken: process.env.SENTRY_AUTH_TOKEN,
org: "hydra-launcher",
project: "hydra-launcher",
});
import { sentryVitePlugin } from "@sentry/vite-plugin";
export default defineConfig(({ mode }) => {
loadEnv(mode);
@ -35,7 +29,7 @@ export default defineConfig(({ mode }) => {
"@shared": resolve("src/shared"),
},
},
plugins: [externalizeDepsPlugin(), swcPlugin(), sentryPlugin],
plugins: [externalizeDepsPlugin(), swcPlugin()],
},
preload: {
plugins: [externalizeDepsPlugin()],
@ -44,6 +38,13 @@ export default defineConfig(({ mode }) => {
build: {
sourcemap: true,
},
css: {
preprocessorOptions: {
scss: {
api: "modern",
},
},
},
resolve: {
alias: {
"@renderer": resolve("src/renderer/src"),
@ -51,7 +52,16 @@ export default defineConfig(({ mode }) => {
"@shared": resolve("src/shared"),
},
},
plugins: [svgr(), react(), vanillaExtractPlugin(), sentryPlugin],
plugins: [
svgr(),
react(),
vanillaExtractPlugin(),
sentryVitePlugin({
authToken: process.env.SENTRY_AUTH_TOKEN,
org: "hydra-launcher",
project: "hydra-renderer",
}),
],
},
};
});

View File

@ -1,6 +1,6 @@
{
"name": "hydralauncher",
"version": "2.1.2",
"version": "3.1.5",
"description": "Hydra",
"main": "./out/main/index.js",
"author": "Los Broxas",
@ -23,7 +23,7 @@
"start": "electron-vite preview",
"dev": "electron-vite dev",
"build": "npm run typecheck && electron-vite build",
"postinstall": "electron-builder install-app-deps",
"postinstall": "electron-builder install-app-deps && node ./scripts/postinstall.cjs",
"build:unpack": "npm run build && electron-builder --dir",
"build:win": "electron-vite build && electron-builder --win",
"build:mac": "electron-vite build && electron-builder --mac",
@ -34,80 +34,86 @@
"dependencies": {
"@electron-toolkit/preload": "^3.0.0",
"@electron-toolkit/utils": "^3.0.0",
"@fontsource/noto-sans": "^5.0.22",
"@hookform/resolvers": "^3.9.0",
"@fontsource/noto-sans": "^5.1.0",
"@hookform/resolvers": "^3.9.1",
"@primer/octicons-react": "^19.9.0",
"@radix-ui/react-dropdown-menu": "^2.1.2",
"@reduxjs/toolkit": "^2.2.3",
"@sentry/electron": "^5.1.0",
"@sentry/react": "^8.47.0",
"@sentry/vite-plugin": "^2.22.7",
"@vanilla-extract/css": "^1.14.2",
"@vanilla-extract/dynamic": "^2.1.1",
"@vanilla-extract/dynamic": "^2.1.2",
"@vanilla-extract/recipes": "^0.5.2",
"auto-launch": "^5.0.6",
"axios": "^1.7.7",
"better-sqlite3": "^11.2.1",
"check-disk-space": "^3.4.0",
"axios": "^1.7.9",
"better-sqlite3": "^11.7.0",
"classic-level": "^2.0.0",
"classnames": "^2.5.1",
"color": "^4.2.3",
"color.js": "^1.2.0",
"create-desktop-shortcuts": "^1.11.0",
"date-fns": "^3.6.0",
"electron-log": "^5.1.4",
"electron-updater": "^6.1.8",
"fetch-cookie": "^3.0.1",
"flexsearch": "^0.7.43",
"dexie": "^4.0.10",
"diskusage": "^1.2.0",
"electron-log": "^5.2.4",
"electron-updater": "^6.3.9",
"file-type": "^19.6.0",
"i18next": "^23.11.2",
"i18next-browser-languagedetector": "^7.2.1",
"icojs": "^0.19.3",
"jsdom": "^24.0.0",
"jsonwebtoken": "^9.0.2",
"knex": "^3.1.0",
"lodash-es": "^4.17.21",
"lottie-react": "^2.4.0",
"parse-torrent": "^11.0.16",
"piscina": "^4.5.1",
"parse-torrent": "^11.0.17",
"piscina": "^4.7.0",
"rc-virtual-list": "^3.16.1",
"react-hook-form": "^7.53.0",
"react-i18next": "^14.1.0",
"react-loading-skeleton": "^3.4.0",
"react-redux": "^9.1.1",
"react-router-dom": "^6.22.3",
"sound-play": "^1.1.0",
"sudo-prompt": "^9.2.1",
"typeorm": "^0.3.20",
"user-agents": "^1.1.193",
"yaml": "^2.4.1",
"yup": "^1.4.0",
"zod": "^3.23.8"
"tar": "^7.4.3",
"user-agents": "^1.1.387",
"yaml": "^2.6.1",
"yup": "^1.5.0",
"zod": "^3.24.1"
},
"devDependencies": {
"@commitlint/cli": "^19.3.0",
"@commitlint/config-conventional": "^19.2.2",
"@aws-sdk/client-s3": "^3.705.0",
"@commitlint/cli": "^19.6.0",
"@commitlint/config-conventional": "^19.6.0",
"@electron-toolkit/eslint-config-prettier": "^2.0.0",
"@electron-toolkit/eslint-config-ts": "^1.0.1",
"@electron-toolkit/eslint-config-ts": "^2.0.0",
"@electron-toolkit/tsconfig": "^1.0.1",
"@sentry/vite-plugin": "^2.20.1",
"@swc/core": "^1.4.16",
"@types/auto-launch": "^5.0.5",
"@types/color": "^3.0.6",
"@types/jsdom": "^21.1.6",
"@types/jsonwebtoken": "^9.0.6",
"@types/folder-hash": "^4.0.4",
"@types/jsdom": "^21.1.7",
"@types/jsonwebtoken": "^9.0.7",
"@types/lodash-es": "^4.17.12",
"@types/node": "^20.12.7",
"@types/parse-torrent": "^5.8.7",
"@types/react": "^18.2.48",
"@types/react-dom": "^18.2.18",
"@types/sound-play": "^1.1.3",
"@types/user-agents": "^1.0.4",
"@vanilla-extract/vite-plugin": "^4.0.7",
"@vitejs/plugin-react": "^4.2.1",
"electron": "^30.3.0",
"electron-builder": "^24.9.1",
"electron": "^31.7.6",
"electron-builder": "^25.1.8",
"electron-vite": "^2.0.0",
"eslint": "^8.56.0",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react": "^7.37.2",
"eslint-plugin-react-hooks": "^4.6.0",
"husky": "^9.0.11",
"prettier": "^3.2.4",
"husky": "^9.1.7",
"prettier": "^3.4.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"sass-embedded": "^1.80.6",
"ts-node": "^10.9.2",
"typescript": "^5.3.3",
"vite": "^5.0.12",

View File

@ -0,0 +1,48 @@
import aria2p
class HttpDownloader:
def __init__(self):
self.download = None
self.aria2 = aria2p.API(
aria2p.Client(
host="http://localhost",
port=6800,
secret=""
)
)
def start_download(self, url: str, save_path: str, header: str, out: str = None):
if self.download:
self.aria2.resume([self.download])
else:
downloads = self.aria2.add(url, options={"header": header, "dir": save_path, "out": out})
self.download = downloads[0]
def pause_download(self):
if self.download:
self.aria2.pause([self.download])
def cancel_download(self):
if self.download:
self.aria2.remove([self.download])
self.download = None
def get_download_status(self):
if self.download == None:
return None
download = self.aria2.get_download(self.download.gid)
response = {
'folderName': download.name,
'fileSize': download.total_length,
'progress': download.completed_length / download.total_length if download.total_length else 0,
'downloadSpeed': download.download_speed,
'numPeers': 0,
'numSeeds': 0,
'status': download.status,
'bytesDownloaded': download.completed_length,
}
return response

183
python_rpc/main.py Normal file
View File

@ -0,0 +1,183 @@
from flask import Flask, request, jsonify
import sys, json, urllib.parse, psutil
from torrent_downloader import TorrentDownloader
from http_downloader import HttpDownloader
from profile_image_processor import ProfileImageProcessor
import libtorrent as lt
app = Flask(__name__)
# Retrieve command line arguments
torrent_port = sys.argv[1]
http_port = sys.argv[2]
rpc_password = sys.argv[3]
start_download_payload = sys.argv[4]
start_seeding_payload = sys.argv[5]
downloads = {}
# This can be streamed down from Node
downloading_game_id = -1
torrent_session = lt.session({'listen_interfaces': '0.0.0.0:{port}'.format(port=torrent_port)})
if start_download_payload:
initial_download = json.loads(urllib.parse.unquote(start_download_payload))
downloading_game_id = initial_download['game_id']
if initial_download['url'].startswith('magnet'):
torrent_downloader = TorrentDownloader(torrent_session)
downloads[initial_download['game_id']] = torrent_downloader
try:
torrent_downloader.start_download(initial_download['url'], initial_download['save_path'])
except Exception as e:
print("Error starting torrent download", e)
else:
http_downloader = HttpDownloader()
downloads[initial_download['game_id']] = http_downloader
try:
http_downloader.start_download(initial_download['url'], initial_download['save_path'], initial_download.get('header'), initial_download.get("out"))
except Exception as e:
print("Error starting http download", e)
if start_seeding_payload:
initial_seeding = json.loads(urllib.parse.unquote(start_seeding_payload))
for seed in initial_seeding:
torrent_downloader = TorrentDownloader(torrent_session, lt.torrent_flags.upload_mode)
downloads[seed['game_id']] = torrent_downloader
try:
torrent_downloader.start_download(seed['url'], seed['save_path'])
except Exception as e:
print("Error starting seeding", e)
def validate_rpc_password():
"""Middleware to validate RPC password."""
header_password = request.headers.get('x-hydra-rpc-password')
if header_password != rpc_password:
return jsonify({"error": "Unauthorized"}), 401
@app.route("/status", methods=["GET"])
def status():
auth_error = validate_rpc_password()
if auth_error:
return auth_error
downloader = downloads.get(downloading_game_id)
if downloader:
status = downloads.get(downloading_game_id).get_download_status()
return jsonify(status), 200
else:
return jsonify(None)
@app.route("/seed-status", methods=["GET"])
def seed_status():
auth_error = validate_rpc_password()
if auth_error:
return auth_error
seed_status = []
for game_id, downloader in downloads.items():
if not downloader:
continue
response = downloader.get_download_status()
if response is None:
continue
if response.get('status') == 5:
seed_status.append({
'gameId': game_id,
**response,
})
return jsonify(seed_status), 200
@app.route("/healthcheck", methods=["GET"])
def healthcheck():
return "ok", 200
@app.route("/process-list", methods=["GET"])
def process_list():
auth_error = validate_rpc_password()
if auth_error:
return auth_error
process_list = [proc.info for proc in psutil.process_iter(['exe', 'pid', 'name'])]
return jsonify(process_list), 200
@app.route("/profile-image", methods=["POST"])
def profile_image():
auth_error = validate_rpc_password()
if auth_error:
return auth_error
data = request.get_json()
image_path = data.get('image_path')
try:
processed_image_path, mime_type = ProfileImageProcessor.process_image(image_path)
return jsonify({'imagePath': processed_image_path, 'mimeType': mime_type}), 200
except Exception as e:
return jsonify({"error": str(e)}), 400
@app.route("/action", methods=["POST"])
def action():
global torrent_session
global downloading_game_id
auth_error = validate_rpc_password()
if auth_error:
return auth_error
data = request.get_json()
action = data.get('action')
game_id = data.get('game_id')
if action == 'start':
url = data.get('url')
existing_downloader = downloads.get(game_id)
if url.startswith('magnet'):
if existing_downloader and isinstance(existing_downloader, TorrentDownloader):
existing_downloader.start_download(url, data['save_path'])
else:
torrent_downloader = TorrentDownloader(torrent_session)
downloads[game_id] = torrent_downloader
torrent_downloader.start_download(url, data['save_path'])
else:
if existing_downloader and isinstance(existing_downloader, HttpDownloader):
existing_downloader.start_download(url, data['save_path'], data.get('header'), data.get('out'))
else:
http_downloader = HttpDownloader()
downloads[game_id] = http_downloader
http_downloader.start_download(url, data['save_path'], data.get('header'), data.get('out'))
downloading_game_id = game_id
elif action == 'pause':
downloader = downloads.get(game_id)
if downloader:
downloader.pause_download()
downloading_game_id = -1
elif action == 'cancel':
downloader = downloads.get(game_id)
if downloader:
downloader.cancel_download()
elif action == 'resume_seeding':
torrent_downloader = TorrentDownloader(torrent_session, lt.torrent_flags.upload_mode)
downloads[game_id] = torrent_downloader
torrent_downloader.start_download(data['url'], data['save_path'])
elif action == 'pause_seeding':
downloader = downloads.get(game_id)
if downloader:
downloader.cancel_download()
else:
return jsonify({"error": "Invalid action"}), 400
return "", 200
if __name__ == "__main__":
app.run(host="0.0.0.0", port=int(http_port))

View File

@ -1,6 +1,5 @@
from PIL import Image
import tempfile
import os, uuid
import os, uuid, tempfile
class ProfileImageProcessor:
@ -16,8 +15,8 @@ class ProfileImageProcessor:
mime_type = image.get_format_mimetype()
return image_path, mime_type
else:
newUUID = str(uuid.uuid4())
new_image_path = os.path.join(tempfile.gettempdir(), newUUID) + ".webp"
new_uuid = str(uuid.uuid4())
new_image_path = os.path.join(tempfile.gettempdir(), new_uuid) + ".webp"
image.save(new_image_path)
new_image = Image.open(new_image_path)

View File

@ -3,18 +3,18 @@ from cx_Freeze import setup, Executable
# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {
"packages": ["libtorrent"],
"build_exe": "hydra-download-manager",
"build_exe": "hydra-python-rpc",
"include_msvcr": True
}
setup(
name="hydra-download-manager",
name="hydra-python-rpc",
version="0.1",
description="Hydra",
options={"build_exe": build_exe_options},
executables=[Executable(
"torrent-client/main.py",
target_name="hydra-download-manager",
"python_rpc/main.py",
target_name="hydra-python-rpc",
icon="build/icon.ico"
)]
)

View File

@ -1,10 +1,10 @@
import libtorrent as lt
class TorrentDownloader:
def __init__(self, port: str):
self.torrent_handles = {}
self.downloading_game_id = -1
self.session = lt.session({'listen_interfaces': '0.0.0.0:{port}'.format(port=port)})
def __init__(self, torrent_session, flags = lt.torrent_flags.auto_managed):
self.torrent_handle = None
self.session = torrent_session
self.flags = flags
self.trackers = [
"udp://tracker.opentrackr.org:1337/announce",
"http://tracker.opentrackr.org:1337/announce",
@ -102,57 +102,48 @@ class TorrentDownloader:
"http://bvarf.tracker.sh:2086/announce",
]
def start_download(self, game_id: int, magnet: str, save_path: str):
params = {'url': magnet, 'save_path': save_path, 'trackers': self.trackers}
torrent_handle = self.session.add_torrent(params)
self.torrent_handles[game_id] = torrent_handle
torrent_handle.set_flags(lt.torrent_flags.auto_managed)
torrent_handle.resume()
def start_download(self, magnet: str, save_path: str):
params = {'url': magnet, 'save_path': save_path, 'trackers': self.trackers, 'flags': self.flags}
self.torrent_handle = self.session.add_torrent(params)
self.torrent_handle.resume()
self.downloading_game_id = game_id
def pause_download(self):
if self.torrent_handle:
self.torrent_handle.pause()
self.torrent_handle.unset_flags(lt.torrent_flags.auto_managed)
def pause_download(self, game_id: int):
torrent_handle = self.torrent_handles.get(game_id)
if torrent_handle:
torrent_handle.pause()
torrent_handle.unset_flags(lt.torrent_flags.auto_managed)
self.downloading_game_id = -1
def cancel_download(self, game_id: int):
torrent_handle = self.torrent_handles.get(game_id)
if torrent_handle:
torrent_handle.pause()
self.session.remove_torrent(torrent_handle)
self.torrent_handles[game_id] = None
self.downloading_game_id = -1
def cancel_download(self):
if self.torrent_handle:
self.torrent_handle.pause()
self.session.remove_torrent(self.torrent_handle)
self.torrent_handle = None
def abort_session(self):
for game_id in self.torrent_handles:
torrent_handle = self.torrent_handles[game_id]
torrent_handle.pause()
self.session.remove_torrent(torrent_handle)
self.torrent_handle = self.torrent_handles[game_id]
self.torrent_handle.pause()
self.session.remove_torrent(self.torrent_handle)
self.session.abort()
self.torrent_handles = {}
self.downloading_game_id = -1
self.torrent_handle = None
def get_download_status(self):
if self.downloading_game_id == -1:
if self.torrent_handle is None:
return None
torrent_handle = self.torrent_handles.get(self.downloading_game_id)
status = torrent_handle.status()
info = torrent_handle.get_torrent_info()
return {
status = self.torrent_handle.status()
info = self.torrent_handle.get_torrent_info()
response = {
'folderName': info.name() if info else "",
'fileSize': info.total_size() if info else 0,
'gameId': self.downloading_game_id,
'progress': status.progress,
'downloadSpeed': status.download_rate,
'uploadSpeed': status.upload_rate,
'numPeers': status.num_peers,
'numSeeds': status.num_seeds,
'status': status.state,
'bytesDownloaded': status.progress * info.total_size() if info else status.all_time_download,
}
return response

View File

@ -1,7 +1,8 @@
libtorrent
cx_Freeze
cx_Freeze == 7.2.3
cx_Logging; sys_platform == 'win32'
lief; sys_platform == 'win32'
pywin32; sys_platform == 'win32'
psutil
Pillow
flask
aria2p

BIN
resources/achievement.wav Normal file

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 18 KiB

122
scripts/postinstall.cjs Normal file
View File

@ -0,0 +1,122 @@
const { default: axios } = require("axios");
const util = require("node:util");
const fs = require("node:fs");
const path = require("node:path");
const { spawnSync } = require("node:child_process");
const exec = util.promisify(require("node:child_process").exec);
const fileName = {
win32: "ludusavi-v0.25.0-win64.zip",
linux: "ludusavi-v0.25.0-linux.zip",
darwin: "ludusavi-v0.25.0-mac.zip",
};
const downloadLudusavi = async () => {
if (fs.existsSync("ludusavi")) {
console.log("Ludusavi already exists, skipping download...");
return;
}
const file = fileName[process.platform];
const downloadUrl = `https://github.com/mtkennerly/ludusavi/releases/download/v0.25.0/${file}`;
console.log(`Downloading ${file}...`);
const response = await axios.get(downloadUrl, { responseType: "stream" });
const stream = response.data.pipe(fs.createWriteStream(file));
stream.on("finish", async () => {
console.log(`Downloaded ${file}, extracting...`);
const pwd = process.cwd();
const targetPath = path.join(pwd, "ludusavi");
await exec(`npx extract-zip ${file} ${targetPath}`);
if (process.platform !== "win32") {
fs.chmodSync(path.join(targetPath, "ludusavi"), 0o755);
}
console.log("Extracted. Renaming folder...");
console.log(`Extracted ${file}, removing compressed downloaded file...`);
fs.rmSync(file);
});
};
const downloadAria2WindowsAndLinux = async () => {
const file =
process.platform === "win32"
? "aria2-1.37.0-win-64bit-build1.zip"
: "aria2-1.37.0-1-x86_64.pkg.tar.zst";
const downloadUrl =
process.platform === "win32"
? `https://github.com/aria2/aria2/releases/download/release-1.37.0/${file}`
: "https://archlinux.org/packages/extra/x86_64/aria2/download/";
console.log(`Downloading ${file}...`);
const response = await axios.get(downloadUrl, { responseType: "stream" });
const stream = response.data.pipe(fs.createWriteStream(file));
stream.on("finish", async () => {
console.log(`Downloaded ${file}, extracting...`);
if (process.platform === "win32") {
await exec(`npx extract-zip ${file}`);
console.log("Extracted. Renaming folder...");
fs.mkdirSync("aria2");
fs.copyFileSync(
path.join(file.replace(".zip", ""), "aria2c.exe"),
"aria2/aria2c.exe"
);
fs.rmSync(file.replace(".zip", ""), { recursive: true });
} else {
await exec(`tar --zstd -xvf ${file} usr/bin/aria2c`);
console.log("Extracted. Copying binary file...");
fs.mkdirSync("aria2");
fs.copyFileSync("usr/bin/aria2c", "aria2/aria2c");
fs.rmSync("usr", { recursive: true });
}
console.log(`Extracted ${file}, removing compressed downloaded file...`);
fs.rmSync(file);
});
};
const copyAria2Macos = async () => {
console.log("Checking if aria2 is installed...");
const isAria2Installed = spawnSync("which", ["aria2c"]).status;
if (isAria2Installed != 0) {
console.log("Please install aria2");
console.log("brew install aria2");
return;
}
console.log("Copying aria2 binary...");
fs.mkdirSync("aria2");
await exec(`cp $(which aria2c) aria2/aria2c`);
};
const copyAria2 = () => {
if (fs.existsSync("aria2")) {
console.log("Aria2 already exists, skipping download...");
return;
}
if (process.platform == "darwin") {
copyAria2Macos();
} else {
downloadAria2WindowsAndLinux();
}
};
copyAria2();
downloadLudusavi();

66
scripts/upload-build.cjs Normal file
View File

@ -0,0 +1,66 @@
const fs = require("node:fs");
const { S3Client, PutObjectCommand } = require("@aws-sdk/client-s3");
const path = require("node:path");
const packageJson = require("../package.json");
if (!process.env.BUILD_WEBHOOK_URL) {
console.log("No BUILD_WEBHOOK_URL provided, skipping upload");
process.exit(0);
}
const s3 = new S3Client({
region: "auto",
endpoint: process.env.S3_ENDPOINT,
forcePathStyle: true,
credentials: {
accessKeyId: process.env.S3_ACCESS_KEY_ID,
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY,
},
});
const dist = path.resolve(__dirname, "..", "dist");
const extensionsToUpload = [".deb", ".exe", ".pacman"];
fs.readdir(dist, async (err, files) => {
if (err) throw err;
const uploads = await Promise.all(
files
.filter((file) => extensionsToUpload.includes(path.extname(file)))
.map(async (file) => {
console.log(`⌛️ Uploading ${file}...`);
const fileName = `${new Date().getTime()}-${file}`;
const command = new PutObjectCommand({
Bucket: process.env.S3_BUILDS_BUCKET_NAME,
Key: fileName,
Body: fs.createReadStream(path.resolve(dist, file)),
// 3 days
Expires: new Date(Date.now() + 1000 * 60 * 60 * 24 * 3),
});
await s3.send(command);
return {
url: `${process.env.BUILDS_URL}/${fileName}`,
name: fileName,
};
})
);
for (const upload of uploads) {
await fetch(process.env.BUILD_WEBHOOK_URL, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
upload,
branchName: process.env.BRANCH_NAME,
version: packageJson.version,
githubActor: process.env.GITHUB_ACTOR,
}),
});
}
});

File diff suppressed because one or more lines are too long

View File

@ -1,58 +1,82 @@
{
"language_name": "اَلْعَرَبِيَّةُ",
"language_name": "العربية",
"app": {
"successfully_signed_in": "تم تسجيل الدخول بنجاح"
},
"home": {
"featured": "مميّز",
"trending": "شائع",
"surprise_me": "فاجئني",
"no_results": "لم يتم العثور على نتائج"
"featured": "مميز",
"surprise_me": "مفاجئني",
"no_results": "لم يتم العثور على نتائج",
"start_typing": "ابدأ الكتابة للبحث...",
"hot": "الأكثر شيوعًا الآن",
"weekly": "📅 أفضل ألعاب الأسبوع",
"achievements": "🏆 ألعاب للتغلب عليها"
},
"sidebar": {
"catalogue": "قائمة الألعاب",
"downloads": "التحميلات",
"settings": "إعدادات",
"catalogue": "الكـتالوج",
"downloads": "التنزيلات",
"settings": "الإعدادات",
"my_library": "مكتبتي",
"downloading_metadata": "{{title}} (جارٍ تنزيل البيانات الوصفية...)",
"paused": "{{title}} (متوقف)",
"downloading": "{{title}} ({{percentage}} - جارٍ التنزيل...)",
"filter": "بحث في المكتبة",
"home": "الرئيسية"
"paused": "{{title}} (معلّق)",
"downloading": "{{title}} ({{percentage}} - جاري التنزيل...)",
"filter": "تصفية المكتبة",
"home": "الرئيسية",
"queued": "{{title}} (في قائمة الانتظار)",
"game_has_no_executable": "اللعبة لا تحتوي على ملف تشغيل",
"sign_in": "تسجيل الدخول",
"friends": "الأصدقاء",
"need_help": "تحتاج مساعدة؟"
},
"header": {
"search": "ابحث عن الألعاب",
"home": "الرئيسية",
"catalogue": "قائمة الألعاب",
"downloads": "التحميلات",
"catalogue": "الكـتالوج",
"downloads": "التنزيلات",
"search_results": "نتائج البحث",
"settings": "إعدادات"
"settings": "الإعدادات",
"version_available_install": "الإصدار {{version}} متوفر. انقر هنا لإعادة التشغيل والتثبيت.",
"version_available_download": "الإصدار {{version}} متوفر. انقر هنا للتنزيل."
},
"bottom_panel": {
"no_downloads_in_progress": "لا يوجد تنزيلات جارية",
"downloading_metadata": "جارٍ تنزيل بيانات وصف {{title}}",
"downloading": "جارٍ تنزيل {{title}}… ({{percentage}} مكتملة) - الانتهاء {{eta}} - {{speed}}"
"no_downloads_in_progress": "لا توجد تنزيلات قيد التقدم",
"downloading_metadata": "جارٍ تنزيل البيانات الوصفية لـ {{title}}...",
"downloading": "جارٍ تنزيل {{title}}... ({{percentage}} اكتمال) - الوقت المتبقي {{eta}} - السرعة {{speed}}",
"calculating_eta": "جارٍ تنزيل {{title}}... ({{percentage}} اكتمال) - جاري حساب الوقت المتبقي...",
"checking_files": "جارٍ فحص ملفات {{title}}... ({{percentage}} اكتمال)"
},
"catalogue": {
"next_page": "الصفحة التالية",
"previous_page": "الصفحة السابقة"
"search": "تصفية...",
"developers": "المطورون",
"genres": "الأنواع",
"tags": "العلامات",
"publishers": "الناشرون",
"download_sources": "مصادر التنزيل",
"result_count": "{{resultCount}} نتيجة",
"filter_count": "{{filterCount}} متاح",
"clear_filters": "مسح {{filterCount}} المحددة"
},
"game_details": {
"open_download_options": "افتح خيارات التنزيل",
"download_options_zero": "لا يوجد خيار تنزيل",
"download_options_one": "{{count}} خيار تنزيل",
"download_options_other": "{{count}} خيار تنزيل",
"updated_at": "تم التحديث {{updated_at}}",
"open_download_options": "فتح خيارات التنزيل",
"download_options_zero": "لا توجد خيارات تنزيل",
"download_options_one": "خيار تنزيل واحد",
"download_options_other": "{{count}} خيارات تنزيل",
"updated_at": "تم التحديث في {{updated_at}}",
"install": "تثبيت",
"resume": "استئناف",
"pause": "إيقاف",
"pause": "إيقاف مؤقت",
"cancel": "إلغاء",
"remove": "إزالة",
"space_left_on_disk": "{{space}} متبقية على القرص",
"eta": "الوقت المتبقي {{eta}}",
"downloading_metadata": "جاري تنزيل البيانات الوصفية...",
"filter": "تصفية حزم إعادة التجميع",
"space_left_on_disk": "{{space}} متبقي على القرص",
"eta": "الانتهاء {{eta}}",
"calculating_eta": "جارٍ حساب الوقت المتبقي...",
"downloading_metadata": "جارٍ تنزيل البيانات الوصفية...",
"filter": "تصفية الحزم المعاد تعبئتها",
"requirements": "متطلبات النظام",
"minimum": "الحد الأدنى",
"recommended": "موصى به",
"release_date": "تم الإصدار في {{date}}",
"recommended": "مُوصى به",
"paused": "معلّق",
"release_date": "تاريخ الإصدار {{date}}",
"publisher": "نشر بواسطة {{publisher}}",
"hours": "ساعات",
"minutes": "دقائق",
@ -62,75 +86,231 @@
"add_to_library": "إضافة إلى المكتبة",
"remove_from_library": "إزالة من المكتبة",
"no_downloads": "لا توجد تنزيلات متاحة",
"play_time": "تم اللعب لمدة {{amount}}",
"last_time_played": "آخر مرة لعبت {{period}}",
"play_time": "لعب لمدة {{amount}}",
"last_time_played": "آخر تشغيل {{period}}",
"not_played_yet": "لم تلعب {{title}} بعد",
"next_suggestion": "الاقتراح التالي",
"play": "لعب",
"deleting": "جاري حذف المثبت...",
"play": "تشغيل",
"deleting": "جارٍ حذف المثبت...",
"close": "إغلاق",
"playing_now": "قيد التشغيل الآن",
"playing_now": "يتم التشغيل الآن",
"change": "تغيير",
"repacks_modal_description": "اختر الحزمة التي تريد تنزيلها",
"select_folder_hint": "لتغيير المجلد الافتراضي، انتقل إلى الإعدادات",
"repacks_modal_description": "اختر الحزمة المعاد تعبئتها التي تريد تنزيلها",
"select_folder_hint": "لتغيير المجلد الافتراضي، انتقل إلى <0>الإعدادات</0>",
"download_now": "تنزيل الآن",
"no_shop_details": "لم يتم استرداد تفاصيل المتجر.",
"no_shop_details": "تعذر الحصول على تفاصيل المتجر.",
"download_options": "خيارات التنزيل",
"download_path": "مسار التنزيل",
"previous_screenshot": "لقطة الشاشة السابقة",
"next_screenshot": "لقطة الشاشة التالية",
"screenshot": "لقطة شاشة {{number}}",
"open_screenshot": "افتح لقطة الشاشة {{number}}"
"screenshot": "لقطة الشاشة {{number}}",
"open_screenshot": "فتح لقطة الشاشة {{number}}",
"download_settings": "إعدادات التنزيل",
"downloader": "أداة التنزيل",
"select_executable": "تحديد",
"no_executable_selected": "لم يتم تحديد ملف تشغيل",
"open_folder": "فتح المجلد",
"open_download_location": "عرض الملفات المحملة",
"create_shortcut": "إنشاء اختصار على سطح المكتب",
"clear": "مسح",
"remove_files": "إزالة الملفات",
"remove_from_library_title": "هل أنت متأكد؟",
"remove_from_library_description": "سيؤدي هذا إلى إزالة {{game}} من مكتبتك",
"options": "خيارات",
"executable_section_title": "ملف التشغيل",
"executable_section_description": "مسار الملف الذي سيتم تشغيله عند النقر على \"تشغيل\"",
"downloads_secion_title": "التنزيلات",
"downloads_section_description": "تحقق من التحديثات أو الإصدارات الأخرى لهذه اللعبة",
"danger_zone_section_title": "منطقة الخطر",
"danger_zone_section_description": "إزالة هذه اللعبة من مكتبتك أو الملفات التي تم تنزيلها بواسطة Hydra",
"download_in_progress": "تنزيل قيد التقدم",
"download_paused": "التنزيل معلق",
"last_downloaded_option": "خيار التنزيل الأخير",
"create_shortcut_success": "تم إنشاء الاختصار بنجاح",
"create_shortcut_error": "خطأ في إنشاء الاختصار",
"nsfw_content_title": "هذه اللعبة تحتوي على محتوى غير لائق",
"nsfw_content_description": "{{title}} يحتوي على محتوى قد لا يناسب جميع الأعمار. هل تريد المتابعة؟",
"allow_nsfw_content": "متابعة",
"refuse_nsfw_content": "رجوع",
"stats": "الإحصائيات",
"download_count": "مرات التنزيل",
"player_count": "اللاعبون النشطون",
"download_error": "خيار التنزيل هذا غير متاح",
"download": "تنزيل",
"executable_path_in_use": "مسار التشغيل مستخدم بالفعل بواسطة \"{{game}}\"",
"warning": "تحذير:",
"hydra_needs_to_remain_open": "لهذا التنزيل، يجب أن يبقى Hydra مفتوحًا حتى اكتماله. إذا أغلق Hydra قبل الاكتمال، ستفقد تقدمك.",
"achievements": "الإنجازات",
"achievements_count": "الإنجازات {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "حفظ سحابي",
"cloud_save_description": "احفظ تقدمك على السحابة واستمر في اللعب من أي جهاز",
"backups": "النسخ الاحتياطية",
"install_backup": "تثبيت",
"delete_backup": "حذف",
"create_backup": "نسخة احتياطية جديدة",
"last_backup_date": "آخر نسخة احتياطية في {{date}}",
"no_backup_preview": "لم يتم العثور على حفظات لهذا العنوان",
"restoring_backup": "جارٍ استعادة النسخة الاحتياطية ({{progress}} اكتمال)...",
"uploading_backup": "جارٍ رفع النسخة الاحتياطية...",
"no_backups": "لم تقم بإنشاء أي نسخ احتياطية لهذه اللعبة بعد",
"backup_uploaded": "تم رفع النسخة الاحتياطية",
"backup_deleted": "تم حذف النسخة الاحتياطية",
"backup_restored": "تم استعادة النسخة الاحتياطية",
"see_all_achievements": "عرض جميع الإنجازات",
"sign_in_to_see_achievements": "سجل الدخول لعرض الإنجازات",
"mapping_method_automatic": "تلقائي",
"mapping_method_manual": "يدوي",
"mapping_method_label": "طريقة التعيين",
"files_automatically_mapped": "تم تعيين الملفات تلقائيًا",
"no_backups_created": "لم يتم إنشاء نسخ احتياطية لهذه اللعبة",
"manage_files": "إدارة الملفات",
"loading_save_preview": "جارٍ البحث عن حفظات الألعاب...",
"wine_prefix": "بادئة Wine",
"wine_prefix_description": "بادئة Wine المستخدمة لتشغيل هذه اللعبة",
"launch_options": "خيارات التشغيل",
"launch_options_description": "يمكن للمستخدمين المتقدمين إدخال تعديلات على خيارات التشغيل (ميزة تجريبية)",
"launch_options_placeholder": "لم يتم تحديد أي معاملات",
"no_download_option_info": "لا توجد معلومات متاحة",
"backup_deletion_failed": "فشل حذف النسخة الاحتياطية",
"max_number_of_artifacts_reached": "تم الوصول إلى الحد الأقصى لعدد النسخ الاحتياطية لهذه اللعبة",
"achievements_not_sync": "تعرف على كيفية مزامنة إنجازاتك",
"manage_files_description": "إدارة الملفات التي سيتم نسخها احتياطيًا واستعادتها",
"select_folder": "حدد المجلد",
"backup_from": "نسخة احتياطية من {{date}}",
"custom_backup_location_set": "تم تعيين موقع نسخ احتياطي مخصص",
"no_directory_selected": "لم يتم تحديد مجلد",
"no_write_permission": "لا يمكن التنزيل إلى هذا المجلد. انقر هنا لمعرفة المزيد.",
"reset_achievements": "إعادة تعيين الإنجازات",
"reset_achievements_description": "سيؤدي هذا إلى إعادة تعيين جميع إنجازات {{game}}",
"reset_achievements_title": "هل أنت متأكد؟",
"reset_achievements_success": "تم إعادة تعيين الإنجازات بنجاح",
"reset_achievements_error": "فشل إعادة تعيين الإنجازات"
},
"activation": {
"title": "تفعيل هايدرا",
"title": "تفعيل Hydra",
"installation_id": "معرف التثبيت:",
"enter_activation_code": "أدخل رمز التفعيل الخاص بك",
"message": "إذا كنت لا تعرف أين تسأل عن هذا ، فلا يجب أن يكون لديك هذا.",
"message": "إذا كنت لا تعرف أين تطلب هذا، فلا يجب أن يكون لديك هذا.",
"activate": "تفعيل",
"loading": "جار التحميل…"
"loading": "جارٍ التحميل..."
},
"downloads": {
"resume": "استئناف",
"pause": "إيقاف مؤقت",
"eta": "الوقت المتبقي {{eta}}",
"paused": "متوقفة مؤقتًا",
"verifying": "جار التحقق…",
"completed": "اكتمل",
"eta": "الانتهاء {{eta}}",
"paused": "معلّق",
"verifying": "جارٍ التحقق...",
"completed": "مكتمل",
"removed": "غير محمل",
"cancel": "إلغاء",
"filter": "تصفية الألعاب التي تم تنزيلها",
"filter": "تصفية الألعاب المحملة",
"remove": "إزالة",
"downloading_metadata": "جار تنزيل البيانات الوصفية…",
"deleting": "جار حذف المثبت…",
"downloading_metadata": "جارٍ تنزيل البيانات الوصفية...",
"deleting": "جارٍ حذف المثبت...",
"delete": "إزالة المثبت",
"delete_modal_title": "هل أنت متأكد؟",
"delete_modal_description": "سيؤدي هذا إلى إزالة جميع ملفات التثبيت من جهاز الكمبيوتر الخاص بك",
"install": "تثبيت"
"delete_modal_description": "سيؤدي هذا إلى إزالة جميع ملفات التثبيت من جهازك",
"install": "تثبيت",
"download_in_progress": "قيد التقدم",
"queued_downloads": "التنزيلات في قائمة الانتظار",
"downloads_completed": "مكتمل",
"queued": "في قائمة الانتظار",
"no_downloads_title": "فارغ جدًا",
"no_downloads_description": "لم تقم بتنزيل أي شيء باستخدام Hydra بعد، ولكن لم يفت الأوان للبدء.",
"checking_files": "جارٍ فحص الملفات...",
"seeding": "التوزيع",
"stop_seeding": "إيقاف التوزيع",
"resume_seeding": "استئناف التوزيع",
"options": "إدارة"
},
"settings": {
"downloads_path": "مسار التنزيلات",
"change": "تحديث",
"notifications": "الإشعارات",
"enable_download_notifications": "عند اكتمال التنزيل",
"enable_repack_list_notifications": "عند إضافة حزمة جديدة",
"real_debrid_api_token_label": "رمز واجهة برمجة التطبيقات (API) لـReal-Debrid ",
"quit_app_instead_hiding": "إنهاء هايدرا بدلاً من التصغير الى شريط الحالة",
"launch_with_system": "تشغيل هايدرا عند بدء تشغيل النظام",
"enable_repack_list_notifications": "عند إضافة حزمة معاد تعبئتها جديدة",
"real_debrid_api_token_label": "رمز واجهة برمجة تطبيقات Real-Debrid",
"quit_app_instead_hiding": "لا تخفي Hydra عند الإغلاق",
"launch_with_system": "تشغيل Hydra مع بدء النظام",
"general": "عام",
"behavior": "السلوك",
"enable_real_debrid": "تفعيل Real-Debrid ",
"real_debrid_api_token_hint": "يمكنك الحصول على مفتاح API الخاص بك هنا",
"save_changes": "حفظ التغييرات"
"download_sources": "مصادر التنزيل",
"language": "اللغة",
"api_token": "رمز API",
"enable_real_debrid": "تفعيل Real-Debrid",
"real_debrid_description": "Real-Debrid هو أداة تنزيل غير مقيدة تتيح لك تنزيل الملفات بسرعة، مقيدة فقط بسرعة الإنترنت لديك.",
"debrid_invalid_token": "رمز API غير صالح",
"debrid_api_token_hint": "يمكنك الحصول على رمز API الخاص بك <0>هنا</0>",
"real_debrid_free_account_error": "الحساب \"{{username}}\" هو حساب مجاني. يرجى الاشتراك في Real-Debrid",
"debrid_linked_message": "تم ربط الحساب \"{{username}}\"",
"save_changes": "حفظ التغييرات",
"changes_saved": "تم حفظ التغييرات بنجاح",
"download_sources_description": "سيقوم Hydra بجلب روابط التنزيل من هذه المصادر. يجب أن يكون عنوان URL المصدر رابطًا مباشرًا لملف .json يحتوي على روابط التنزيل.",
"validate_download_source": "تحقق",
"remove_download_source": "إزالة",
"add_download_source": "إضافة مصدر",
"download_count_zero": "لا توجد خيارات تنزيل",
"download_count_one": "{{countFormatted}} خيار تنزيل",
"download_count_other": "{{countFormatted}} خيارات تنزيل",
"download_source_url": "عنوان URL لمصدر التنزيل",
"add_download_source_description": "أدخل عنوان URL لملف .json",
"download_source_up_to_date": "محدث",
"download_source_errored": "خطأ",
"sync_download_sources": "مزامنة المصادر",
"removed_download_source": "تمت إزالة مصدر التنزيل",
"added_download_source": "تمت إضافة مصدر التنزيل",
"download_sources_synced": "تمت مزامنة جميع مصادر التنزيل",
"insert_valid_json_url": "أدخل عنوان JSON صالح",
"found_download_option_zero": "لم يتم العثور على خيارات تنزيل",
"found_download_option_one": "تم العثور على {{countFormatted}} خيار تنزيل",
"found_download_option_other": "تم العثور على {{countFormatted}} خيارات تنزيل",
"import": "استيراد",
"public": "عام",
"private": "خاص",
"friends_only": "الأصدقاء فقط",
"privacy": "الخصوصية",
"profile_visibility": "رؤية الملف الشخصي",
"profile_visibility_description": "اختر من يمكنه رؤية ملفك الشخصي ومكتبتك",
"required_field": "هذا الحقل مطلوب",
"source_already_exists": "تمت إضافة هذا المصدر مسبقًا",
"must_be_valid_url": "يجب أن يكون المصدر عنوان URL صالحًا",
"blocked_users": "المستخدمون المحظورون",
"user_unblocked": "تم إلغاء حظر المستخدم",
"enable_achievement_notifications": "عند فتح إنجاز",
"launch_minimized": "تشغيل Hydra مصغرًا",
"disable_nsfw_alert": "تعطيل تنبيه المحتوى غير اللائق",
"seed_after_download_complete": "التوزيع بعد اكتمال التنزيل",
"show_hidden_achievement_description": "عرض وصف الإنجازات المخفية قبل فتحها",
"account": "الحساب",
"no_users_blocked": "لا يوجد مستخدمون محظورون",
"subscription_active_until": "اشتراك Hydra Cloud نشط حتى {{date}}",
"manage_subscription": "إدارة الاشتراك",
"update_email": "تحديث البريد الإلكتروني",
"update_password": "تحديث كلمة المرور",
"current_email": "البريد الإلكتروني الحالي:",
"no_email_account": "لم تقم بتعيين بريد إلكتروني بعد",
"account_data_updated_successfully": "تم تحديث بيانات الحساب بنجاح",
"renew_subscription": "تجديد اشتراك Hydra Cloud",
"subscription_expired_at": "انتهى اشتراكك في {{date}}",
"no_subscription": "استمتع بـ Hydra بأفضل طريقة ممكنة",
"become_subscriber": "كن مشتركًا في Hydra Cloud",
"subscription_renew_cancelled": "تم تعطيل التجديد التلقائي",
"subscription_renews_on": "سيتم تجديد اشتراكك في {{date}}",
"bill_sent_until": "سيتم إرسال فاتورتك التالية حتى هذا اليوم"
},
"notifications": {
"download_complete": "تم التحميل",
"game_ready_to_install": "{{title}} جاهزة للتثبيت",
"repack_list_updated": "قائمة التجميعات المحدثة",
"repack_count_one": "{{count}} حزمة مضافة",
"repack_count_other": "{{count}} حزم مُضافة"
"download_complete": "اكتمل التنزيل",
"game_ready_to_install": "{{title}} جاهز للتثبيت",
"repack_list_updated": "تم تحديث قائمة الحزم المعاد تعبئتها",
"repack_count_one": "تمت إضافة {{count}} حزمة معاد تعبئتها",
"repack_count_other": "تمت إضافة {{count}} حزم معاد تعبئتها",
"new_update_available": "الإصدار {{version}} متوفر",
"restart_to_install_update": "أعد تشغيل Hydra لتثبيت التحديث",
"notification_achievement_unlocked_title": "تم فتح إنجاز لـ {{game}}",
"notification_achievement_unlocked_body": "{{achievement}} و {{count}} آخرين تم فتحهم"
},
"system_tray": {
"open": "فتح هايدرا",
"open": "فتح Hydra",
"quit": "خروج"
},
"game_card": {
@ -138,10 +318,122 @@
},
"binary_not_found_modal": {
"title": "البرامج غير مثبتة",
"description": "لم يتم العثور على ملفات Wine أو Lutris التنفيذية على نظامك",
"instructions": "تحقق من الطريقة الصحيحة لتثبيت أي منها على توزيعة Linux الخاصة بك حتى تعمل اللعبة بشكل طبيعي"
"description": "لم يتم العثور على ملفات تشغيل Wine أو Lutris على نظامك",
"instructions": "تحقق من الطريقة الصحيحة لتثبيت أي منها على توزيعة لينكس الخاصة بك حتى تعمل اللعبة بشكل طبيعي"
},
"modal": {
"close": "زر إغلاق"
"close": "زر الإغلاق"
},
"forms": {
"toggle_password_visibility": "تبديل رؤية كلمة المرور"
},
"user_profile": {
"amount_hours": "{{amount}} ساعات",
"amount_minutes": "{{amount}} دقائق",
"last_time_played": "آخر تشغيل {{period}}",
"activity": "النشاط الأخير",
"library": "المكتبة",
"total_play_time": "إجمالي وقت اللعب",
"no_recent_activity_title": "همم... لا شيء هنا",
"no_recent_activity_description": "لم تلعب أي ألعاب مؤخرًا. حان الوقت لتغيير ذلك!",
"display_name": "اسم العرض",
"saving": "جارٍ الحفظ",
"save": "حفظ",
"edit_profile": "تعديل الملف الشخصي",
"saved_successfully": "تم الحفظ بنجاح",
"try_again": "يرجى المحاولة مرة أخرى",
"sign_out_modal_title": "هل أنت متأكد؟",
"cancel": "إلغاء",
"successfully_signed_out": "تم تسجيل الخروج بنجاح",
"sign_out": "تسجيل الخروج",
"playing_for": "يلعب لمدة {{amount}}",
"sign_out_modal_text": "مكتبتك مرتبطة بحسابك الحالي. عند تسجيل الخروج، لن تكون مكتبتك مرئية بعد الآن، ولن يتم حفظ أي تقدم. هل تتابع تسجيل الخروج؟",
"add_friends": "إضافة أصدقاء",
"add": "إضافة",
"friend_code": "رمز الصديق",
"see_profile": "عرض الملف الشخصي",
"sending": "جارٍ الإرسال",
"friend_request_sent": "تم إرسال طلب الصداقة",
"friends": "الأصدقاء",
"friends_list": "قائمة الأصدقاء",
"user_not_found": "المستخدم غير موجود",
"block_user": "حظر المستخدم",
"add_friend": "إضافة صديق",
"request_sent": "تم إرسال الطلب",
"request_received": "تم استلام الطلب",
"accept_request": "قبول الطلب",
"ignore_request": "تجاهل الطلب",
"cancel_request": "إلغاء الطلب",
"undo_friendship": "إلغاء الصداقة",
"request_accepted": "تم قبول الطلب",
"user_blocked_successfully": "تم حظر المستخدم بنجاح",
"user_block_modal_text": "سيؤدي هذا إلى حظر {{displayName}}",
"blocked_users": "المستخدمون المحظورون",
"unblock": "إلغاء الحظر",
"no_friends_added": "ليس لديك أصدقاء مضافون",
"pending": "قيد الانتظار",
"no_pending_invites": "ليس لديك دعوات معلقة",
"no_blocked_users": "ليس لديك مستخدمون محظورون",
"friend_code_copied": "تم نسخ رمز الصديق",
"undo_friendship_modal_text": "سيؤدي هذا إلى إلغاء صداقتك مع {{displayName}}",
"privacy_hint": "لضبط من يمكنه رؤية هذا، انتقل إلى <0>الإعدادات</0>",
"locked_profile": "هذا الملف الشخصي خاص",
"image_process_failure": "فشل معالجة الصورة",
"required_field": "هذا الحقل مطلوب",
"displayname_min_length": "يجب أن يكون اسم العرض على الأقل 3 أحرف",
"displayname_max_length": "يجب ألا يتجاوز اسم العرض 50 حرفًا",
"report_profile": "الإبلاغ عن هذا الملف الشخصي",
"report_reason": "لماذا تقوم بالإبلاغ عن هذا الملف الشخصي؟",
"report_description": "معلومات إضافية",
"report_description_placeholder": "معلومات إضافية",
"report": "الإبلاغ",
"report_reason_hate": "خطاب كراهية",
"report_reason_sexual_content": "محتوى جنسي",
"report_reason_violence": "عنف",
"report_reason_spam": "بريد عشوائي",
"report_reason_other": "أخرى",
"profile_reported": "تم الإبلاغ عن الملف الشخصي",
"your_friend_code": "رمز صديقك:",
"upload_banner": "تحميل بانر",
"uploading_banner": "جارٍ تحميل البانر...",
"background_image_updated": "تم تحديث صورة الخلفية",
"stats": "الإحصائيات",
"achievements": "إنجازات",
"games": "الألعاب",
"top_percentile": "ال{{percentile}}% الأعلى",
"ranking_updated_weekly": "يتم تحديث التصنيف أسبوعيًا",
"playing": "يلعب {{game}}",
"achievements_unlocked": "الإنجازات المفتوحة",
"earned_points": "النقاط المكتسبة",
"show_achievements_on_profile": "عرض إنجازاتك على ملفك الشخصي",
"show_points_on_profile": "عرض نقاطك المكتسبة على ملفك الشخصي"
},
"achievement": {
"achievement_unlocked": "تم فتح الإنجاز",
"user_achievements": "إنجازات {{displayName}}",
"your_achievements": "إنجازاتك",
"unlocked_at": "تم الفتح في: {{date}}",
"subscription_needed": "يحتاج إلى اشتراك Hydra Cloud لرؤية هذا المحتوى",
"new_achievements_unlocked": "تم فتح {{achievementCount}} إنجازات جديدة من {{gameCount}} ألعاب",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} إنجازات",
"achievements_unlocked_for_game": "تم فتح {{achievementCount}} إنجازات جديدة لـ {{gameTitle}}",
"hidden_achievement_tooltip": "هذا إنجاز مخفي",
"achievement_earn_points": "اكسب {{points}} نقطة مع هذا الإنجاز",
"earned_points": "النقاط المكتسبة:",
"available_points": "النقاط المتاحة:",
"how_to_earn_achievements_points": "كيفية كسب نقاط الإنجازات؟"
},
"hydra_cloud": {
"subscription_tour_title": "اشتراك Hydra Cloud",
"subscribe_now": "اشترك الآن",
"cloud_saving": "حفظ سحابي",
"cloud_achievements": "احفظ إنجازاتك على السحابة",
"animated_profile_picture": "صورة ملف شخصي متحركة",
"premium_support": "دعم ممتاز",
"show_and_compare_achievements": "اعرض وقارن إنجازاتك مع المستخدمين الآخرين",
"animated_profile_banner": "بانر ملف شخصي متحرك",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "لقد اكتشفت ميزة Hydra Cloud!",
"learn_more": "معرفة المزيد"
}
}

View File

@ -2,7 +2,6 @@
"language_name": "беларуская мова",
"home": {
"featured": "Рэкамэндаванае",
"trending": "Актуальнае",
"surprise_me": "Здзіві мяне",
"no_results": "Няма вынікаў"
},

View File

@ -0,0 +1,415 @@
{
"language_name": "Български",
"app": {
"successfully_signed_in": "Успешно вписване"
},
"home": {
"featured": "Препоръчани",
"surprise_me": "Изненадай ме",
"no_results": "Не са намерени резултати",
"start_typing": "Търсене...",
"hot": "Актуално сега",
"weekly": "📅 Най-доброто от седмицата",
"achievements": "🏆 Игри, които да победите"
},
"sidebar": {
"catalogue": "Каталог",
"downloads": "Изтегляния",
"settings": "Настройки",
"my_library": "Моята библиотека",
"downloading_metadata": "{{title}} (Сваляне на метаданни…)",
"paused": "{{title}} (Пауза)",
"downloading": "{{title}} ({{percentage}} - Изтегляне…)",
"filter": "Търсене по име",
"home": "Начало",
"queued": "{{title}} (Опашка)",
"game_has_no_executable": "Играта няма избран изпълним файл",
"sign_in": "Вписване",
"friends": "Приятели",
"need_help": "Имате нужда от помощ??"
},
"header": {
"search": "Търсене",
"home": "Начало",
"catalogue": "Каталог",
"downloads": "Изтегляния",
"search_results": "Резултати от търсене",
"settings": "Настройки",
"version_available_install": "Версия {{version}} е налична. Кликни тук, за да рестартирате и инсталирате.",
"version_available_download": "Версия {{version}} е налична. Кликни тук за изтегляне."
},
"bottom_panel": {
"no_downloads_in_progress": "Няма изтегляния в ход",
"downloading_metadata": "Сваляне на {{title}} метадата…",
"downloading": "Изтегляне на {{title}}… ({{percentage}} готово) - Остават {{eta}} - {{speed}}",
"calculating_eta": "Изтегляне на {{title}}… ({{percentage}} готово) - Изчисляване на оставащо време…",
"checking_files": "Проверка на {{title}} файловете… ({{percentage}} готово)"
},
"catalogue": {
"search": "Филтър…",
"developers": "Разработчици",
"genres": "Жанрове",
"tags": "Тагове",
"publishers": "Издатели",
"download_sources": "Източници за изтегляне",
"result_count": "{{resultCount}} резултати",
"filter_count": "{{filterCount}} налични",
"clear_filters": "Изчисти {{filterCount}} избрани"
},
"game_details": {
"launch_options": "Опции за стартиране",
"launch_options_description": "Напредналите потребители могат да въведат модификации на своите опции за стартиране (экспериментальный)",
"launch_options_placeholder": "Няма зададен параметър",
"open_download_options": "Варианти за изтегляне",
"download_options_zero": "Няма варианти за изтегляне",
"download_options_one": "{{count}} варианти за изтегляне",
"download_options_other": "{{count}} варианти за изтегляне",
"updated_at": "Обновено на {{updated_at}}",
"install": "Инсталирай",
"resume": "Продължи",
"pause": "Пауза",
"cancel": "Отказ",
"remove": "Премахни",
"space_left_on_disk": "{{space}} място на диска",
"eta": "Заклчение {{eta}}",
"calculating_eta": "Калкулиране на оставащо време…",
"downloading_metadata": "Изтегляне на метадата…",
"filter": "Филтрирай repacks",
"requirements": "Системни изисквания",
"minimum": "Минимални",
"recommended": "Препоръчителни",
"paused": "Паузирано",
"release_date": "Издадено на {{date}}",
"publisher": "Публикувано от {{publisher}}",
"hours": "часове",
"minutes": "минути",
"amount_hours": "{{amount}} часа",
"amount_minutes": "{{amount}} минути",
"accuracy": "{{accuracy}}% точност",
"add_to_library": "Добави в библиотеката",
"remove_from_library": "Премахни от библиотеката",
"no_downloads": "Няма налични изтегляния",
"play_time": "Игрално време {{amount}}",
"last_time_played": "Последно пускане {{period}}",
"not_played_yet": "Не сте играли {{title}} все още",
"next_suggestion": "Следващо предложение",
"play": "Пускане",
"deleting": "Изтриване на инсталация…",
"close": "Затвори",
"playing_now": "Играй сега",
"change": "Промяна",
"repacks_modal_description": "Избери repack който искаш да изтеглиш",
"select_folder_hint": "За да промените стандартната папка отидете в <0>Настройки</0>",
"download_now": "Изтегли сега",
"no_shop_details": "Не може да се извлекат данни за магазина.",
"download_options": "Опции за сваляне",
"download_path": "Път за сваляне",
"previous_screenshot": "Предишна снимка",
"next_screenshot": "Следваща снимка",
"screenshot": "Снимка {{number}}",
"open_screenshot": "Отвори снимки {{number}}",
"download_settings": "Настройки за сваляне",
"downloader": "Downloader",
"select_executable": "Избери",
"no_executable_selected": "Няма избран стартиращ файл",
"open_folder": "Отвори папка",
"open_download_location": "Виж свалените файлове",
"create_shortcut": "Пряк път на Десктопа",
"remove_files": "Премахни файловете",
"remove_from_library_title": "Сигурен ли си?",
"remove_from_library_description": "Това ще премахне {{game}} от Библиотеката",
"options": "Опции",
"executable_section_title": "Стартиращ файл",
"executable_section_description": "Пътят на файла, който ще се изпълни, когато се щракне върху \"Пускане\"",
"downloads_secion_title": "Свалени",
"downloads_section_description": "Вижте актуализации или други версии на тази игра",
"danger_zone_section_title": "Опасна зона",
"danger_zone_section_description": "Премахнете тази игра от библиотеката си или от файловете, изтеглени от Hydra",
"download_in_progress": "Изтегляне в ход",
"download_paused": "Изтеглянето е паузирано",
"last_downloaded_option": "Опция от последно изтегляне",
"create_shortcut_success": "Прекият път е създаден успешно",
"create_shortcut_error": "Грешка при създаването на пряк път",
"nsfw_content_title": "Тази игра съдържа неподходящо съдържание",
"nsfw_content_description": "{{title}} съдържа съдържание, което може да не е подходящо за всички възрасти. Сигурни ли сте, че искате да продължите?",
"allow_nsfw_content": "Продължи",
"refuse_nsfw_content": "Назад",
"stats": "Статистики",
"download_count": "Сваляния",
"player_count": "Активни играчи",
"download_error": "Тази опция за изтегляне не е налична",
"download": "Свали",
"executable_path_in_use": "Изпълнимият файл вече се използва от \"{{game}}\"",
"warning": "Внимание:",
"hydra_needs_to_remain_open": "за това изтегляне, Hydra трябва да остане отворена, когато е завършено. Ако Hydra се затвори преди завършването, ще загубите напредъка си..",
"achievements": "Постижения",
"achievements_count": "Постижения {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Запазване в облака",
"cloud_save_description": "Запазете напредъка си в облака и продължете да играете на всяко устройство",
"backups": "Резервни копия",
"install_backup": "Инсталирай",
"delete_backup": "Изтрий",
"create_backup": "Ново копие",
"last_backup_date": "Последно копие от {{date}}",
"no_backup_preview": "Не бяха намерени запазени игри за това заглавие",
"restoring_backup": "Възстановяване на резервно копие ({{progress}} готово)…",
"uploading_backup": "Качване на резервно копие…",
"no_backups": "Все още не сте създали резервни копия за тази игра",
"backup_uploaded": "Качено резервно копие",
"backup_deleted": "Изтрито резервно копие",
"backup_restored": "Възстановен бекъп",
"see_all_achievements": "Вижте всички постижения",
"sign_in_to_see_achievements": "Влезте, за да видите постиженията",
"mapping_method_automatic": "Автоматично",
"mapping_method_manual": "Ръчно",
"mapping_method_label": "Метод на картографиране",
"files_automatically_mapped": "Автоматично картографиране на файлове",
"no_backups_created": "Не са създадени резервни копия за тази игра",
"manage_files": "Управление на файлове",
"loading_save_preview": "Търсене на запазени игри…",
"wine_prefix": "Wine Префикс",
"wine_prefix_description": "Wine prefix използван за тази игра",
"no_download_option_info": "Няма налични данни",
"backup_deletion_failed": "Неуспешно изтриване на резервно копие",
"max_number_of_artifacts_reached": "Достигнат максимален брой резервни копия за тази игра",
"achievements_not_sync": "Постиженията не са синхронизирани",
"manage_files_description": "Управлявайте кои файлове ще бъдат архивирани и възстановени",
"select_folder": "Избери папка",
"backup_from": "Резервно копие от {{date}}",
"custom_backup_location_set": "Задаване на персонализирано местоположение за архивиране"
},
"activation": {
"title": "Активирай Hydra",
"installation_id": "Идентификатор на инсталацията:",
"enter_activation_code": "Въведете кода за активиране",
"message": "Ако не знаете къде да попитате за това, значи не трябва да го имате..",
"activate": "Активирай",
"loading": "Зареждане…"
},
"downloads": {
"seeding": "Сийдване",
"stop_seeding": "Спри сийдването",
"resume_seeding": "Продължи сийдването",
"options": "Управление",
"resume": "Продължи",
"pause": "Пауза",
"eta": "Conclusion {{eta}}",
"paused": "Паузирано",
"verifying": "Проверка…",
"completed": "Готово",
"removed": "Не е изтеглен",
"cancel": "Отказ",
"filter": "Филтриране на изтеглени игри",
"remove": "Премахни",
"downloading_metadata": "Изтегляне на метаданни…",
"deleting": "Изтриване на инсталатора…",
"delete": "Премахване на инсталатора",
"delete_modal_title": "Сигурени ли сте?",
"delete_modal_description": "Това ще премахне всички инсталационни файлове от компютъра ви.",
"install": "Инсталирай",
"download_in_progress": "В процес на изпълнение",
"queued_downloads": "Изтеглени файлове в опашката",
"downloads_completed": "Приключени",
"queued": "В опашка",
"no_downloads_title": "Толкова е празно",
"no_downloads_description": "Все още не сте изтеглили нищо с Hydra, но никога не е късно да започнете...",
"checking_files": "Проверка на файлове…"
},
"settings": {
"seed_after_download_complete": "Сийд след завършване на изтеглянето",
"show_hidden_achievement_description": "Показвай описанието на скритите постижения преди отключването им",
"downloads_path": "Инсталационен път",
"change": "Актуализиране",
"notifications": "Известия",
"enable_download_notifications": "Когато изтеглянето е завършено",
"enable_repack_list_notifications": "Когато се добави нов repack",
"real_debrid_api_token_label": "Real-Debrid API токен",
"quit_app_instead_hiding": "Не скривайте Hydra при затваряне",
"launch_with_system": "Стартиране на Hydra при стартиране на системата",
"general": "Общи",
"behavior": "Поведение",
"download_sources": "Източници за изтегляне",
"language": "Език",
"api_token": "API Токен",
"enable_real_debrid": "Включи Real-Debrid",
"real_debrid_description": "Real-Debrid е неограничен даунлоудър, който ви позволява бързо да изтегляте файлове, ограничени само от скоростта на интернет..",
"debrid_invalid_token": "Невалиден API токен",
"debrid_api_token_hint": "Вземете своя API токен <0>тук</0>",
"real_debrid_free_account_error": "Акаунтът \"{{username}}\" е безплатен акаунт. Моля абонирай се за Real-Debrid",
"debrid_linked_message": "Акаунтът \"{{username}}\" е свързан",
"save_changes": "Запази промените",
"changes_saved": "Промените са успешно запазни",
"download_sources_description": "Hydra ще извлича връзките за изтегляне от тези източници. URL адресът на източника трябва да е директна връзка към .json файл, съдържащ връзките за изтегляне.",
"validate_download_source": "Валидиране",
"remove_download_source": "Премахни",
"add_download_source": "Добави източник",
"download_count_zero": "Няма опции за сваляне",
"download_count_one": "{{countFormatted}} опции за сваляне",
"download_count_other": "{{countFormatted}} опции за сваляне",
"download_source_url": "URL адрес на източника за изтегляне",
"add_download_source_description": "Вмъкнете URL адреса на файла .json",
"download_source_up_to_date": "Актуален",
"download_source_errored": "Сгрешен",
"sync_download_sources": "Синхронизирай източниците",
"removed_download_source": "Източника за сваляне е премахнат",
"added_download_source": "Добавен източник за сваляне",
"download_sources_synced": "Всички източници за сваляне са синхронизирани",
"insert_valid_json_url": "Добавете ваиден JSON линк",
"found_download_option_zero": "Няма намерени опции за сваляне",
"found_download_option_one": "Намерени {{countFormatted}} опции за сваляне",
"found_download_option_other": "Намерени {{countFormatted}} опции за сваляне",
"import": "Внеси",
"public": "Публичен",
"private": "Личен",
"friends_only": "Само за приятели",
"privacy": "Поверителност",
"profile_visibility": "Видимост на профила",
"profile_visibility_description": "Изберете кой може да вижда вашия профил и библиотека",
"required_field": "Това поле е задължително",
"source_already_exists": "Този източник вече е добавен",
"must_be_valid_url": "Източникът трябва да е валиден URL адрес.",
"blocked_users": "Блокирани потребители",
"user_unblocked": "Потребителят е бил деблокиран",
"enable_achievement_notifications": "Когато е отключено постижение",
"launch_minimized": "Стартиране на Hydra минимизирано",
"disable_nsfw_alert": "Деактивиране на предупреждението NSFW"
},
"notifications": {
"download_complete": "Изтеглянето е завършено",
"game_ready_to_install": "{{title}} е готово за инсталиране",
"repack_list_updated": "Repack лист е обновен",
"repack_count_one": "{{count}} repack е добавен",
"repack_count_other": "{{count}} repacks добавени",
"new_update_available": "Версия {{version}} е налична",
"restart_to_install_update": "Рестартирайте Hydra, за да инсталирате актуализацията",
"notification_achievement_unlocked_title": "Отключено постижение за {{game}}",
"notification_achievement_unlocked_body": "{{achievement}} и други {{count}} са отклщчени"
},
"system_tray": {
"open": "Отвори Hydra",
"quit": "Изход"
},
"game_card": {
"no_downloads": "Няма налични изтегляния"
},
"binary_not_found_modal": {
"title": "Не инсталирани програми",
"description": "Wine или Lutris изпълними файлове не бяха открити на вашата система",
"instructions": "Проверете правилния начин за инсталиране на някоя от тях на вашата дистрибуция на Linux, за да може играта да работи нормално"
},
"modal": {
"close": "Бутон за затваряне"
},
"forms": {
"toggle_password_visibility": "Превключване на видимостта на паролата"
},
"user_profile": {
"stats": "Статистики",
"achievements": "Постижения",
"games": "Игри",
"top_percentile": "Топ {{percentile}}%",
"ranking_updated_weekly": "Класацията се актуализира седмично",
"playing": "Играе {{game}}",
"achievements_unlocked": "Отключени постижения",
"earned_points": "Спечелени точки",
"show_achievements_on_profile": "Показвай своите постижения в профила",
"show_points_on_profile": "Показвай спечелените точки в профила",
"amount_hours": "{{amount}} часове",
"amount_minutes": "{{amount}} минути",
"last_time_played": "Последно играно {{period}}",
"activity": "Скорошна активност",
"library": "Библиотека",
"total_play_time": "Общо време за игра",
"no_recent_activity_title": "Хмм… няма нищо тук",
"no_recent_activity_description": "Не сте играли игри напоследък. Време е да промените това.!",
"display_name": "Показване на името",
"saving": "Запазване",
"save": "Запис",
"edit_profile": "Редактиране на профила",
"saved_successfully": "Запазено успешно",
"try_again": "Моля, опитайте пак",
"sign_out_modal_title": "Сигурни ли сте?",
"cancel": "Отказ",
"successfully_signed_out": "Успешно се отписахте",
"sign_out": "Отписване",
"playing_for": "В игра от {{amount}}",
"sign_out_modal_text": "Вашата библиотека е свързана с текущата ви сметка. Когато се отпишете, библиотеката ви вече няма да е видима и напредъкът няма да бъде запазен. Продължете с отписването?",
"add_friends": "Добави приятели",
"add": "Добави",
"friend_code": "Приятелски код",
"see_profile": "Виж профила",
"sending": "Изпращане",
"friend_request_sent": "Изпратена покана за приятелство",
"friends": "Приятели",
"friends_list": "Списък с приятели",
"user_not_found": "Не е намерен потребител",
"block_user": "Блокирай потребител",
"add_friend": "Добави приятел",
"request_sent": "Изпратена покана",
"request_received": "Получена покана",
"accept_request": "Приеми поканата",
"ignore_request": "Игнирирай поканата",
"cancel_request": "Откажи поканата",
"undo_friendship": "Отмяна на приятелството",
"request_accepted": "Поканата е приета",
"user_blocked_successfully": "Потребителят е блокиран успешно",
"user_block_modal_text": "Това ще блокира {{displayName}}",
"blocked_users": "Блокирани потребители",
"unblock": "Отблокирай",
"no_friends_added": "Не сте добавили приятели",
"pending": "Чакащи",
"no_pending_invites": "Нямате чакащи покани",
"no_blocked_users": "Нямате блокирани потребители",
"friend_code_copied": "Приятелския код е копиран",
"undo_friendship_modal_text": "Това ще отмени приятелството ви с {{displayName}}",
"privacy_hint": "За да настроите кой може да вижда това, отидете в <0>Настройки</0>",
"locked_profile": "Този профил е личен",
"image_process_failure": "Грешка при обработката на изображението",
"required_field": "Това поле е задължително",
"displayname_min_length": "Името трябва да е дълго поне 3 символа",
"displayname_max_length": "Името трябва да е с дължина не повече от 50 символа.",
"report_profile": "Докладвай този профил",
"report_reason": "Защо докладвате този профил?",
"report_description": "Допълнителна информация",
"report_description_placeholder": "Допълнителна информация",
"report": "Докладвай",
"report_reason_hate": "Омразна реч",
"report_reason_sexual_content": "Сексуално съдържание",
"report_reason_violence": "Насилия",
"report_reason_spam": "Спам",
"report_reason_other": "Друго",
"profile_reported": "Профилът е докладван",
"your_friend_code": "Вашия приятелски код:",
"upload_banner": "Качи банер",
"uploading_banner": "Качване на банер…",
"background_image_updated": "Обновено фоново изображение"
},
"achievement": {
"hidden_achievement_tooltip": "Това е скрито постижение",
"achievement_earn_points": "Спечели {{points}} точки с това постижение",
"earned_points": "Спечелени точки:",
"available_points": "Налични точки:",
"how_to_earn_achievements_points": "Как да спечелиш точки за постижения?",
"achievement_unlocked": "Постижението е отключено",
"user_achievements": "Постиженията на {{displayName}} ",
"your_achievements": "Вашите Постижения",
"unlocked_at": "Отключено на: {{date}}",
"subscription_needed": "Необходим е абонамент за Hydra Cloud, за да видите това съдържание",
"new_achievements_unlocked": "Отключени {{achievementCount}} нови постижения от {{gameCount}} игра",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} постижения",
"achievements_unlocked_for_game": "Отключени {{achievementCount}} нови постижения за {{gameTitle}}"
},
"hydra_cloud": {
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "Открихте функция на Hydra Cloud!",
"learn_more": "Научете повече",
"subscription_tour_title": "Hydra Cloud Абонамент",
"subscribe_now": "Абонирай се сега",
"cloud_saving": "Запазване в облака",
"cloud_achievements": "Запазете постиженията си в облака",
"animated_profile_picture": "Анимирана профилна снимка",
"premium_support": "Премиум поддръжка",
"show_and_compare_achievements": "Показвайте и сравнявайте постиженията си с тези на други потребители",
"animated_profile_banner": "Анимиран профилен банер"
}
}

View File

@ -5,7 +5,6 @@
},
"home": {
"featured": "Destacats",
"trending": "Populars",
"surprise_me": "Sorprèn-me",
"no_results": "No s'ha trobat res"
},
@ -162,13 +161,13 @@
"behavior": "Comportament",
"download_sources": "Fonts de descàrrega",
"language": "Idioma",
"real_debrid_api_token": "Testimoni API",
"api_token": "Testimoni API",
"enable_real_debrid": "Activa el Real Debrid",
"real_debrid_description": "Real-Debrid és un programa de descàrrega sense restriccions que us permet descarregar fitxers a l'instant i al màxim de la vostra velocitat d'Internet.",
"real_debrid_invalid_token": "Invalida el testimoni de l'API",
"real_debrid_api_token_hint": "Pots obtenir la teva clau de l'API <0>aquí</0>.",
"debrid_invalid_token": "Invalida el testimoni de l'API",
"debrid_api_token_hint": "Pots obtenir la teva clau de l'API <0>aquí</0>.",
"real_debrid_free_account_error": "L'usuari \"{{username}}\" és un compte gratuït. Si us plau subscriu-te a Real-Debrid",
"real_debrid_linked_message": "Compte \"{{username}}\" vinculat",
"debrid_linked_message": "Compte \"{{username}}\" vinculat",
"save_changes": "Desa els canvis",
"changes_saved": "Els canvis s'han desat correctament",
"download_sources_description": "Hydra buscarà els enllaços de descàrrega d'aquestes fonts. L'URL d'origen ha de ser un enllaç directe a un fitxer .json que contingui els enllaços de descàrrega.",
@ -178,9 +177,6 @@
"download_count_zero": "No hi ha baixades a la llista",
"download_count_one": "{{countFormatted}} a la llista de baixades",
"download_count_other": "{{countFormatted}} baixades a la llista",
"download_options_zero": "No hi ha cap descàrrega disponible",
"download_options_one": "{{countFormatted}} descàrrega disponible",
"download_options_other": "{{countFormatted}} baixades disponibles",
"download_source_url": "Descarrega l'URL de la font",
"add_download_source_description": "Inseriu la URL que conté el fitxer .json",
"download_source_up_to_date": "Actualitzat",
@ -228,7 +224,7 @@
"last_time_played": "Última partida {{period}}",
"activity": "Activitat recent",
"library": "Biblioteca",
"total_play_time": "Temps total de joc:{{amount}}",
"total_play_time": "Temps total de joc",
"no_recent_activity_title": "Hmmm… encara no res",
"no_recent_activity_description": "No has jugat a cap joc recentment. És el moment de canviar-ho!",
"display_name": "Nom de visualització",

View File

@ -5,9 +5,12 @@
},
"home": {
"featured": "Doporučené",
"trending": "Trendy",
"surprise_me": "Překvap mě",
"no_results": "Výsledek nenalezen"
"no_results": "Výsledek nenalezen",
"start_typing": "Začni psát pro vyhledávání...",
"hot": "Teď populární",
"weekly": "📅 Nejlepší hry týdne",
"achievements": "🏆 Hry k překonání"
},
"sidebar": {
"catalogue": "Katalog",
@ -21,7 +24,9 @@
"home": "Domov",
"queued": "{{title}} (V řadě)",
"game_has_no_executable": "Hra nemá zvolen žádný spustitelný soubor",
"sign_in": "Přihlásit se"
"sign_in": "Přihlásit se",
"friends": "Přátelé",
"need_help": "Potřebujete pomoc?"
},
"header": {
"search": "Vyhledat hry",
@ -114,7 +119,54 @@
"download_paused": "Stahování pozastaveno",
"last_downloaded_option": "Poslední stažená možnost",
"create_shortcut_success": "Zástupce vytvořen úspěšně",
"create_shortcut_error": "Chyba při pokusu vytvořit zástupce"
"create_shortcut_error": "Chyba při pokusu vytvořit zástupce",
"nsfw_content_title": "Tahle hra obsahuje nevhodný obsah",
"nsfw_content_description": "{{title}} obsahuje obsah, který by nemusel být vhodný pro všechny věkové skupiny. Jste si jisti, že chcete pokračovat?",
"allow_nsfw_content": "Pokračovat",
"refuse_nsfw_content": "Jít zpět",
"stats": "Statistiky",
"download_count": "Stažení",
"player_count": "Aktivní hráči",
"download_error": "Tahle možnost stažení není dostupná",
"download": "Stáhnout",
"executable_path_in_use": "Spustitelný soubor již používá \"{{game}}\"",
"warning": "Varování",
"hydra_needs_to_remain_open": "Pro tohle stažení, musí Hydra zůstat otevřená až do konce stahování. Pokud Hydru zavřete dříve, postup stahování bude ztracen.",
"achievements": "Achievementy",
"achievements_count": "Achievementy {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Uložení v cloudu",
"cloud_save_description": "Uložte si svůj postup v cloud a pokračujte v hraní na jakémkoliv zářízení",
"backups": "Zálohy",
"install_backup": "Nainstalovat",
"delete_backup": "Smazat",
"create_backup": "Vytvořit zálohu",
"last_backup_date": "Poslední záloha vytvořena {{date}}",
"no_backup_preview": "Žádné zálohy nebyly nalezeny pro tuhle hru",
"restoring_backup": "Obnovuji zálohu ({{progress}} hotovo)...",
"uploading_backup": "Nahrávání zálohy...",
"no_backups": "Nemáte zatím vytvořeny žádné zálohy pro tuto hru",
"backup_uploaded": "Záloha nahrána",
"backup_deleted": "Záloha odstraněna",
"backup_restored": "Záloha obnovena",
"see_all_achievements": "Zobrazit všechny achievementy",
"sign_in_to_see_achievements": "Musíte se přihlásit pro zobrazení achievementů",
"mapping_method_automatic": "Automaticky",
"mapping_method_manual": "Manuálně",
"mapping_method_label": "Metoda mapování",
"files_automatically_mapped": "Soubory automaticky zmapovány",
"no_backups_created": "Žádné zálohy nebyly vytvořeny pro tuto hru",
"manage_files": "Spravovat soubory",
"loading_save_preview": "Hledání uložených her...",
"wine_prefix": "Wine Prefix",
"wine_prefix_description": "Wine Prefix použit pro spuštění této hry",
"no_download_option_info": "Žádné informace nejsou dostupny",
"backup_deletion_failed": "Nepovedlo se odstranit zálohu",
"max_number_of_artifacts_reached": "Dosáhli jste maximálního počtu záloh pro tuto hru",
"achievements_not_sync": "Vaše achievementy nejsou synchronizovány",
"manage_files_description": "Spravovat, které soubory budou zálohovány a obnoveny",
"select_folder": "Vybrat složku",
"backup_from": "Zálohy z {{date}}",
"custom_backup_location_set": "Vlastní umístění záloh nastaveno"
},
"activation": {
"title": "Aktivovat hydru",
@ -162,13 +214,13 @@
"behavior": "Chování",
"download_sources": "Zdroje stahování",
"language": "Jazyk",
"real_debrid_api_token": "API Token",
"api_token": "API Token",
"enable_real_debrid": "Povolit Real-Debrid",
"real_debrid_description": "Real-Debrid je neomezený správce stahování, který umožňuje stahovat soubory v nejvyšší rychlosti vašeho internetu.",
"real_debrid_invalid_token": "Neplatný API token",
"real_debrid_api_token_hint": "API token můžeš sehnat <0>zde</0>",
"debrid_invalid_token": "Neplatný API token",
"debrid_api_token_hint": "API token můžeš sehnat <0>zde</0>",
"real_debrid_free_account_error": "Účet \"{{username}}\" má základní úroveň. Prosím předplaťte si Real-Debrid",
"real_debrid_linked_message": "Účet \"{{username}}\" je propojen",
"debrid_linked_message": "Účet \"{{username}}\" je propojen",
"save_changes": "Uložit změny",
"changes_saved": "Změny úspěšně uloženy",
"download_sources_description": "Hydra bude odsud sbírat soubory. Zdrojový odkaz musí být .json soubor obsahující odkazy na soubory.",
@ -190,7 +242,21 @@
"found_download_option_zero": "Nenalezena žádná možnost stahování",
"found_download_option_one": "Nalezena {{countFormatted}} možnost stahování",
"found_download_option_other": "Nalezeny {{countFormatted}} možnosti stahování",
"import": "Importovat"
"import": "Importovat",
"public": "Veřejné",
"private": "Soukromé",
"friends_only": "Pouze přátelé",
"privacy": "Soukromí",
"profile_visibility": "Viditelnost profilu",
"profile_visibility_description": "Vyberte si, kdo může vidět váš profil a knihovnu",
"required_field": "Toto pole je povinné",
"source_already_exists": "Tento zdroj byl již přidán",
"must_be_valid_url": "Zdroj musí být platký odkaz URL",
"blocked_users": "Zablokovaní uživatelé",
"user_unblocked": "Uživatel byl odblokován",
"enable_achievement_notifications": "Když je odemknut achievement",
"launch_minimized": "Spustit v minimalizovaném režimu",
"disable_nsfw_alert": "Deaktivovat upozornění na nevhodný obsah"
},
"notifications": {
"download_complete": "Stahování dokončeno",
@ -199,7 +265,9 @@
"repack_count_one": "{{count}} repack přidán",
"repack_count_other": "{{count}} repacky přidány",
"new_update_available": "Version {{version}} je dostupná",
"restart_to_install_update": "Restartuj Hydru pro aktualizaci"
"restart_to_install_update": "Restartuj Hydru pro aktualizaci",
"notification_achievement_unlocked_title": "Achievement pro {{game}} byl odemknut",
"notification_achievement_unlocked_body": "{{achievement}} a dalších {{count}} byly odemknuty"
},
"system_tray": {
"open": "Otevřít Hydru",
@ -225,7 +293,7 @@
"last_time_played": "Naposledy hráno {{period}}",
"activity": "Nedávná aktivita",
"library": "Knihovna",
"total_play_time": "Celkový odehraný čas: {{amount}}",
"total_play_time": "Celkový odehraný čas",
"no_recent_activity_title": "Hmmm… nic tu není",
"no_recent_activity_description": "V poslední době si nehrál žádnout hru, můžeš to ale napravit!",
"display_name": "Zobrazované jméno",
@ -267,6 +335,47 @@
"no_pending_invites": "Nemáte žádné příchozí žádosti",
"no_blocked_users": "Nemáte nikoho zablokovaného",
"friend_code_copied": "Kód přítele zkopírován",
"undo_friendship_modal_text": "Tímto zrušíte své přátelství s {{displayName}}"
"undo_friendship_modal_text": "Tímto zrušíte své přátelství s {{displayName}}",
"privacy_hint": "Pro změnu toho, kdo tohle může vidět, jděte do <0>Nastavení</0>",
"locked_profile": "Tento profil je soukromý",
"image_process_failure": "Nastala chyba při zpracování obrázku",
"required_field": "Toto pole je povinné",
"displayname_min_length": "Uživatelské jméno musí být minimálně 3 znaky dlouhé",
"displayname_max_length": "Uživatelské jméno musí být maximálně 50 znaků dlouhé",
"report_profile": "Nahlásit profil",
"report_reason": "Proč nahlašujete tento profil?",
"report_description": "Přídavné informace",
"report_description_placeholder": "Přídavné informace",
"report": "Nahlásit",
"report_reason_hate": "Nenávistné projevy",
"report_reason_sexual_content": "Sexuální obsah",
"report_reason_violence": "Násilí",
"report_reason_spam": "Spam",
"report_reason_other": "Ostatní",
"profile_reported": "Profil nahlášen",
"your_friend_code": "Tvůj kód přítele:",
"upload_banner": "Nahrát banner profilu",
"uploading_banner": "Nahrávání banneru",
"background_image_updated": "Obrázek pozadí byl změněn"
},
"achievement": {
"achievement_unlocked": "Achievement odemčen",
"user_achievements": "Achievementy uživatele {{displayName}}",
"your_achievements": "Vaše achievementy",
"unlocked_at": "Odemčeno: {{date}}",
"subscription_needed": "Je vyžadováno předplatné Hydra Cloud pro zobrazení tohoto obsahu",
"new_achievements_unlocked": "Odemčeno {{achievementCount}} nových achievementů z {{gameCount}} her",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} achievementů",
"achievements_unlocked_for_game": "Odemčeno {{achievementCount}} nových achievementů pro {{gameTitle}}"
},
"hydra_cloud": {
"subscription_tour_title": "Předplatné Hydra Cloud",
"subscribe_now": "Připojit se",
"cloud_saving": "Ukládání v cloudu",
"cloud_achievements": "Ukládejte vaše achievementy do cloudu",
"animated_profile_picture": "Animované profilové obrázky",
"premium_support": "Prémiová podpora",
"show_and_compare_achievements": "Zobraz a porovnej achievementy s ostatními uživateli",
"animated_profile_banner": "Animovaný banner na profilu"
}
}

View File

@ -1,10 +1,15 @@
{
"language_name": "Dansk",
"app": {
"successfully_signed_in": "Loggede ind successfuldt"
},
"home": {
"featured": "Anbefalet",
"trending": "Trender",
"surprise_me": "Overrask mig",
"no_results": "Ingen resultater fundet"
"no_results": "Ingen resultater fundet",
"start_typing": "Begynd at skrive for at søge...",
"hot": "Populært lige nu",
"weekly": "📅 Mest populære spil denne uge"
},
"sidebar": {
"catalogue": "Katalog",
@ -12,27 +17,35 @@
"settings": "Indstillinger",
"my_library": "Mit bibliotek",
"downloading_metadata": "{{title}} (Downloader metadata…)",
"paused": "{{title}} (Paused)",
"downloading": "{{title}} ({{percentage}} - Downloading…)",
"filter": "Filtrer bibliotek",
"home": "Hjem"
"paused": "{{title}} (Sat på pause)",
"downloading": "{{title}} ({{percentage}} - Downloader…)",
"filter": "Filtrér bibliotek",
"home": "Hjem",
"queued": "{{title}} (I køen)",
"game_has_no_executable": "Spillet har ikke nogen eksekverbar fil valgt",
"sign_in": "Log ind",
"friends": "Venner"
},
"header": {
"search": "Søg spil",
"search": "Søg efter spil",
"home": "Hjem",
"catalogue": "Katalog",
"downloads": "Downloads",
"search_results": "Søge resultater",
"settings": "Indstillinger"
"settings": "Indstillinger",
"version_available_install": "Version {{version}} tilgængelig. Klik her for at genstarte og installere.",
"version_available_download": "Version {{version}} tilgængelig. Klik her for at downloade."
},
"bottom_panel": {
"no_downloads_in_progress": "Ingen downloads igang",
"downloading_metadata": "Downloader {{title}} metadata…",
"downloading": "Downloader {{title}}… ({{percentage}} færdig) - Konklusion {{eta}} - {{speed}}"
"downloading": "Downloader {{title}}… ({{percentage}} færdig) - Fuldt downloadet {{eta}} - {{speed}}",
"calculating_eta": "Downloader {{title}}… ({{percentage}} færdig) - Udregner resterende tid…",
"checking_files": "Checker {{title}} filer… ({{percentage}} færdig)"
},
"catalogue": {
"next_page": "Næste side",
"previous_page": "Tidligere side"
"previous_page": "Forrige side"
},
"game_details": {
"open_download_options": "Åben download muligheder",
@ -47,11 +60,13 @@
"remove": "Fjern",
"space_left_on_disk": "{{space}} tilbage på harddisken",
"eta": "Konklusion {{eta}}",
"calculating_eta": "Udregner resterende tid…",
"downloading_metadata": "Downloader metadata…",
"filter": "Filtrer repacks",
"filter": "Filtrér repacks",
"requirements": "System behov",
"minimum": "Mindste",
"recommended": "Anbefalet",
"paused": "Sat på pause",
"release_date": "Offentliggjort den {{date}}",
"publisher": "Udgivet af {{publisher}}",
"hours": "timer",
@ -70,10 +85,51 @@
"deleting": "Sletter installatør…",
"close": "Luk",
"playing_now": "Spiller nu",
"change": "Ændré",
"change": "Ændre",
"repacks_modal_description": "Vælg den repack du vil downloade",
"select_folder_hint": "For at ændre standard mappen, gå til <0>Instillingerne</0>",
"download_now": "Download nu"
"download_now": "Download nu",
"no_shop_details": "Kunne ikke modtage butiks detaljerne.",
"download_options": "Download muligheder",
"download_path": "Download sti",
"previous_screenshot": "Forrige skærmbillede",
"next_screenshot": "Næste skærmbillede",
"screenshot": "Skærmbillede {{number}}",
"open_screenshot": "Åben skærmbillede {{number}}",
"download_settings": "Download indstillinger",
"downloader": "Downloader",
"select_executable": "Vælg",
"no_executable_selected": "Ingen eksekverbar fil valgt",
"open_folder": "Åben mappe",
"open_download_location": "Se downloadede filer",
"create_shortcut": "Lav skrivebords genvej",
"remove_files": "Fjern filer",
"remove_from_library_title": "Er du sikker?",
"remove_from_library_description": "Dette vil fjerne {{game}} fra dit bibliotek",
"options": "Valgmuligheder",
"executable_section_title": "Eksekverbar fil",
"executable_section_description": "Sti til filen som skal bruges når \"Spil\" bliver klikket",
"downloads_secion_title": "Downloads",
"downloads_section_description": "Undersøg opdateringer eller andre versioner af dette spil",
"danger_zone_section_title": "Farezonen",
"danger_zone_section_description": "Fjern dette spil fra dit bibliotek eller filerne der er blevet downloadet af Hydra",
"download_in_progress": "Download undervejs",
"download_paused": "Download sat på pause",
"last_downloaded_option": "Sidste download mulighed",
"create_shortcut_success": "Genvej lavet successfuldt",
"create_shortcut_error": "Fejl under skabelsen af genvej",
"nsfw_content_title": "Dette spil indeholder upassende indhold",
"nsfw_content_description": "{{title}} indeholder indhold der ikke egner sig til alle aldre. Er du sikker på at du vil fortsætte?",
"allow_nsfw_content": "Fortsæt",
"refuse_nsfw_content": "Gå tilbage",
"stats": "Statistik",
"download_count": "Downloads",
"player_count": "Aktive spillere",
"download_error": "Denne download mulighed er ikke tilgængelig",
"download": "Download",
"executable_path_in_use": "Eksekverbar allerede i brug af \"{{game}}\"",
"warning": "Advarsel:",
"hydra_needs_to_remain_open": "Hydra skal forblive åbent for at denne download kan gennemføres. I tilfælde af at Hydra lukker før downloaden er færdig, mister du dit fremskridt."
},
"activation": {
"title": "Aktivér Hydra",
@ -81,45 +137,95 @@
"enter_activation_code": "Indtast din aktiverings kode",
"message": "Hvis du ikke ved hvor du skal spørge om dette, burde du ikke have dette.",
"activate": "Aktivér",
"loading": "Loader…"
"loading": "Indlæser…"
},
"downloads": {
"resume": "Fortsæt",
"pause": "Pause",
"eta": "Konklusion {{eta}}",
"paused": "Pauset",
"paused": "Sat på pause",
"verifying": "Verificerer…",
"completed": "Færdigt",
"removed": "Ikke downloadet",
"cancel": "Annullér",
"filter": "Filtrer downloadet spil",
"filter": "Filtrér downloadet spil",
"remove": "Fjern",
"downloading_metadata": "Downloader metadata…",
"deleting": "Sletter installatør…",
"delete": "Fjern installatør",
"delete_modal_title": "Er du sikker?",
"delete_modal_description": "Dette vil fjerne alle installations filerne fra din computer",
"install": "Installér"
"install": "Installér",
"download_in_progress": "Undervejs",
"queued_downloads": "Downloadkø",
"downloads_completed": "Gennemførte",
"queued": "I kø",
"no_downloads_title": "Rimelig tomt",
"no_downloads_description": "Du har ikke downloadet noget med Hydra endnu, men det er aldrig for sent at begynde.",
"checking_files": "Undersøger filer…"
},
"settings": {
"downloads_path": "Downloads sti",
"change": "Opdatering",
"change": "Opdatér",
"notifications": "Notifikationer",
"enable_download_notifications": "Når et download bliver færdigt",
"enable_download_notifications": "Når en download bliver færdigt",
"enable_repack_list_notifications": "Når en ny repack bliver tilføjet",
"real_debrid_api_token_label": "Real-Debrid API nøgle",
"quit_app_instead_hiding": "Afslut Hydra instedet for at minimere til processlinjen",
"launch_with_system": "Åben Hydra ved start af systemet",
"general": "Generelt",
"behavior": "Opførsel",
"download_sources": "Download kilder",
"language": "Sprog",
"api_token": "API nøgle",
"enable_real_debrid": "Slå Real-Debrid til",
"real_debrid_api_token_hint": "Du kan få din API nøgle <0>her</0>",
"save_changes": "Gem ændringer"
"real_debrid_description": "Real-Debrid er en ubegrænset downloader der gør det muligt for dig at downloade filer med det samme og med den bedste udnyttelse af din internet hastighed.",
"debrid_invalid_token": "Ugyldig API nøgle",
"debrid_api_token_hint": "Du kan få din API nøgle <0>her</0>",
"real_debrid_free_account_error": "Brugeren \"{{username}}\" er en gratis bruger. Venligst abbonér på Real-Debrid",
"debrid_linked_message": "Brugeren \"{{username}}\" er forbundet",
"save_changes": "Gem ændringer",
"changes_saved": "Ændringer gemt successfuldt",
"download_sources_description": "Hydra vil hente download links fra disse kilder. Kilde URLen skal være et direkte link til en .json fil der indeholder download linkene.",
"validate_download_source": "Validér",
"remove_download_source": "Fjern",
"add_download_source": "Tilføj kilde",
"download_count_zero": "Ingen download muligheder",
"download_count_one": "{{countFormatted}} download mulighed",
"download_count_other": "{{countFormatted}} download muligheder",
"download_source_url": "Download kilde URL",
"add_download_source_description": "Indsæt URLen der indeholder .json filen",
"download_source_up_to_date": "Op til dato",
"download_source_errored": "Fejlede",
"sync_download_sources": "Synkronisér kilder",
"removed_download_source": "Download kilde fjernet",
"added_download_source": "Tilføjede download kilde",
"download_sources_synced": "Alle download kilder er synkroniserede",
"insert_valid_json_url": "Indsæt en gyldig JSON url",
"found_download_option_zero": "Ingen download mulighed fundet",
"found_download_option_one": "Fandt {{countFormatted}} download mulighed",
"found_download_option_other": "Fandt {{countFormatted}} download mulighed",
"import": "Importér",
"public": "Offentlig",
"private": "Privat",
"friends_only": "Kun blandt venner",
"privacy": "Privatliv",
"profile_visibility": "Synlighed af profil",
"profile_visibility_description": "Vælg hvem der kan se din profil og dit bibliotek",
"required_field": "Dette felt er påkrævet",
"source_already_exists": "Denne kilde er allerede blevet tilføjet",
"must_be_valid_url": "Kilden skal være en gyldig URL",
"blocked_users": "Blokerede brugere",
"user_unblocked": "Brugeren er blevet afblokeret"
},
"notifications": {
"download_complete": "Download færdig",
"game_ready_to_install": "{{title}} er klar til at installeret",
"repack_list_updated": "Repack liste opdateret",
"repack_count_one": "{{count}} repack tilføjet",
"repack_count_other": "{{count}} repacks tilføjet"
"repack_count_other": "{{count}} repacks tilføjet",
"new_update_available": "Version {{version}} tilgængelig",
"restart_to_install_update": "Genstart Hydra for at installere opdateringen"
},
"system_tray": {
"open": "Åben Hydra",
@ -130,10 +236,80 @@
},
"binary_not_found_modal": {
"title": "Programmer ikke installeret",
"description": "Wine eller Lutris eksekverbare blev ikke fundet på dit system",
"description": "Wine eller Lutris eksekverbar blev ikke fundet på dit system",
"instructions": "Tjek den korrekte måde at installere nogle af dem, på din Linux distribution, så spillet kan køre normalt"
},
"modal": {
"close": "Luk knap"
},
"forms": {
"toggle_password_visibility": "Skift synlighed af kodeord"
},
"user_profile": {
"amount_hours": "{{amount}} timer",
"amount_minutes": "{{amount}} minuter",
"last_time_played": "Sidst spillet {{period}}",
"activity": "Seneste aktivitet",
"library": "Bibliotek",
"total_play_time": "Samlet spiltid",
"no_recent_activity_title": "Hmmm… ikke noget her",
"no_recent_activity_description": "Du har ikke spillet nogen spil for nyligt. Dét er det på tide at lave om på!",
"display_name": "Brugernavn",
"saving": "Gemmer",
"save": "Gem",
"edit_profile": "Redigér Profil",
"saved_successfully": "Gemt successfuldt",
"try_again": "Venligst, prøv igen",
"sign_out_modal_title": "Er du sikker?",
"cancel": "Annullér",
"successfully_signed_out": "Loggede ud successfuldt",
"sign_out": "Log ud",
"playing_for": "Spiller i {{amount}}",
"sign_out_modal_text": "Dit bibliotek er koblet sammen med din nuværende bruger. Når du logger ud er dit bibliotek ikke synligt længere, og nogen som helst form for fremskridt bliver ikke gemt. Vil du fortsætte med at logge ud?",
"add_friends": "Tilføj venner",
"add": "Tilføj",
"friend_code": "Venne kode",
"see_profile": "Se profil",
"sending": "Sender",
"friend_request_sent": "Venne anmodning sendt",
"friends": "Venner",
"friends_list": "Venne liste",
"user_not_found": "Bruger ikke fundet",
"block_user": "Blokér bruger",
"add_friend": "Tilføj ven",
"request_sent": "Anmodning sendt",
"request_received": "Anmodning modtaget",
"accept_request": "Acceptér anmodning",
"ignore_request": "Ignorér anmodning",
"cancel_request": "Annullér anmodning",
"undo_friendship": "Fortryd venskab",
"request_accepted": "Anmodning accepteret",
"user_blocked_successfully": "Bruger blokeret successfuldt",
"user_block_modal_text": "Dette blokerer {{displayName}}",
"blocked_users": "Blokerede brugere",
"unblock": "Afblokér",
"no_friends_added": "Du har stadig ikke tilføjet nogen venner",
"pending": "Afventer",
"no_pending_invites": "Du har ingen afventende invitationer",
"no_blocked_users": "Du har ingen blokerede brugere",
"friend_code_copied": "Venne kode kopieret",
"undo_friendship_modal_text": "Dette vil fortryde dit venskab med {{displayName}}",
"privacy_hint": "For at justere hvem der kan se dette, gå til <0>Indstillingerne</0>",
"locked_profile": "Denne profil er privat",
"image_process_failure": "Fejlede under håndteringen af billedet",
"required_field": "Dette felt er påkrævet",
"displayname_min_length": "Brugernavnet skal være mindst 3 karakterer langt",
"displayname_max_length": "Brugernavnet skal være højest 50 karakterer langt",
"report_profile": "Rapportér denne profil",
"report_reason": "Hvorfor rapportérer du denne profil?",
"report_description": "Yderligere information",
"report_description_placeholder": "Yderligere information",
"report": "Rapportér",
"report_reason_hate": "Hadefuld tale",
"report_reason_sexual_content": "Seksuelt indhold",
"report_reason_violence": "Vold",
"report_reason_spam": "Spam",
"report_reason_other": "Andet",
"profile_reported": "Profil rapporteret"
}
}

View File

@ -5,7 +5,6 @@
},
"home": {
"featured": "Empfohlen",
"trending": "Beliebt",
"surprise_me": "Überrasche mich",
"no_results": "Keine Ergebnisse gefunden"
},
@ -162,13 +161,13 @@
"behavior": "Verhalten",
"download_sources": "Download-Quellen",
"language": "Sprache",
"real_debrid_api_token": "API Token",
"api_token": "API Token",
"enable_real_debrid": "Real-Debrid aktivieren",
"real_debrid_description": "Real-Debrid ist ein unrestriktiver Downloader, der es dir ermöglicht Dateien sofort und mit deiner maximalen Internetgeschwindigkeit herunterzuladen.",
"real_debrid_invalid_token": "API token nicht gültig",
"real_debrid_api_token_hint": "<0>Hier</0> kannst du dir deinen API Token holen",
"debrid_invalid_token": "API token nicht gültig",
"debrid_api_token_hint": "<0>Hier</0> kannst du dir deinen API Token holen",
"real_debrid_free_account_error": "Das Konto \"{{username}}\" ist ein gratis account. Bitte abonniere Real-Debrid",
"real_debrid_linked_message": "Konto \"{{username}}\" verknüpft",
"debrid_linked_message": "Konto \"{{username}}\" verknüpft",
"save_changes": "Änderungen speichern",
"changes_saved": "Änderungen erfolgreich gespeichert",
"download_sources_description": "Hydra wird die Download-Links von diesen Quellen abrufen. Die Quell-URL muss ein direkter Link zu einer .json Datei, welche die Download-Links enthält, sein.",
@ -225,7 +224,7 @@
"last_time_played": "Zuletzt gespielt {{period}}",
"activity": "Letzte Aktivität",
"library": "Bibliothek",
"total_play_time": "Gesamtspielzeit: {{amount}}",
"total_play_time": "Gesamtspielzeit",
"no_recent_activity_title": "Hmmm… hier ist nichts",
"no_recent_activity_description": "Du hast in letzter Zeit keine Spiele gespielt. Es wird Zeit das zu ändern!",
"display_name": "Anzeigename",

View File

@ -5,12 +5,12 @@
},
"home": {
"featured": "Featured",
"trending": "Trending",
"surprise_me": "Surprise me",
"no_results": "No results found",
"start_typing": "Starting typing to search...",
"hot": "🔥 Hot now",
"weekly": "📅 Top games of the week"
"hot": "Hot now",
"weekly": "📅 Top games of the week",
"achievements": "🏆 Games to beat"
},
"sidebar": {
"catalogue": "Catalogue",
@ -25,7 +25,8 @@
"queued": "{{title}} (Queued)",
"game_has_no_executable": "Game has no executable selected",
"sign_in": "Sign in",
"friends": "Friends"
"friends": "Friends",
"need_help": "Need help?"
},
"header": {
"search": "Search games",
@ -40,13 +41,20 @@
"bottom_panel": {
"no_downloads_in_progress": "No downloads in progress",
"downloading_metadata": "Downloading {{title}} metadata…",
"downloading": "Downloading {{title}}… ({{percentage}} complete) - Conclusion {{eta}} - {{speed}}",
"downloading": "Downloading {{title}}… ({{percentage}} complete) - Completion {{eta}} - {{speed}}",
"calculating_eta": "Downloading {{title}}… ({{percentage}} complete) - Calculating remaining time…",
"checking_files": "Checking {{title}} files… ({{percentage}} complete)"
},
"catalogue": {
"next_page": "Next page",
"previous_page": "Previous page"
"search": "Filter…",
"developers": "Developers",
"genres": "Genres",
"tags": "Tags",
"publishers": "Publishers",
"download_sources": "Download sources",
"result_count": "{{resultCount}} results",
"filter_count": "{{filterCount}} available",
"clear_filters": "Clear {{filterCount}} selected"
},
"game_details": {
"open_download_options": "Open download options",
@ -104,6 +112,7 @@
"open_folder": "Open folder",
"open_download_location": "See downloaded files",
"create_shortcut": "Create desktop shortcut",
"clear": "Clear",
"remove_files": "Remove files",
"remove_from_library_title": "Are you sure?",
"remove_from_library_description": "This will remove {{game}} from your library",
@ -130,7 +139,56 @@
"download": "Download",
"executable_path_in_use": "Executable already in use by \"{{game}}\"",
"warning": "Warning:",
"hydra_needs_to_remain_open": "for this download, Hydra needs to remain open util its conclusion. In case Hydra closes before the conclusion, you will lose your progress."
"hydra_needs_to_remain_open": "for this download, Hydra needs to remain open util it's completed. If Hydra closes before completing, you will lose your progress.",
"achievements": "Achievements",
"achievements_count": "Achievements {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Cloud save",
"cloud_save_description": "Save your progress in the cloud and continue playing on any device",
"backups": "Backups",
"install_backup": "Install",
"delete_backup": "Delete",
"create_backup": "New backup",
"last_backup_date": "Last backup on {{date}}",
"no_backup_preview": "No save games were found for this title",
"restoring_backup": "Restoring backup ({{progress}} complete)…",
"uploading_backup": "Uploading backup…",
"no_backups": "You haven't created any backups for this game yet",
"backup_uploaded": "Backup uploaded",
"backup_deleted": "Backup deleted",
"backup_restored": "Backup restored",
"see_all_achievements": "See all achievements",
"sign_in_to_see_achievements": "Sign in to see achievements",
"mapping_method_automatic": "Automatic",
"mapping_method_manual": "Manual",
"mapping_method_label": "Mapping method",
"files_automatically_mapped": "Files automatically mapped",
"no_backups_created": "No backups created for this game",
"manage_files": "Manage files",
"loading_save_preview": "Searching for save games…",
"wine_prefix": "Wine Prefix",
"wine_prefix_description": "The Wine prefix used to run this game",
"launch_options": "Launch Options",
"launch_options_description": "Advanced users may choose to enter modifications to their launch options (experimental feature)",
"launch_options_placeholder": "No parameter specified",
"no_download_option_info": "No information available",
"backup_deletion_failed": "Failed to delete backup",
"max_number_of_artifacts_reached": "Maximum number of backups reached for this game",
"achievements_not_sync": "See how to synchronize your achievements",
"manage_files_description": "Manage which files will be backed up and restored",
"select_folder": "Select folder",
"backup_from": "Backup from {{date}}",
"custom_backup_location_set": "Custom backup location set",
"no_directory_selected": "No directory selected",
"no_write_permission": "Cannot download into this directory. Click here to learn more.",
"reset_achievements": "Reset achievements",
"reset_achievements_description": "This will reset all achievements for {{game}}",
"reset_achievements_title": "Are you sure?",
"reset_achievements_success": "Achievements successfully reset",
"reset_achievements_error": "Failed to reset achievements",
"download_error_gofile_quota_exceeded": "You have exceeded your Gofile monthly quota. Please await the quota to reset.",
"download_error_real_debrid_account_not_authorized": "Your Real-Debrid account is not authorized to make new downloads. Please check your account settings and try again.",
"download_error_not_cached_in_real_debrid": "This download is not available on Real-Debrid and polling download status from Real-Debrid is not yet available.",
"download_error_not_cached_in_torbox": "This download is not available on Torbox and polling download status from Torbox is not yet available."
},
"activation": {
"title": "Activate Hydra",
@ -163,7 +221,11 @@
"queued": "Queued",
"no_downloads_title": "Such empty",
"no_downloads_description": "You haven't downloaded anything with Hydra yet, but it's never too late to start.",
"checking_files": "Checking files…"
"checking_files": "Checking files…",
"seeding": "Seeding",
"stop_seeding": "Stop seeding",
"resume_seeding": "Resume seeding",
"options": "Manage"
},
"settings": {
"downloads_path": "Downloads path",
@ -178,13 +240,13 @@
"behavior": "Behavior",
"download_sources": "Download sources",
"language": "Language",
"real_debrid_api_token": "API Token",
"api_token": "API Token",
"enable_real_debrid": "Enable Real-Debrid",
"real_debrid_description": "Real-Debrid is an unrestricted downloader that allows you to download files instantly and at the best of your Internet speed.",
"real_debrid_invalid_token": "Invalid API token",
"real_debrid_api_token_hint": "You can get your API token <0>here</0>",
"real_debrid_description": "Real-Debrid is an unrestricted downloader that allows you to quickly download files, only limited by your internet speed.",
"debrid_invalid_token": "Invalid API token",
"debrid_api_token_hint": "You can get your API token <0>here</0>",
"real_debrid_free_account_error": "The account \"{{username}}\" is a free account. Please subscribe to Real-Debrid",
"real_debrid_linked_message": "Account \"{{username}}\" linked",
"debrid_linked_message": "Account \"{{username}}\" linked",
"save_changes": "Save changes",
"changes_saved": "Changes successfully saved",
"download_sources_description": "Hydra will fetch the download links from these sources. The source URL must be a direct link to a .json file containing the download links.",
@ -195,7 +257,7 @@
"download_count_one": "{{countFormatted}} download option",
"download_count_other": "{{countFormatted}} download options",
"download_source_url": "Download source URL",
"add_download_source_description": "Insert the URL containing the .json file",
"add_download_source_description": "Insert the URL of the .json file",
"download_source_up_to_date": "Up-to-date",
"download_source_errored": "Errored",
"sync_download_sources": "Sync sources",
@ -214,10 +276,35 @@
"profile_visibility": "Profile visibility",
"profile_visibility_description": "Choose who can see your profile and library",
"required_field": "This field is required",
"source_already_exists": "This source has been already added",
"source_already_exists": "This source has already been added",
"must_be_valid_url": "The source must be a valid URL",
"blocked_users": "Blocked users",
"user_unblocked": "User has been unblocked"
"user_unblocked": "User has been unblocked",
"enable_achievement_notifications": "When an achievement is unlocked",
"launch_minimized": "Launch Hydra minimized",
"disable_nsfw_alert": "Disable NSFW alert",
"seed_after_download_complete": "Seed after download complete",
"show_hidden_achievement_description": "Show hidden achievements description before unlocking them",
"account": "Account",
"no_users_blocked": "You have no blocked users",
"subscription_active_until": "Your Hydra Cloud is active until {{date}}",
"manage_subscription": "Manage subscription",
"update_email": "Update email",
"update_password": "Update password",
"current_email": "Current email:",
"no_email_account": "You have not set an email yet",
"account_data_updated_successfully": "Account data updated successfully",
"renew_subscription": "Renew Hydra Cloud",
"subscription_expired_at": "Your subscription expired at {{date}}",
"no_subscription": "Enjoy Hydra in the best possible way",
"become_subscriber": "Be Hydra Cloud",
"subscription_renew_cancelled": "Automatic renewal is disabled",
"subscription_renews_on": "Your subscription renews on {{date}}",
"bill_sent_until": "Your next bill will be sent until this day",
"enable_torbox": "Enable Torbox",
"torbox_description": "TorBox is your premium seedbox service rivaling even the best servers on the market.",
"torbox_account_linked": "TorBox account linked",
"real_debrid_account_linked": "Real-Debrid account linked"
},
"notifications": {
"download_complete": "Download complete",
@ -226,7 +313,9 @@
"repack_count_one": "{{count}} repack added",
"repack_count_other": "{{count}} repacks added",
"new_update_available": "Version {{version}} available",
"restart_to_install_update": "Restart Hydra to install the update"
"restart_to_install_update": "Restart Hydra to install the update",
"notification_achievement_unlocked_title": "Achievement unlocked for {{game}}",
"notification_achievement_unlocked_body": "{{achievement}} and other {{count}} were unlocked"
},
"system_tray": {
"open": "Open Hydra",
@ -250,9 +339,9 @@
"amount_hours": "{{amount}} hours",
"amount_minutes": "{{amount}} minutes",
"last_time_played": "Last played {{period}}",
"activity": "Recent activity",
"activity": "Recent Activity",
"library": "Library",
"total_play_time": "Total playtime: {{amount}}",
"total_play_time": "Total playtime",
"no_recent_activity_title": "Hmmm… nothing here",
"no_recent_activity_description": "You haven't played any games recently. It's time to change that!",
"display_name": "Display name",
@ -289,7 +378,7 @@
"user_block_modal_text": "This will block {{displayName}}",
"blocked_users": "Blocked users",
"unblock": "Unblock",
"no_friends_added": "You still don't have added friends",
"no_friends_added": "You have no added friends",
"pending": "Pending",
"no_pending_invites": "You have no pending invites",
"no_blocked_users": "You have no blocked users",
@ -311,6 +400,48 @@
"report_reason_violence": "Violence",
"report_reason_spam": "Spam",
"report_reason_other": "Other",
"profile_reported": "Profile reported"
"profile_reported": "Profile reported",
"your_friend_code": "Your friend code:",
"upload_banner": "Upload banner",
"uploading_banner": "Uploading banner…",
"background_image_updated": "Background image updated",
"stats": "Stats",
"achievements": "achievements",
"games": "Games",
"top_percentile": "Top {{percentile}}%",
"ranking_updated_weekly": "Ranking is updated weekly",
"playing": "Playing {{game}}",
"achievements_unlocked": "Achievements Unlocked",
"earned_points": "Earned points",
"show_achievements_on_profile": "Show your achievements on your profile",
"show_points_on_profile": "Show your earned points on your profile"
},
"achievement": {
"achievement_unlocked": "Achievement unlocked",
"user_achievements": "{{displayName}}'s Achievements",
"your_achievements": "Your Achievements",
"unlocked_at": "Unlocked at: {{date}}",
"subscription_needed": "A Hydra Cloud subscription is required to see this content",
"new_achievements_unlocked": "Unlocked {{achievementCount}} new achievements from {{gameCount}} games",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} achievements",
"achievements_unlocked_for_game": "Unlocked {{achievementCount}} new achievements for {{gameTitle}}",
"hidden_achievement_tooltip": "This is a hidden achievement",
"achievement_earn_points": "Earn {{points}} points with this achievement",
"earned_points": "Earned points:",
"available_points": "Available points:",
"how_to_earn_achievements_points": "How to earn achievements points?"
},
"hydra_cloud": {
"subscription_tour_title": "Hydra Cloud Subscription",
"subscribe_now": "Subscribe now",
"cloud_saving": "Cloud saving",
"cloud_achievements": "Save your achievements on the cloud",
"animated_profile_picture": "Animated profile pictures",
"premium_support": "Premium Support",
"show_and_compare_achievements": "Show and compare your achievements to other users",
"animated_profile_banner": "Animated profile banner",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "You've just discovered a Hydra Cloud feature!",
"learn_more": "Learn More"
}
}

View File

@ -1,16 +1,16 @@
{
"language_name": "Español",
"app": {
"successfully_signed_in": "Sesión iniciada correctamente"
"successfully_signed_in": "Sesión iniciada exitosamente"
},
"home": {
"featured": "Destacado",
"trending": "Tendencias",
"surprise_me": "¡Sorpréndeme!",
"no_results": "No se encontraron resultados",
"hot": "🔥 Caliente ahora",
"weekly": "📅 Los mejores juegos de la semana",
"start_typing": "Empieza a escribir para buscar..."
"no_results": "Sin resultados encontrados",
"start_typing": "Empieza a escribir para buscar...",
"hot": "Popular Ahora",
"weekly": "📅 Mejores juegos de la semana",
"achievements": "🏆 Juegos para completar"
},
"sidebar": {
"catalogue": "Catálogo",
@ -22,10 +22,11 @@
"downloading": "{{title}} ({{percentage}} - Descargando…)",
"filter": "Buscar en la biblioteca",
"home": "Inicio",
"queued": "{{title}} (En Cola)",
"game_has_no_executable": "El juego no tiene un ejecutable",
"queued": "{{title}} (En cola)",
"game_has_no_executable": "El juego no tiene un ejecutable seleccionado",
"sign_in": "Iniciar sesión",
"friends": "Amigos"
"friends": "Amigos",
"need_help": "¿Necesitas ayuda?"
},
"header": {
"search": "Buscar juegos",
@ -34,8 +35,8 @@
"downloads": "Descargas",
"search_results": "Resultados de búsqueda",
"settings": "Ajustes",
"version_available_install": "Version {{version}} disponible. Haz clic aquí para reiniciar e instalar.",
"version_available_download": "Version {{version}} disponible. Haz clic aquí para descargar."
"version_available_install": "Versión {{version}} disponible. Presiona acá para descargar y reinstalar.",
"version_available_download": "Versión {{version}} disponible. Presiona aquí para descargar."
},
"bottom_panel": {
"no_downloads_in_progress": "Sin descargas en progreso",
@ -45,8 +46,15 @@
"checking_files": "Verificando archivos de {{title}}… ({{percentage}} completado)"
},
"catalogue": {
"next_page": "Siguiente página",
"previous_page": "Pagina anterior"
"search": "Filtrar…",
"developers": "Desarrolladores",
"genres": "Géneros",
"tags": "Marcadores",
"publishers": "Editores",
"download_sources": "Fuentes de descarga",
"result_count": "{{resultCount}} resultados",
"filter_count": "{{filterCount}} disponibles",
"clear_filters": "Limpiar {{filterCount}} seleccionados"
},
"game_details": {
"open_download_options": "Ver opciones de descargas",
@ -78,7 +86,7 @@
"add_to_library": "Agregar a la biblioteca",
"remove_from_library": "Eliminar de la biblioteca",
"no_downloads": "No hay descargas disponibles",
"play_time": "Jugado por {{amount}}",
"play_time": "Has jugado {{amount}}",
"last_time_played": "Jugado por última vez: {{period}}",
"not_played_yet": "Aún no has jugado a {{title}}",
"next_suggestion": "Siguiente sugerencia",
@ -119,16 +127,64 @@
"last_downloaded_option": "Última opción descargada",
"create_shortcut_success": "Atajo creado con éxito",
"create_shortcut_error": "Error al crear un atajo",
"allow_nsfw_content": "Continuar",
"download": "Descargar",
"download_count": "Descargas",
"download_error": "Esta opción de descarga no está disponible.",
"executable_path_in_use": "Ejecutable ya en uso por \"{{game}}\"",
"nsfw_content_description": "{{title}} incluye contenido que puede no ser adecuado para todas las edades. \n¿Estás seguro de que quieres continuar?",
"nsfw_content_title": "Este juego contiene contenido inapropiado.",
"nsfw_content_description": "{{title}} puede ser no adecuado para todas las edades por su contenido. \n¿Deseas continuar de igual forma?",
"allow_nsfw_content": "Continuar",
"refuse_nsfw_content": "No, gracias",
"stats": "Estadísticas",
"download_count": "Downloads",
"player_count": "Jugadores activos",
"refuse_nsfw_content": "Volver",
"stats": "Estadísticas"
"download_error": "Esta opción de descarga no está disponible.",
"download": "Descargar",
"executable_path_in_use": "El ejecutable se encuentra en uso por \"{{game}}\"",
"warning": "Advertencia:",
"hydra_needs_to_remain_open": "Para esta descarga, Hydra necesita mantenerse abierta hasta que concluya. En caso de que Hydra se cierre antes de que concluya, podrías perder todo el progreso.",
"achievements": "Logros",
"achievements_count": "Logros {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Guardado en la nube",
"cloud_save_description": "Guarda tu progreso en la nube y continúa jugando en cualquier dispositivo",
"backups": "Copias de Seguridad",
"install_backup": "Instalar",
"delete_backup": "Eliminar",
"create_backup": "Nueva Copia de Seguridad",
"last_backup_date": "Última copia de seguridad el {{date}}",
"no_backup_preview": "No se encontraron datos de guardados para este juego",
"restoring_backup": "Restaurando copia de seguridad ({{progress}} completado)…",
"uploading_backup": "Subiendo copia de seguridad…",
"no_backups": "No has creado ninguna copia de seguridad para este juego aún",
"backup_uploaded": "Copia de seguridad subida",
"backup_deleted": "Copia de seguridad eliminada",
"backup_restored": "Copia de seguridad restaurada",
"see_all_achievements": "Ver todos los logros",
"sign_in_to_see_achievements": "Inicia sesión para ver los logros",
"mapping_method_automatic": "Automático",
"mapping_method_manual": "Manual",
"mapping_method_label": "Método de mapeo",
"files_automatically_mapped": "Archivos mapeados automáticamente",
"no_backups_created": "Sin copias de seguridad creadas para este juego",
"manage_files": "Gestionar archivos",
"loading_save_preview": "Buscando datos de guardados de juegos…",
"wine_prefix": "Prefijo de Wine",
"wine_prefix_description": "El prefijo de Wine usado para ejecutar este juego",
"no_download_option_info": "Sin información disponible",
"backup_deletion_failed": "La eliminación de la copia de seguridad falló",
"max_number_of_artifacts_reached": "Número máximo de copias de seguridad de este juego alcanzadas",
"achievements_not_sync": "Tus logros no están sincronizados",
"manage_files_description": "Gestiona los archivos que serán respaldados y restaurados",
"select_folder": "Seleccionar carpeta",
"backup_from": "Copia de seguridad de {{date}}",
"custom_backup_location_set": "Se configuró la carpeta de copia de seguridad",
"clear": "Limpiar",
"no_directory_selected": "No se seleccionó un directorio",
"launch_options": "Opciones de Inicio",
"launch_options_description": "Los usuarios avanzados pueden introducir sus propias modificaciones de opciones de inicio (característica experimental)",
"launch_options_placeholder": "Sin parámetro específicado",
"no_write_permission": "No se puede descargar en este directorio. Presiona aquí para aprender más.",
"reset_achievements": "Reiniciar logros",
"reset_achievements_description": "Esto reiniciará todos los logros de {{game}}",
"reset_achievements_title": "¿Estás seguro?",
"reset_achievements_success": "Logros reiniciados exitosamente",
"reset_achievements_error": "Se produjo un error al reiniciar los logros"
},
"activation": {
"title": "Activar Hydra",
@ -161,7 +217,11 @@
"queued": "En cola",
"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!.",
"checking_files": "Verificando archivos…"
"checking_files": "Verificando archivos…",
"seeding": "Seeding",
"stop_seeding": "Detener seeding",
"resume_seeding": "Continuar seeding",
"options": "Gestionar"
},
"settings": {
"downloads_path": "Ruta de descarga",
@ -176,13 +236,13 @@
"behavior": "Otros",
"download_sources": "Fuentes de descarga",
"language": "Idioma",
"real_debrid_api_token": "Token API",
"api_token": "Token API",
"enable_real_debrid": "Activar Real-Debrid",
"real_debrid_description": "Real-Debrid es una forma de descargar sin restricciones archivos instantáneamente con la máxima velocidad de tu internet.",
"real_debrid_invalid_token": "Token de API inválido",
"real_debrid_api_token_hint": "Puedes obtener tu clave de API <0>aquí</0>",
"debrid_invalid_token": "Token de API inválido",
"debrid_api_token_hint": "Puedes obtener tu clave de API <0>aquí</0>",
"real_debrid_free_account_error": "La cuenta \"{{username}}\" es una cuenta gratuita. Por favor, suscríbete a Real-Debrid",
"real_debrid_linked_message": "Cuenta \"{{username}}\" vinculada",
"debrid_linked_message": "Cuenta \"{{username}}\" vinculada",
"save_changes": "Guardar cambios",
"changes_saved": "Ajustes guardados exitosamente",
"download_sources_description": "Hydra buscará los enlaces de descarga de estas fuentes. La URL de origen debe ser un enlace directo a un archivo .json que contenga los enlaces de descarga",
@ -205,20 +265,38 @@
"found_download_option_one": "Se encontró {{countFormatted}} opción de descarga",
"found_download_option_other": "Se encontraron {{countFormatted}} opciones de descarga",
"import": "Importar",
"blocked_users": "Usuarios bloqueados",
"download_options_one": "",
"download_options_other": "",
"download_options_zero": "",
"friends_only": "solo amigos",
"must_be_valid_url": "La fuente debe ser una URL válida.",
"privacy": "Privacidad",
"public": "Público",
"private": "Privado",
"friends_only": "Solo amigos",
"privacy": "Privacidad",
"profile_visibility": "Visibilidad del perfil",
"profile_visibility_description": "Elige quién puede ver tu perfil y biblioteca",
"public": "Público",
"required_field": "Este campo es obligatorio",
"source_already_exists": "Esta fuente ya ha sido agregada.",
"user_unblocked": "El usuario ha sido desbloqueado"
"must_be_valid_url": "La fuente debe ser una URL válida.",
"blocked_users": "Usuarios bloqueados",
"user_unblocked": "El usuario ha sido desbloqueado",
"enable_achievement_notifications": "Cuando un logro se desbloquea",
"launch_minimized": "Iniciar Hydra minimizado",
"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",
"account": "Cuenta",
"account_data_updated_successfully": "Datos de la cuenta actualizados",
"bill_sent_until": "Tú próxima factura se enviará el {{date}}",
"current_email": "Correo actual:",
"manage_subscription": "Gestionar suscripción",
"no_email_account": "No has configurado un correo aún",
"no_subscription": "Disfruta Hydra de la mejor manera",
"no_users_blocked": "No tienes usuarios bloqueados",
"notifications": "Notificaciones",
"renew_subscription": "Renovar Hydra Cloud",
"subscription_active_until": "Tu Hydra Cloud está activa hasta {{date}}",
"subscription_expired_at": "Tú suscripción expiró el {{date}}",
"subscription_renew_cancelled": "Está desactivada la renovación automática",
"subscription_renews_on": "Tú suscripción se renueva el {{date}}",
"update_email": "Actualizar correo",
"update_password": "Actualizar contraseña"
},
"notifications": {
"download_complete": "Descarga completada",
@ -227,7 +305,9 @@
"repack_count_one": "{{count}} repack ha sido añadido",
"repack_count_other": "{{count}} repacks añadidos",
"new_update_available": "Version {{version}} disponible",
"restart_to_install_update": "Reinicia Hydra para instalar la actualización"
"restart_to_install_update": "Reinicia Hydra para instalar la actualización",
"notification_achievement_unlocked_title": "Logro desbloqueado de {{game}}",
"notification_achievement_unlocked_body": "{{achievement}} y otros {{count}} fueron desbloqueados"
},
"system_tray": {
"open": "Abrir Hydra",
@ -238,7 +318,7 @@
},
"binary_not_found_modal": {
"title": "Programas no instalados",
"description": "Los ejecutables de Wine o Lutris no se encontraron en su sistema",
"description": "Los ejecutables de Wine o Lutris no se encontraron en tu sistema",
"instructions": "Comprueba como instalar de forma correcta uno de los dos en tu distro de Linux para ejecutar el juego con normalidad"
},
"modal": {
@ -253,7 +333,7 @@
"last_time_played": "Última vez jugado: {{period}}",
"activity": "Actividad reciente",
"library": "Biblioteca",
"total_play_time": "Total de tiempo jugado: {{amount}}",
"total_play_time": "Has jugado",
"no_recent_activity_title": "Que raro, no hay nada por acá...",
"no_recent_activity_description": "No has jugado ningún juego recientemente, ¡vamos a cambiar eso ahora!",
"display_name": "Nombre en pantalla",
@ -266,7 +346,7 @@
"cancel": "Cancelar",
"successfully_signed_out": "Sesión cerrada exitosamente",
"sign_out": "Cerrar sesión",
"playing_for": "Jugando por {{amount}}",
"playing_for": "Llevas jugando {{amount}}",
"sign_out_modal_text": "Tu biblioteca se ha vinculado con tu cuenta. Cuando cierres sesión, tú biblioteca ya no será visible y cualquier progreso no se guardará. ¿Continuar con el cierre de sesión?",
"add_friends": "Añadir amigos",
"add": "Añadir",
@ -296,23 +376,64 @@
"no_blocked_users": "No has bloqueado a ningún usuario",
"friend_code_copied": "Código de amigo copiado",
"undo_friendship_modal_text": "Esto deshará tu amistad con {{displayName}}",
"displayname_max_length": "El nombre para mostrar debe tener como máximo 50 caracteres",
"displayname_min_length": "El nombre para mostrar debe tener al menos 3 caracteres",
"locked_profile": "Este perfil es privado.",
"privacy_hint": "Para ajustar quién puede ver esto, ve a <0>Configuración</0>.",
"profile_locked": "",
"profile_reported": "Perfil reportado",
"report": "Informe",
"locked_profile": "Este perfil es privado",
"image_process_failure": "Error al procesar la imagen",
"required_field": "Este campo es obligatorio",
"displayname_min_length": "El nombre a mostrar debe tener al menos 3 caracteres",
"displayname_max_length": "El nombre a mostrar debe tener como máximo 50 caracteres",
"report_profile": "Reportar este perfil",
"report_reason": "¿Cual es el motivo del reporte?",
"report_description": "Información adicional",
"report_description_placeholder": "Información adicional",
"report_profile": "Reportar este perfil",
"report_reason": "¿Por qué estás denunciando este perfil?",
"report_reason_hate": "Discurso de odio",
"report_reason_other": "Otro",
"report": "Reportar",
"report_reason_hate": "Discursos de odio",
"report_reason_sexual_content": "Contenido sexual",
"report_reason_spam": "Correo basura",
"report_reason_violence": "Violencia",
"required_field": "Este campo es obligatorio",
"image_process_failure": "Error al procesar la imagen"
"report_reason_spam": "Spam / Contenido no deseado",
"report_reason_other": "Otro",
"profile_reported": "Perfil reportado",
"your_friend_code": "Tu código de amigo:",
"upload_banner": "Subir un banner",
"uploading_banner": "Subiendo banner…",
"background_image_updated": "Imagen de fondo actualizada",
"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_unlocked": "Logro desbloqueado",
"user_achievements": "Logros de {{displayName}}",
"your_achievements": "Tus Logros",
"unlocked_at": "Desbloqueado el: {{date}}",
"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",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} logros",
"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": {
"subscription_tour_title": "Suscripción Hydra Cloud",
"subscribe_now": "Suscribirse ahora",
"cloud_saving": "Guardado en la nube",
"cloud_achievements": "Guarda tus logros en la nube",
"animated_profile_picture": "Fotos de perfil animadas",
"premium_support": "Soporte Premium",
"show_and_compare_achievements": "Muestra y compara tus logros con otros usuarios",
"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

@ -0,0 +1,376 @@
{
"language_name": "Eesti",
"app": {
"successfully_signed_in": "Edukalt sisse logitud"
},
"home": {
"featured": "Esile toodud",
"surprise_me": "Üllata mind",
"no_results": "Tulemusi ei leitud",
"start_typing": "Alusta otsimiseks kirjutamist...",
"hot": "Praegu kuum",
"weekly": "📅 Nädala top mängud",
"achievements": "🏆 Mängud, mida läbida"
},
"sidebar": {
"catalogue": "Kataloog",
"downloads": "Allalaadimised",
"settings": "Seaded",
"my_library": "Minu kogu",
"downloading_metadata": "{{title}} (Metaandmete allalaadimine…)",
"paused": "{{title}} (Peatatud)",
"downloading": "{{title}} ({{percentage}} - Allalaadimine…)",
"filter": "Filtreeri kogu",
"home": "Avaleht",
"queued": "{{title}} (Järjekorras)",
"game_has_no_executable": "Mängul pole käivitusfaili valitud",
"sign_in": "Logi sisse",
"friends": "Sõbrad"
},
"header": {
"search": "Otsi mänge",
"home": "Avaleht",
"catalogue": "Kataloog",
"downloads": "Allalaadimised",
"search_results": "Otsingutulemused",
"settings": "Seaded",
"version_available_install": "Versioon {{version}} on saadaval. Klõpsa siia taaskäivitamiseks ja installimiseks.",
"version_available_download": "Versioon {{version}} on saadaval. Klõpsa siia allalaadimiseks."
},
"bottom_panel": {
"no_downloads_in_progress": "Allalaadimisi pole pooleli",
"downloading_metadata": "{{title}} metaandmete allalaadimine…",
"downloading": "{{title}} allalaadimine… ({{percentage}} valmis) - Lõpp {{eta}} - {{speed}}",
"calculating_eta": "{{title}} allalaadimine… ({{percentage}} valmis) - Järelejäänud aja arvutamine…",
"checking_files": "{{title}} failide kontrollimine… ({{percentage}} valmis)"
},
"catalogue": {
"next_page": "Järgmine leht",
"previous_page": "Eelmine leht"
},
"game_details": {
"open_download_options": "Ava allalaadimise valikud",
"download_options_zero": "Allalaadimise valikuid pole",
"download_options_one": "{{count}} allalaadimise valik",
"download_options_other": "{{count}} allalaadimise valikut",
"updated_at": "Uuendatud {{updated_at}}",
"install": "Installi",
"resume": "Jätka",
"pause": "Peata",
"cancel": "Tühista",
"remove": "Eemalda",
"space_left_on_disk": "{{space}} kettaruumi järel",
"eta": "Lõpp {{eta}}",
"calculating_eta": "Järelejäänud aja arvutamine…",
"downloading_metadata": "Metaandmete allalaadimine…",
"filter": "Filtreeri repacke",
"requirements": "Süsteeminõuded",
"minimum": "Miinimum",
"recommended": "Soovitatav",
"paused": "Peatatud",
"release_date": "Välja antud {{date}}",
"publisher": "Avaldaja {{publisher}}",
"hours": "tundi",
"minutes": "minutit",
"amount_hours": "{{amount}} tundi",
"amount_minutes": "{{amount}} minutit",
"accuracy": "{{accuracy}}% täpsus",
"add_to_library": "Lisa kogusse",
"remove_from_library": "Eemalda kogust",
"no_downloads": "Allalaadimisi pole saadaval",
"play_time": "Mängitud {{amount}}",
"last_time_played": "Viimati mängitud {{period}}",
"not_played_yet": "Sa pole veel {{title}} mänginud",
"next_suggestion": "Järgmine soovitus",
"play": "Mängi",
"deleting": "Installeri kustutamine…",
"close": "Sulge",
"playing_now": "Mängib praegu",
"change": "Muuda",
"repacks_modal_description": "Vali repack, mida soovid alla laadida",
"select_folder_hint": "Vaikimisi kausta muutmiseks mine <0>Seadetesse</0>",
"download_now": "Laadi alla kohe",
"no_shop_details": "Poe andmeid ei õnnestunud laadida.",
"download_options": "Allalaadimise valikud",
"download_path": "Allalaadimise tee",
"previous_screenshot": "Eelmine kuvatõmmis",
"next_screenshot": "Järgmine kuvatõmmis",
"screenshot": "Kuvatõmmis {{number}}",
"open_screenshot": "Ava kuvatõmmis {{number}}",
"download_settings": "Allalaadimise seaded",
"downloader": "Allalaadija",
"select_executable": "Vali",
"no_executable_selected": "Käivitusfaili pole valitud",
"open_folder": "Ava kaust",
"open_download_location": "Vaata allalaaditud faile",
"create_shortcut": "Loo töölaua otsetee",
"remove_files": "Eemalda failid",
"remove_from_library_title": "Oled sa kindel?",
"remove_from_library_description": "See eemaldab {{game}} sinu kogust",
"options": "Valikud",
"executable_section_title": "Käivitusfail",
"executable_section_description": "Faili tee, mida käivitatakse \"Mängi\" nupule vajutades",
"downloads_secion_title": "Allalaadimised",
"downloads_section_description": "Vaata uuendusi või selle mängu teisi versioone",
"danger_zone_section_title": "Ohutsoon",
"danger_zone_section_description": "Eemalda see mäng oma kogust või Hydra poolt allalaaditud failid",
"download_in_progress": "Allalaadimine käimas",
"download_paused": "Allalaadimine peatatud",
"last_downloaded_option": "Viimane allalaaditud variant",
"create_shortcut_success": "Otsetee edukalt loodud",
"create_shortcut_error": "Viga otsetee loomisel",
"nsfw_content_title": "See mäng sisaldab sobimatut sisu",
"nsfw_content_description": "{{title}} sisaldab sisu, mis ei pruugi sobida kõigile vanusegruppidele. Kas soovid kindlasti jätkata?",
"allow_nsfw_content": "Jätka",
"refuse_nsfw_content": "Mine tagasi",
"stats": "Statistika",
"download_count": "Allalaadimised",
"player_count": "Aktiivsed mängijad",
"download_error": "See allalaadimise valik pole saadaval",
"download": "Laadi alla",
"executable_path_in_use": "Käivitusfail on juba kasutusel mängus \"{{game}}\"",
"warning": "Hoiatus:",
"hydra_needs_to_remain_open": "selle allalaadimise jaoks peab Hydra jääma avatuks kuni lõpuni. Kui Hydra sulgub enne lõppu, kaotad oma progressi.",
"achievements": "Saavutused",
"achievements_count": "Saavutused {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Pilvesalvestus",
"cloud_save_description": "Salvesta oma progress pilve ja jätka mängimist mistahes seadmes",
"backups": "Varundused",
"install_backup": "Installi",
"delete_backup": "Kustuta",
"create_backup": "Uus varundus",
"last_backup_date": "Viimane varundus {{date}}",
"no_backup_preview": "Selle mängu jaoks ei leitud salvestusi",
"restoring_backup": "Varunduse taastamine ({{progress}} valmis)…",
"uploading_backup": "Varunduse üleslaadimine…",
"no_backups": "Sa pole veel selle mängu jaoks varundusi loonud",
"backup_uploaded": "Varundus üles laaditud",
"backup_deleted": "Varundus kustutatud",
"backup_restored": "Varundus taastatud",
"see_all_achievements": "Vaata kõiki saavutusi",
"sign_in_to_see_achievements": "Logi sisse, et näha saavutusi",
"mapping_method_automatic": "Automaatne",
"mapping_method_manual": "Käsitsi",
"mapping_method_label": "Kaardistamise meetod",
"files_automatically_mapped": "Failid automaatselt kaardistatud",
"no_backups_created": "Selle mängu jaoks pole varundusi loodud",
"manage_files": "Halda faile",
"loading_save_preview": "Salvestuste otsimine…",
"wine_prefix": "Wine Prefix",
"wine_prefix_description": "Wine prefix, mida kasutatakse selle mängu käivitamiseks",
"no_download_option_info": "Info pole saadaval",
"backup_deletion_failed": "Varunduse kustutamine ebaõnnestus",
"max_number_of_artifacts_reached": "Selle mängu varunduste maksimaalne arv on saavutatud",
"achievements_not_sync": "Sinu saavutused pole sünkroniseeritud",
"manage_files_description": "Hallake, millised failid varundatakse ja taastatakse",
"select_folder": "Vali kaust",
"backup_from": "Varundamine kuupäevast {{date}}",
"custom_backup_location_set": "Kohandatud varundamise asukoht määratud"
},
"activation": {
"title": "Aktiveeri Hydra",
"installation_id": "Installatsiooni ID:",
"enter_activation_code": "Sisesta oma aktiveerimiskood",
"message": "Kui sa ei tea, kust seda küsida, siis sa ei peaks seda omama.",
"activate": "Aktiveeri",
"loading": "Laadimine…"
},
"downloads": {
"resume": "Jätka",
"pause": "Peata",
"eta": "Lõpp {{eta}}",
"paused": "Peatatud",
"verifying": "Kontrollimine…",
"completed": "Lõpetatud",
"removed": "Pole alla laaditud",
"cancel": "Tühista",
"filter": "Filtreeri allalaaditud mänge",
"remove": "Eemalda",
"downloading_metadata": "Metaandmete allalaadimine…",
"deleting": "Installeri kustutamine…",
"delete": "Eemalda installer",
"delete_modal_title": "Oled sa kindel?",
"delete_modal_description": "See eemaldab kõik installifailid sinu arvutist",
"install": "Installi",
"download_in_progress": "Töös",
"queued_downloads": "Järjekorras allalaadimised",
"downloads_completed": "Lõpetatud",
"queued": "Järjekorras",
"no_downloads_title": "Nii tühi",
"no_downloads_description": "Sa pole veel Hydraga midagi alla laadinud, aga pole kunagi hilja alustada.",
"checking_files": "Failide kontrollimine…"
},
"settings": {
"downloads_path": "Allalaadimiste tee",
"change": "Uuenda",
"notifications": "Teavitused",
"enable_download_notifications": "Kui allalaadimine on lõpetatud",
"enable_repack_list_notifications": "Kui uus repack on lisatud",
"real_debrid_api_token_label": "Real-Debrid API võti",
"quit_app_instead_hiding": "Ära peida Hydrat sulgemisel",
"launch_with_system": "Käivita Hydra süsteemi käivitamisel",
"general": "Üldine",
"behavior": "Käitumine",
"download_sources": "Allalaadimise allikad",
"language": "Keel",
"api_token": "API Võti",
"enable_real_debrid": "Luba Real-Debrid",
"real_debrid_description": "Real-Debrid on piiranguteta allalaadija, mis võimaldab sul faile alla laadida koheselt ja sinu internetiühenduse parima kiirusega.",
"debrid_invalid_token": "Vigane API võti",
"debrid_api_token_hint": "Sa saad oma API võtme <0>siit</0>",
"real_debrid_free_account_error": "Konto \"{{username}}\" on tasuta konto. Palun telli Real-Debrid",
"debrid_linked_message": "Konto \"{{username}}\" ühendatud",
"save_changes": "Salvesta muudatused",
"changes_saved": "Muudatused edukalt salvestatud",
"download_sources_description": "Hydra laeb allalaadimise lingid nendest allikatest. Allika URL peab olema otsene link .json failile, mis sisaldab allalaadimise linke.",
"validate_download_source": "Valideeri",
"remove_download_source": "Eemalda",
"add_download_source": "Lisa allikas",
"download_count_zero": "Allalaadimise valikuid pole",
"download_count_one": "{{countFormatted}} allalaadimise valik",
"download_count_other": "{{countFormatted}} allalaadimise valikut",
"download_source_url": "Allalaadimise allika URL",
"add_download_source_description": "Sisesta URL, mis sisaldab .json faili",
"download_source_up_to_date": "Ajakohane",
"download_source_errored": "Vigane",
"sync_download_sources": "Sünkroniseeri allikad",
"removed_download_source": "Allalaadimise allikas eemaldatud",
"added_download_source": "Allalaadimise allikas lisatud",
"download_sources_synced": "Kõik allalaadimise allikad on sünkroniseeritud",
"insert_valid_json_url": "Sisesta kehtiv JSON url",
"found_download_option_zero": "Allalaadimise valikuid ei leitud",
"found_download_option_one": "Leitud {{countFormatted}} allalaadimise valik",
"found_download_option_other": "Leitud {{countFormatted}} allalaadimise valikut",
"import": "Impordi",
"public": "Avalik",
"private": "Privaatne",
"friends_only": "Ainult sõpradele",
"privacy": "Privaatsus",
"profile_visibility": "Profiili nähtavus",
"profile_visibility_description": "Vali, kes saavad näha sinu profiili ja kogu",
"required_field": "See väli on kohustuslik",
"source_already_exists": "See allikas on juba lisatud",
"must_be_valid_url": "Allikas peab olema kehtiv URL",
"blocked_users": "Blokeeritud kasutajad",
"user_unblocked": "Kasutaja blokeering on eemaldatud",
"enable_achievement_notifications": "Kui saavutus avatakse"
},
"notifications": {
"download_complete": "Allalaadimine lõpetatud",
"game_ready_to_install": "{{title}} on valmis installimiseks",
"repack_list_updated": "Repackide nimekiri uuendatud",
"repack_count_one": "{{count}} repack lisatud",
"repack_count_other": "{{count}} repacki lisatud",
"new_update_available": "Versioon {{version}} saadaval",
"restart_to_install_update": "Taaskäivita Hydra uuenduse installimiseks",
"notification_achievement_unlocked_title": "Saavutus avatud mängus {{game}}",
"notification_achievement_unlocked_body": "{{achievement}} ja veel {{count}} avati"
},
"system_tray": {
"open": "Ava Hydra",
"quit": "Välju"
},
"game_card": {
"no_downloads": "Allalaadimisi pole saadaval"
},
"binary_not_found_modal": {
"title": "Programmid pole installitud",
"description": "Wine või Lutrise käivitusfaile ei leitud sinu süsteemist",
"instructions": "Kontrolli õiget viisi nende installimiseks oma Linuxi distrol, et mäng saaks normaalselt töötada"
},
"modal": {
"close": "Sulgemise nupp"
},
"forms": {
"toggle_password_visibility": "Lülita parooli nähtavust"
},
"user_profile": {
"amount_hours": "{{amount}} tundi",
"amount_minutes": "{{amount}} minutit",
"last_time_played": "Viimati mängitud {{period}}",
"activity": "Hiljutine aktiivsus",
"library": "Kogu",
"total_play_time": "Kogu mängitud aeg",
"no_recent_activity_title": "Hmmm… siin pole midagi",
"no_recent_activity_description": "Sa pole hiljuti ühtegi mängu mänginud. On aeg seda muuta!",
"display_name": "Kuvatav nimi",
"saving": "Salvestamine",
"save": "Salvesta",
"edit_profile": "Muuda profiili",
"saved_successfully": "Edukalt salvestatud",
"try_again": "Palun proovi uuesti",
"sign_out_modal_title": "Oled sa kindel?",
"cancel": "Tühista",
"successfully_signed_out": "Edukalt välja logitud",
"sign_out": "Logi välja",
"playing_for": "Mängib {{amount}}",
"sign_out_modal_text": "Sinu kogu on seotud sinu praeguse kontoga. Välja logides pole sinu kogu enam nähtav ja edasist progressi ei salvestata. Jätkata väljalogimisega?",
"add_friends": "Lisa sõpru",
"add": "Lisa",
"friend_code": "Sõbrakood",
"see_profile": "Vaata profiili",
"sending": "Saatmine",
"friend_request_sent": "Sõbrakutse saadetud",
"friends": "Sõbrad",
"friends_list": "Sõprade nimekiri",
"user_not_found": "Kasutajat ei leitud",
"block_user": "Blokeeri kasutaja",
"add_friend": "Lisa sõbraks",
"request_sent": "Kutse saadetud",
"request_received": "Kutse saadud",
"accept_request": "Võta kutse vastu",
"ignore_request": "Ignoreeri kutset",
"cancel_request": "Tühista kutse",
"undo_friendship": "Tühista sõprus",
"request_accepted": "Kutse vastu võetud",
"user_blocked_successfully": "Kasutaja edukalt blokeeritud",
"user_block_modal_text": "See blokeerib kasutaja {{displayName}}",
"blocked_users": "Blokeeritud kasutajad",
"unblock": "Eemalda blokeering",
"no_friends_added": "Sul pole veel lisatud sõpru",
"pending": "Ootel",
"no_pending_invites": "Sul pole ootel kutseid",
"no_blocked_users": "Sul pole blokeeritud kasutajaid",
"friend_code_copied": "Sõbrakood kopeeritud",
"undo_friendship_modal_text": "See tühistab sinu sõpruse kasutajaga {{displayName}}",
"privacy_hint": "Et muuta, kes seda näevad, mine <0>Seadetesse</0>",
"locked_profile": "See profiil on privaatne",
"image_process_failure": "Viga pildi töötlemisel",
"required_field": "See väli on kohustuslik",
"displayname_min_length": "Kuvatav nimi peab olema vähemalt 3 tähemärki pikk",
"displayname_max_length": "Kuvatav nimi võib olla maksimaalselt 50 tähemärki pikk",
"report_profile": "Teata sellest profiilist",
"report_reason": "Miks sa sellest profiilist teatad?",
"report_description": "Lisainfo",
"report_description_placeholder": "Lisainfo",
"report": "Teata",
"report_reason_hate": "Vaenukõne",
"report_reason_sexual_content": "Seksuaalne sisu",
"report_reason_violence": "Vägivald",
"report_reason_spam": "Rämpspost",
"report_reason_other": "Muu",
"profile_reported": "Profiilist teatatud",
"your_friend_code": "Sinu sõbrakood:",
"upload_banner": "Lae üles bänner",
"uploading_banner": "Bänneri üleslaadimine…",
"background_image_updated": "Bänner uuendatud"
},
"achievement": {
"achievement_unlocked": "Saavutus avatud",
"user_achievements": "{{displayName}} saavutused",
"your_achievements": "Sinu saavutused",
"unlocked_at": "Avatud: {{date}}",
"subscription_needed": "Selle sisu nägemiseks on vaja Hydra Cloud tellimust",
"new_achievements_unlocked": "Avatud {{achievementCount}} uut saavutust {{gameCount}} mängust"
},
"hydra_cloud": {
"subscription_tour_title": "Hydra Cloud Tellimus",
"subscribe_now": "Telli kohe",
"cloud_saving": "Pilvesalvestus",
"cloud_achievements": "Salvesta oma saavutused pilve",
"animated_profile_picture": "Animeeritud profiilipildid",
"premium_support": "Premium tugi",
"show_and_compare_achievements": "Näita ja võrdle oma saavutusi teiste kasutajatega",
"animated_profile_banner": "Animeeritud profiilibänner"
}
}

View File

@ -2,7 +2,6 @@
"language_name": "فارسی",
"home": {
"featured": "پیشنهادی",
"trending": "پرطرفدار",
"surprise_me": "سوپرایزم کن",
"no_results": "اتمام‌ای پیدا نشد"
},
@ -111,7 +110,7 @@
"general": "کلی",
"behavior": "رفتار",
"enable_real_debrid": "فعال‌سازی Real-Debrid",
"real_debrid_api_token_hint": "کلید API خود را از <ب0>اینجا</0> بگیرید.",
"debrid_api_token_hint": "کلید API خود را از <ب0>اینجا</0> بگیرید.",
"save_changes": "ذخیره تغییرات"
},
"notifications": {

View File

@ -2,7 +2,6 @@
"language_name": "Français",
"home": {
"featured": "En vedette",
"trending": "Tendance",
"surprise_me": "Surprenez-moi",
"no_results": "Aucun résultat trouvé"
},
@ -58,14 +57,14 @@
"remove_from_library": "Supprimer de la bibliothèque",
"no_downloads": "Aucun téléchargement disponible",
"next_suggestion": "Suggestion suivante",
"play_time": "Joué pour {{montant}}",
"play_time": "Joué pour {{amount}}",
"install": "Installer",
"play": "Jouer",
"not_played_yet": "Vous n'avez pas encore joué à {{title}}",
"close": "Fermer",
"deleting": "Suppression du programme d'installation…",
"playing_now": "Jeu en cours",
"last_time_played": "Dernièrement joué {{période}}"
"last_time_played": "Dernièrement joué {{period}}"
},
"activation": {
"title": "Activer Hydra",

View File

@ -2,7 +2,6 @@
"language_name": "Magyar",
"home": {
"featured": "Featured",
"trending": "Népszerű",
"surprise_me": "Lepj meg",
"no_results": "Nem található"
},

View File

@ -5,7 +5,6 @@
},
"home": {
"featured": "Unggulan",
"trending": "Sedang Tren",
"surprise_me": "Kejutkan saya",
"no_results": "Tidak ada hasil ditemukan"
},
@ -162,13 +161,13 @@
"behavior": "Perilaku",
"download_sources": "Sumber unduhan",
"language": "Bahasa",
"real_debrid_api_token": "Token API",
"api_token": "Token API",
"enable_real_debrid": "Aktifkan Real-Debrid",
"real_debrid_description": "Real-Debrid adalah downloader tanpa batas yang memungkinkan kamu untuk mengunduh file dengan cepat dan pada kecepatan terbaik dari Internet kamu.",
"real_debrid_invalid_token": "Token API tidak valid",
"real_debrid_api_token_hint": "Kamu bisa dapatkan token API di <0>sini</0>",
"debrid_invalid_token": "Token API tidak valid",
"debrid_api_token_hint": "Kamu bisa dapatkan token API di <0>sini</0>",
"real_debrid_free_account_error": "Akun \"{{username}}\" adalah akun gratis. Silakan berlangganan Real-Debrid",
"real_debrid_linked_message": "Akun \"{{username}}\" terhubung",
"debrid_linked_message": "Akun \"{{username}}\" terhubung",
"save_changes": "Simpan perubahan",
"changes_saved": "Perubahan disimpan berhasil",
"download_sources_description": "Hydra akan mencari link unduhan dari sini. URL harus menuju file .json dengan link unduhan.",
@ -178,9 +177,6 @@
"download_count_zero": "Tidak ada unduhan dalam daftar",
"download_count_one": "{{countFormatted}} unduhan dalam daftar",
"download_count_other": "{{countFormatted}} unduhan dalam daftar",
"download_options_zero": "Tidak ada unduhan tersedia",
"download_options_one": "{{countFormatted}} unduhan tersedia",
"download_options_other": "{{countFormatted}} unduhan tersedia",
"download_source_url": "URL sumber unduhan",
"add_download_source_description": "Masukkan URL yang berisi file .json",
"download_source_up_to_date": "Terkini",
@ -228,7 +224,7 @@
"last_time_played": "Terakhir dimainkan {{period}}",
"activity": "Aktivitas terbaru",
"library": "Perpustakaan",
"total_play_time": "Total waktu bermain: {{amount}}",
"total_play_time": "Total waktu bermain",
"no_recent_activity_title": "Hmm… kosong di sini",
"no_recent_activity_description": "Kamu belum main game baru-baru ini. Yuk, mulai main!",
"display_name": "Nama tampilan",

View File

@ -22,6 +22,9 @@ import ro from "./ro/translation.json";
import ca from "./ca/translation.json";
import kk from "./kk/translation.json";
import cs from "./cs/translation.json";
import nb from "./nb/translation.json";
import et from "./et/translation.json";
import bg from "./bg/translation.json";
export default {
"pt-BR": ptBR,
@ -46,6 +49,9 @@ export default {
fa,
ro,
ca,
bg,
kk,
cs,
nb,
et,
};

View File

@ -2,7 +2,6 @@
"language_name": "Italiano",
"home": {
"featured": "In primo piano",
"trending": "Di tendenza",
"surprise_me": "Sorprendimi",
"no_results": "Nessun risultato trovato"
},
@ -119,7 +118,7 @@
"general": "Generale",
"behavior": "Comportamento",
"enable_real_debrid": "Abilita Real Debrid",
"real_debrid_api_token_hint": "Puoi trovare la tua chiave API <0>here</0>",
"debrid_api_token_hint": "Puoi trovare la tua chiave API <0>here</0>",
"save_changes": "Salva modifiche"
},
"notifications": {

View File

@ -5,7 +5,6 @@
},
"home": {
"featured": "Ұсынылған",
"trending": "Трендте",
"surprise_me": "Таңқалдыр",
"no_results": "Ештеңе табылмады"
},
@ -160,13 +159,13 @@
"behavior": "Мінез-құлық",
"download_sources": "Жүктеу көздері",
"language": "Тіл",
"real_debrid_api_token": "API Кілті",
"api_token": "API Кілті",
"enable_real_debrid": "Real-Debrid-ті қосу",
"real_debrid_description": "Real-Debrid - бұл шектеусіз жүктеуші, ол интернетте орналастырылған файлдарды тез жүктеуге немесе жеке желі арқылы кез келген блоктарды айналып өтіп, оларды бірден плеерге беруге мүмкіндік береді.",
"real_debrid_invalid_token": "Қате API кілті",
"real_debrid_api_token_hint": "API кілтін <0>осы жерден</0> алуға болады",
"debrid_invalid_token": "Қате API кілті",
"debrid_api_token_hint": "API кілтін <0>осы жерден</0> алуға болады",
"real_debrid_free_account_error": "\"{{username}}\" аккаунты жазылымға ие емес. Real-Debrid жазылымын алыңыз",
"real_debrid_linked_message": "\"{{username}}\" аккаунты байланған",
"debrid_linked_message": "\"{{username}}\" аккаунты байланған",
"save_changes": "Өзгерістерді сақтау",
"changes_saved": "Өзгерістер сәтті сақталды",
"download_sources_description": "Hydra осы көздерден жүктеу сілтемелерін алады. URL-да жүктеу сілтемелері бар .json файлына тікелей сілтеме болуы керек.",
@ -176,9 +175,6 @@
"download_count_zero": "Жүктеулер тізімінде жоқ",
"download_count_one": "{{countFormatted}} жүктеу тізімде",
"download_count_other": "{{countFormatted}} жүктеу тізімде",
"download_options_zero": "Қолжетімді жүктеулер жоқ",
"download_options_one": "{{countFormatted}} жүктеу нұсқасы қол жетімді",
"download_options_other": "{{countFormatted}} жүктеу нұсқалары қол жетімді",
"download_source_url": "Көздің сілтемесі",
"add_download_source_description": ".json файлға сілтемені қойыңыз",
"download_source_up_to_date": "Жаңартылған",
@ -224,7 +220,7 @@
"last_time_played": "Соңғы ойын {{period}}",
"activity": "Соңғы әрекет",
"library": "Кітапхана",
"total_play_time": "Барлығы ойнаған: {{amount}}",
"total_play_time": "Барлығы ойнаған",
"no_recent_activity_title": "Хммм... Мұнда ештеңе жоқ",
"no_recent_activity_description": "Сіз ұзақ уақыт бойы ештеңе ойнаған жоқсыз. Мұны өзгерту керек!",
"display_name": "Көрсету аты",

View File

@ -2,7 +2,6 @@
"language_name": "한국어",
"home": {
"featured": "추천",
"trending": "인기",
"surprise_me": "무작위 추천",
"no_results": "결과 없음"
},
@ -111,7 +110,7 @@
"general": "일반",
"behavior": "행동",
"enable_real_debrid": "Real-Debrid 활성화",
"real_debrid_api_token_hint": "API 키를 <0>이곳</0>에서 얻으세요.",
"debrid_api_token_hint": "API 키를 <0>이곳</0>에서 얻으세요.",
"save_changes": "변경 사항 저장"
},
"notifications": {

View File

@ -0,0 +1,315 @@
{
"language_name": "Norsk Bokmål",
"app": {
"successfully_signed_in": "Logget inn vellykket"
},
"home": {
"featured": "Anbefalinger",
"surprise_me": "Overrask meg",
"no_results": "Ingen resultater fundet",
"start_typing": "Begynn å skrive for å søke...",
"hot": "Populært akkurat nå",
"weekly": "📅 De mest populære spillene denne uken"
},
"sidebar": {
"catalogue": "Katalog",
"downloads": "Nedlastinger",
"settings": "Innstillinger",
"my_library": "Mitt bibliotek",
"downloading_metadata": "{{title}} (Laster ned metadata…)",
"paused": "{{title}} (Satt på pause)",
"downloading": "{{title}} ({{percentage}} - Laster ned…)",
"filter": "Filtrér bibliotek",
"home": "Hjem",
"queued": "{{title}} (I køen)",
"game_has_no_executable": "Spillet har ikke noen kjørbar fil valgt",
"sign_in": "Logge inn",
"friends": "Venner"
},
"header": {
"search": "Søk efter spill",
"home": "Hjem",
"catalogue": "Katalog",
"downloads": "Nedlastinger",
"search_results": "Søkeresultater",
"settings": "Innstillinger",
"version_available_install": "Versjon {{version}} tilgjengelig. Klikk her for å gjenstarte og installere.",
"version_available_download": "Versjon {{version}} tilgjengelig. Klikk her for at laste ned."
},
"bottom_panel": {
"no_downloads_in_progress": "Ingen nedlastinger pågår",
"downloading_metadata": "Laster ned {{title}} metadata…",
"downloading": "Laster ned {{title}}… ({{percentage}} ferdig) - Fullstendig nedlastet {{eta}} - {{speed}}",
"calculating_eta": "Laster ned {{title}}… ({{percentage}} ferdig) - Regner ut resterende tid…",
"checking_files": "Sjekker {{title}} filer… ({{percentage}} ferdig)"
},
"catalogue": {
"next_page": "Neste side",
"previous_page": "Forrige side"
},
"game_details": {
"open_download_options": "Åpne nedlastingsmuligheter",
"download_options_zero": "Ingen nedlastingsmulighet",
"download_options_one": "{{count}} nedlastingsmulighet",
"download_options_other": "{{count}} nedlastingsmuligheter",
"updated_at": "Oppdatert {{updated_at}}",
"install": "Installere",
"resume": "Fortsett",
"pause": "Pause",
"cancel": "Kansellere",
"remove": "Fjern",
"space_left_on_disk": "{{space}} tilbake på harddisken",
"eta": "Konklusjon {{eta}}",
"calculating_eta": "Utregner resterende tid…",
"downloading_metadata": "Laster ned metadata…",
"filter": "Filtrér gjennpakkinger",
"requirements": "Systemkrav",
"minimum": "Mindste",
"recommended": "Anbefalet",
"paused": "Satt på pause",
"release_date": "Offentliggjort den {{date}}",
"publisher": "Gitt ut av {{publisher}}",
"hours": "timer",
"minutes": "minutter",
"amount_hours": "{{amount}} timer",
"amount_minutes": "{{amount}} minutter",
"accuracy": "{{accuracy}}% nøyaktighet",
"add_to_library": "Tilføy til biblioteket",
"remove_from_library": "Fjern fra biblioteket",
"no_downloads": "Ingen nedlastinger tilgjengelig",
"play_time": "Spilt i {{amount}}",
"last_time_played": "Sist spilt {{period}}",
"not_played_yet": "Du har ikke spilt {{title}} enda",
"next_suggestion": "Neste forslag",
"play": "Spil",
"deleting": "Sletter installatør…",
"close": "Lukk",
"playing_now": "Spiller nå",
"change": "Endre",
"repacks_modal_description": "Velg den gjennpakking du vil laste ned",
"select_folder_hint": "For å endre standard mappen, gå til <0>Innstillingene</0>",
"download_now": "Last ned nå",
"no_shop_details": "Kunne ikke modta butikksdetaljene.",
"download_options": "Nedlastingsmuligheter",
"download_path": "Nedlastingssti",
"previous_screenshot": "Forrige skjermbilde",
"next_screenshot": "Neste skjermbilde",
"screenshot": "Skjermbilde {{number}}",
"open_screenshot": "Åpen skjermbilde {{number}}",
"download_settings": "Nedlastingsinnstillinger",
"downloader": "Laster ned",
"select_executable": "Velg",
"no_executable_selected": "Ingen kjørbar fil valgt",
"open_folder": "Åpne mappe",
"open_download_location": "Se nedlastingede filer",
"create_shortcut": "Opprett snarvei på skrivebordet",
"remove_files": "Fjern filer",
"remove_from_library_title": "Er du sikker?",
"remove_from_library_description": "Dette vil fjerne {{game}} fra biblioteket ditt",
"options": "Valgmuligheter",
"executable_section_title": "Kjørbar fil",
"executable_section_description": "Sti til filen som skal brukes når det trykkes på \"Spill\"",
"downloads_secion_title": "Nedlastinger",
"downloads_section_description": "Sjekk for oppdateringer eller andre versjoner af dette spillet",
"danger_zone_section_title": "Faresonen",
"danger_zone_section_description": "Fjern dette spillet fra biblioteket ditt eller filene som har blitt lastet ned av Hydra",
"download_in_progress": "Nedlasting pågår",
"download_paused": "Nedlasting satt på pause",
"last_downloaded_option": "Siste nedlastingsmulighet",
"create_shortcut_success": "Opprettelse av snarvei vellykket",
"create_shortcut_error": "Feil under oprettelsen av snarvei",
"nsfw_content_title": "Dette spillet inneholder upassende innhold",
"nsfw_content_description": "{{title}} inneholder innhold som ikke passer til alle aldre. Er du sikker på at du vil fortsette?",
"allow_nsfw_content": "Fortsett",
"refuse_nsfw_content": "Gå tilbake",
"stats": "Statistikk",
"download_count": "Nedlastinger",
"player_count": "Aktive spillere",
"download_error": "Denne nedlastingsmulighet er ikke tilgjengelig",
"download": "Last ned",
"executable_path_in_use": "Kjørbar fil blir allerede brukt av \"{{game}}\"",
"warning": "Advarsel:",
"hydra_needs_to_remain_open": "Hydra skal forbli åpent for at denne nedlastingen kan gjennomføres. I tilfelle av at Hydra lukker før nedlastingen er ferdig, mister du fremskrittet ditt."
},
"activation": {
"title": "Aktivér Hydra",
"installation_id": "Installasjons ID:",
"enter_activation_code": "Inntast aktiveringskoden din",
"message": "Hvis du ikke vet hvor du skal spørre om dette, burde du ikke ha dette.",
"activate": "Aktivér",
"loading": "Innleser…"
},
"downloads": {
"resume": "Fortsett",
"pause": "Pause",
"eta": "Konklusjon {{eta}}",
"paused": "Satt på pause",
"verifying": "Verifiserer…",
"completed": "Ferdig",
"removed": "Ikke lastet ned",
"cancel": "Kansellér",
"filter": "Filtrér nedlastede spill",
"remove": "Fjern",
"downloading_metadata": "Laster ned metadata…",
"deleting": "Sletter installatør…",
"delete": "Fjern installatør",
"delete_modal_title": "Er du sikker?",
"delete_modal_description": "Dette vil fjerne alle installasjonsfilene fra datamaskinen din",
"install": "Installér",
"download_in_progress": "Pågår",
"queued_downloads": "Nedlastingskø",
"downloads_completed": "Gjennomførte",
"queued": "I kø",
"no_downloads_title": "Ganske tomt",
"no_downloads_description": "Du har ikke lastet ned noe med Hydra enda, men det er aldri for sent å begynne.",
"checking_files": "Undersøker filer…"
},
"settings": {
"downloads_path": "Nedlastingssti",
"change": "Oppdater",
"notifications": "Notifikasjoner",
"enable_download_notifications": "Når en nedlasting blir ferdig",
"enable_repack_list_notifications": "Når en ny gjennpakking bliver lagt til",
"real_debrid_api_token_label": "Real-Debrid API nøkkel",
"quit_app_instead_hiding": "Avslut Hydra i stedet for å minimere til prosesslinjen",
"launch_with_system": "Åpne Hydra ved oppstart av datamaskinen",
"general": "Generelt",
"behavior": "Oppførsel",
"download_sources": "Nedlastingskilder",
"language": "Språk",
"api_token": "API nøkkel",
"enable_real_debrid": "Slå på Real-Debrid",
"real_debrid_description": "Real-Debrid er en ubegrenset nedlaster som gør det mulig for deg å laste ned filer med en gang og med den beste utnyttelsen av internethastigheten din.",
"debrid_invalid_token": "Ugyldig API nøkkel",
"debrid_api_token_hint": "Du kan få API nøkkelen din <0>her</0>",
"real_debrid_free_account_error": "Brukeren \"{{username}}\" er en gratis bruker. Vennligst abboner på Real-Debrid",
"debrid_linked_message": "Brukeren \"{{username}}\" er forbunnet",
"save_changes": "Lagre endringer",
"changes_saved": "Lagring av endringer vellykket",
"download_sources_description": "Hydra vil hente nedlastingslenker fra disse kildene. Kilde URLen skal være en direkte lenke til en .json fil som inneholder nedlastingslenkene.",
"validate_download_source": "Validér",
"remove_download_source": "Fjern",
"add_download_source": "Legg til kilde",
"download_count_zero": "Ingen nedlastingsmuligheter",
"download_count_one": "{{countFormatted}} nedlastingsmulighet",
"download_count_other": "{{countFormatted}} nedlastingsmuligheter",
"download_source_url": "Last ned kilde URL",
"add_download_source_description": "Sett inn URLen som inneholder .json filen",
"download_source_up_to_date": "Oppdatert",
"download_source_errored": "Mislyktes",
"sync_download_sources": "Synkroniser kilder",
"removed_download_source": "Nedlastingskilde fjernet",
"added_download_source": "La til Nedlastingskilde",
"download_sources_synced": "Alle nedlastingskilder er synkroniserte",
"insert_valid_json_url": "Innsett en gyldig JSON url",
"found_download_option_zero": "Ingen nedlastingsmulighet funnet",
"found_download_option_one": "Fant {{countFormatted}} nedlastingsmulighet",
"found_download_option_other": "Fant {{countFormatted}} nedlastingsmuligheter",
"import": "Importer",
"public": "Offentlig",
"private": "Privat",
"friends_only": "Kun blant venner",
"privacy": "Privatliv",
"profile_visibility": "Synlighet av profil",
"profile_visibility_description": "Velg hvem som kan se profilen din og biblioteket ditt",
"required_field": "Dette feltet er påkrevet",
"source_already_exists": "Denne kilden har allerede blitt lagt til",
"must_be_valid_url": "Kilden må være en gyldig URL",
"blocked_users": "Blokerte brukere",
"user_unblocked": "Brukeren har blit avblokert"
},
"notifications": {
"download_complete": "Nedlasting ferdig",
"game_ready_to_install": "{{title}} er klar til å bli installert",
"repack_list_updated": "Gjennpakkingslisten er opdateret",
"repack_count_one": "{{count}} gjennpakking lagt til",
"repack_count_other": "{{count}} gjennpakkinger lagt til",
"new_update_available": "Versjon {{version}} tilgjengelig",
"restart_to_install_update": "Gjenstart Hydra for å installere oppdateringen"
},
"system_tray": {
"open": "Åpne Hydra",
"quit": "Avslutt"
},
"game_card": {
"no_downloads": "Ingen nedlastinger tilgjengelig"
},
"binary_not_found_modal": {
"title": "Programmer ikke installert",
"description": "Wine eller Lutris kjørbar ble ikke funnet på systemet ditt",
"instructions": "Sjekk den korrekte måten å installere noen av de, på Linux distributionen din, så spillet kan kjøre på vanlig måte"
},
"modal": {
"close": "Lukk knapp"
},
"forms": {
"toggle_password_visibility": "Skift synlighet af passord"
},
"user_profile": {
"amount_hours": "{{amount}} timer",
"amount_minutes": "{{amount}} minutter",
"last_time_played": "Sist spilt {{period}}",
"activity": "Seneste aktivitet",
"library": "Bibliotek",
"total_play_time": "Samlet spilltid",
"no_recent_activity_title": "Hmmm… ikke noe her",
"no_recent_activity_description": "Du har ikke spilt noen spill for på det seneste. Det er det på tide at endre på!",
"display_name": "Brukernavn",
"saving": "Lagrer",
"save": "Lagre",
"edit_profile": "Rediger Profil",
"saved_successfully": "Lagring vellykket",
"try_again": "Vennligst, prøv igjen",
"sign_out_modal_title": "Er du sikker?",
"cancel": "Kansellér",
"successfully_signed_out": "Utlogging vellykket",
"sign_out": "Log ut",
"playing_for": "Spiller i {{amount}}",
"sign_out_modal_text": "Biblioteket ditt er sammenkobelt med den nåverende brukeren. Når du logger ut er biblioteket ditt ikke synlig lenger, og hvilken som helst form for fremskritt bliver ikke lagret. Vil du fortsette med å logge ut?",
"add_friends": "Legg til venner",
"add": "Legg til",
"friend_code": "Vennekode",
"see_profile": "Se profil",
"sending": "Sender",
"friend_request_sent": "Venneforespørsel sendt",
"friends": "Venner",
"friends_list": "Venneliste",
"user_not_found": "Bruker ikke funnet",
"block_user": "Blokkere bruker",
"add_friend": "Legg til venn",
"request_sent": "Forespørsel sendt",
"request_received": "Forespørsel modtatt",
"accept_request": "Akseptere forespørsel",
"ignore_request": "Ignorere forespørsel",
"cancel_request": "Kansellre forespørsel",
"undo_friendship": "Angre venskab",
"request_accepted": "Forespørsel akseptert",
"user_blocked_successfully": "Blokkering av bruker vellykket",
"user_block_modal_text": "Dette blokerer {{displayName}}",
"blocked_users": "Blokerte brukere",
"unblock": "Avblokere",
"no_friends_added": "Du har fortsatt ikke lagt til noen venner",
"pending": "Avventer",
"no_pending_invites": "Du har ingen avventende invitasjoner",
"no_blocked_users": "Du har ingen blokerte brukere",
"friend_code_copied": "Vennekode kopiert",
"undo_friendship_modal_text": "Dette vil angre venskapet ditt med {{displayName}}",
"privacy_hint": "For å justere på hvem som kan se dette, gå til <0>Innstillingene</0>",
"locked_profile": "Denne profilen er privat",
"image_process_failure": "Mislyktes under håndteringen av bildet",
"required_field": "Dette feltet er påkrevet",
"displayname_min_length": "Brukernavnet skal være minst 3 karakterer langt",
"displayname_max_length": "Brukernavnet skal være maksimalt 50 karakterer langt",
"report_profile": "Rapportér denne profilen",
"report_reason": "Hvorfor rapportérer du denne profilen?",
"report_description": "Mer informasjon",
"report_description_placeholder": "Mer informasjon",
"report": "Rapportér",
"report_reason_hate": "Hatytringer",
"report_reason_sexual_content": "Seksuelt innhold",
"report_reason_violence": "Vold",
"report_reason_spam": "Spam",
"report_reason_other": "Annet",
"profile_reported": "Profil rapportert"
}
}

View File

@ -2,7 +2,6 @@
"language_name": "Nederlands",
"home": {
"featured": "Uitgelicht",
"trending": "Trending",
"surprise_me": "Verrasing",
"no_results": "Geen resultaten gevonden"
},
@ -112,7 +111,7 @@
"general": "Algemeen",
"behavior": "Gedrag",
"enable_real_debrid": "Enable Real-Debrid",
"real_debrid_api_token_hint": "U kunt uw API-sleutel <0>hier</0> verkrijgen.",
"debrid_api_token_hint": "U kunt uw API-sleutel <0>hier</0> verkrijgen.",
"save_changes": "Wijzigingen opslaan"
},
"notifications": {

View File

@ -2,7 +2,6 @@
"language_name": "Polski",
"home": {
"featured": "Wyróżnione",
"trending": "Trendujące",
"surprise_me": "Zaskocz mnie",
"no_results": "Nie znaleziono wyników"
},
@ -120,7 +119,7 @@
"behavior": "Zachowania",
"language": "Język",
"enable_real_debrid": "Włącz Real-Debrid",
"real_debrid_api_token_hint": "Możesz uzyskać swój klucz API <0>tutaj</0>",
"debrid_api_token_hint": "Możesz uzyskać swój klucz API <0>tutaj</0>",
"save_changes": "Zapisz zmiany"
},
"notifications": {

View File

@ -5,9 +5,9 @@
},
"home": {
"featured": "Destaques",
"trending": "Populares",
"hot": "🔥 Populares agora",
"hot": "Populares",
"weekly": "📅 Mais baixados da semana",
"achievements": "🏆 Pra platinar",
"surprise_me": "Surpreenda-me",
"no_results": "Nenhum resultado encontrado",
"start_typing": "Comece a digitar para pesquisar…"
@ -25,7 +25,8 @@
"queued": "{{title}} (Na fila)",
"game_has_no_executable": "Jogo não possui executável selecionado",
"sign_in": "Login",
"friends": "Amigos"
"friends": "Amigos",
"need_help": "Precisa de ajuda?"
},
"header": {
"search": "Buscar jogos",
@ -126,7 +127,57 @@
"download": "Baixar",
"executable_path_in_use": "Executável em uso por \"{{game}}\"",
"warning": "Aviso:",
"hydra_needs_to_remain_open": "para este download, o Hydra precisa ficar aberto até a conclusão. Caso o Hydra encerre antes da conclusão, perderá seu progresso."
"hydra_needs_to_remain_open": "para este download, o Hydra precisa ficar aberto até a conclusão. Caso o Hydra encerre antes da conclusão, perderá seu progresso.",
"achievements": "Conquistas",
"achievements_count": "Conquistas ({{unlockedCount}}/{{achievementsCount}})",
"cloud_save": "Salvamento em nuvem",
"cloud_save_description": "Mantenha seu progresso na nuvem e continue de onde parou em qualquer dispositivo",
"backups": "Backups",
"install_backup": "Restaurar",
"delete_backup": "Apagar",
"create_backup": "Novo backup",
"last_backup_date": "Último backup em {{date}}",
"no_backup_preview": "Não foi possível encontrar nenhum salvamento para este jogo",
"restoring_backup": "Restaurando backup ({{progress}} concluído)…",
"uploading_backup": "Criando backup…",
"no_backups": "Você ainda não fez nenhum backup deste jogo",
"backup_uploaded": "Backup criado",
"backup_deleted": "Backup apagado",
"backup_restored": "Backup restaurado",
"see_all_achievements": "Ver todas as conquistas",
"sign_in_to_see_achievements": "Faça login para ver as conquistas",
"mapping_method_automatic": "Automático",
"mapping_method_manual": "Manual",
"mapping_method_label": "Método de mapeamento",
"files_automatically_mapped": "Arquivos automaticamente mapeados",
"no_backups_created": "Nenhum backup criado para este jogo",
"manage_files": "Gerenciar arquivos",
"loading_save_preview": "Buscando por arquivos de salvamento…",
"wine_prefix": "Prefixo Wine",
"wine_prefix_description": "O prefixo Wine que foi utilizado para instalar o jogo",
"launch_options": "Opções de Inicialização",
"launch_options_description": "Usuários avançados podem adicionar opções de inicialização no jogo (experimental)",
"launch_options_placeholder": "Nenhum parâmetro informado",
"no_download_option_info": "Sem informações disponíveis",
"backup_deletion_failed": "Falha ao apagar backup",
"max_number_of_artifacts_reached": "Número máximo de backups atingido para este jogo",
"achievements_not_sync": "Veja como exibir suas conquistas no perfil",
"backup_from": "Backup de {{date}}",
"custom_backup_location_set": "Localização customizada selecionada",
"select_folder": "Selecione a pasta",
"manage_files_description": "Gerencie quais arquivos serão feitos backup",
"clear": "Limpar",
"no_directory_selected": "Nenhum diretório selecionado",
"reset_achievements": "Resetar conquistas",
"reset_achievements_description": "Isso irá resetar todas as conquistas de {{game}}",
"reset_achievements_title": "Tem certeza?",
"reset_achievements_success": "Conquistas resetadas com sucesso",
"reset_achievements_error": "Falha ao resetar conquistas",
"no_write_permission": "Não é possível baixar nesse diretório. Clique aqui para saber mais.",
"download_error_gofile_quota_exceeded": "Você excedeu sua cota mensal do Gofile. Por favor, aguarde a cota resetar.",
"download_error_real_debrid_account_not_authorized": "Sua conta do Real-Debrid não está autorizada a fazer novos downloads. Por favor, verifique sua assinatura e tente novamente.",
"download_error_not_cached_in_real_debrid": "Este download não está disponível no Real-Debrid e a verificação do status do download não está disponível.",
"download_error_not_cached_in_torbox": "Este download não está disponível no Torbox e a verificação do status do download não está disponível."
},
"activation": {
"title": "Ativação",
@ -155,11 +206,15 @@
"install": "Instalar",
"download_in_progress": "Baixando agora",
"queued_downloads": "Na fila",
"downloads_completed": "Completo",
"downloads_completed": "Concluído",
"queued": "Na fila",
"no_downloads_title": "Nada por aqui…",
"no_downloads_description": "Você ainda não baixou nada pelo Hydra, mas nunca é tarde para começar.",
"checking_files": "Verificando arquivos…"
"checking_files": "Verificando arquivos…",
"seeding": "Semeando",
"stop_seeding": "Parar de semear",
"resume_seeding": "Semear",
"options": "Gerenciar"
},
"settings": {
"downloads_path": "Diretório dos downloads",
@ -168,19 +223,19 @@
"enable_download_notifications": "Quando um download for concluído",
"enable_repack_list_notifications": "Quando a lista de repacks for atualizada",
"real_debrid_api_token_label": "Token de API do Real-Debrid",
"quit_app_instead_hiding": "Encerrar o Hydra em vez de apenas minimizá-lo ao fechar.",
"quit_app_instead_hiding": "Encerrar o Hydra em vez de apenas minimizá-lo ao fechar",
"launch_with_system": "Iniciar o Hydra junto com o sistema",
"general": "Geral",
"behavior": "Comportamento",
"download_sources": "Fontes de download",
"language": "Idioma",
"real_debrid_api_token": "Token de API",
"api_token": "Token de API",
"enable_real_debrid": "Habilitar Real-Debrid",
"real_debrid_api_token_hint": "Você pode obter seu token de API <0>aqui</0>",
"debrid_api_token_hint": "Você pode obter seu token de API <0>aqui</0>",
"real_debrid_description": "O Real-Debrid é um downloader sem restrições que permite baixar arquivos instantaneamente e com a melhor velocidade da sua Internet.",
"real_debrid_invalid_token": "Token de API inválido",
"debrid_invalid_token": "Token de API inválido",
"real_debrid_free_account_error": "A conta \"{{username}}\" é uma conta gratuita. Por favor, assine a Real-Debrid",
"real_debrid_linked_message": "Conta \"{{username}}\" vinculada",
"debrid_linked_message": "Conta \"{{username}}\" vinculada",
"save_changes": "Salvar mudanças",
"changes_saved": "Ajustes salvos com sucesso",
"download_sources_description": "Hydra vai buscar links de download em todas as fontes habilitadas. A URL da fonte deve ser um link direto para um arquivo .json contendo uma lista de links.",
@ -190,9 +245,6 @@
"download_count_zero": "Sem downloads na lista",
"download_count_one": "{{countFormatted}} download na lista",
"download_count_other": "{{countFormatted}} downloads na lista",
"download_options_zero": "Sem downloads disponíveis",
"download_options_one": "{{countFormatted}} download disponível",
"download_options_other": "{{countFormatted}} downloads disponíveis",
"download_source_url": "URL da fonte",
"add_download_source_description": "Insira a URL contendo o arquivo .json",
"download_source_up_to_date": "Sincronizada",
@ -216,7 +268,32 @@
"source_already_exists": "Essa fonte já foi adicionada",
"must_be_valid_url": "A fonte deve ser uma URL válida",
"blocked_users": "Usuários bloqueados",
"user_unblocked": "Usuário desbloqueado"
"user_unblocked": "Usuário desbloqueado",
"enable_achievement_notifications": "Quando uma conquista é desbloqueada",
"launch_minimized": "Iniciar o Hydra minimizado",
"disable_nsfw_alert": "Desativar alerta de conteúdo inapropriado",
"seed_after_download_complete": "Semear após a conclusão do download",
"show_hidden_achievement_description": "Mostrar descrição de conquistas ocultas antes de debloqueá-las",
"account": "Conta",
"no_users_blocked": "Você não bloqueou nenhum usuário",
"subscription_active_until": "Sua assinatura Hydra Cloud ficará ativa até {{date}}",
"manage_subscription": "Gerenciar assinatura",
"update_email": "Atualizar email",
"update_password": "Atualizar senha",
"current_email": "Email atual:",
"no_email_account": "Você ainda não adicionou um email a sua conta",
"account_data_updated_successfully": "Dados da conta atualizados com sucesso",
"renew_subscription": "Renovar Hydra Cloud",
"subscription_expired_at": "Sua assinatura expirou em {{date}}",
"no_subscription": "Aproveite o Hydra da melhor forma possível",
"become_subscriber": "Seja Hydra Cloud",
"subscription_renew_cancelled": "A renovação automática está desativada",
"subscription_renews_on": "Sua assinatura renova dia {{date}}",
"bill_sent_until": "Sua próxima cobrança será enviada até esse dia",
"enable_torbox": "Habilitar Torbox",
"torbox_description": "TorBox é o seu serviço de seedbox premium que rivaliza até com os melhores servidores do mercado.",
"torbox_account_linked": "Conta do TorBox vinculada",
"real_debrid_account_linked": "Conta Real-Debrid associada"
},
"notifications": {
"download_complete": "Download concluído",
@ -240,8 +317,15 @@
"instructions": "Verifique a forma correta de instalar algum deles no seu distro Linux, garantindo assim a execução normal do jogo"
},
"catalogue": {
"next_page": "Próxima página",
"previous_page": "Página anterior"
"search": "Filtrar…",
"developers": "Desenvolvedores",
"genres": "Gêneros",
"tags": "Marcadores",
"publishers": "Distribuidoras",
"download_sources": "Fontes de download",
"result_count": "{{resultCount}} resultados",
"filter_count": "{{filterCount}} disponíveis",
"clear_filters": "Limpar {{filterCount}} selecionados"
},
"modal": {
"close": "Botão de fechar"
@ -255,7 +339,7 @@
"last_time_played": "Última sessão {{period}}",
"activity": "Atividades recentes",
"library": "Biblioteca",
"total_play_time": "Tempo total de jogo: {{amount}}",
"total_play_time": "Tempo total de jogo",
"no_recent_activity_title": "Hmmm… nada por aqui",
"no_recent_activity_description": "Parece que você não jogou nada recentemente. Que tal começar agora?",
"display_name": "Nome de exibição",
@ -299,7 +383,6 @@
"friend_code_copied": "Código de amigo copiado",
"undo_friendship_modal_text": "Isso irá remover sua amizade com {{displayName}}",
"privacy_hint": "Pra controlar quem pode ver seu perfil, acesse a <0>Tela de Configurações</0>",
"profile_locked": "Este perfil é privado",
"image_process_failure": "Falha ao processar a imagem",
"required_field": "Este campo é obrigatório",
"displayname_min_length": "Nome de exibição deve ter pelo menos 3 caracteres",
@ -315,6 +398,47 @@
"report_reason_violence": "Violência",
"report_reason_spam": "Spam",
"report_reason_other": "Outro",
"profile_reported": "Perfil reportado"
"profile_reported": "Perfil reportado",
"your_friend_code": "Seu código de amigo:",
"upload_banner": "Carregar banner",
"uploading_banner": "Carregando banner…",
"background_image_updated": "Imagem de fundo salva",
"stats": "Estatísticas",
"achievements": "conquistas",
"games": "Jogos",
"ranking_updated_weekly": "O ranking é atualizado semanalmente",
"playing": "Jogando {{game}}",
"achievements_unlocked": "Conquistas desbloqueadas",
"earned_points": "Pontos ganhos",
"show_achievements_on_profile": "Exiba suas conquistas no perfil",
"show_points_on_profile": "Exiba seus pontos ganhos no perfil"
},
"achievement": {
"achievement_unlocked": "Conquista desbloqueada",
"your_achievements": "Suas Conquistas",
"user_achievements": "Conquistas de {{displayName}}",
"unlocked_at": "Desbloqueada em: {{date}}",
"subscription_needed": "Você precisa de uma assinatura Hydra Cloud para visualizar este conteúdo",
"new_achievements_unlocked": "{{achievementCount}} novas conquistas de {{gameCount}} jogos",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} conquistas",
"achievements_unlocked_for_game": "Desbloqueadas {{achievementCount}} novas conquistas em {{gameTitle}}",
"hidden_achievement_tooltip": "Esta é uma conquista oculta",
"achievement_earn_points": "Ganhe {{points}} pontos com essa conquista",
"earned_points": "Pontos ganhos:",
"available_points": "Pontos disponíveis:",
"how_to_earn_achievements_points": "Como desbloquear pontos nas conquistas?"
},
"hydra_cloud": {
"subscription_tour_title": "Assinatura Hydra Cloud",
"hydra_cloud": "Hydra Cloud",
"subscribe_now": "Inscreva-se agora",
"cloud_achievements": "Salvamento de conquistas em nuvem",
"animated_profile_picture": "Fotos de perfil animadas",
"premium_support": "Suporte Premium",
"show_and_compare_achievements": "Exiba e compare suas conquistas com outros usuários",
"animated_profile_banner": "Banner animado no perfil",
"cloud_saving": "Saves de jogos em nuvem",
"hydra_cloud_feature_found": "Você descobriu uma funcionalidade Hydra Cloud!",
"learn_more": "Saiba mais"
}
}

View File

@ -5,10 +5,12 @@
},
"home": {
"featured": "Destaques",
"trending": "Populares",
"hot": "Populares",
"weekly": "📅 Mais descarregados esta semana",
"achievements": "🏆 Para completar",
"surprise_me": "Surpreende-me",
"no_results": "Nenhum resultado encontrado",
"start_typing": "Comece a digitar para pesquisar…"
"start_typing": "Começa a escrever para pesquisar…"
},
"sidebar": {
"catalogue": "Catálogo",
@ -16,13 +18,14 @@
"settings": "Definições",
"my_library": "Biblioteca",
"downloading_metadata": "{{title}} (A transferir metadados…)",
"paused": "{{title}} (Pausado)",
"paused": "{{title}} (Em pausa)",
"downloading": "{{title}} ({{percentage}} - A transferir…)",
"filter": "Procurar",
"home": "Início",
"queued": "{{title}} (Na fila)",
"game_has_no_executable": "Jogo não tem executável selecionado",
"sign_in": "Iniciar sessão"
"game_has_no_executable": "O jogo não tem um executável selecionado",
"sign_in": "Iniciar sessão",
"friends": "Amigos"
},
"header": {
"search": "Procurar jogos",
@ -31,8 +34,8 @@
"search_results": "Resultados da pesquisa",
"settings": "Definições",
"home": "Início",
"version_available_install": "Versão {{version}} disponível. Clique aqui para reiniciar e instalar.",
"version_available_download": "Versão {{version}} disponível. Clique aqui para fazer o download."
"version_available_install": "Versão {{version}} disponível. Clica aqui para reiniciar e instalar.",
"version_available_download": "Versão {{version}} disponível. Clica aqui para fazer o download."
},
"bottom_panel": {
"no_downloads_in_progress": "Sem transferências em andamento",
@ -47,19 +50,19 @@
"download_options_one": "{{count}} opção de transferência",
"download_options_other": "{{count}} opções de transferência",
"updated_at": "Atualizado a {{updated_at}}",
"resume": "Retomar",
"pause": "Pausar",
"resume": "Continuar",
"pause": "Colocar em pausa",
"cancel": "Cancelar",
"remove": "Remover",
"space_left_on_disk": "{{space}} livres no disco",
"eta": "Conclusão {{eta}}",
"calculating_eta": "A calcular tempo restante…",
"downloading_metadata": "A transferir metadados…",
"filter": "Filtrar repacks",
"filter": "Filtrar opções de transferência",
"requirements": "Requisitos do sistema",
"minimum": "Mínimos",
"recommended": "Recomendados",
"paused": "Pausado",
"paused": "Em pausa",
"release_date": "Lançado em {{date}}",
"publisher": "Publicado por {{publisher}}",
"hours": "horas",
@ -70,24 +73,24 @@
"add_to_library": "Adicionar à biblioteca",
"remove_from_library": "Remover da biblioteca",
"no_downloads": "Nenhuma transferência disponível",
"play_time": "Jogou por {{amount}}",
"play_time": "Jogaste por {{amount}}",
"next_suggestion": "Próxima sugestão",
"install": "Instalar",
"last_time_played": "Última sessão {{period}}",
"play": "Jogar",
"not_played_yet": "Ainda não jogou {{title}}",
"not_played_yet": "Ainda não jogaste {{title}}",
"close": "Fechar",
"deleting": "A eliminar instalador…",
"playing_now": "A jogar agora",
"change": "Explorar",
"repacks_modal_description": "Escolha o repack do jogo que deseja transferir",
"select_folder_hint": "Para trocar o diretório padrão, aceda à <0>Tela de Definições</0>",
"repacks_modal_description": "Escolhe a versão do jogo que desejas transferir",
"select_folder_hint": "Para alterar o local predefinido, acede às <0>Definições</0>",
"download_now": "Iniciar transferência",
"no_shop_details": "Não foi possível obter os detalhes da loja.",
"download_options": "Opções de transferência",
"download_path": "Diretório de transferência",
"download_path": "Local de transferência",
"previous_screenshot": "Captura de ecrã anterior",
"next_screenshot": "Próxima captura de ecrã",
"next_screenshot": "Captura de ecrã seguinte",
"screenshot": "Captura de ecrã {{number}}",
"open_screenshot": "Ver captura de ecrã {{number}}",
"download_settings": "Definições de transferência",
@ -99,126 +102,177 @@
"create_shortcut": "Criar atalho no ambiente de trabalho",
"remove_files": "Remover ficheiros",
"options": "Gerir",
"remove_from_library_description": "Isto irá remover {{game}} da sua biblioteca",
"remove_from_library_title": "Tem a certeza?",
"remove_from_library_description": "Isto vai remover {{game}} da tua biblioteca",
"remove_from_library_title": "Tens a certeza?",
"executable_section_title": "Executável",
"executable_section_description": "O caminho do ficheiro que será executado ao clicar em \"Jogar\"",
"executable_section_description": "O caminho do ficheiro que vai ser executado ao clicar em \"Jogar\"",
"downloads_secion_title": "Transferências",
"downloads_section_description": "Confira atualizações ou versões diferentes para este mesmo título",
"downloads_section_description": "Encontra atualizações ou versões diferentes para este mesmo título",
"danger_zone_section_title": "Zona de perigo",
"danger_zone_section_description": "Remova o jogo da sua biblioteca ou os ficheiros que foram transferidos pelo Hydra",
"danger_zone_section_description": "Remove o jogo da tua biblioteca ou os ficheiros que foram transferidos pelo Hydra",
"download_in_progress": "Transferência em andamento",
"download_paused": "Transferência pausada",
"download_paused": "Transferência em pausa",
"last_downloaded_option": "Última opção transferida",
"create_shortcut_success": "Atalho criado com sucesso",
"create_shortcut_error": "Erro ao criar atalho",
"nsfw_content_title": "Este jogo contém conteúdo inapropriado",
"nsfw_content_description": "{{title}} contém conteúdo que pode não ser apropriado para todas as idades. Desejas continuar?",
"allow_nsfw_content": "Continuar",
"refuse_nsfw_content": "Voltar",
"stats": "Estatísticas",
"download_count": "Transferências",
"player_count": "Jogadores ativos",
"download_error": "Esta opção de transferência falhou",
"download": "Transferir",
"executable_path_in_use": "Executável em uso por \"{{game}}\"",
"warning": "Aviso:",
"hydra_needs_to_remain_open": "para este download, o Hydra precisa ficar aberto até a conclusão. Caso o Hydra encerre antes da conclusão, perderá seu progresso."
"hydra_needs_to_remain_open": "para esta transferência, o Hydra precisa de ficar aberto até a conclusão. Caso o Hydra encerre antes da transferência terminar, vais perder o teu progresso.",
"achievements": "Conquistas",
"achievements_count": "Conquistas ({{unlockedCount}}/{{achievementsCount}})",
"cloud_save": "Gravação na nuvem",
"cloud_save_description": "Mantém o teu progresso guardado na nuvem e continua de onde paraste em qualquer dispositivo",
"backups": "Backups",
"install_backup": "Restaurar",
"delete_backup": "Apagar",
"create_backup": "Novo backup",
"last_backup_date": "Último backup realizado em {{date}}",
"no_backup_preview": "Não foi possível encontrar nenhum ficheiro de gravação para este jogo",
"restoring_backup": "A restaurar backup ({{progress}} concluído)…",
"uploading_backup": "A criar backup…",
"no_backups": "Ainda não fizeste nenhum backup deste jogo",
"backup_uploaded": "Backup criado",
"backup_deleted": "Backup apagado",
"backup_restored": "Backup restaurado",
"see_all_achievements": "Ver todas as conquistas",
"sign_in_to_see_achievements": "Faz login para vez as conquistas",
"mapping_method_automatic": "Automático",
"mapping_method_manual": "Manual",
"mapping_method_label": "Modo de mapeamento",
"files_automatically_mapped": "Ficheiros automaticamente mapeados",
"no_backups_created": "Nenhum backup criado para este jogo",
"manage_files": "Gerir ficheiros",
"loading_save_preview": "A procurar ficheiros de gravação…",
"wine_prefix": "Prefixo Wine",
"wine_prefix_description": "O prefixo Wine que foi utilizado para instalar o jogo",
"no_download_option_info": "Sem informações disponíveis",
"backup_deletion_failed": "Falha ao apagar o backup",
"max_number_of_artifacts_reached": "Número máximo de backups atingido para este jogo",
"achievements_not_sync": "As tuas conquistas não estão sincronizadas"
},
"activation": {
"title": "Ativação",
"installation_id": "ID da instalação:",
"enter_activation_code": "Insira o seu código de ativação",
"message": "Se não sabe onde conseguir o código, talvez não devesse estar aqui.",
"enter_activation_code": "Insere o teu código de ativação",
"message": "Se não souberes onde conseguir o código, talvez não devias estar aqui.",
"activate": "Ativar",
"loading": "A carregar…"
},
"downloads": {
"resume": "Retomar",
"pause": "Pausar",
"resume": "Continuar",
"pause": "Colocar em pausa",
"eta": "Conclusão {{eta}}",
"paused": "Pausado",
"paused": "Em pausa",
"verifying": "A verificar…",
"completed": "Concluído",
"removed": "Cancelado",
"cancel": "Cancelar",
"filter": "Filtrar jogos transferidos",
"filter": "Filtrar jogos descarregados",
"remove": "Remover",
"downloading_metadata": "A transferir metadados…",
"delete": "Remover instalador",
"delete_modal_description": "Isto removerá todos os ficheiros de instalação do seu computador",
"delete_modal_title": "Tem a certeza?",
"deleting": "A eliminar instalador…",
"delete_modal_description": "Isto vai remover todos os ficheiros de instalação do teu computador",
"delete_modal_title": "Tens a certeza?",
"deleting": "A remover o instalador…",
"install": "Instalar",
"download_in_progress": "A transferir agora",
"download_in_progress": "A descarregar agora",
"queued_downloads": "Na fila",
"downloads_completed": "Concluído",
"queued": "Na fila",
"no_downloads_title": "Nada por aqui…",
"no_downloads_description": "Ainda não transferiu nada pelo Hydra, mas nunca é tarde para começar.",
"no_downloads_description": "Ainda não descarregaste nada pelo Hydra, mas nunca é tarde para começar.",
"checking_files": "A verificar ficheiros…"
},
"settings": {
"downloads_path": "Diretório das transferências",
"change": "Explorar...",
"downloads_path": "Local das transferências",
"change": "Procurar...",
"notifications": "Notificações",
"enable_download_notifications": "Quando uma transferência for concluída",
"enable_repack_list_notifications": "Quando a lista de repacks for atualizada",
"real_debrid_api_token_label": "Token de API do Real-Debrid",
"quit_app_instead_hiding": "Encerrar o Hydra em vez de apenas minimizá-lo ao fechar.",
"quit_app_instead_hiding": "Encerrar o Hydra em vez de apenas minimizá-lo ao fechar",
"launch_with_system": "Iniciar o Hydra com o sistema",
"general": "Geral",
"behavior": "Comportamento",
"download_sources": "Fontes de transferência",
"language": "Idioma",
"real_debrid_api_token": "Token de API",
"api_token": "Token de API",
"enable_real_debrid": "Ativar Real-Debrid",
"real_debrid_api_token_hint": "Pode obter o seu token de API <0>aqui</0>",
"real_debrid_description": "O Real-Debrid é um downloader sem restrições que permite transferir ficheiros instantaneamente e com a melhor velocidade da sua Internet.",
"real_debrid_invalid_token": "Token de API inválido",
"real_debrid_free_account_error": "A conta \"{{username}}\" é uma conta gratuita. Por favor, subscreva o Real-Debrid",
"real_debrid_linked_message": "Conta \"{{username}}\" vinculada",
"debrid_api_token_hint": "Podes obter o teu token de API <0>aqui</0>",
"real_debrid_description": "O Real-Debrid é um downloader sem restrições que permite descarregar ficheiros instantaneamente e com a melhor velocidade da tua Internet.",
"debrid_invalid_token": "Token de API inválido",
"real_debrid_free_account_error": "A conta \"{{username}}\" é uma conta gratuita. Por favor, subscreve o Real-Debrid",
"debrid_linked_message": "Conta \"{{username}}\" associada",
"save_changes": "Guardar alterações",
"changes_saved": "Definições guardadas com sucesso",
"download_sources_description": "O Hydra vai procurar links de transferência em todas as fontes ativadas. A URL da página de detalhes da loja não é guardada no seu dispositivo. Utilizamos um sistema de metadados criado pela comunidade para fornecer suporte a mais fontes de transferência de jogos.",
"changes_saved": "Alterações guardadas com sucesso",
"download_sources_description": "O Hydra vai procurar links de download em todas as fontes ativadas. O URL da fonte deve ser um link direto para um ficheiro .json que contenha uma lista de links.",
"validate_download_source": "Validar",
"remove_download_source": "Remover",
"add_download_source": "Adicionar fonte",
"download_count_zero": "Sem transferências na lista",
"download_count_one": "{{countFormatted}} transferência na lista",
"download_count_other": "{{countFormatted}} transferências na lista",
"download_options_zero": "Sem transferências disponíveis",
"download_options_one": "{{countFormatted}} transferência disponível",
"download_options_other": "{{countFormatted}} transferências disponíveis",
"download_count_zero": "Sem downloads na lista",
"download_count_one": "{{countFormatted}} download na lista",
"download_count_other": "{{countFormatted}} downloads na lista",
"download_options_zero": "Sem downloads disponíveis",
"download_options_one": "{{countFormatted}} download disponível",
"download_options_other": "{{countFormatted}} downloads disponíveis",
"download_source_url": "URL da fonte",
"add_download_source_description": "Insira o URL contendo o arquivo .json",
"add_download_source_description": "Insere o URL que contém o ficheiro .json",
"download_source_up_to_date": "Sincronizada",
"download_source_errored": "Falhou",
"sync_download_sources": "Sincronizar",
"removed_download_source": "Fonte removida",
"added_download_source": "Fonte adicionada",
"download_sources_synced": "As fontes foram sincronizadas",
"insert_valid_json_url": "Insira o URL de um JSON válido",
"insert_valid_json_url": "Insere o URL de um JSON válido",
"found_download_option_zero": "Nenhuma opção de transferência encontrada",
"found_download_option_one": "{{countFormatted}} opção de transferência encontrada",
"found_download_option_other": "{{countFormatted}} opções de transferências encontradas",
"import": "Importar"
"found_download_option_other": "{{countFormatted}} opções de transferência encontradas",
"import": "Importar",
"privacy": "Privacidade",
"private": "Privado",
"friends_only": "Apenas amigos",
"public": "Público",
"profile_visibility": "Visibilidade do perfil",
"profile_visibility_description": "Escolhe quem pode ver o teu perfil e biblioteca",
"required_field": "Este campo é obrigatório",
"source_already_exists": "Essa fonte já foi adicionada",
"must_be_valid_url": "A fonte deve ser um URL válido",
"blocked_users": "Utilizadores bloqueados",
"user_unblocked": "Utilizador desbloqueado",
"enable_achievement_notifications": "Quando uma conquista é desbloqueada"
},
"notifications": {
"download_complete": "Transferência concluída",
"game_ready_to_install": "{{title}} está pronto para ser descarregado",
"game_ready_to_install": "{{title}} está pronto para ser instalado",
"repack_list_updated": "Lista de repacks atualizada",
"repack_count_one": "{{count}} novo repack",
"repack_count_other": "{{count}} novos repacks",
"new_update_available": "Versão {{version}} disponível",
"restart_to_install_update": "Reinicie o Hydra para instalar a nova versão"
"restart_to_install_update": "Reinicia o Hydra para instalar a nova versão"
},
"system_tray": {
"open": "Abrir Hydra",
"quit": "Fechar"
"open": "Abrir o Hydra",
"quit": "Sair"
},
"game_card": {
"no_downloads": "Sem transferências disponíveis"
"no_downloads": "Sem downloads disponíveis"
},
"binary_not_found_modal": {
"title": "Programas não instalados",
"description": "Os executáveis do Wine ou Lutris não foram encontrados em seu sistema.",
"instructions": "Verifique a forma correta de instalar algum deles na sua distro Linux, garantindo assim a execução normal do jogo."
"description": "Os executáveis do Wine ou Lutris não foram encontrados no teu sistema.",
"instructions": "Verifica a forma correta de instalar algum deles na tua distribuição Linux, para garantir a execução normal do jogo"
},
"catalogue": {
"next_page": "Próxima página",
"next_page": "Página seguinte",
"previous_page": "Página anterior"
},
"modal": {
@ -231,24 +285,24 @@
"amount_hours": "{{amount}} horas",
"amount_minutes": "{{amount}} minutos",
"last_time_played": "Última sessão {{period}}",
"activity": "Atividades recentes",
"activity": "Atividade recente",
"library": "Biblioteca",
"total_play_time": "Tempo total de jogo: {{amount}}",
"no_recent_activity_title": "Hmmm… nada por aqui",
"total_play_time": "Tempo total de jogo",
"no_recent_activity_title": "Hmmm… não há nada por aqui",
"no_recent_activity_description": "Parece que não jogaste nada recentemente. Que tal começar agora?",
"display_name": "Nome de exibição",
"saving": "a guardar…",
"display_name": "Nome de apresentação",
"saving": "A guardar…",
"save": "Guardar",
"edit_profile": "Editar perfil",
"saved_successfully": "Guardado com sucesso",
"try_again": "Por favor, tenta novamente",
"cancel": "Cancelar",
"successfully_signed_out": "Terminado com sucesso",
"successfully_signed_out": "Sessão terminada com sucesso",
"sign_out": "Terminar sessão",
"sign_out_modal_title": "Tens a certeza?",
"playing_for": "A jogar {{amount}}",
"sign_out_modal_text": "A tua biblioteca de jogos está associada com a tua conta atual. Ao sair, a tua biblioteca não aparecerá mais no Hydra e qualquer progresso não será guardado. Desejas continuar?",
"add_friends": "Adicionar Amigos",
"sign_out_modal_title": "Desejas mesmo terminar sessão?",
"playing_for": "A jogar por {{amount}}",
"sign_out_modal_text": "A tua biblioteca de jogos está associada à conta atual. Ao terminar sessão, a tua biblioteca não irá aparecer mais no Hydra e qualquer progresso não será guardado. Desejas continuar?",
"add_friends": "Adicionar amigos",
"friend_code": "Código de amigo",
"see_profile": "Ver perfil",
"friend_request_sent": "Pedido de amizade enviado",
@ -270,11 +324,49 @@
"user_block_modal_text": "Bloquear {{displayName}}",
"blocked_users": "Utilizadores bloqueados",
"unblock": "Desbloquear",
"no_friends_added": "Ainda não adicionaste amigos",
"no_friends_added": "Ainda não adicionaste nenhum amigo",
"pending": "Pendentes",
"no_pending_invites": "Não tens convites de amizade pendentes",
"no_pending_invites": "Não tens pedidos de amizade pendentes",
"no_blocked_users": "Não tens nenhum utilizador bloqueado",
"friend_code_copied": "Código de amigo copiado",
"image_process_failure": "Falha ao processar a imagem"
"undo_friendship_modal_text": "Isto vai remover a tua amizade com {{displayName}}",
"privacy_hint": "Para controlar quem pode ver o teu perfil, acede às <0>Definições</0>",
"profile_locked": "Este perfil é privado",
"image_process_failure": "Falha ao processar a imagem",
"required_field": "Este campo é obrigatório",
"displayname_min_length": "O nome de apresentação deve ter pelo menos 3 caracteres",
"displayname_max_length": "O nome de apresentação deve ter no máximo 50 caracteres",
"locked_profile": "Este perfil é privado",
"report_profile": "Denunciar este perfil",
"report_reason": "Por que é que desejas denunciar este perfil?",
"report_description": "Informações adicionais",
"report_description_placeholder": "Insere aqui",
"report": "Denunciar",
"report_reason_hate": "Discurso de ódio",
"report_reason_sexual_content": "Conteúdo sexual",
"report_reason_violence": "Violência",
"report_reason_spam": "Spam",
"report_reason_other": "Outro",
"profile_reported": "Perfil denunciado",
"your_friend_code": "O teu código de amigo:",
"upload_banner": "Fazer upload do banner",
"uploading_banner": "A fazer upload do banner…"
},
"achievement": {
"achievement_unlocked": "Conquista desbloqueada",
"your_achievements": "As tuas Conquistas",
"user_achievements": "Conquistas de {{displayName}}",
"unlocked_at": "Desbloqueada em: {{date}}",
"subscription_needed": "Precisas de uma subscrição Hydra Cloud para visualizar este conteúdo",
"new_achievements_unlocked": "{{achievementCount}} novas conquistas de {{gameCount}} jogos"
},
"hydra_cloud": {
"subscription_tour_title": "Subscrição Hydra Cloud",
"subscribe_now": "Subscreve agora",
"cloud_achievements": "Gravação de conquistas na nuvem",
"animated_profile_picture": "Fotos de perfil animadas",
"premium_support": "Apoio Premium",
"show_and_compare_achievements": "Mostra e compara as tuas conquistas com as de outros utilizadores",
"animated_profile_banner": "Banner animado no perfil"
}
}

View File

@ -2,7 +2,6 @@
"language_name": "Română",
"home": {
"featured": "Recomandate",
"trending": "Populare",
"surprise_me": "Surprinde-mă",
"no_results": "Niciun rezultat găsit"
},
@ -125,13 +124,13 @@
"general": "General",
"behavior": "Comportament",
"language": "Limbă",
"real_debrid_api_token": "Token API",
"api_token": "Token API",
"enable_real_debrid": "Activează Real-Debrid",
"real_debrid_description": "Real-Debrid este un descărcător fără restricții care îți permite să descarci fișiere instantaneu și la cea mai bună viteză a internetului tău.",
"real_debrid_invalid_token": "Token API invalid",
"real_debrid_api_token_hint": "Poți obține token-ul tău API <0>aici</0>",
"debrid_invalid_token": "Token API invalid",
"debrid_api_token_hint": "Poți obține token-ul tău API <0>aici</0>",
"real_debrid_free_account_error": "Contul \"{{username}}\" este un cont gratuit. Te rugăm să te abonezi la Real-Debrid",
"real_debrid_linked_message": "Contul \"{{username}}\" a fost legat",
"debrid_linked_message": "Contul \"{{username}}\" a fost legat",
"save_changes": "Salvează modificările",
"changes_saved": "Modificările au fost salvate cu succes"
},

View File

@ -4,13 +4,13 @@
"successfully_signed_in": "Успешный вход"
},
"home": {
"featured": "Рекомендованное",
"trending": "В тренде",
"featured": "Рекомендации",
"surprise_me": "Удиви меня",
"no_results": "Ничего не найдено",
"hot": "🔥 Сейчас жарко",
"start_typing": "Начинаю вводить текст для поиска...",
"weekly": "📅 Лучшие игры недели"
"hot": "Сейчас популярно",
"start_typing": "Начинаю вводить текст...",
"weekly": "📅 Лучшие игры недели",
"achievements": "🏆 Игры, в которых нужно победить"
},
"sidebar": {
"catalogue": "Каталог",
@ -20,12 +20,13 @@
"downloading_metadata": "{{title}} (Загрузка метаданных…)",
"paused": "{{title}} (Приостановлено)",
"downloading": "{{title}} ({{percentage}} - Загрузка…)",
"filter": "Фильтр библиотеки",
"filter": "Поиск",
"home": "Главная",
"queued": "{{title}} (В очереди)",
"game_has_no_executable": "Файл запуска игры не выбран",
"sign_in": "Войти",
"friends": "Друзья"
"friends": "Друзья",
"need_help": "Нужна помощь?"
},
"header": {
"search": "Поиск",
@ -45,14 +46,21 @@
"checking_files": "Проверка файлов {{title}}… ({{percentage}} завершено)"
},
"catalogue": {
"next_page": "Следующая страница",
"previous_page": "Предыдущая страница"
"search": "Фильтр…",
"developers": "Разработчики",
"genres": "Жанры",
"tags": "Маркеры",
"publishers": "Издательства",
"download_sources": "Источники загрузки",
"result_count": "{{resultCount}} результатов",
"filter_count": "{{filterCount}} доступных",
"clear_filters": "Очистить {{filterCount}} выбранных"
},
"game_details": {
"open_download_options": "Открыть варианты загрузки",
"download_options_zero": "Нет вариантов загрузки",
"download_options_one": "{{count}} вариант загрузки",
"download_options_other": "{{count}} вариантов загрузки",
"open_download_options": "Открыть источники",
"download_options_zero": "Нет источников",
"download_options_one": "{{count}} источник",
"download_options_other": "{{count}} источников",
"updated_at": "Обновлено {{updated_at}}",
"install": "Установить",
"resume": "Возобновить",
@ -63,7 +71,7 @@
"eta": "Окончание {{eta}}",
"calculating_eta": "Подсчёт оставшегося времени…",
"downloading_metadata": "Загрузка метаданных…",
"filter": "Фильтр репаков",
"filter": "Поиск репаков",
"requirements": "Системные требования",
"minimum": "Минимальные",
"recommended": "Рекомендуемые",
@ -77,7 +85,7 @@
"accuracy": "точность {{accuracy}}%",
"add_to_library": "Добавить в библиотеку",
"remove_from_library": "Удалить из библиотеки",
"no_downloads": "Нет доступных загрузок",
"no_downloads": "Нет доступных источников",
"play_time": "Сыграно {{amount}}",
"last_time_played": "Последний запуск {{period}}",
"not_played_yet": "Вы ещё не играли в {{title}}",
@ -91,7 +99,7 @@
"select_folder_hint": "Чтобы изменить папку загрузок по умолчанию, откройте <0>Настройки</0>",
"download_now": "Загрузить сейчас",
"no_shop_details": "Не удалось получить описание",
"download_options": "Вариантов загрузки",
"download_options": "Источники",
"download_path": "Путь для загрузок",
"previous_screenshot": "Предыдущий скриншот",
"next_screenshot": "Следующий скриншот",
@ -104,6 +112,7 @@
"open_folder": "Открыть папку",
"open_download_location": "Просмотреть папку загрузок",
"create_shortcut": "Создать ярлык на рабочем столе",
"clear": "Очистить",
"remove_files": "Удалить файлы",
"remove_from_library_title": "Вы уверены?",
"remove_from_library_description": "{{game}} будет удалена из вашей библиотеки.",
@ -113,22 +122,67 @@
"downloads_secion_title": "Загрузки",
"downloads_section_description": "Проверить наличие обновлений или других версий игры",
"danger_zone_section_title": "Опасная зона",
"danger_zone_section_description": "Удалить эту игру из вашей библиотеки или файлы скачанные Hydra",
"danger_zone_section_description": "Вы можете удалить эту игру из вашей библиотеки или файлы скачанные из Hydra",
"download_in_progress": "Идёт загрузка",
"download_paused": "Загрузка приостановлена",
"last_downloaded_option": "Последний вариант загрузки",
"create_shortcut_success": "Ярлык создан",
"create_shortcut_error": "Не удалось создать ярлык",
"allow_nsfw_content": "Продолжать",
"allow_nsfw_content": "Продолжить",
"download": "Скачать",
"download_count": "Загрузки",
"download_error": "Этот вариант загрузки недоступен",
"executable_path_in_use": "Исполняемый файл уже используется \"{{game}}\"",
"nsfw_content_description": "{{title}} содержит контент, который может не подходить для всех возрастов. \nВы уверены, что хотите продолжить?",
"nsfw_content_title": "Эта игра содержит неприемлемый контент",
"refuse_nsfw_content": "Назад",
"stats": "Статистика",
"player_count": "Активные игроки",
"refuse_nsfw_content": "Возвращаться",
"stats": "Статистика"
"warning": "Внимание:",
"hydra_needs_to_remain_open": "Для этой загрузки Hydra должна оставаться открытой до завершения. Если Hydra закроется до завершения, вы потеряете прогресс.",
"achievements": "Достижения",
"achievements_count": "Достижения {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Облачное сохранение",
"cloud_save_description": "Сохраняйте ваш прогресс в облаке и продолжайте играть на любом устройстве",
"backups": "Резервные копии",
"install_backup": "Установить",
"delete_backup": "Удалить",
"create_backup": "Создать новую резервную копию",
"last_backup_date": "Последняя резервная копия от {{date}}",
"no_backup_preview": "Сохранения для этого заголовка не найдены",
"restoring_backup": "Восстановление резервной копии ({{progress}} завершено)…",
"uploading_backup": "Загрузка резервной копии…",
"no_backups": "Вы еще не создали резервных копий для этой игры",
"backup_uploaded": "Резервная копия загружена",
"backup_deleted": "Резервная копия удалена",
"backup_restored": "Резервная копия восстановлена",
"see_all_achievements": "Просмотреть все достижения",
"sign_in_to_see_achievements": "Войдите, чтобы увидеть достижения",
"mapping_method_automatic": "Автоматическая",
"mapping_method_manual": "Ручная",
"mapping_method_label": "Метод сопоставления",
"files_automatically_mapped": "Файлы автоматически сопоставлены",
"no_backups_created": "Для этой игры не создано резервных копий",
"manage_files": "Управление файлами",
"loading_save_preview": "Поиск сохранений…",
"wine_prefix": "Префикс Wine",
"wine_prefix_description": "Префикс Wine, используемый для запуска этой игры",
"launch_options": "Параметры запуска",
"launch_options_description": "Опытные пользователи могут внести изменения в параметры запуска",
"launch_options_placeholder": "Параметр не указан ",
"no_download_option_info": "Информация недоступна",
"backup_deletion_failed": "Не удалось удалить резервную копию",
"max_number_of_artifacts_reached": "Достигнуто максимальное количество резервных копий для этой игры",
"achievements_not_sync": "Ваши достижения не синхронизированы",
"manage_files_description": "Управляйте файлами, которые будут сохраняться и восстанавливаться",
"select_folder": "Выбрать папку",
"backup_from": "Резервная копия от {{date}}",
"custom_backup_location_set": "Установлено настраиваемое местоположение резервной копии",
"no_directory_selected": "Не выбран каталог",
"no_write_permission": "Невозможно загрузить в эту директорию. Нажмите здесь, чтобы узнать больше.",
"reset_achievements_title": "Вы уверены?",
"reset_achievements_success": "Достижения успешно сброшены",
"reset_achievements_error": "Не удалось сбросить достижения"
},
"activation": {
"title": "Активировать Hydra",
@ -147,7 +201,7 @@
"completed": "Завершено",
"removed": "Не скачано",
"cancel": "Отмена",
"filter": "Фильтр загруженных игр",
"filter": "Поиск загруженных игр",
"remove": "Удалить",
"downloading_metadata": "Загрузка метаданных…",
"deleting": "Удаление установщика…",
@ -161,28 +215,35 @@
"queued": "В очереди",
"no_downloads_title": "Здесь так пусто...",
"no_downloads_description": "Вы ещё ничего не скачали через Hydra, но никогда не поздно начать.",
"checking_files": "Проверка файлов…"
"checking_files": "Проверка файлов…",
"seeding": "Раздача",
"stop_seeding": "Остановить раздачу",
"resume_seeding": "Продолжить раздачу",
"options": "Управлять"
},
"settings": {
"downloads_path": "Путь загрузок",
"change": "Изменить",
"notifications": "Уведомления",
"enable_download_notifications": "По завершении загрузки",
"enable_achievement_notifications": "Когда достижение разблокировано",
"enable_repack_list_notifications": "При добавлении нового репака",
"real_debrid_api_token_label": "Real-Debrid API-токен",
"quit_app_instead_hiding": "Закрывать приложение вместо сворачивания в трей",
"launch_with_system": "Запускать Hydra вместе с системой",
"launch_minimized": "Запустить Hydra в свернутом виде",
"disable_nsfw_alert": "Отключить предупреждение о непристойном контенте",
"general": "Основные",
"behavior": "Поведение",
"download_sources": "Источники загрузки",
"language": "Язык",
"real_debrid_api_token": "API Ключ",
"api_token": "API Ключ",
"enable_real_debrid": "Включить Real-Debrid",
"real_debrid_description": "Real-Debrid - это неограниченный загрузчик, который позволяет быстро скачивать файлы, размещенные в Интернете, или мгновенно передавать их в плеер через частную сеть, позволяющую обходить любые блокировки.",
"real_debrid_invalid_token": "Неверный API ключ",
"real_debrid_api_token_hint": "API ключ можно получить <0>здесь</0>",
"debrid_invalid_token": "Неверный API ключ",
"debrid_api_token_hint": "API ключ можно получить <0>здесь</0>",
"real_debrid_free_account_error": "Аккаунт \"{{username}}\" - не имеет подписки. Пожалуйста, оформите подписку на Real-Debrid",
"real_debrid_linked_message": "Привязан аккаунт \"{{username}}\"",
"debrid_linked_message": "Привязан аккаунт \"{{username}}\"",
"save_changes": "Сохранить изменения",
"changes_saved": "Изменения успешно сохранены",
"download_sources_description": "Hydra будет получать ссылки на загрузки из этих источников. URL должна содержать прямую ссылку на .json-файл с ссылками для загрузок.",
@ -196,7 +257,7 @@
"add_download_source_description": "Вставьте ссылку на .json-файл",
"download_source_up_to_date": "Обновлён",
"download_source_errored": "Ошибка",
"sync_download_sources": "Синхронизировать источники",
"sync_download_sources": "Обновить источники",
"removed_download_source": "Источник загрузок удален",
"added_download_source": "Источник загрузок добавлен",
"download_sources_synced": "Все источники загрузок синхронизированы",
@ -206,19 +267,34 @@
"found_download_option_other": "Найдено {{countFormatted}} вариантов загрузки",
"import": "Импортировать",
"blocked_users": "Заблокированные пользователи",
"download_options_one": "",
"download_options_other": "",
"download_options_zero": "",
"friends_only": "Только друзья",
"friends_only": "Только для друзей",
"must_be_valid_url": "Источник должен быть действительным URL-адресом.",
"privacy": "Конфиденциальность",
"private": "Частный",
"profile_visibility": "Видимость профиля",
"profile_visibility_description": "Выберите, кто может видеть ваш профиль и библиотеку",
"public": "Общественный",
"public": "Публичный",
"required_field": "Это поле обязательно к заполнению",
"source_already_exists": "Этот источник уже добавлен",
"user_unblocked": "Пользователь разблокирован"
"user_unblocked": "Пользователь разблокирован",
"seed_after_download_complete": "Раздавать после завершения загрузки",
"show_hidden_achievement_description": "Показывать описание скрытых достижений перед их получением",
"account": "Аккаунт",
"no_users_blocked": "У вас нет заблокированных пользователей",
"subscription_active_until": "Ваша подписка на Hydra Cloud активна до {{date}}",
"manage_subscription": "Управлять подпиской",
"update_email": "Обновить электронную почту",
"update_password": "Обновить пароль",
"current_email": "Текущий email:",
"no_email_account": "Вы еще не установили электронную почту",
"account_data_updated_successfully": "Данные учетной записи успешно обновлены",
"renew_subscription": "Обновить подписку Hydra Cloud",
"subscription_expired_at": "Срок действия вашей подписки истек в {{date}}",
"no_subscription": "Наслаждайтесь Hydra по максимуму",
"become_subscriber": "Станьте обладателем Hydra Cloud",
"subscription_renew_cancelled": "Автоматическое продление отключено",
"subscription_renews_on": "Ваша подписка продлевается на {{date}}",
"bill_sent_until": "Ваш следующий счет будет отправлен до этого дня"
},
"notifications": {
"download_complete": "Загрузка завершена",
@ -226,15 +302,17 @@
"repack_list_updated": "Список репаков обновлен",
"repack_count_one": "{{count}} репак добавлен",
"repack_count_other": "{{count}} репаков добавлено",
"new_update_available": "Доступна версия {{version}}",
"restart_to_install_update": "Перезапустите Hydra для установки обновления"
"new_update_available": "Доступна новая версия {{version}}",
"restart_to_install_update": "Перезапустите Hydra для установки обновления",
"notification_achievement_unlocked_title": "Достижение разблокировано для {{game}}",
"notification_achievement_unlocked_body": "были разблокированы {{achievement}} и другие {{count}}"
},
"system_tray": {
"open": "Открыть Hydra",
"quit": "Выйти"
},
"game_card": {
"no_downloads": "Нет доступных загрузок"
"no_downloads": "Нет доступных источников"
},
"binary_not_found_modal": {
"title": "Программы не установлены",
@ -253,7 +331,7 @@
"last_time_played": "Последняя игра {{period}}",
"activity": "Недавняя активность",
"library": "Библиотека",
"total_play_time": "Всего сыграно: {{amount}}",
"total_play_time": "Всего сыграно",
"no_recent_activity_title": "Хммм... Тут ничего нет",
"no_recent_activity_description": "Вы давно ни во что не играли. Пора это изменить!",
"display_name": "Отображаемое имя",
@ -300,7 +378,6 @@
"image_process_failure": "Сбой при обработке изображения",
"locked_profile": "Этот профиль является частным",
"privacy_hint": "Чтобы указать, кто может это видеть, перейдите в <0>Настройки</0>.",
"profile_locked": "",
"profile_reported": "Профиль сообщил",
"report": "Отчет",
"report_description": "Дополнительная информация",
@ -313,6 +390,46 @@
"report_reason_spam": "Спам",
"report_reason_violence": "Насилие",
"required_field": "Это поле обязательно к заполнению",
"undo_friendship_modal_text": "Это отменит вашу дружбу с {{displayName}}."
"undo_friendship_modal_text": "Это отменит вашу дружбу с {{displayName}}.",
"your_friend_code": "Код вашего друга:",
"upload_banner": "Загрузить баннер",
"uploading_banner": "Загрузка баннера...",
"background_image_updated": "Фоновое изображение обновлено",
"stats": "Статистика",
"games": "Игры",
"top_percentile": "Топ {{percentile}}%",
"ranking_updated_weekly": "Рейтинг обновляется еженедельно",
"playing": "Играет в {{game}}",
"achievements_unlocked": "Достижения разблокированы",
"show_achievements_on_profile": "Покажите свои достижения в профиле",
"show_points_on_profile": "Показывать заработанные очки в своем профиле"
},
"achievement": {
"achievement_unlocked": "Достижение разблокировано",
"user_achievements": "Достижения {{displayName}}",
"your_achievements": "Ваши достижения",
"unlocked_at": "Разблокировано: {{date}}",
"subscription_needed": "Для просмотра этого содержимого необходима подписка на Hydra Cloud",
"new_achievements_unlocked": "Разблокировано {{achievementCount}} новых достижений из {{gameCount}} игр",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} достижений",
"achievements_unlocked_for_game": "Разблокировано {{achievementCount}} новых достижений для {{gameTitle}}",
"hidden_achievement_tooltip": "Это скрытое достижение",
"achievement_earn_points": "Заработайте {{points}} очков с этим достижением",
"earned_points": "Заработано очков:",
"available_points": "Доступные очки:",
"how_to_earn_achievements_points": "Как заработать очки достижений?"
},
"hydra_cloud": {
"subscription_tour_title": "Подписка Hydra Cloud",
"subscribe_now": "Подпишитесь прямо сейчас",
"cloud_saving": "Сохранение в облаке",
"cloud_achievements": "Сохраняйте свои достижения в облаке",
"animated_profile_picture": "Анимированные аватарки",
"premium_support": "Премиальная поддержка",
"show_and_compare_achievements": "Показывайте и сравнивайте свои достижения с достижениями других пользователей",
"animated_profile_banner": "Анимированный баннер профиля",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "Вы только что открыли для себя функцию Hydra Cloud!",
"learn_more": "Подробнее"
}
}

View File

@ -1,132 +1,423 @@
{
"language_name": "Türkçe",
"app": {
"successfully_signed_in": "Başarıyla giriş yapıldı"
},
"home": {
"featured": "Öne çıkan",
"trending": "Popüler",
"surprise_me": "Şaşırt beni",
"no_results": "Sonuç bulunamadı"
"featured": "Öne Çıkanlar",
"surprise_me": "Beni Şaşırt",
"no_results": "Sonuç bulunamadı",
"start_typing": "Aramak için yazmaya başlayın...",
"hot": "Şu anda popüler",
"weekly": "📅 Haftanın en iyi oyunları",
"achievements": "🏆 Tamamlanacak oyunlar"
},
"sidebar": {
"catalogue": "Katalog",
"downloads": "İndirmeler",
"downloads": "İndirilenler",
"settings": "Ayarlar",
"my_library": "Kütüphane",
"downloading_metadata": "{{title}} (Metadata indiriliyor…)",
"paused": "{{title}} (Duraklatıldı)",
"my_library": "Kütüphanem",
"downloading_metadata": "{{title}} (Meta verileri indiriliyor…)",
"paused": "{{title}} (Durduruldu)",
"downloading": "{{title}} ({{percentage}} - İndiriliyor…)",
"filter": "Kütüphaneyi filtrele",
"home": "Ana menü"
"home": "Ana Sayfa",
"queued": "{{title}} (Sırada)",
"game_has_no_executable": "Oyun için bir çalıştırılabilir dosya seçilmedi",
"sign_in": "Giriş yap",
"friends": "Arkadaşlar",
"need_help": "Yardıma mı ihtiyacınız var?"
},
"header": {
"search": "Ara",
"home": "Ana menü",
"search": "Oyunları ara",
"home": "Ana Sayfa",
"catalogue": "Katalog",
"downloads": "İndirmeler",
"downloads": "İndirilenler",
"search_results": "Arama sonuçları",
"settings": "Ayarlar"
"settings": "Ayarlar",
"version_available_install": "Sürüm {{version}} mevcut. Yüklemek ve yeniden başlatmak için buraya tıklayın.",
"version_available_download": "Sürüm {{version}} mevcut. İndirmek için buraya tıklayın."
},
"bottom_panel": {
"no_downloads_in_progress": "İndirilen bir şey yok",
"downloading_metadata": "{{title}} metadatası indiriliyor…",
"downloading": "{{title}} indiriliyor… ({{percentage}} tamamlandı) - Bitiş {{eta}} - {{speed}}"
"no_downloads_in_progress": "Devam eden indirme yok",
"downloading_metadata": "{{title}} meta verileri indiriliyor…",
"downloading": "{{title}} indiriliyor… ({{percentage}} tamamlandı) - Tamamlama: {{eta}} - Hız: {{speed}}",
"calculating_eta": "{{title}} indiriliyor… ({{percentage}} tamamlandı) - Kalan süre hesaplanıyor…",
"checking_files": "{{title}} dosyaları kontrol ediliyor… ({{percentage}} tamamlandı)"
},
"catalogue": {
"next_page": "Sonraki sayfa",
"previous_page": "Önceki sayfa"
"search": "Filtrele…",
"developers": "Geliştiriciler",
"genres": "Türler",
"tags": "Etiketler",
"publishers": "Yayıncılar",
"download_sources": "İndirme kaynakları",
"result_count": "{{resultCount}} sonuç",
"filter_count": "{{filterCount}} mevcut",
"clear_filters": "{{filterCount}} seçili filtreyi temizle"
},
"game_details": {
"open_download_options": "İndirme seçeneklerini aç",
"download_options_zero": "İndirme seçeneği yok",
"download_options_one": "{{count}} indirme seçeneği",
"download_options_other": "{{count}} indirme seçeneği",
"updated_at": "{{updated_at}} güncellendi",
"install": "İndir",
"updated_at": "{{updated_at}} tarihinde güncellendi",
"install": "Yükle",
"resume": "Devam et",
"pause": "Duraklat",
"pause": "Durdur",
"cancel": "İptal et",
"remove": "Sil",
"space_left_on_disk": "Diskte {{space}} yer kaldı",
"eta": "Bitiş {{eta}}",
"downloading_metadata": "Metadata indiriliyor…",
"filter": "Repackleri filtrele",
"remove": "Kaldır",
"space_left_on_disk": "Diskte {{space}} boş alan kaldı",
"eta": "{{eta}} tahmini bitiş",
"calculating_eta": "Kalan süre hesaplanıyor…",
"downloading_metadata": "Meta veriler indiriliyor…",
"filter": "Paketleri filtrele",
"requirements": "Sistem gereksinimleri",
"minimum": "Minimum",
"recommended": "Önerilen",
"release_date": "{{date}} tarihinde çıktı",
"publisher": "{{publisher}} tarihinde yayınlandı",
"hours": "saatler",
"minutes": "dakikalar",
"paused": "Durduruldu",
"release_date": "{{date}} tarihinde yayımlandı",
"publisher": "{{publisher}} tarafından yayımlandı",
"hours": "saat",
"minutes": "dakika",
"amount_hours": "{{amount}} saat",
"amount_minutes": "{{amount}} dakika",
"accuracy": "%{{accuracy}} doğruluk",
"accuracy": "{{accuracy}}% doğruluk",
"add_to_library": "Kütüphaneye ekle",
"remove_from_library": "Kütüphaneden kaldır",
"no_downloads": "İndirme yok",
"play_time": "{{amount}} oynandı",
"last_time_played": "Son oynanan {{period}}",
"not_played_yet": "Bu {{title}} hiç oynanmadı",
"next_suggestion": "Sıradaki öneri",
"no_downloads": "İndirilebilir içerik yok",
"play_time": "{{amount}} süre oynandı",
"last_time_played": "Son oynama {{period}} önce",
"not_played_yet": "{{title}} henüz oynanmadı",
"next_suggestion": "Sonraki öneri",
"play": "Oyna",
"deleting": "Installer siliniyor…",
"deleting": "Yükleyici siliniyor…",
"close": "Kapat",
"playing_now": imdi oynanıyor",
"playing_now": u anda oynanıyor",
"change": "Değiştir",
"repacks_modal_description": "İndirmek istediğiiniz repacki seçin",
"select_folder_hint": "Varsayılan klasörü değiştirmek için ulaşmanız gereken ayar",
"download_now": "Şimdi"
"repacks_modal_description": "İndirmek istediğiniz paketi seçin",
"select_folder_hint": "Varsayılan klasörü değiştirmek için <0>Ayarlar</0> bölümüne gidin",
"download_now": "Şimdi indir",
"no_shop_details": "Mağaza bilgileri alınamadı.",
"download_options": "İndirme seçenekleri",
"download_path": "İndirme yolu",
"previous_screenshot": "Önceki ekran görüntüsü",
"next_screenshot": "Sonraki ekran görüntüsü",
"screenshot": "{{number}} ekran görüntüsü",
"open_screenshot": "{{number}} ekran görüntüsünü aç",
"download_settings": "İndirme ayarları",
"downloader": "İndirici",
"select_executable": "Seç",
"no_executable_selected": "Hiçbir çalıştırılabilir dosya seçilmedi",
"open_folder": "Klasörü aç",
"open_download_location": "İndirilen dosyaları gör",
"create_shortcut": "Masaüstü kısayolu oluştur",
"clear": "Temizle",
"remove_files": "Dosyaları kaldır",
"remove_from_library_title": "Emin misiniz?",
"remove_from_library_description": "Bu işlem {{game}} oyununu kütüphanenizden kaldıracaktır",
"options": "Seçenekler",
"executable_section_title": "Çalıştırılabilir dosya",
"executable_section_description": "\"Oyna\" tıklandığında çalıştırılacak dosyanın yolu",
"downloads_secion_title": "İndirmeler",
"downloads_section_description": "Bu oyun için güncellemeleri veya diğer sürümleri kontrol edin",
"danger_zone_section_title": "Tehlike bölgesi",
"danger_zone_section_description": "Bu oyunu kütüphanenizden veya Hydra tarafından indirilen dosyaları kaldırın",
"download_in_progress": "İndirme devam ediyor",
"download_paused": "İndirme durduruldu",
"last_downloaded_option": "Son indirilen seçenek",
"create_shortcut_success": "Kısayol başarıyla oluşturuldu",
"create_shortcut_error": "Kısayol oluşturulurken hata oluştu",
"nsfw_content_title": "Bu oyun uygunsuz içerik içeriyor",
"nsfw_content_description": "{{title}} her yaş için uygun olmayabilecek içeriklere sahiptir. Devam etmek istediğinizden emin misiniz?",
"allow_nsfw_content": "Devam et",
"refuse_nsfw_content": "Geri dön",
"stats": "İstatistikler",
"download_count": "İndirme sayısı",
"player_count": "Aktif oyuncular",
"download_error": "Bu indirme seçeneği mevcut değil",
"download": "İndir",
"executable_path_in_use": "\"{{game}}\" tarafından kullanılan çalıştırılabilir dosya",
"warning": "Uyarı:",
"hydra_needs_to_remain_open": "Bu indirmenin tamamlanması için Hydra açık kalmalıdır. Eğer Hydra kapanırsa, ilerleme kaydedilmez.",
"achievements": "Başarılar",
"achievements_count": "Başarılar {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Bulut kaydı",
"cloud_save_description": "İlerlemenizi buluta kaydedin ve herhangi bir cihazda oynamaya devam edin",
"backups": "Yedekler",
"install_backup": "Yükle",
"delete_backup": "Sil",
"create_backup": "Yeni yedek oluştur",
"last_backup_date": "{{date}} tarihindeki son yedek",
"no_backup_preview": "Bu oyun için kayıtlı oyun bulunamadı",
"restoring_backup": "Yedek geri yükleniyor ({{progress}} tamamlandı)…",
"uploading_backup": "Yedek yükleniyor…",
"no_backups": "Bu oyun için henüz bir yedek oluşturmadınız",
"backup_uploaded": "Yedek yüklendi",
"backup_deleted": "Yedek silindi",
"backup_restored": "Yedek geri yüklendi",
"see_all_achievements": "Tüm başarıları gör",
"sign_in_to_see_achievements": "Başarıları görmek için giriş yapın",
"mapping_method_automatic": "Otomatik",
"mapping_method_manual": "Manuel",
"mapping_method_label": "Eşleme yöntemi",
"files_automatically_mapped": "Dosyalar otomatik olarak eşlendi",
"no_backups_created": "Bu oyun için yedek oluşturulmadı",
"manage_files": "Dosyaları yönet",
"loading_save_preview": "Kayıtlı oyunlar aranıyor…",
"wine_prefix": "Wine Prefix",
"wine_prefix_description": "Bu oyunu çalıştırmak için kullanılan Wine Prefix",
"launch_options": "Başlatma Seçenekleri",
"launch_options_description": "İleri düzey kullanıcılar, başlatma seçeneklerine değişiklikler girebilir (deneysel özellik)",
"launch_options_placeholder": "Belirtilen bir parametre yok",
"no_download_option_info": "Bilgi mevcut değil",
"backup_deletion_failed": "Yedek silinemedi",
"max_number_of_artifacts_reached": "Bu oyun için maksimum yedek sayısına ulaşıldı",
"achievements_not_sync": "Başarılarınızı senkronize etmeyi öğrenin",
"manage_files_description": "Hangi dosyaların yedeklenip geri yükleneceğini yönetin",
"select_folder": "Klasör seç",
"backup_from": "{{date}} tarihinden yedek",
"custom_backup_location_set": "Özel yedekleme konumu ayarlandı",
"no_directory_selected": "Bir dizin seçilmedi",
"no_write_permission": "Bu dizine indirme yapılamaz. Daha fazla bilgi için buraya tıklayın.",
"reset_achievements": "Başarıları sıfırla",
"reset_achievements_description": "Bu işlem {{game}} için tüm başarıları sıfırlar",
"reset_achievements_title": "Emin misiniz?",
"reset_achievements_success": "Başarılar başarıyla sıfırlandı",
"reset_achievements_error": "Başarılar sıfırlanamadı"
},
"activation": {
"title": "Hydra'yı aktif et",
"installation_id": "Kurulum ID'si:",
"enter_activation_code": "Aktifleştirme kodunuzu girin",
"message": "Bunu nerede soracağınızı bilmiyorsanız, buna sahip olmamanız gerekiyor.",
"activate": "Aktif et",
"title": "Hydra'yı Aktive Et",
"installation_id": "Kurulum Kimliği:",
"enter_activation_code": "Aktivasyon kodunuzu girin",
"message": "Bunu nereden soracağınızı bilmiyorsanız, bu sizin için olmamalı.",
"activate": "Aktive Et",
"loading": "Yükleniyor…"
},
"downloads": {
"resume": "Devam et",
"resume": "Devam Et",
"pause": "Duraklat",
"eta": "Bitiş {{eta}}",
"eta": "Tamamlama {{eta}}",
"paused": "Duraklatıldı",
"verifying": "Doğrulanıyor…",
"completed": "Tamamlandı",
"cancel": "İptal et",
"filter": "Yüklü oyunları filtrele",
"removed": "İndirilmedi",
"cancel": "İptal Et",
"filter": "İndirilen oyunları filtrele",
"remove": "Kaldır",
"downloading_metadata": "Metadata indiriliyor…",
"deleting": "Installer siliniyor…",
"delete": "Installer'ı sil",
"deleting": "Yükleyici siliniyor…",
"delete": "Yükleyiciyi kaldır",
"delete_modal_title": "Emin misiniz?",
"delete_modal_description": "Bu bilgisayarınızdan tüm kurulum dosyalarını silecek",
"install": "Kur"
"delete_modal_description": "Bu işlem, tüm kurulum dosyalarını bilgisayarınızdan kaldıracaktır",
"install": "Kur",
"download_in_progress": "Devam ediyor",
"queued_downloads": "Sıradaki indirmeler",
"downloads_completed": "Tamamlananlar",
"queued": "Sırada",
"no_downloads_title": "Bomboş",
"no_downloads_description": "Henüz Hydra ile hiçbir şey indirmediniz, ancak başlamak için asla geç değil.",
"checking_files": "Dosyalar kontrol ediliyor…",
"seeding": "Paylaşılıyor",
"stop_seeding": "Paylaşımı durdur",
"resume_seeding": "Paylaşımı sürdür",
"options": "Yönet"
},
"settings": {
"downloads_path": "İndirme yolu",
"change": "Güncelle",
"notifications": "Bildirimler",
"enable_download_notifications": "Bir indirme bittiğinde",
"enable_repack_list_notifications": "Yeni bir repack eklendiğinde"
"enable_download_notifications": "Bir indirme tamamlandığında",
"enable_repack_list_notifications": "Yeni bir repack eklendiğinde",
"real_debrid_api_token_label": "Real-Debrid API anahtarı",
"quit_app_instead_hiding": "Hydra'yı kapatırken gizlemeyin",
"launch_with_system": "Hydra'yı sistem başlatıldığında çalıştır",
"general": "Genel",
"behavior": "Davranış",
"download_sources": "İndirme kaynakları",
"language": "Dil",
"api_token": "API Anahtarı",
"enable_real_debrid": "Real-Debrid'i Etkinleştir",
"real_debrid_description": "Real-Debrid, yalnızca internet hızınızla sınırlı olarak hızlı dosya indirmenizi sağlayan sınırsız bir indirici.",
"debrid_invalid_token": "Geçersiz API anahtarı",
"debrid_api_token_hint": "API anahtarınızı <0>buradan</0> alabilirsiniz",
"real_debrid_free_account_error": "\"{{username}}\" hesabı ücretsiz bir hesaptır. Lütfen Real-Debrid abonesi olun",
"debrid_linked_message": "\"{{username}}\" hesabı bağlandı",
"save_changes": "Değişiklikleri Kaydet",
"changes_saved": "Değişiklikler başarıyla kaydedildi",
"download_sources_description": "Hydra, indirme bağlantılarını bu kaynaklardan alacak. Kaynak URL, indirme bağlantılarını içeren bir .json dosyasına doğrudan bir bağlantı olmalıdır.",
"validate_download_source": "Doğrula",
"remove_download_source": "Kaldır",
"add_download_source": "Kaynak ekle",
"download_count_zero": "İndirme seçeneği yok",
"download_count_one": "{{countFormatted}} indirme seçeneği",
"download_count_other": "{{countFormatted}} indirme seçeneği",
"download_source_url": "İndirme kaynağı URL'si",
"add_download_source_description": ".json dosyasının URL'sini girin",
"download_source_up_to_date": "Güncel",
"download_source_errored": "Hatalı",
"sync_download_sources": "Kaynakları senkronize et",
"removed_download_source": "İndirme kaynağı kaldırıldı",
"added_download_source": "İndirme kaynağı eklendi",
"download_sources_synced": "Tüm indirme kaynakları senkronize edildi",
"insert_valid_json_url": "Geçerli bir JSON URL'si girin",
"found_download_option_zero": "Hiçbir indirme seçeneği bulunamadı",
"found_download_option_one": "{{countFormatted}} indirme seçeneği bulundu",
"found_download_option_other": "{{countFormatted}} indirme seçeneği bulundu",
"import": "İçe aktar",
"public": "Herkese açık",
"private": "Gizli",
"friends_only": "Sadece arkadaşlar",
"privacy": "Gizlilik",
"profile_visibility": "Profil görünürlüğü",
"profile_visibility_description": "Profilinizi ve kütüphanenizi kimlerin görebileceğini seçin",
"required_field": "Bu alan gereklidir",
"source_already_exists": "Bu kaynak zaten eklenmiş",
"must_be_valid_url": "Kaynak geçerli bir URL olmalıdır",
"blocked_users": "Engellenen kullanıcılar",
"user_unblocked": "Kullanıcının engeli kaldırıldı",
"enable_achievement_notifications": "Bir başarı kilidi açıldığında",
"launch_minimized": "Hydra'yı küçültülmüş başlat",
"disable_nsfw_alert": "NSFW uyarısını devre dışı bırak",
"seed_after_download_complete": "İndirme tamamlandıktan sonra paylaş",
"show_hidden_achievement_description": "Gizli başarııklamalarını kilitlenmeden önce göster"
},
"notifications": {
"download_complete": "İndirme tamamlandı",
"game_ready_to_install": "{{title}} kuruluma hazır",
"game_ready_to_install": "{{title}} kurulmaya hazır",
"repack_list_updated": "Repack listesi güncellendi",
"repack_count_one": "{{count}} yeni repack eklendi",
"repack_count_other": "{{count}} yeni repack eklendi"
"repack_count_one": "{{count}} repack eklendi",
"repack_count_other": "{{count}} repack eklendi",
"new_update_available": "Sürüm {{version}} mevcut",
"restart_to_install_update": "Güncellemeyi yüklemek için Hydra'yı yeniden başlatın",
"notification_achievement_unlocked_title": "{{game}} için başarı kilidi açıldı",
"notification_achievement_unlocked_body": "{{achievement}} ve diğer {{count}} başarılar açıldı"
},
"system_tray": {
"open": "Hydra'yı aç",
"open": "Hydra'yı Aç",
"quit": ık"
},
"game_card": {
"no_downloads": "İndirme mevcut değil"
"no_downloads": "İndirilebilir içerik bulunmuyor"
},
"binary_not_found_modal": {
"title": "Programlar yüklü değil",
"description": "Sisteminizde Wine veya Lutris çalıştırılabiliri bulunamadı",
"instructions": "Oyunları düzgün şekilde çalıştırmak için Linux distronuza bunlardan birini nasıl yükleyebileceğinize bakın"
"title": "Programlar Yüklü Değil",
"description": "Wine veya Lutris çalıştırılabilir dosyaları sisteminizde bulunamadı",
"instructions": "Oyunun normal çalışabilmesi için bunlardan herhangi birini Linux dağıtımınıza uygun şekilde nasıl kuracağınızı kontrol edin"
},
"modal": {
"close": "Kapat tuşu"
"close": "Kapat düğmesi"
},
"forms": {
"toggle_password_visibility": "Şifre görünürlüğünü değiştir"
},
"user_profile": {
"amount_hours": "{{amount}} saat",
"amount_minutes": "{{amount}} dakika",
"last_time_played": "Son oynanma {{period}}",
"activity": "Son Etkinlik",
"library": "Kütüphane",
"total_play_time": "Toplam oynama süresi",
"no_recent_activity_title": "Hmmm… burada bir şey yok",
"no_recent_activity_description": "Son zamanlarda hiç oyun oynamamışsınız. Bunu değiştirmenin zamanı geldi!",
"display_name": "Görünen isim",
"saving": "Kaydediliyor",
"save": "Kaydet",
"edit_profile": "Profili Düzenle",
"saved_successfully": "Başarıyla kaydedildi",
"try_again": "Lütfen tekrar deneyin",
"sign_out_modal_title": "Emin misiniz?",
"cancel": "İptal",
"successfully_signed_out": "Başarıyla çıkış yapıldı",
"sign_out": ıkış yap",
"playing_for": "{{amount}} oynanıyor",
"sign_out_modal_text": "Kütüphaneniz mevcut hesabınıza bağlı. Çıkış yaptığınızda kütüphaneniz görünür olmayacak ve herhangi bir ilerleme kaydedilmeyecek. Çıkışa devam etmek istiyor musunuz?",
"add_friends": "Arkadaş Ekle",
"add": "Ekle",
"friend_code": "Arkadaş kodu",
"see_profile": "Profili gör",
"sending": "Gönderiliyor",
"friend_request_sent": "Arkadaşlık isteği gönderildi",
"friends": "Arkadaşlar",
"friends_list": "Arkadaş listesi",
"user_not_found": "Kullanıcı bulunamadı",
"block_user": "Kullanıcıyı engelle",
"add_friend": "Arkadaş ekle",
"request_sent": "İstek gönderildi",
"request_received": "İstek alındı",
"accept_request": "İsteği kabul et",
"ignore_request": "İsteği yok say",
"cancel_request": "İsteği iptal et",
"undo_friendship": "Arkadaşlığı sonlandır",
"request_accepted": "İstek kabul edildi",
"user_blocked_successfully": "Kullanıcı başarıyla engellendi",
"user_block_modal_text": "Bu işlem {{displayName}} adlı kullanıcıyı engelleyecek",
"blocked_users": "Engellenen kullanıcılar",
"unblock": "Engeli kaldır",
"no_friends_added": "Hiç arkadaş eklemediniz",
"pending": "Bekliyor",
"no_pending_invites": "Bekleyen davetiniz yok",
"no_blocked_users": "Engellenmiş kullanıcı yok",
"friend_code_copied": "Arkadaş kodu kopyalandı",
"undo_friendship_modal_text": "Bu işlem {{displayName}} ile arkadaşlığınızı sonlandıracak",
"privacy_hint": "Bunu kimin görebileceğini ayarlamak için <0>Ayarlar</0> bölümüne gidin",
"locked_profile": "Bu profil gizli",
"image_process_failure": "Görüntü işleme başarısız oldu",
"required_field": "Bu alan gerekli",
"displayname_min_length": "Görünen isim en az 3 karakter uzunluğunda olmalıdır",
"displayname_max_length": "Görünen isim en fazla 50 karakter uzunluğunda olabilir",
"report_profile": "Bu profili bildir",
"report_reason": "Bu profili neden bildiriyorsunuz?",
"report_description": "Ek bilgi",
"report_description_placeholder": "Ek bilgi",
"report": "Bildir",
"report_reason_hate": "Nefret söylemi",
"report_reason_sexual_content": "Cinsel içerik",
"report_reason_violence": "Şiddet",
"report_reason_spam": "Spam",
"report_reason_other": "Diğer",
"profile_reported": "Profil bildirildi",
"your_friend_code": "Arkadaş kodunuz:",
"upload_banner": "Afiş yükle",
"uploading_banner": "Afiş yükleniyor…",
"background_image_updated": "Arka plan görüntüsü güncellendi",
"stats": "İstatistikler",
"achievements": "Başarılar",
"games": "Oyunlar",
"top_percentile": "En üst {{percentile}}%",
"ranking_updated_weekly": "Sıralama haftalık olarak güncellenir",
"playing": "{{game}} oynanıyor",
"achievements_unlocked": "Başarılar açıldı",
"earned_points": "Kazanılan puanlar",
"show_achievements_on_profile": "Başarılarınızı profilinizde gösterin",
"show_points_on_profile": "Kazandığınız puanları profilinizde gösterin"
},
"achievement": {
"achievement_unlocked": "Başarııldı",
"user_achievements": "{{displayName}}'in Başarıları",
"your_achievements": "Başarılarınız",
"unlocked_at": "Açılma zamanı: {{date}}",
"subscription_needed": "Bu içeriği görmek için bir Hydra Cloud aboneliği gereklidir",
"new_achievements_unlocked": "{{gameCount}} oyundan {{achievementCount}} yeni başarııldı",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} başarı",
"achievements_unlocked_for_game": "{{gameTitle}} oyunu için {{achievementCount}} yeni başarııldı",
"hidden_achievement_tooltip": "Bu gizli bir başarıdır",
"achievement_earn_points": "Bu başarı ile {{points}} puan kazanın",
"earned_points": "Kazanılan puanlar:",
"available_points": "Mevcut puanlar:",
"how_to_earn_achievements_points": "Başarı puanları nasıl kazanılır?"
},
"hydra_cloud": {
"subscription_tour_title": "Hydra Cloud Aboneliği",
"subscribe_now": "Şimdi abone olun",
"cloud_saving": "Bulut kaydetme",
"cloud_achievements": "Başarılarınızı buluta kaydedin",
"animated_profile_picture": "Animasyonlu profil resimleri",
"premium_support": "Premium Destek",
"show_and_compare_achievements": "Başarılarınızı diğer kullanıcılarla karşılaştırın ve gösterin",
"animated_profile_banner": "Animasyonlu profil afişi",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "Bir Hydra Cloud özelliği keşfettiniz!",
"learn_more": "Daha Fazla Bilgi Edinin"
}
}

View File

@ -5,7 +5,6 @@
},
"home": {
"featured": "Рекомендоване",
"trending": "У тренді",
"surprise_me": "Здивуй мене",
"no_results": "Результатів не знайдено"
},
@ -161,9 +160,6 @@
"download_count_one": "{{countFormatted}} завантаження в списку",
"download_count_other": "{{countFormatted}} завантажень в списку",
"download_count_zero": "В списку немає завантажень",
"download_options_one": "{{countFormatted}} доступний варіант завантаження",
"download_options_other": "{{countFormatted}} доступних варіантів завантаження",
"download_options_zero": "Немає доступних завантажень",
"download_source_errored": "Помилка",
"download_source_up_to_date": "Оновлено",
"download_source_url": "Посилання на джерело",
@ -178,13 +174,13 @@
"import": "Імпортувати",
"insert_valid_json_url": "Вставте дійсний URL JSON-файлу",
"language": "Мова",
"real_debrid_api_token": "API-токен",
"real_debrid_api_token_hint": "API токен можливо отримати <0>тут</0>",
"api_token": "API-токен",
"debrid_api_token_hint": "API токен можливо отримати <0>тут</0>",
"real_debrid_api_token_label": "Real-Debrid API-токен",
"real_debrid_description": "Real-Debrid — це необмежений завантажувач, який дозволяє швидко завантажувати файли, розміщені в Інтернеті, або миттєво передавати їх у плеєр через приватну мережу, що дозволяє обходити будь-які блокування.",
"real_debrid_free_account_error": "Акаунт \"{{username}}\" - не має наявної підписки. Будь ласка, оформіть підписку на Real-Debrid",
"real_debrid_invalid_token": "Невірний API-токен",
"real_debrid_linked_message": "Акаунт \"{{username}}\" привязаний",
"debrid_invalid_token": "Невірний API-токен",
"debrid_linked_message": "Акаунт \"{{username}}\" привязаний",
"remove_download_source": "Видалити",
"removed_download_source": "Джерело завантажень було видалено",
"save_changes": "Зберегти зміни",
@ -235,7 +231,7 @@
"sign_out_modal_text": "Ваша бібліотека пов'язана з поточним обліковим записом. При виході з системи ваша бібліотека буде недоступною, і прогрес не буде збережено. Продовжити вихід?",
"sign_out_modal_title": "Ви впевнені?",
"successfully_signed_out": "Успішний вихід з акаунту",
"total_play_time": "Всього зіграно: {{amount}}",
"total_play_time": "Всього зіграно",
"try_again": "Будь ласка, попробуйте ще раз"
}
}

View File

@ -5,9 +5,12 @@
},
"home": {
"featured": "特色推荐",
"trending": "最近热门",
"surprise_me": "向我推荐",
"no_results": "没有找到结果"
"no_results": "没有找到结果",
"start_typing": "键入以开始搜素...",
"hot": "当下热门",
"weekly": "📅本周热门游戏",
"achievements": "🏆尝试击败"
},
"sidebar": {
"catalogue": "游戏目录",
@ -21,7 +24,8 @@
"home": "主页",
"queued": "{{title}} (已加入下载队列)",
"game_has_no_executable": "未选择游戏的可执行文件",
"sign_in": "登入"
"sign_in": "登入",
"friends": "好友"
},
"header": {
"search": "搜索游戏",
@ -37,17 +41,18 @@
"no_downloads_in_progress": "没有正在进行的下载",
"downloading_metadata": "正在下载{{title}}的元数据…",
"downloading": "正在下载{{title}}… ({{percentage}}完成) - 剩余时间{{eta}} - 速度{{speed}}",
"calculating_eta": "正在下载 {{title}}… (已完成{{percentage}}.) - 正在计算剩余时间..."
"calculating_eta": "正在下载 {{title}}… (已完成{{percentage}}.) - 正在计算剩余时间...",
"checking_files": "正在校验 {{title}} 的文件... ({{percentage}} 已完成)"
},
"catalogue": {
"next_page": "下一页",
"previous_page": "上一页"
},
"game_details": {
"open_download_options": "打开下载选项",
"download_options_zero": "无下载项",
"download_options_one": "{{count}}个下载项",
"download_options_other": "{{count}}个下载项",
"open_download_options": "打开下载菜单",
"download_options_zero": "无下载项",
"download_options_one": "{{count}}个下载项",
"download_options_other": "{{count}}个下载项",
"updated_at": "更新于{{updated_at}}",
"install": "安装",
"resume": "恢复",
@ -56,11 +61,13 @@
"remove": "移除",
"space_left_on_disk": "磁盘剩余空间{{space}}",
"eta": "预计完成时间{{eta}}",
"calculating_eta": "正在计算剩余时间…",
"downloading_metadata": "正在下载元数据…",
"filter": "筛选重打包",
"requirements": "配置要求",
"minimum": "最低要求",
"recommended": "推荐要求",
"paused": "已暂停",
"release_date": "发布于{{date}}",
"publisher": "发行商{{publisher}}",
"hours": "小时",
@ -81,15 +88,18 @@
"playing_now": "正在游戏中",
"change": "更改",
"repacks_modal_description": "选择您想要下载的重打包",
"select_folder_hint": "要更改默认文件夹,请访问",
"select_folder_hint": "要更改默认文件夹,请访问<0>设置</0>",
"download_now": "立即下载",
"no_shop_details": "无法检索商店详细信息.",
"download_options": "下载选项",
"download_path": "下载路径",
"previous_screenshot": "上一张截图",
"next_screenshot": "下一张截图",
"screenshot": "截图 {{number}}",
"open_screenshot": "打开截图 {{number}}",
"download_settings": "下载设置",
"downloader": "下载器",
"select_executable": "选择",
"select_executable": "选择可执行文件",
"no_executable_selected": "没有可执行文件被指定",
"open_folder": "打开目录",
"open_download_location": "查看已下载的文件",
@ -108,7 +118,54 @@
"download_paused": "下载暂停",
"last_downloaded_option": "上次下载的选项",
"create_shortcut_success": "成功创建快捷方式",
"create_shortcut_error": "创建快捷方式出错"
"create_shortcut_error": "创建快捷方式出错",
"nsfw_content_title": "本游戏包含不适合展示的内容",
"nsfw_content_description": "{{title}}包含可能不适合所有年龄段的内容。您确定要继续吗?",
"allow_nsfw_content": "继续",
"refuse_nsfw_content": "返回",
"stats": "统计数据",
"download_count": "下载量",
"player_count": "活跃玩家",
"download_error": "此下载选项不可用",
"download": "下载",
"executable_path_in_use": "可执行文件已经被以下游戏 \"{{game}}\" 使用",
"warning": "警告:",
"hydra_needs_to_remain_open": "对于此次下载,Hydra必须保持开启直至其完成。若海德拉在完成前关闭,您的进度将丢失。",
"achievements": "成就",
"achievements_count": "成就 {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "云存档",
"cloud_save_description": "将您的进度保存在云端,便可在任何设备上继续游戏。",
"backups": "备份",
"install_backup": "安装",
"delete_backup": "删除",
"create_backup": "新备份",
"last_backup_date": "最后一次备份于{{date}}",
"no_backup_preview": "未找到此游戏标题的存档",
"restoring_backup": "正在恢复备份({{progress}}已完成)…",
"uploading_backup": "上传备份中…",
"no_backups": "您尚未为这款游戏创建任何备份",
"backup_uploaded": "备份已上传",
"backup_deleted": "备份已删除",
"backup_restored": "备份已恢复",
"see_all_achievements": "查看所有成就",
"sign_in_to_see_achievements": "登入以查看所有成就",
"mapping_method_automatic": "自动",
"mapping_method_manual": "常规",
"mapping_method_label": "索引类型",
"files_automatically_mapped": "文件已自动索引",
"no_backups_created": "没有为此游戏创建过备份",
"manage_files": "管理文件",
"loading_save_preview": "正在查找要保存的游戏…",
"wine_prefix": "Wine 前置",
"wine_prefix_description": "运行该游戏所用的 Wine 前置",
"no_download_option_info": "无可用信息",
"backup_deletion_failed": "删除备份失败",
"max_number_of_artifacts_reached": "已达到该游戏备份上限",
"achievements_not_sync": "你的成就未同步",
"manage_files_description": "管理哪些文件要备份和恢复",
"select_folder": "选择文件夹",
"backup_from": "{{date}} 时备份",
"custom_backup_location_set": "自定义备份文件位置"
},
"activation": {
"title": "激活 Hydra",
@ -125,6 +182,7 @@
"paused": "已暂停",
"verifying": "正在验证…",
"completed": "已完成",
"removed": "未下载",
"cancel": "取消",
"filter": "筛选已下载游戏",
"remove": "移除",
@ -139,7 +197,8 @@
"downloads_completed": "已完成",
"queued": "下载列表",
"no_downloads_title": "空空如也",
"no_downloads_description": "你还未使用Hydra下载任何游戏,但什么时候开始,都为时不晚。"
"no_downloads_description": "你还未使用Hydra下载任何游戏,但什么时候开始,都为时不晚。",
"checking_files": "正在校验文件…"
},
"settings": {
"downloads_path": "下载路径",
@ -154,13 +213,13 @@
"behavior": "行为",
"download_sources": "下载源",
"language": "语言",
"real_debrid_api_token": "API 令牌",
"api_token": "API 令牌",
"enable_real_debrid": "启用 Real-Debrid",
"real_debrid_description": "Real-Debrid 是一个无限制的下载器,允许您以最快的互联网速度即时下载文件。",
"real_debrid_invalid_token": "无效的 API 令牌",
"real_debrid_api_token_hint": "您可以从<0>这里</0>获取API密钥.",
"debrid_invalid_token": "无效的 API 令牌",
"debrid_api_token_hint": "您可以从<0>这里</0>获取API密钥.",
"real_debrid_free_account_error": "账户 \"{{username}}\" 是免费账户。请订阅 Real-Debrid",
"real_debrid_linked_message": "账户 \"{{username}}\" 已链接",
"debrid_linked_message": "账户 \"{{username}}\" 已链接",
"save_changes": "保存更改",
"changes_saved": "更改已成功保存",
"download_sources_description": "Hydra 将从这些源获取下载链接。源 URL 必须是直接链接到包含下载链接的 .json 文件。",
@ -170,9 +229,6 @@
"download_count_zero": "列表中无下载",
"download_count_one": "列表中有 {{countFormatted}} 个下载",
"download_count_other": "列表中有 {{countFormatted}} 个下载",
"download_options_zero": "无可用下载",
"download_options_one": "有 {{countFormatted}} 个下载可用",
"download_options_other": "有 {{countFormatted}} 个下载可用",
"download_source_url": "下载源 URL",
"add_download_source_description": "插入包含 .json 文件的 URL",
"download_source_up_to_date": "已更新",
@ -185,21 +241,56 @@
"found_download_option_zero": "未找到下载选项",
"found_download_option_one": "找到 {{countFormatted}} 个下载选项",
"found_download_option_other": "找到 {{countFormatted}} 个下载选项",
"import": "导入"
"import": "导入",
"public": "公开",
"private": "私密",
"friends_only": "仅限朋友",
"privacy": "隐私",
"profile_visibility": "资料可见性",
"profile_visibility_description": "选择谁可以查看您的个人资料和资料库",
"required_field": "该字段为必填字段",
"source_already_exists": "已添加此来源",
"must_be_valid_url": "来源必须是有效的 URL",
"blocked_users": "已屏蔽用户",
"user_unblocked": "用户已经被屏蔽",
"enable_achievement_notifications": "当成就解锁时"
},
"modal": {
"close": "关闭按钮"
"notifications": {
"download_complete": "下载完成",
"game_ready_to_install": "{{title}} 已准备就绪",
"repack_list_updated": "重打包列表已更新",
"repack_count_one": "{{count}} 重打包已添加",
"repack_count_other": "{{count}} 重打包已添加",
"new_update_available": "版本 {{version}} 可用",
"restart_to_install_update": "重启 Hydra 以安装更新",
"notification_achievement_unlocked_title": "{{game}} 的成绩已解锁",
"notification_achievement_unlocked_body": "{{achievement}} 和其他 {{count}} 已解锁"
},
"system_tray": {
"open": "打开 Hydra",
"quit": "退出"
},
"game_card": {
"no_downloads": "无可用下载选项"
},
"binary_not_found_modal": {
"title": "程序未安装",
"description": "您的系统中找不到 Wine 或 Lutris 的可执行文件",
"instructions": "请检查在 Linux 发行版上安装这些软件的正确方法,以便游戏能够正常运行"
},
"forms": {
"toggle_password_visibility": "切换密码可见性"
},
"modal": {
"close": "关闭按钮"
},
"user_profile": {
"amount_hours": "{{amount}} 小时",
"amount_minutes": "{{amount}} 分钟",
"last_time_played": "上次游玩时间 {{period}}",
"activity": "近期活动",
"library": "库",
"total_play_time": "总游戏时长: {{amount}}",
"total_play_time": "总游戏时长",
"no_recent_activity_title": "Emmm… 这里暂时啥都没有",
"no_recent_activity_description": "你最近没玩过任何游戏。是时候做出改变了!",
"display_name": "昵称",
@ -212,7 +303,74 @@
"cancel": "取消",
"successfully_signed_out": "登出成功",
"sign_out": "登出",
"playing_for": "Playing for {{amount}}",
"sign_out_modal_text": "您的资料库与您当前的账户相关联。注销后,您的资料库将不再可见,任何进度也不会保存。继续退出吗?"
"playing_for": "已经玩了{{amount}}",
"sign_out_modal_text": "您的资料库与您当前的账户相关联。注销后,您的资料库将不再可见,任何进度也不会保存。继续退出吗?",
"add_friends": "添加好友",
"add": "添加",
"friend_code": "好友代码",
"see_profile": "查看资料",
"sending": "发送中",
"friend_request_sent": "好友请求已发送",
"friends": "好友",
"friends_list": "好友列表",
"user_not_found": "未找到此用户",
"block_user": "屏蔽此用户",
"add_friend": "添加好友",
"request_sent": "请求已发送",
"request_received": "已收到请求",
"accept_request": "同意申请",
"ignore_request": "忽略申请",
"cancel_request": "取消申请",
"undo_friendship": "解除好友关系",
"request_accepted": "请求已通过",
"user_blocked_successfully": "成功屏蔽此用户",
"user_block_modal_text": "这将会屏蔽 {{displayName}}",
"blocked_users": "黑名单用户",
"unblock": "解除屏蔽",
"no_friends_added": "你还没有添加过好友",
"pending": "待处理",
"no_pending_invites": "您没有待处理的邀请",
"no_blocked_users": "你没有已经拉人黑名单的用户",
"friend_code_copied": "好友代码已复制",
"undo_friendship_modal_text": "这将使你与 {{displayName}} 解除好友关系",
"privacy_hint": "要调整谁可以看到你的个人资料,可以去<0>设置</0>中修改",
"locked_profile": "此个人资料是私密的",
"image_process_failure": "处理图片时发生错误",
"required_field": "此字段为必填项",
"displayname_min_length": "显示名称最少必须为3个字符。",
"displayname_max_length": "显示名称最多必须为50个字符",
"report_profile": "举报此资料",
"report_reason": "为什么你要举报此资料?",
"report_description": "额外信息",
"report_description_placeholder": "额外信息",
"report": "举报",
"report_reason_hate": "Hate speech",
"report_reason_sexual_content": "色情内容",
"report_reason_violence": "暴力",
"report_reason_spam": "骚扰",
"report_reason_other": "其他",
"profile_reported": "个人资料已举报",
"your_friend_code": "你的好友代码:",
"upload_banner": "上传横幅",
"uploading_banner": "上传横幅中…",
"background_image_updated": "背景图片已更新"
},
"achievement": {
"achievement_unlocked": "成就已解锁",
"user_achievements": "{{displayName}}的成就",
"your_achievements": "你的成就",
"unlocked_at": "解锁于: {{date}}",
"subscription_needed": "需要订阅 Hydra Cloud 才能看到此内容",
"new_achievements_unlocked": "从 {{gameCount}} 游戏中解锁 {{achievementCount}} 新成就"
},
"hydra_cloud": {
"subscription_tour_title": "Hydra 云订阅",
"subscribe_now": "现在订购",
"cloud_saving": "云存档",
"cloud_achievements": "将你的成就保存至云端",
"animated_profile_picture": "动画头像",
"premium_support": "高级技术支持",
"show_and_compare_achievements": "展示并与其他用户比较您的成就",
"animated_profile_banner": "动态个人简介横幅"
}
}

View File

@ -1,13 +1,33 @@
import { app } from "electron";
import path from "node:path";
export const LUDUSAVI_MANIFEST_URL = "https://cdn.losbroxas.org/manifest.yaml";
export const defaultDownloadsPath = app.getPath("downloads");
export const databaseDirectory = path.join(app.getPath("appData"), "hydra");
export const databasePath = path.join(databaseDirectory, "hydra.db");
export const isStaging = import.meta.env.MAIN_VITE_API_URL.includes("staging");
export const logsPath = path.join(app.getPath("appData"), "hydra", "logs");
export const levelDatabasePath = path.join(
app.getPath("userData"),
`hydra-db${isStaging ? "-staging" : ""}`
);
export const databaseDirectory = path.join(app.getPath("appData"), "hydra");
export const databasePath = path.join(
databaseDirectory,
isStaging ? "hydra_test.db" : "hydra.db"
);
export const logsPath = path.join(app.getPath("userData"), "logs");
export const seedsPath = app.isPackaged
? path.join(process.resourcesPath, "seeds")
: path.join(__dirname, "..", "..", "seeds");
export const achievementSoundPath = app.isPackaged
? path.join(process.resourcesPath, "achievement.wav")
: path.join(__dirname, "..", "..", "resources", "achievement.wav");
export const backupsPath = path.join(app.getPath("userData"), "Backups");
export const appVersion = app.getVersion() + (isStaging ? "-staging" : "");

View File

@ -1,27 +0,0 @@
import { DataSource } from "typeorm";
import {
DownloadQueue,
DownloadSource,
Game,
GameShopCache,
Repack,
UserPreferences,
UserAuth,
} from "@main/entity";
import { databasePath } from "./constants";
export const dataSource = new DataSource({
type: "better-sqlite3",
entities: [
Game,
Repack,
UserPreferences,
GameShopCache,
DownloadSource,
DownloadQueue,
UserAuth,
],
synchronize: false,
database: databasePath,
});

View File

@ -1,25 +0,0 @@
import {
Entity,
PrimaryGeneratedColumn,
CreateDateColumn,
UpdateDateColumn,
OneToOne,
JoinColumn,
} from "typeorm";
import type { Game } from "./game.entity";
@Entity("download_queue")
export class DownloadQueue {
@PrimaryGeneratedColumn()
id: number;
@OneToOne("Game", "downloadQueue")
@JoinColumn()
game: Game;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
}

View File

@ -1,41 +0,0 @@
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
OneToMany,
} from "typeorm";
import type { Repack } from "./repack.entity";
import { DownloadSourceStatus } from "@shared";
@Entity("download_source")
export class DownloadSource {
@PrimaryGeneratedColumn()
id: number;
@Column("text", { nullable: true, unique: true })
url: string;
@Column("text")
name: string;
@Column("text", { nullable: true })
etag: string | null;
@Column("int", { default: 0 })
downloadCount: number;
@Column("text", { default: DownloadSourceStatus.UpToDate })
status: DownloadSourceStatus;
@OneToMany("Repack", "downloadSource", { cascade: true })
repacks: Repack[];
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
}

View File

@ -1,32 +0,0 @@
import {
Entity,
PrimaryColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
} from "typeorm";
import type { GameShop } from "@types";
@Entity("game_shop_cache")
export class GameShopCache {
@PrimaryColumn("text", { unique: true })
objectID: string;
@Column("text")
shop: GameShop;
@Column("text", { nullable: true })
serializedData: string;
@Column("text", { nullable: true })
howLongToBeatSerializedData: string;
@Column("text", { nullable: true })
language: string;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
}

View File

@ -1,90 +0,0 @@
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
OneToOne,
JoinColumn,
} from "typeorm";
import { Repack } from "./repack.entity";
import type { GameShop, GameStatus } from "@types";
import { Downloader } from "@shared";
import type { DownloadQueue } from "./download-queue.entity";
@Entity("game")
export class Game {
@PrimaryGeneratedColumn()
id: number;
@Column("text", { unique: true })
objectID: string;
@Column("text", { unique: true, nullable: true })
remoteId: string | null;
@Column("text")
title: string;
@Column("text", { nullable: true })
iconUrl: string | null;
@Column("text", { nullable: true })
folderName: string | null;
@Column("text", { nullable: true })
downloadPath: string | null;
@Column("text", { nullable: true })
executablePath: string | null;
@Column("int", { default: 0 })
playTimeInMilliseconds: number;
@Column("text")
shop: GameShop;
@Column("text", { nullable: true })
status: GameStatus | null;
@Column("int", { default: Downloader.Torrent })
downloader: Downloader;
/**
* Progress is a float between 0 and 1
*/
@Column("float", { default: 0 })
progress: number;
@Column("int", { default: 0 })
bytesDownloaded: number;
@Column("datetime", { nullable: true })
lastTimePlayed: Date | null;
@Column("float", { default: 0 })
fileSize: number;
@Column("text", { nullable: true })
uri: string | null;
/**
* @deprecated
*/
@OneToOne("Repack", "game", { nullable: true })
@JoinColumn()
repack: Repack;
@OneToOne("DownloadQueue", "game")
downloadQueue: DownloadQueue;
@Column("boolean", { default: false })
isDeleted: boolean;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
}

View File

@ -1,7 +0,0 @@
export * from "./game.entity";
export * from "./repack.entity";
export * from "./user-preferences.entity";
export * from "./game-shop-cache.entity";
export * from "./download-source.entity";
export * from "./download-queue.entity";
export * from "./user-auth";

View File

@ -1,45 +0,0 @@
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
ManyToOne,
} from "typeorm";
import { DownloadSource } from "./download-source.entity";
@Entity("repack")
export class Repack {
@PrimaryGeneratedColumn()
id: number;
@Column("text", { unique: true })
title: string;
/**
* @deprecated Use uris instead
*/
@Column("text", { unique: true })
magnet: string;
@Column("text")
repacker: string;
@Column("text")
fileSize: string;
@Column("datetime")
uploadDate: Date | string;
@ManyToOne(() => DownloadSource, { nullable: true, onDelete: "CASCADE" })
downloadSource: DownloadSource;
@Column("text", { default: "[]" })
uris: string;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
}

View File

@ -1,37 +0,0 @@
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
} from "typeorm";
@Entity("user_auth")
export class UserAuth {
@PrimaryGeneratedColumn()
id: number;
@Column("text", { default: "" })
userId: string;
@Column("text", { default: "" })
displayName: string;
@Column("text", { nullable: true })
profileImageUrl: string | null;
@Column("text", { default: "" })
accessToken: string;
@Column("text", { default: "" })
refreshToken: string;
@Column("int", { default: 0 })
tokenExpirationTimestamp: number;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
}

View File

@ -1,40 +0,0 @@
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
} from "typeorm";
@Entity("user_preferences")
export class UserPreferences {
@PrimaryGeneratedColumn()
id: number;
@Column("text", { nullable: true })
downloadsPath: string | null;
@Column("text", { default: "en" })
language: string;
@Column("text", { nullable: true })
realDebridApiToken: string | null;
@Column("boolean", { default: false })
downloadNotificationsEnabled: boolean;
@Column("boolean", { default: false })
repackUpdatesNotificationsEnabled: boolean;
@Column("boolean", { default: false })
preferQuitInsteadOfHiding: boolean;
@Column("boolean", { default: false })
runAtStartup: boolean;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
}

View File

@ -1,16 +1,21 @@
import jwt from "jsonwebtoken";
import * as Sentry from "@sentry/electron/main";
import { userAuthRepository } from "@main/repository";
import { registerEvent } from "../register-event";
import { db, levelKeys } from "@main/level";
import type { Auth } from "@types";
import { Crypto } from "@main/services";
const getSessionHash = async (_event: Electron.IpcMainInvokeEvent) => {
const auth = await userAuthRepository.findOne({ where: { id: 1 } });
const auth = await db.get<string, Auth>(levelKeys.auth, {
valueEncoding: "json",
});
if (!auth) return null;
const payload = jwt.decode(auth.accessToken) as jwt.JwtPayload;
const payload = jwt.decode(
Crypto.decrypt(auth.accessToken)
) as jwt.JwtPayload;
Sentry.setContext("sessionId", payload.sessionId);
if (!payload) return null;
return payload.sessionId;
};

View File

@ -1,7 +1,24 @@
import i18next from "i18next";
import { registerEvent } from "../register-event";
import { WindowManager } from "@main/services";
import { HydraApi, WindowManager } from "@main/services";
import { AuthPage } from "@shared";
const openAuthWindow = async (_event: Electron.IpcMainInvokeEvent) =>
WindowManager.openAuthWindow();
const openAuthWindow = async (
_event: Electron.IpcMainInvokeEvent,
page: AuthPage
) => {
const searchParams = new URLSearchParams({
lng: i18next.language,
});
if ([AuthPage.UpdateEmail, AuthPage.UpdatePassword].includes(page)) {
const { accessToken } = await HydraApi.refreshToken().catch(() => {
return { accessToken: "" };
});
searchParams.set("token", accessToken);
}
WindowManager.openAuthWindow(page, searchParams);
};
registerEvent("openAuthWindow", openAuthWindow);

View File

@ -1,39 +1,29 @@
import { registerEvent } from "../register-event";
import * as Sentry from "@sentry/electron/main";
import {
DownloadManager,
HydraApi,
PythonInstance,
gamesPlaytime,
} from "@main/services";
import { dataSource } from "@main/data-source";
import { DownloadQueue, Game, UserAuth } from "@main/entity";
import { DownloadManager, HydraApi, gamesPlaytime } from "@main/services";
import { db, downloadsSublevel, gamesSublevel, levelKeys } from "@main/level";
const signOut = async (_event: Electron.IpcMainInvokeEvent) => {
const databaseOperations = dataSource
.transaction(async (transactionalEntityManager) => {
await transactionalEntityManager.getRepository(DownloadQueue).delete({});
await transactionalEntityManager.getRepository(Game).delete({});
await transactionalEntityManager
.getRepository(UserAuth)
.delete({ id: 1 });
})
const databaseOperations = db
.batch([
{
type: "del",
key: levelKeys.auth,
},
{
type: "del",
key: levelKeys.user,
},
])
.then(() => {
/* Removes all games being played */
gamesPlaytime.clear();
});
/* Removes user from Sentry */
Sentry.setUser(null);
return Promise.all([gamesSublevel.clear(), downloadsSublevel.clear()]);
});
/* Cancels any ongoing downloads */
DownloadManager.cancelDownload();
/* Disconnects libtorrent */
PythonInstance.killTorrent();
HydraApi.handleSignOut();
await Promise.all([

View File

@ -1,47 +1,8 @@
import { AppUpdaterEvent } from "@types";
import { registerEvent } from "../register-event";
import updater, { UpdateInfo } from "electron-updater";
import { WindowManager } from "@main/services";
import { app } from "electron";
import { publishNotificationUpdateReadyToInstall } from "@main/services/notifications";
const { autoUpdater } = updater;
const sendEvent = (event: AppUpdaterEvent) => {
WindowManager.mainWindow?.webContents.send("autoUpdaterEvent", event);
};
const sendEventsForDebug = false;
const isAutoInstallAvailable =
process.platform !== "darwin" && process.env.PORTABLE_EXECUTABLE_FILE == null;
const mockValuesForDebug = () => {
sendEvent({ type: "update-available", info: { version: "1.3.0" } });
sendEvent({ type: "update-downloaded" });
};
const newVersionInfo = { version: "" };
import { UpdateManager } from "@main/services/update-manager";
const checkForUpdates = async (_event: Electron.IpcMainInvokeEvent) => {
autoUpdater
.once("update-available", (info: UpdateInfo) => {
sendEvent({ type: "update-available", info });
newVersionInfo.version = info.version;
})
.once("update-downloaded", () => {
sendEvent({ type: "update-downloaded" });
publishNotificationUpdateReadyToInstall(newVersionInfo.version);
});
if (app.isPackaged) {
autoUpdater.autoDownload = isAutoInstallAvailable;
autoUpdater.checkForUpdates();
} else if (sendEventsForDebug) {
mockValuesForDebug();
}
return isAutoInstallAvailable;
return UpdateManager.checkForUpdates();
};
registerEvent("checkForUpdates", checkForUpdates);

View File

@ -7,7 +7,7 @@ const { autoUpdater } = updater;
const restartAndInstallUpdate = async (_event: Electron.IpcMainInvokeEvent) => {
autoUpdater.removeAllListeners();
if (app.isPackaged) {
autoUpdater.quitAndInstall(true, true);
autoUpdater.quitAndInstall(false);
}
};

View File

@ -1,9 +1,6 @@
import type { GameShop } from "@types";
import { registerEvent } from "../register-event";
import { HydraApi, RepacksManager } from "@main/services";
import { CatalogueCategory, formatName, steamUrlBuilder } from "@shared";
import { steamGamesWorker } from "@main/workers";
import { HydraApi } from "@main/services";
import { CatalogueCategory } from "@shared";
const getCatalogue = async (
_event: Electron.IpcMainInvokeEvent,
@ -14,31 +11,11 @@ const getCatalogue = async (
skip: "0",
});
const response = await HydraApi.get<{ objectId: string; shop: GameShop }[]>(
`/games/${category}?${params.toString()}`,
return HydraApi.get(
`/catalogue/${category}?${params.toString()}`,
{},
{ needsAuth: false }
);
return Promise.all(
response.map(async (game) => {
const steamGame = await steamGamesWorker.run(Number(game.objectId), {
name: "getById",
});
const repacks = RepacksManager.search({
query: formatName(steamGame.name),
});
return {
title: steamGame.name,
shop: game.shop,
repacks,
cover: steamUrlBuilder.library(game.objectId),
objectID: game.objectId,
};
})
);
};
registerEvent("getCatalogue", getCatalogue);

View File

@ -0,0 +1,10 @@
import { HydraApi } from "@main/services";
import { registerEvent } from "../register-event";
const getDevelopers = async (_event: Electron.IpcMainInvokeEvent) => {
return HydraApi.get<string[]>(`/catalogue/developers`, null, {
needsAuth: false,
});
};
registerEvent("getDevelopers", getDevelopers);

View File

@ -1,22 +1,22 @@
import { gameShopCacheRepository } from "@main/repository";
import { getSteamAppDetails } from "@main/services";
import { getSteamAppDetails, logger } from "@main/services";
import type { ShopDetails, GameShop, SteamAppDetails } from "@types";
import type { ShopDetails, GameShop } from "@types";
import { registerEvent } from "../register-event";
import { steamGamesWorker } from "@main/workers";
import { gamesShopCacheSublevel, levelKeys } from "@main/level";
const getLocalizedSteamAppDetails = async (
objectID: string,
objectId: string,
language: string
): Promise<ShopDetails | null> => {
if (language === "english") {
return getSteamAppDetails(objectID, language);
return getSteamAppDetails(objectId, language);
}
return getSteamAppDetails(objectID, language).then(
return getSteamAppDetails(objectId, language).then(
async (localizedAppDetails) => {
const steamGame = await steamGamesWorker.run(Number(objectID), {
const steamGame = await steamGamesWorker.run(Number(objectId), {
name: "getById",
});
@ -34,39 +34,33 @@ const getLocalizedSteamAppDetails = async (
const getGameShopDetails = async (
_event: Electron.IpcMainInvokeEvent,
objectID: string,
objectId: string,
shop: GameShop,
language: string
): Promise<ShopDetails | null> => {
if (shop === "steam") {
const cachedData = await gameShopCacheRepository.findOne({
where: { objectID, language },
});
const cachedData = await gamesShopCacheSublevel.get(
levelKeys.gameShopCacheItem(shop, objectId, language)
);
const appDetails = getLocalizedSteamAppDetails(objectID, language).then(
const appDetails = getLocalizedSteamAppDetails(objectId, language).then(
(result) => {
gameShopCacheRepository.upsert(
{
objectID,
shop: "steam",
language,
serializedData: JSON.stringify(result),
},
["objectID"]
);
if (result) {
gamesShopCacheSublevel
.put(levelKeys.gameShopCacheItem(shop, objectId, language), result)
.catch((err) => {
logger.error("Could not cache game details", err);
});
}
return result;
}
);
const cachedGame = cachedData?.serializedData
? (JSON.parse(cachedData?.serializedData) as SteamAppDetails)
: null;
if (cachedGame) {
if (cachedData) {
return {
...cachedGame,
objectID,
...cachedData,
objectId,
} as ShopDetails;
}

View File

@ -1,23 +1,17 @@
import type { GameShop } from "@types";
import type { GameShop, GameStats } from "@types";
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
import type { GameStats } from "@types";
const getGameStats = async (
_event: Electron.IpcMainInvokeEvent,
objectId: string,
shop: GameShop
) => {
const params = new URLSearchParams({
objectId,
shop,
});
const response = await HydraApi.get<GameStats>(
`/games/stats?${params.toString()}`
return HydraApi.get<GameStats>(
`/games/stats`,
{ objectId, shop },
{ needsAuth: false }
);
return response;
};
registerEvent("getGameStats", getGameStats);

View File

@ -1,28 +0,0 @@
import type { CatalogueEntry } from "@types";
import { registerEvent } from "../register-event";
import { steamGamesWorker } from "@main/workers";
import { convertSteamGameToCatalogueEntry } from "../helpers/search-games";
import { RepacksManager } from "@main/services";
const getGames = async (
_event: Electron.IpcMainInvokeEvent,
take = 12,
cursor = 0
): Promise<{ results: CatalogueEntry[]; cursor: number }> => {
const steamGames = await steamGamesWorker.run(
{ limit: take, offset: cursor },
{ name: "list" }
);
const entries = RepacksManager.findRepacksForCatalogueEntries(
steamGames.map((game) => convertSteamGameToCatalogueEntry(game))
);
return {
results: entries,
cursor: cursor + entries.length,
};
};
registerEvent("getGames", getGames);

View File

@ -1,44 +1,20 @@
import type { GameShop, HowLongToBeatCategory } from "@types";
import { getHowLongToBeatGame, searchHowLongToBeat } from "@main/services";
import { registerEvent } from "../register-event";
import { gameShopCacheRepository } from "@main/repository";
import { HydraApi } from "@main/services";
const getHowLongToBeat = async (
_event: Electron.IpcMainInvokeEvent,
objectID: string,
shop: GameShop,
title: string
objectId: string,
shop: GameShop
): Promise<HowLongToBeatCategory[] | null> => {
const searchHowLongToBeatPromise = searchHowLongToBeat(title);
const gameShopCache = await gameShopCacheRepository.findOne({
where: { objectID, shop },
const params = new URLSearchParams({
objectId,
shop,
});
const howLongToBeatCachedData = gameShopCache?.howLongToBeatSerializedData
? JSON.parse(gameShopCache?.howLongToBeatSerializedData)
: null;
if (howLongToBeatCachedData) return howLongToBeatCachedData;
return searchHowLongToBeatPromise.then(async (response) => {
const game = response.data.find(
(game) => game.profile_steam === Number(objectID)
);
if (!game) return null;
const howLongToBeat = await getHowLongToBeatGame(String(game.game_id));
gameShopCacheRepository.upsert(
{
objectID,
shop,
howLongToBeatSerializedData: JSON.stringify(howLongToBeat),
},
["objectID"]
);
return howLongToBeat;
return HydraApi.get(`/games/how-long-to-beat?${params.toString()}`, null, {
needsAuth: false,
});
};

View File

@ -0,0 +1,10 @@
import { HydraApi } from "@main/services";
import { registerEvent } from "../register-event";
const getPublishers = async (_event: Electron.IpcMainInvokeEvent) => {
return HydraApi.get<string[]>(`/catalogue/publishers`, null, {
needsAuth: false,
});
};
registerEvent("getPublishers", getPublishers);

View File

@ -3,32 +3,15 @@ import { shuffle } from "lodash-es";
import { getSteam250List } from "@main/services";
import { registerEvent } from "../register-event";
import { getSteamGameById } from "../helpers/search-games";
import type { Steam250Game } from "@types";
const state = { games: Array<Steam250Game>(), index: 0 };
const filterGames = async (games: Steam250Game[]) => {
const results: Steam250Game[] = [];
for (const game of games) {
const steamGame = await getSteamGameById(game.objectID);
if (steamGame?.repacks.length) {
results.push(game);
}
}
return results;
};
const getRandomGame = async (_event: Electron.IpcMainInvokeEvent) => {
if (state.games.length == 0) {
const steam250List = await getSteam250List();
const filteredSteam250List = await filterGames(steam250List);
state.games = shuffle(filteredSteam250List);
state.games = shuffle(steam250List);
}
if (state.games.length == 0) {

View File

@ -1,14 +1,14 @@
import { db, levelKeys } from "@main/level";
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
import { userPreferencesRepository } from "@main/repository";
import { TrendingGame } from "@types";
import type { TrendingGame } from "@types";
const getTrendingGames = async (_event: Electron.IpcMainInvokeEvent) => {
const userPreferences = await userPreferencesRepository.findOne({
where: { id: 1 },
});
const language = userPreferences?.language || "en";
const language = await db
.get<string, string>(levelKeys.language, {
valueEncoding: "utf-8",
})
.then((language) => language || "en");
const trendingGames = await HydraApi.get<TrendingGame[]>(
"/games/trending",

View File

@ -1,9 +0,0 @@
import { RepacksManager } from "@main/services";
import { registerEvent } from "../register-event";
const searchGameRepacks = (
_event: Electron.IpcMainInvokeEvent,
query: string
) => RepacksManager.search({ query });
registerEvent("searchGameRepacks", searchGameRepacks);

View File

@ -1,25 +1,18 @@
import type { CatalogueSearchPayload } from "@types";
import { registerEvent } from "../register-event";
import { convertSteamGameToCatalogueEntry } from "../helpers/search-games";
import { CatalogueEntry } from "@types";
import { HydraApi, RepacksManager } from "@main/services";
import { HydraApi } from "@main/services";
const searchGamesEvent = async (
const searchGames = async (
_event: Electron.IpcMainInvokeEvent,
query: string
): Promise<CatalogueEntry[]> => {
const games = await HydraApi.get<
{ objectId: string; title: string; shop: string }[]
>("/games/search", { title: query, take: 12, skip: 0 }, { needsAuth: false });
const steamGames = games.map((game) => {
return convertSteamGameToCatalogueEntry({
id: Number(game.objectId),
name: game.title,
clientIcon: null,
});
});
return RepacksManager.findRepacksForCatalogueEntries(steamGames);
payload: CatalogueSearchPayload,
take: number,
skip: number
) => {
return HydraApi.post(
"/catalogue/search",
{ ...payload, take, skip },
{ needsAuth: false }
);
};
registerEvent("searchGames", searchGamesEvent);
registerEvent("searchGames", searchGames);

View File

@ -0,0 +1,12 @@
import { HydraApi } from "@main/services";
import { registerEvent } from "../register-event";
const deleteGameArtifact = async (
_event: Electron.IpcMainInvokeEvent,
gameArtifactId: string
) =>
HydraApi.delete<{ ok: boolean }>(
`/profile/games/artifacts/${gameArtifactId}`
);
registerEvent("deleteGameArtifact", deleteGameArtifact);

View File

@ -0,0 +1,147 @@
import { HydraApi, logger, Ludusavi, WindowManager } from "@main/services";
import fs from "node:fs";
import * as tar from "tar";
import { registerEvent } from "../register-event";
import axios from "axios";
import os from "node:os";
import { app } from "electron";
import path from "node:path";
import { backupsPath } from "@main/constants";
import type { GameShop } from "@types";
import YAML from "yaml";
import { normalizePath } from "@main/helpers";
export interface LudusaviBackup {
files: {
[key: string]: {
hash: string;
size: number;
};
};
}
const replaceLudusaviBackupWithCurrentUser = (
backupPath: string,
title: string,
homeDir: string
) => {
const gameBackupPath = path.join(backupPath, title);
const mappingYamlPath = path.join(gameBackupPath, "mapping.yaml");
const data = fs.readFileSync(mappingYamlPath, "utf8");
const manifest = YAML.parse(data) as {
backups: LudusaviBackup[];
drives: Record<string, string>;
};
const currentHomeDir = normalizePath(app.getPath("home"));
/* Renaming logic */
if (os.platform() === "win32") {
const mappedHomeDir = path.join(
gameBackupPath,
path.join("drive-C", homeDir.replace("C:", ""))
);
if (fs.existsSync(mappedHomeDir)) {
fs.renameSync(
mappedHomeDir,
path.join(gameBackupPath, "drive-C", currentHomeDir.replace("C:", ""))
);
}
}
const backups = manifest.backups.map((backup: LudusaviBackup) => {
const files = Object.entries(backup.files).reduce((prev, [key, value]) => {
const updatedKey = key.replace(homeDir, currentHomeDir);
return {
...prev,
[updatedKey]: value,
};
}, {});
return {
...backup,
files,
};
});
fs.writeFileSync(mappingYamlPath, YAML.stringify({ ...manifest, backups }));
};
const downloadGameArtifact = async (
_event: Electron.IpcMainInvokeEvent,
objectId: string,
shop: GameShop,
gameArtifactId: string
) => {
try {
const { downloadUrl, objectKey, homeDir } = await HydraApi.post<{
downloadUrl: string;
objectKey: string;
homeDir: string;
}>(`/profile/games/artifacts/${gameArtifactId}/download`);
const zipLocation = path.join(app.getPath("userData"), objectKey);
const backupPath = path.join(backupsPath, `${shop}-${objectId}`);
if (fs.existsSync(backupPath)) {
fs.rmSync(backupPath, {
recursive: true,
force: true,
});
}
const response = await axios.get(downloadUrl, {
responseType: "stream",
onDownloadProgress: (progressEvent) => {
WindowManager.mainWindow?.webContents.send(
`on-backup-download-progress-${objectId}-${shop}`,
progressEvent
);
},
});
const writer = fs.createWriteStream(zipLocation);
response.data.pipe(writer);
writer.on("error", (err) => {
logger.error("Failed to write zip", err);
throw err;
});
fs.mkdirSync(backupPath, { recursive: true });
writer.on("close", () => {
tar
.x({
file: zipLocation,
cwd: backupPath,
})
.then(async () => {
replaceLudusaviBackupWithCurrentUser(
backupPath,
objectId,
normalizePath(homeDir)
);
Ludusavi.restoreBackup(backupPath).then(() => {
WindowManager.mainWindow?.webContents.send(
`on-backup-download-complete-${objectId}-${shop}`,
true
);
});
});
});
} catch (err) {
WindowManager.mainWindow?.webContents.send(
`on-backup-download-complete-${objectId}-${shop}`,
false
);
}
};
registerEvent("downloadGameArtifact", downloadGameArtifact);

View File

@ -0,0 +1,33 @@
import { HydraApi } from "@main/services";
import { registerEvent } from "../register-event";
import type { GameArtifact, GameShop } from "@types";
import { SubscriptionRequiredError, UserNotLoggedInError } from "@shared";
const getGameArtifacts = async (
_event: Electron.IpcMainInvokeEvent,
objectId: string,
shop: GameShop
) => {
const params = new URLSearchParams({
objectId,
shop,
});
return HydraApi.get<GameArtifact[]>(
`/profile/games/artifacts?${params.toString()}`,
{},
{ needsSubscription: true }
).catch((err) => {
if (err instanceof SubscriptionRequiredError) {
return [];
}
if (err instanceof UserNotLoggedInError) {
return [];
}
throw err;
});
};
registerEvent("getGameArtifacts", getGameArtifacts);

Some files were not shown because too many files have changed in this diff Show More