Compare commits

...

682 Commits

Author SHA1 Message Date
Zamitto
a073cf7f8c chore: bump electron vite version 2025-10-27 04:50:32 -03:00
Zamitto
4471bf0f8b chore: bump to electron 37 2025-10-24 21:05:40 -03:00
Zamitto
f239562bb3 Merge branch 'main' into chore/bump-electron-version 2025-10-24 21:05:00 -03:00
Zamitto
11c19f5fe5 chore: downgrade to latest of 34 2025-10-24 20:47:24 -03:00
Chubby Granny Chaser
0c7767de36 fix: remove unused useRef import
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-24 18:22:46 +01:00
Chubby Granny Chaser
a3d700bb60 feat: improving skeleton 2025-10-24 18:01:37 +01:00
Chubby Granny Chaser
881564daa7 fix: fixing game hero 2025-10-24 17:13:36 +01:00
Zamitto
ab50271399 Merge pull request #1830 from Lianela/main
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
feat: added missing strings and fixed typo
2025-10-24 06:57:48 -03:00
Zamitto
2c1a8bf639 Remove extra newline in Spanish translation file 2025-10-24 06:42:39 -03:00
Kyatto
362774a3cc fix: comma 2025-10-23 23:53:16 -07:00
Kyatto
dec0af8a80 feat: translated new strings 2025-10-23 23:49:18 -07:00
Zamitto
29e822f2f1 fix: node version on gh actions files 2025-10-23 17:56:45 -03:00
Zamitto
a388acf948 chore: update node version on gh actions 2025-10-23 17:51:15 -03:00
Zamitto
40f7e6e2ad chore: bump electron version to 35 2025-10-23 17:47:54 -03:00
Zamitto
8aaa85e009 Merge pull request #1825 from GrimmDevel/translation-update
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
Added Latvian translation
2025-10-23 17:43:14 -03:00
Zamitto
d1c09299b1 Merge branch 'main' into translation-update 2025-10-23 17:19:02 -03:00
Zamitto
0a8db2a976 Fix newline at end of .env.example file 2025-10-23 17:18:46 -03:00
Zamitto
ef8c6c90fb remove debug 2025-10-23 17:16:54 -03:00
Zamitto
03770c03f1 debug 2025-10-23 17:14:08 -03:00
Zamitto
e23ee8940c debug 2025-10-23 17:06:55 -03:00
Zamitto
089d417950 debug 2025-10-23 17:04:35 -03:00
GrimmDevel
8a64b5e245 Fix 2025-10-23 23:04:02 +03:00
Grimm
fb93f06901 Merge branch 'main' into translation-update 2025-10-23 23:01:23 +03:00
Zamitto
7fc9962e04 chore: create builder user to run makepkg 2025-10-23 16:55:51 -03:00
Zamitto
2179086285 install missing arch package 2025-10-23 16:34:47 -03:00
Zamitto
0814c08459 update aur 2025-10-23 16:30:01 -03:00
Zamitto
9e84cd970e update aur 2025-10-23 16:24:49 -03:00
Zamitto
321d170634 force different version to test script 2025-10-23 16:13:24 -03:00
Zamitto
b96e6095dc update aur 2025-10-23 16:03:51 -03:00
Zamitto
e12fdf8f8f remove js script 2025-10-23 12:45:09 -03:00
Zamitto
52714e3323 remove v from tag 2025-10-23 12:38:31 -03:00
Zamitto
2529bdf5ca fix 2025-10-23 12:33:19 -03:00
Zamitto
6545c7d7cd update aur 2025-10-23 12:22:08 -03:00
Zamitto
7f28929c68 update yml 2025-10-23 12:19:12 -03:00
Zamitto
19d8a09f9d update aur 2025-10-23 12:17:02 -03:00
Zamitto
00e716375e clone with https for testing 2025-10-23 12:13:13 -03:00
Zamitto
95a5c3716c update-aur 2025-10-23 12:06:37 -03:00
Zamitto
4d3ba51b61 update-aur.yml 2025-10-23 11:47:38 -03:00
Zamitto
a1552020c0 chore: update aur
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-23 11:22:54 -03:00
Zamitto
65ae5991e7 chore: update-aur 2025-10-23 11:14:41 -03:00
Zamitto
805d67d2d1 fix: add missing package 2025-10-23 10:56:39 -03:00
Zamitto
313f2cd585 chore: try fixing action 2025-10-23 10:52:53 -03:00
Zamitto
1e8983d0c0 chore: add openssh in arch packages 2025-10-23 10:23:40 -03:00
Zamitto
face259167 chore: dont apply aur changes on workflow_dispatch 2025-10-23 10:02:31 -03:00
Zamitto
09b54addc1 Merge pull request #1827 from hydralauncher/chore/update-aur-on-release
chore: action to update aur
2025-10-23 09:59:35 -03:00
Zamitto
9a278dc614 chore: action to update aur 2025-10-23 09:49:30 -03:00
Chubby Granny Chaser
214e8f9538 Merge pull request #1824 from spectre365/game-page-interface-changes
Interface modification for the default game page
2025-10-23 09:12:18 +01:00
GrimmDevel
3df07fefe5 fixed lint error 2025-10-23 00:59:38 +03:00
GrimmDevel
00e597c910 Added Latvian translation 2025-10-23 00:51:00 +03:00
spectre365
a7b5bdb3b4 Interface modification for the default game page 2025-10-22 18:03:24 -03:00
spectre365
99e34ce060 Interface modification for the default game page 2025-10-22 17:56:20 -03:00
spectre365
f0421d9fe0 Interface modification for the default game page 2025-10-22 17:51:31 -03:00
spectre365
ca35da37ed Interface modification for the default game page 2025-10-22 17:20:48 -03:00
spectre365
7435bff64f Interface modification for the default game page 2025-10-22 17:17:37 -03:00
spectre365
864fd282f0 Interface modification for the default game page 2025-10-22 16:42:21 -03:00
spectre365
945173f48e Interface modification for the default game page 2025-10-22 16:32:39 -03:00
Zamitto
0d60ec8801 Merge pull request #1818 from slakgosh/main
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
Added finnish translation
2025-10-21 15:46:19 -03:00
Zamitto
0575e837c8 fix: game achievement cache
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-20 08:26:28 -03:00
Domas Linkis
5ff15b30b2 Added finnish lang
Worstest 2 hours of my life
2025-10-19 13:47:42 +05:00
Domas Linkis
2f1185bbf9 Finnish Language 2025-10-19 13:38:04 +05:00
Domas Linkis
19a57cb1e0 Added ukrainian lang 2025-10-19 13:30:10 +05:00
Chubby Granny Chaser
bbd9ff76c4 Merge pull request #1815 from hydralauncher/feat/adding-review-translations
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
feat: adding translations
2025-10-17 15:38:30 +01:00
Chubby Granny Chaser
39e76f458f Merge branch 'main' into feat/adding-review-translations 2025-10-17 15:38:20 +01:00
Chubby Granny Chaser
393c55738c feat: removing pre and code 2025-10-17 15:33:10 +01:00
Chubby Granny Chaser
24f7ecb795 feat: adding translations 2025-10-17 15:04:42 +01:00
Zamitto
97b27a1785 fix: handle user not found on user-profile.context
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-16 11:01:20 -03:00
Chubby Granny Chaser
e7ee049df5 ci: fixing env var
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-15 16:39:59 +01:00
Chubby Granny Chaser
f5a6a5c359 Merge pull request #1813 from hydralauncher/feat/remove-dexie
Feat/remove dexie
2025-10-15 16:05:41 +01:00
Chubby Granny Chaser
2cec9f6298 Merge branch 'feat/remove-dexie' of github.com:hydralauncher/hydra into feat/remove-dexie 2025-10-15 16:03:27 +01:00
Chubby Granny Chaser
5639c09c22 feat: improving caching 2025-10-15 16:02:50 +01:00
Chubby Granny Chaser
abc7d29e28 Merge branch 'main' into feat/remove-dexie 2025-10-15 15:59:28 +01:00
Chubby Granny Chaser
074d9d4fe2 feat: improving caching 2025-10-15 15:59:03 +01:00
Chubby Granny Chaser
24106eaeab feat: improving caching 2025-10-15 13:58:40 +01:00
Chubby Granny Chaser
136a44473f feat: adding o1 cache 2025-10-14 19:26:39 +01:00
Chubby Granny Chaser
41227b125e feat: improving performance on sources 2025-10-14 17:42:59 +01:00
Chubby Granny Chaser
311555386e fix: fixing bug with sources 2025-10-14 15:49:02 +01:00
Zamitto
a4cc35fc20 chore: update i18n strings
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-14 11:27:40 -03:00
Chubby Granny Chaser
aba206452f feat: improving gallery slider 2025-10-14 14:56:47 +01:00
Chubby Granny Chaser
0a5626c745 Merge branch 'feat/remove-dexie' of github.com:hydralauncher/hydra into feat/remove-dexie 2025-10-14 14:53:18 +01:00
Chubby Granny Chaser
bfa2fd6166 feat: improving download source import code 2025-10-14 14:52:47 +01:00
Chubby Granny Chaser
d530d7918a Merge branch 'main' into feat/remove-dexie 2025-10-14 13:22:33 +01:00
Chubby Granny Chaser
c60753547c feat: removing dexie 2025-10-14 13:18:42 +01:00
Chubby Granny Chaser
1a99305aa0 feat: removing dexie 2025-10-14 13:15:09 +01:00
Zamitto
89a60b7d76 Merge pull request #1811 from whintersnow0/fix/add-missing-uk-translations
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
fix: add missing uk translations
2025-10-14 05:44:49 -03:00
Chubby Granny Chaser
f9c585d12f ci: triggering
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-14 00:37:07 +01:00
Chubby Granny Chaser
594332ba53 ci: triggering 2025-10-14 00:34:01 +01:00
Chubby Granny Chaser
528dfafb93 ci: triggering 2025-10-14 00:23:40 +01:00
Chubby Granny Chaser
7980027a98 ci: triggering 2025-10-14 00:23:31 +01:00
Chubby Granny Chaser
1fedd8ffdd ci: triggering 2025-10-14 00:17:28 +01:00
Chubby Granny Chaser
2cad70a42e ci: triggering 2025-10-14 00:03:46 +01:00
Chubby Granny Chaser
7b2de7b310 Merge pull request #1812 from hydralauncher/feat/ota
Feat/ota
2025-10-13 23:56:39 +01:00
Chubby Granny Chaser
32b9f88702 feat: adding ota updates 2025-10-13 23:56:16 +01:00
Chubby Granny Chaser
c9fc4dfc02 feat: adding ota updates 2025-10-13 23:55:33 +01:00
Chubby Granny Chaser
0ae3e35cb4 feat: adding ota updates 2025-10-13 23:53:44 +01:00
Chubby Granny Chaser
cd136c07a6 ci: prod deployment wrangler 2025-10-13 23:20:26 +01:00
Chubby Granny Chaser
6e243822ff ci: prod deployment wrangler 2025-10-13 23:16:26 +01:00
Chubby Granny Chaser
12274b8c57 ci: prod deployment wrangler 2025-10-13 23:13:23 +01:00
whintersnow0
e1ee3a47d6 fix: add missing uk translations 2025-10-14 00:02:06 +02:00
Chubby Granny Chaser
a8bbb76190 ci: testing build 2025-10-13 22:59:09 +01:00
Chubby Granny Chaser
59d4545476 ci: testing build 2025-10-13 22:54:15 +01:00
Chubby Granny Chaser
621adbb1ab ci: testing build 2025-10-13 22:51:53 +01:00
Zamitto
d530c384c9 Merge pull request #1809 from whintersnow0/fix/get-user-data-db
fix: race condition in getUserData database update
2025-10-13 18:03:01 -03:00
Zamitto
d8e30a3f2f Merge pull request #1808 from hydralauncher/fix/game-not-auto-detecting-exe-on-linux
fix: game not auto detecting exe on linux
2025-10-13 18:02:42 -03:00
Chubby Granny Chaser
5e59e1a7d1 feat: adding uuid library 2025-10-13 18:12:07 +01:00
Chubby Granny Chaser
fc541daaed feat: adding uuid library 2025-10-13 18:08:41 +01:00
Chubby Granny Chaser
53d81018e9 feat: adding uuid library 2025-10-13 18:05:48 +01:00
Chubby Granny Chaser
25758a540f ci: adding dockerfile 2025-10-13 17:45:51 +01:00
Chubby Granny Chaser
e5659543ce ci: adding dockerfile 2025-10-13 17:01:45 +01:00
whintersnow0
612350ac19 fix: race condition in getUserData database update 2025-10-13 16:42:31 +02:00
Zamitto
b9c7f992dc fix: aria2 process not being killed 2025-10-13 09:10:31 -03:00
Zamitto
97dc7653b0 chore: bump deps 2025-10-13 09:10:12 -03:00
Zamitto
330f38776f feat: change disk usage library as old one did not compile with more recent electron 2025-10-13 08:18:54 -03:00
Zamitto
b874138641 fix: also test executable name without extension 2025-10-13 08:17:50 -03:00
Chubby Granny Chaser
a439095260 fix: fixing hu translation
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-12 22:51:41 +01:00
Chubby Granny Chaser
5ff263e8c8 Merge pull request #1807 from Stormm232/main
Hungarian Translation: Aligned to latest update.
2025-10-12 22:46:06 +01:00
Kiwo.2
864c47ee46 Missing "," fix 2025-10-12 23:45:34 +02:00
Kiwo.2
523e19d97a Merge branch 'main' into main 2025-10-12 23:41:08 +02:00
Zamitto
03b2c8d07f fix: missing abortController after assets promise 2025-10-12 18:32:06 -03:00
Kiwo.2
d296830533 Matching *HU* translation to Latest 2025-10-12 23:30:52 +02:00
Kiwo.2
7fc4e17547 Merge branch 'hydralauncher:main' into main 2025-10-12 23:26:16 +02:00
Chubby Granny Chaser
636cf287c9 Merge branch 'main' of github.com:hydralauncher/hydra 2025-10-12 22:06:16 +01:00
Chubby Granny Chaser
84be238988 ci: version bump 2025-10-12 22:05:53 +01:00
Chubby Granny Chaser
494a2a0da5 Merge pull request #1806 from hydralauncher/fix/game_asset_changing_path
Fix: game asset changing path
2025-10-12 20:56:00 +01:00
Moyase
4e912b3b8d Merge branch 'main' into fix/game_asset_changing_path 2025-10-12 22:52:45 +03:00
Moyasee
e71211f1aa Fix: extracted ternary operations 2025-10-12 22:51:35 +03:00
Moyasee
a946f3bd5a Fix: extracted ternary operations 2025-10-12 22:48:33 +03:00
Chubby Granny Chaser
374b62983b feat: adding 2h constraint 2025-10-12 20:48:13 +01:00
Moyasee
0cd4c3ccf6 Fix: extracted ternary operations 2025-10-12 22:45:20 +03:00
Moyasee
7b97663b3a Merge branch 'fix/game_asset_changing_path' of https://github.com/hydralauncher/hydra into fix/game_asset_changing_path 2025-10-12 22:40:07 +03:00
Moyasee
68e2e2a772 Fix: conditional structure 2025-10-12 22:39:26 +03:00
Moyase
39979292e2 Merge branch 'main' into fix/game_asset_changing_path 2025-10-12 22:37:28 +03:00
Moyasee
60ae7d40fa Fix: Image path persists upon clearing image 2025-10-12 22:34:05 +03:00
Chubby Granny Chaser
63b6b0b44e Merge pull request #1805 from hydralauncher/feat/reviews-and-commenting
fix: fixing search on sources modal
2025-10-12 20:17:22 +01:00
Chubby Granny Chaser
6b6dfc7adc Merge branch 'main' into feat/reviews-and-commenting 2025-10-12 20:17:11 +01:00
Chubby Granny Chaser
7c33c43d9c fix: fixing search on sources modal 2025-10-12 20:16:37 +01:00
Moyasee
82c0dc0d97 Merge branch 'main' of https://github.com/hydralauncher/hydra into fix/game_asset_changing_path 2025-10-12 22:13:09 +03:00
Moyasee
1cba3f350c formatting 2025-10-12 22:12:15 +03:00
Chubby Granny Chaser
5d0f036de2 Merge pull request #1801 from hydralauncher/feat/reviews-and-commenting
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
Feat/reviews and commenting
2025-10-12 19:05:45 +01:00
Chubby Granny Chaser
c2e5bc0e91 fix: fixing translations 2025-10-12 19:04:10 +01:00
Chubby Granny Chaser
030b3b8f7c fix: fixing translations 2025-10-12 19:03:30 +01:00
Chubby Granny Chaser
38b04ee991 fix: fixing translations 2025-10-12 19:01:07 +01:00
Chubby Granny Chaser
5f643ecd5f fix: fixing translations 2025-10-12 18:59:19 +01:00
Chubby Granny Chaser
366ce953d4 Merge pull request #1803 from Wkeynhk/patch-4
Update Russian Translation
2025-10-12 18:53:20 +01:00
Chubby Granny Chaser
34aea2b0c4 feat: adding api call for decky plugin 2025-10-12 18:51:47 +01:00
Chubby Granny Chaser
dcec33ada1 feat: adding review styling 2025-10-12 18:40:27 +01:00
Chubby Granny Chaser
5877c8c798 feat: adding review styling 2025-10-12 18:40:05 +01:00
Chubby Granny Chaser
14204f1fbe feat: adding review styling 2025-10-12 18:39:41 +01:00
Moyasee
602b2fef91 Fix: TipTap formatting not displaying on the review message 2025-10-12 19:57:12 +03:00
Moyasee
2240a8c9fb Fix: TipTap formatting not displaying on the review message 2025-10-12 19:54:45 +03:00
Moyasee
6c34a1fcc0 Merge branch 'feat/reviews-and-commenting' of https://github.com/hydralauncher/hydra into feat/reviews-and-commenting 2025-10-12 19:52:12 +03:00
Moyasee
741f9de85c Fix: formatting 2025-10-12 19:51:26 +03:00
Zamitto
5510bb9c9e Merge pull request #1804 from hydralauncher/feat/separate-game-stats-from-assets
feat: separate game stats from assets
2025-10-12 12:19:20 -03:00
Zamitto
df6d9df31d feat: update cache time 2025-10-12 12:18:43 -03:00
Chubby Granny Chaser
1e779a32c1 Merge branch 'main' into patch-4 2025-10-12 12:16:21 +01:00
Zamitto
b21c97ea66 feat: remove import 2025-10-11 11:59:54 -03:00
Zamitto
9bada771df feat: separate game assets from game stats 2025-10-11 11:26:05 -03:00
Zamitto
7b8f7fc070 feat: add alternative steam path on linux
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-10 15:17:27 -03:00
Zamitto
6146a1fbf1 Merge branch 'main' into feat/reviews-and-commenting 2025-10-10 14:50:46 -03:00
Zamitto
91fd5932da fix: lastTimePlayed not updating correctly when merging games 2025-10-10 14:46:21 -03:00
Zamitto
a9b67ad1e6 feat: handle and log game backup errors 2025-10-10 14:29:00 -03:00
Kiwo.2
aa4def327a New lines added for update 2025-10-07 19:39:25 +02:00
Moyasee
47ac8e63ac fix: fixed button layout in prompt message and fixed rating display in stats in game page 2025-10-06 18:30:56 +03:00
Moyasee
3d71dded3d fix: formatting 2025-10-06 15:48:19 +03:00
Moyasee
055be6b10a Fix: review prompt banner appearing in all games 2025-10-06 15:41:12 +03:00
Wkeynhk
b0d9d18c6c Update translation.json 2025-10-06 00:35:24 +03:00
Wkeynhk
e6d5a2e871 Update translation.json 2025-10-05 21:38:43 +03:00
Moyasee
063e97e0ec Fix: marked props read-only and catch error 2025-10-05 20:36:20 +03:00
Moyasee
6667e00c91 Feat: added rating showing in game card in categories, fixed maybe later button, changed empty state, fixed copy issue, added karma showing, added remove review text, added empty state for games with no reviews, fixed sorting buttons, fixed shift in the page 2025-10-05 20:32:41 +03:00
Moyasee
8653e62dce fix: using proper input type instead of the button role 2025-10-04 20:25:28 +03:00
Moyasee
71f391c8e8 fix: refactoring function, using proper attributes and extracted ternary operation 2025-10-04 20:22:08 +03:00
Moyasee
1f7947f50f fix: refactoring function, using proper attributes and extracted ternary operation 2025-10-04 20:20:48 +03:00
Moyasee
72562b13ef Feat: Rating score display redesign, Rating choosing redesign, added avg rating on the game page 2025-10-04 20:14:27 +03:00
Moyasee
1f05dc8f78 Feat: Rating score display redesign, Rating choosing redesign, added avg rating on the game page 2025-10-04 20:12:01 +03:00
Moyasee
52d3750acc fix: multiple imports and other minor issues 2025-10-03 16:20:32 +03:00
Moyasee
b91306e70e fix: possible DoS 2025-10-03 16:16:33 +03:00
Moyasee
e3fb325b7b fix: eslint fix 2025-10-03 15:57:06 +03:00
Moyasee
2e68018059 fix: eslint error 2025-10-03 15:56:02 +03:00
Moyasee
f11296f3a9 Fix: eslint error 2025-10-03 15:54:40 +03:00
Moyasee
a92563509b Fix: fixed zalgo text + html formatting inside of the review message 2025-10-03 15:52:40 +03:00
Moyasee
899f68318f Fix: multiple imports, ambigious spacing and unexpected negated condition 2025-10-03 03:06:37 +03:00
Moyasee
1b5f70a075 Fix: replaced array index with review.id and marked props as read-only 2025-10-03 03:01:37 +03:00
Moyasee
fab02c4d16 Fix: Format-check fail and translations. Feat: added animations to upvote and downvote buttons 2025-10-03 02:55:41 +03:00
Moyasee
8d5b169166 Feat: updated input field design, fixed text overflow 2025-10-02 21:22:09 +03:00
Moyasee
3160ee68f1 Merge branch 'feat/reviews-and-commenting' of https://github.com/hydralauncher/hydra into feat/reviews-and-commenting 2025-10-02 19:31:43 +03:00
Moyasee
80275dc08f Fix: Review delete modal button color + added missing translation 2025-10-02 19:29:50 +03:00
Moyase
958e66d795 Merge branch 'main' into feat/reviews-and-commenting 2025-10-02 19:08:34 +03:00
Moyasee
4116459577 Fix: Typescript error regarding missing karma property 2025-10-02 19:07:58 +03:00
Moyasee
449ea92268 feat: Added karma to user profile, added warning modal before deleting review, fixed sorting buttons for reviews 2025-10-02 19:04:25 +03:00
Chubby Granny Chaser
f1a1270230 Merge pull request #1792 from caduHD4/feat/context_game_menu
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
Feat: context game menu in sidebar
2025-10-02 10:50:38 +01:00
Chubby Granny Chaser
63fe7acd0d Merge branch 'main' into feat/context_game_menu 2025-10-02 10:50:13 +01:00
Chubby Granny Chaser
2beb9c469a Merge pull request #1800 from ItsYeBoi20/fix-outdated-pr-1452
All-debrid support (fixed conflicts)
2025-10-02 10:43:56 +01:00
Moyasee
19cf24ef48 feat: changed profile pictures in reviews to squares, changed sorting buttons 2025-10-02 01:30:44 +03:00
Moyasee
461da55070 fix: push fix 2025-10-02 00:45:33 +03:00
Moyasee
f08ad361ed feat: added review functionality 2025-10-02 00:43:49 +03:00
ItsYeBoi20
abe2314c38 Fix Game type to resolve typecheck errors 2025-10-01 06:15:41 +02:00
ItsYeBoi20
cb9b120093 Fix Game type to resolve typecheck errors 2025-10-01 05:43:03 +02:00
Carlos Eduardo Mariano Garcia Pereira
3058a05ca8 Merge branch 'main' into feat/context_game_menu 2025-10-01 00:34:48 -03:00
ItsYeBoi20
aacf9abc6a Update PR #1452 to latest HydraLauncher and fix conflicts 2025-10-01 05:04:34 +02:00
Chubby Granny Chaser
79498abdb5 feat: improving ui for download source filter
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-09-30 20:37:44 +01:00
Chubby Granny Chaser
2aebbb8fa2 Merge pull request #1791 from caduHD4/feat/source-filter
feat: add filter by source in modal repacks
2025-09-30 20:21:16 +01:00
Chubby Granny Chaser
c3ce92a48e Merge branch 'main' into feat/source-filter 2025-09-30 20:21:07 +01:00
Chubby Granny Chaser
8eb15900fe Merge pull request #1799 from Stormm232/main
Add Hungarian Translation (Re-Translated, please read!)
2025-09-30 20:19:42 +01:00
Chubby Granny Chaser
9812f455c9 Merge branch 'main' into main 2025-09-30 20:19:29 +01:00
Chubby Granny Chaser
74983520ed Merge pull request #1798 from hydralauncher/feat/revert-title-and-cleanup-fix
feat: added ability to reset assets for custom game
2025-09-30 20:19:23 +01:00
Carlos Eduardo Mariano Garcia Pereira
e3cd596fb2 Fix "," for 'no_repacks_found' key 2025-09-30 14:46:16 -03:00
Kiwo.2
37db88f48f Fix: "catalogue": { was duplicated at game_details 2025-09-30 19:44:15 +02:00
Carlos Eduardo Mariano Garcia Pereira
0e999496e3 Merge branch 'main' into feat/source-filter 2025-09-30 13:51:49 -03:00
Moyasee
9c87964e16 fix: added missing translations 2025-09-30 19:19:39 +03:00
Kiwo.2
45903d778e Adjustment to Translation 2025-09-30 16:12:29 +02:00
Kiwo.2
937a3d189e Fixed an error 2025-09-30 15:11:09 +02:00
Kiwo.2
406b455960 Update build.yml 2025-09-30 14:48:20 +02:00
Kiwo.2
c39f8c703b Merge branch 'main' of https://github.com/Stormm232/hydra 2025-09-30 14:23:19 +02:00
Kiwo.2
01b8f0c3af Adjusted again - Drop Hero Image and such r left untranslated due to no lines in json 2025-09-30 14:21:58 +02:00
Kiwo.2
5930132de4 Merge branch 'hydralauncher:main' into main 2025-09-30 14:20:47 +02:00
Moyasee
776859c58e fix: extracted ternary operations 2025-09-30 14:29:40 +03:00
Moyasee
cb0fc82644 feat: added ability to reset assets for custom game 2025-09-30 14:24:00 +03:00
Kiwo.2
3826294337 Fixes 2025-09-30 12:42:29 +02:00
Chubby Granny Chaser
a625541125 fix: fixing modal issue
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-09-30 06:52:48 +01:00
Chubby Granny Chaser
300cff2be6 ci: changing windows version
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-09-30 05:37:01 +01:00
Kiwo.2
3c502679a6 Adjustment 2025-09-30 06:14:52 +02:00
Kiwo.2
701226d25d Correction of Translation for upcoming update 2025-09-30 06:04:04 +02:00
Chubby Granny Chaser
4f5c345c42 ci: testing webhook 2025-09-30 05:00:22 +01:00
Chubby Granny Chaser
d513377f1c Merge pull request #1797 from hydralauncher/feat/custom-games-support
Feat/custom games support
2025-09-30 04:02:06 +01:00
Chubby Granny Chaser
0df5486fec fix: fixing how long to beat broken logic 2025-09-30 03:59:08 +01:00
Kiwo.2
46491af539 Fix to the translation 2025-09-30 03:08:39 +02:00
Kiwo.2
f9f110bd1c Typo 2025-09-30 02:50:32 +02:00
Kiwo.2
e14c125a43 Small typo 2025-09-30 02:42:58 +02:00
Kiwo.2
d8947e5ab8 Merge branch 'main' of https://github.com/Stormm232/hydra 2025-09-30 02:40:06 +02:00
Stormm232
5648e393bf Deleted file. 2025-09-30 02:39:24 +02:00
Kiwo.2
d7e47323e5 Update to latest 2025-09-30 02:38:09 +02:00
Chubby Granny Chaser
26dfb6db8e feat: new style for sidebar on game page 2025-09-30 01:13:49 +01:00
Chubby Granny Chaser
ae47498139 feat: sync with main 2025-09-30 01:13:48 +01:00
Chubby Granny Chaser
bc5c5da703 Merge pull request #1796 from hydralauncher/feat/revert-title-and-cleanup-fix
Fix: deleted favorite icon from profile game card and fixed the short format appearing
2025-09-30 01:07:08 +01:00
Moyase
5f1026fcd2 Merge branch 'main' into feat/revert-title-and-cleanup-fix 2025-09-30 02:49:54 +03:00
Moyasee
de4b039d10 Fix: deleted favorite icon from profile game card and fixed the media for showing short format of hours 2025-09-30 02:46:58 +03:00
Chubby Granny Chaser
fd4d293e13 Merge pull request #1795 from hydralauncher/feat/revert-title-and-cleanup-fix
Fix: Playtime font size and original path in edit game modal fix
2025-09-30 00:22:56 +01:00
Moyasee
e5646240ab fix: async error function had too many arguments 2025-09-30 02:18:22 +03:00
Moyasee
655de1361b Merge branch 'feat/revert-title-and-cleanup-fix' of https://github.com/hydralauncher/hydra into feat/revert-title-and-cleanup-fix 2025-09-30 02:18:08 +03:00
Moyasee
ceb236c40c fix: async error function had too many arguments 2025-09-30 02:17:17 +03:00
Moyase
570b881c2b Merge branch 'main' into feat/revert-title-and-cleanup-fix 2025-09-30 02:11:43 +03:00
Moyasee
959bed746b fix: original path to image not showing in modal after updating game asset 2025-09-30 02:09:19 +03:00
Moyasee
f0cb2f9579 fix: playtime font-size increased 2025-09-30 01:43:13 +03:00
Moyasee
0f3d6ef76f fix: state fix and remake checking for overlap 2025-09-30 01:18:44 +03:00
Moyase
3301f845f5 Merge pull request #1794 from hydralauncher/feat/revert-title-and-cleanup-fix
Feat: revert title in edit modal and proper cleanup of unused assets
2025-09-30 01:12:00 +03:00
Moyasee
9689c19863 fix: state fix and remake checking for overlap 2025-09-30 00:52:46 +03:00
Moyasee
bd053a1635 fix: favorite and pin button overlapping playtime 2025-09-29 22:04:01 +03:00
Moyasee
a39f9ebb70 fix: multiple imports 2025-09-29 20:39:58 +03:00
Moyasee
7e22344f77 Fix: fixed fs import and started using logger.warn 2025-09-29 20:36:05 +03:00
Carlos Eduardo Mariano Garcia Pereira
30e4d694cd Merge branch 'main' into feat/source-filter 2025-09-29 14:26:21 -03:00
Carlos Eduardo Mariano Garcia Pereira
0dbf904bb8 Merge branch 'main' into feat/context_game_menu 2025-09-29 14:25:35 -03:00
Moyasee
96d6b90356 Fix: Refactoring functions to reduce complexity 2025-09-29 20:20:58 +03:00
Moyasee
a87e04a366 Fix: using node:fs instead of fs 2025-09-29 20:14:36 +03:00
Moyasee
bd86321d02 fix: using for...of instead of forEach 2025-09-29 20:09:04 +03:00
Moyase
95fca086ba Merge branch 'main' into feat/revert-title-and-cleanup-fix 2025-09-29 19:55:41 +03:00
Moyasee
3e93a14deb Fix: display actual image path in edit game modal 2025-09-29 19:53:52 +03:00
Chubby Granny Chaser
d4b4b25ec8 Merge pull request #1793 from Lianela/main
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
translation: spanish update
2025-09-29 17:40:47 +01:00
Moyasee
2bed7c0b37 fix: cleaned comments and simplified function 2025-09-29 14:55:23 +03:00
Moyasee
f3b4898e9c feat: proper cleanup of unused assets 2025-09-29 14:51:08 +03:00
Lianela | Kyatto
046f6d388a updated spanish translation
i guess being offline for a while was kinda refreshing lol
2025-09-29 02:33:33 -07:00
Stormm232
e678cc3801 MAIN_VITE_AUTH_URL.env 2025-09-29 04:38:20 +02:00
Stormm232
d7d920a7b7 Add files via upload 2025-09-29 02:52:28 +02:00
Kiwo.2
3afd30765f Merge branch 'main' of https://github.com/Stormm232/hydra 2025-09-29 00:08:06 +02:00
Kiwo.2
5bf5ca3504 Adjustment 2025-09-29 00:07:49 +02:00
Stormm232
6e2d7f5c8a Merge branch 'hydralauncher:main' into main 2025-09-28 23:37:32 +02:00
Carlos Eduardo Mariano Garcia Pereira
a003153239 Merge branch 'main' into feat/context_game_menu 2025-09-28 18:32:33 -03:00
Moyasee
dfd640ebda feat: add revert title for non-custom games 2025-09-29 00:14:47 +03:00
Carlos Eduardo Mariano Garcia Pereira
40aaa5d3ca Merge branch 'main' into feat/source-filter 2025-09-28 18:13:49 -03:00
Chubby Granny Chaser
88ed335fd4 Merge pull request #1786 from hydralauncher/feat/custom-games-support
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Feat: Custom Games Support + Edit game info support
2025-09-28 18:22:24 +01:00
Kiwo.2
0e2cc2b25c Adjustment to the translation 2025-09-28 19:18:43 +02:00
Moyasee
d48f28b3c7 Merge branch 'feat/custom-games-support' of https://github.com/hydralauncher/hydra into feat/custom-games-support 2025-09-28 20:18:03 +03:00
Moyasee
8f30f8a4ad fix: fixed edit game assets button not using translation 2025-09-28 20:17:02 +03:00
Chubby Granny Chaser
7bbca91d9f Merge branch 'feat/custom-games-support' of https://github.com/hydralauncher/hydra into feat/custom-games-support 2025-09-28 18:14:32 +01:00
Chubby Granny Chaser
dceb3a7509 feat: improving visuals on assets 2025-09-28 18:13:08 +01:00
Moyasee
d78631a7f4 Fix: hide pin button if game is custom 2025-09-28 20:08:03 +03:00
Kiwo.2
6f258aecee Merge branch 'main' of https://github.com/Stormm232/hydra 2025-09-28 16:48:20 +02:00
Kiwo.2
35ce07c5f4 Webstore was left untranslated 2025-09-28 16:47:48 +02:00
Moyasee
889f3bb773 conflicts fix 2025-09-28 17:40:18 +03:00
Moyasee
b62f8c13fc Merge branch 'main' of https://github.com/hydralauncher/hydra into feat/custom-games-support 2025-09-28 17:39:07 +03:00
Chubby Granny Chaser
7514177423 Merge branch 'main' into feat/context_game_menu 2025-09-28 15:18:16 +01:00
Chubby Granny Chaser
f552b759cb fix: fixing carousel 2025-09-28 15:17:37 +01:00
Chubby Granny Chaser
83e7f676bf fix: fixing carousel 2025-09-28 15:14:25 +01:00
Stormm232
4f3113002b Update build.yml 2025-09-28 15:48:15 +02:00
Stormm232
e43f80b830 Update build.yml 2025-09-28 15:47:50 +02:00
caduHD4
6c34e5516f fix: add newline at the end of repacks-modal.scss 2025-09-28 02:33:05 -03:00
caduHD4
81f001ade4 fix: add 'no sources found for this game' message in translation files 2025-09-28 02:18:35 -03:00
caduHD4
688ae215d7 Refactor: Remove translation keys (keeping pt-br and en) and clean up repacks modal styles and logic 2025-09-28 02:04:31 -03:00
caduHD4
6f5baf0df5 refactor: duplicate code 2025-09-28 01:16:33 -03:00
caduHD4
1d5be940f9 feat: add filter by source in modal repacks 2025-09-28 01:00:02 -03:00
caduHD4
cd25fa715e Merge branch 'main' of https://github.com/hydralauncher/hydra into feat/context_menu-and-enhancement-actions 2025-09-28 00:22:01 -03:00
caduHD4
13a2a8161c Merge branch 'feat/context_menu-and-enhancement-actions' of https://github.com/caduHD4/hydra into feat/context_menu-and-enhancement-actions 2025-09-28 00:14:36 -03:00
Kiwo.2
7ba65b3357 Slight Adjustment to 'Hot Now' 2025-09-28 02:20:33 +02:00
Kiwo.2
bd56c48cb3 Improved Hungarian Translation 2025-09-28 02:16:26 +02:00
Chubby Granny Chaser
cb25a55118 Merge pull request #1780 from saraiva1989/feature-add-low-price-and-game-language
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Feature add low price and game language
2025-09-28 01:02:18 +01:00
Chubby Granny Chaser
5d4409525c Merge branch 'main' into feature-add-low-price-and-game-language 2025-09-28 01:01:51 +01:00
Chubby Granny Chaser
92af5c2b23 feat: adding profile sorting 2025-09-28 01:01:06 +01:00
Chubby Granny Chaser
1525ccc438 Merge branch 'main' into feat/context_menu-and-enhancement-actions 2025-09-28 00:52:38 +01:00
Chubby Granny Chaser
2cebc73789 feat: adding profile sorting 2025-09-28 00:50:51 +01:00
Chubby Granny Chaser
e96cb3228e feat: adding profile sorting 2025-09-28 00:37:22 +01:00
Chubby Granny Chaser
a71293148d Merge pull request #1789 from hydralauncher/feat/pinning-games
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
fix: single pinned game not visible in profile
2025-09-27 16:43:36 +01:00
Chubby Granny Chaser
aa152385b1 Merge branch 'main' into feat/pinning-games 2025-09-27 16:36:49 +01:00
Moyasee
b6be03cea3 fix: formatting issues 2025-09-26 17:00:50 +03:00
Moyasee
f027f05e02 feat: added functionality to collapse/expand pinned list in user profile 2025-09-26 16:54:10 +03:00
Chubby Granny Chaser
56391837cd Merge pull request #1784 from Wkeynhk/patch-2
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Update Russian Translation
2025-09-26 13:34:13 +01:00
Chubby Granny Chaser
31bd523038 Merge branch 'main' into patch-2 2025-09-26 13:18:46 +01:00
Moyasee
fd1f13225b feat: added pin/unpin to the game card in profile 2025-09-25 20:26:49 +03:00
Moyasee
dba4b2c4be Merge branch 'feat/pinning-games' of https://github.com/hydralauncher/hydra into feat/pinning-games 2025-09-25 20:24:25 +03:00
Moyasee
05f10fd80b feat: added pin/unpin to the game card in profile 2025-09-25 20:23:33 +03:00
Moyasee
d59315e322 Merge branch 'main' of https://github.com/hydralauncher/hydra into feat/pinning-games 2025-09-25 20:22:10 +03:00
Moyasee
a29f2ba741 feat: added pin/unpin to the game card in profile 2025-09-25 20:20:49 +03:00
Chubby Granny Chaser
08702d3157 Merge branch 'main' into feat/context_menu-and-enhancement-actions 2025-09-25 17:48:13 +01:00
Moyase
d33b0099a1 Merge branch 'main' into feat/pinning-games 2025-09-25 18:09:15 +03:00
Moyasee
cad50649aa fix: single pinned game not visible in profile 2025-09-25 18:07:38 +03:00
Moyase
b3148855bc Merge pull request #1788 from hydralauncher/feat/pinning-games
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Feat: Pinning and favoriting games in profile
2025-09-25 16:18:13 +03:00
Moyasee
f56a3ea126 deleted console log from user-profile-context 2025-09-25 15:55:39 +03:00
Moyasee
eea701f046 Fix: updated pinnedDate logic, set default values for pagination, deleted comments, deleted example in user-profile-context 2025-09-25 15:44:11 +03:00
Moyasee
355d38c0a2 fix: lint failing fix because of custom type 2025-09-25 14:53:34 +03:00
Moyasee
366da7839f feat: hide pin button if game is custom 2025-09-25 14:41:30 +03:00
Moyasee
a869902cfb fix: medium issues fix 2025-09-25 14:41:05 +03:00
Moyasee
f9d51ed33d fix: linting error. Feat: hide pin button if user is not logged in 2025-09-25 14:38:14 +03:00
Moyasee
092af7e421 feat:profile endpoint change and complete pinning functionality 2025-09-25 14:38:14 +03:00
Moyasee
33c15baf0e feat: pinning and showing featuring games in profile 2025-09-25 14:35:39 +03:00
Carlos Eduardo Mariano Garcia Pereira
8dba05eafe fix: lint 2025-09-24 00:01:49 -03:00
Carlos Eduardo Mariano Garcia Pereira
5e217bf086 Fix: Enhance repacks modal with filter toggle feature
Added filter toggle functionality with icons to repacks modal.
2025-09-23 23:53:06 -03:00
Carlos Eduardo Mariano Garcia Pereira
349da9536a Refactor SCSS for repacks modal layout and styles 2025-09-23 23:49:29 -03:00
caduHD4
dad493f558 feat: add a toggle for the filter 2025-09-23 23:40:53 -03:00
caduHD4
9939b68fec fix: add missing newline at end of context-menu.scss, lint... 2025-09-21 18:32:03 -03:00
caduHD4
d00fe8dedc fix: more lint 2025-09-21 18:26:43 -03:00
caduHD4
f9673b1a5a fix: adjusting lint formatting 2025-09-21 18:14:35 -03:00
caduHD4
3ff8ed735e feat: add new translations for properties and favorites in multiple languages 2025-09-21 16:22:04 -03:00
caduHD4
ca6331e45b fix: improve context menu shortcut styling 2025-09-21 01:48:22 -03:00
caduHD4
0d19328798 feat: add context menu for game items
- Added ContextMenu and GameContextMenu with actions (play, favorite, manage).
- Integrated useGameActions hook and updated SidebarGameItem for right-click menu.
- Enhanced game details and RepacksModal (filters, styling, disabled states).
2025-09-20 22:50:16 -03:00
Moyasee
eeed34adcb lint failing fix 2025-09-20 09:21:28 +03:00
Moyasee
393a04d7c3 Complete fix for non-native interactive elements 2025-09-19 22:39:08 +03:00
Moyasee
de4119988c avoiding non-native interactive elements + extracted ternary operation 2025-09-19 22:30:16 +03:00
Moyasee
e0496b6449 added drag and drop functionality and recommended resolution to each image 2025-09-19 22:23:36 +03:00
Moyasee
607bc6407c fixed assertions + use ?? operators 2025-09-19 21:16:46 +03:00
Moyasee
de70beb01e Preload images for non-custom games. Added ability to restore images to default if game is non-custom 2025-09-19 21:06:15 +03:00
Moyasee
9f4fd0ce61 added proper image saving for custom games + edited game settings to hide buttons if game is custom 2025-09-19 20:46:53 +03:00
Moyasee
bf9e3de0b5 fixed background color in hero arent being properly used if game is custom 2025-09-19 20:04:09 +03:00
Moyasee
9ce1c40b21 redirect to home page when removing custom game from library 2025-09-19 19:48:05 +03:00
Daniel Saraiva
78358d212b Merge branch 'main' into feature-add-low-price-and-game-language 2025-09-19 13:20:18 -03:00
Moyasee
ea792d0409 deleted duplicate file, fixed assertions 2025-09-19 17:56:44 +03:00
Moyasee
04be5c754e Changed props to be read-only, started using coalescing operator 2025-09-19 17:43:21 +03:00
Moyasee
ab163ffa39 reductant assignments fix + extracted operation into independent statement 2025-09-19 17:35:11 +03:00
Moyasee
501ca7190e Redundant assignments fix 2025-09-19 17:28:39 +03:00
Moyasee
14fc764328 refactoring functions 2025-09-19 17:24:39 +03:00
Moyasee
672ddff9f8 security fix 2025-09-19 17:15:59 +03:00
Moyasee
f4e84e46cc feat: custom game support/game info changing 2025-09-19 16:58:58 +03:00
Moyasee
3409b53268 Feat: Custom Games 2025-09-19 16:22:12 +03:00
Moyasee
7e59e02d03 Feat: Custom Games 2025-09-19 16:18:49 +03:00
Wkeynhk
a7e4e21167 Update translation.json 2025-09-19 08:21:41 +03:00
Wkeynhk
b22e082781 Update translation.json 2025-09-18 22:56:30 +03:00
Wkeynhk
c056feb26f Update translation.json 2025-09-18 22:24:32 +03:00
Wkeynhk
240b0705d5 Update translation.json 2025-09-18 22:06:19 +03:00
Chubby Granny Chaser
2604dfea22 Merge pull request #1783 from hydralauncher/feat/playtime-changing
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
Feat: added warning to the hero-panel-playtime
2025-09-17 12:27:39 +01:00
Moyase
0adea20565 Merge branch 'main' into feat/playtime-changing 2025-09-17 13:57:10 +03:00
Moyasee
f182c7c8e9 Feat: added warning to the hero-panel-playtime 2025-09-17 13:49:05 +03:00
Chubby Granny Chaser
d9379fbcb9 Merge pull request #1782 from hydralauncher/feat/playtime-changing
Feature: Playtime Changing
2025-09-17 10:53:38 +01:00
Moyasee
adc4af731e Fix: Fixed import errors in change-game-playtime.ts 2025-09-17 12:41:41 +03:00
Moyasee
af1b3d4535 Fix: Updated EN and RU translations to use correct keywords 2025-09-17 12:35:46 +03:00
Moyasee
291935a1bc Fix: Changed ChangeGamePlaytimeModalProps to Readonly 2025-09-17 12:20:52 +03:00
Moyasee
665365abdc Deleted logs, comments. Fixed change-game-playtime event. 2025-09-17 12:14:51 +03:00
Moyasee
86da92aa3f Feat: Added changing game playtime functionality 2025-09-17 11:24:24 +03:00
Moyasee
6ff694c078 Feat: Added changing game playtime functionality 2025-09-17 11:17:55 +03:00
Daniel Saraiva
a546b906e9 feat: adjustment in hard code text to use translation constant 2025-09-10 09:04:29 -03:00
Daniel Saraiva
85b40b9a7e added example environment variable 2025-09-07 12:41:52 -03:00
Daniel Saraiva
302ed92018 feat: Added the game's supported languages. Added the game's lowest historical price and a link to see the price in various stores (keyshop and official store) 2025-09-07 12:37:49 -03:00
Daniel Saraiva
7e5cef6e44 feat: Added the game's supported languages. Added the game's lowest historical price and a link to see the price in various stores (keyshop and official store) 2025-09-07 12:36:50 -03:00
Zamitto
01ac5239dc fix: steam user path not found
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
2025-09-06 12:34:07 -03:00
Zamitto
1dc2176813 chore: bump version
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
2025-09-03 06:52:44 -03:00
Zamitto
a7ec632a21 fix: window not opening sometimes when clicking on tray 2025-09-03 06:49:26 -03:00
Zamitto
2b6d8eba78 fix: window not opening when clicking on tray icon on linux 2025-09-03 06:05:02 -03:00
Zamitto
6bc6a10d66 chore: testing aur package pipeline
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
2025-09-02 06:26:28 -03:00
Zamitto
51f8b12e13 chore: bump version 2025-09-02 05:59:34 -03:00
Zamitto
957a6b512e fix: handle case where steam is not installed 2025-09-02 05:59:15 -03:00
Zamitto
8bc1c1c58c fix: handle error on getting steam path from windows registry
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
2025-09-01 21:41:18 -03:00
Zamitto
fbb67af1f6 Merge pull request #1748 from v1ctorsales/quick-add-to-library-button
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-latest) (push) Has been cancelled
feature: Add button to quickly add games to library
2025-09-01 14:47:56 -03:00
Zamitto
4211f97dd0 Fix condition check for genre index 2025-09-01 14:18:01 -03:00
Zamitto
f569b142f3 Merge branch 'main' into quick-add-to-library-button 2025-09-01 14:14:30 -03:00
Zamitto
18e4baec3d Merge pull request #1779 from hydralauncher/feat/steam-local-cache-achievements
feat: steam local cache achievements
2025-09-01 14:13:41 -03:00
Zamitto
b7199f4d95 chore: bump version 2025-09-01 13:54:21 -03:00
Zamitto
2b8cc506df feat: settings to enable steam achievements search 2025-09-01 12:51:49 -03:00
Zamitto
e0c5f80b68 feat: refactor 2025-08-07 18:07:56 -03:00
Zamitto
63374ccd74 feat: parse achievements from steam local cache 2025-08-07 18:04:15 -03:00
Zamitto
8eeacf478d Merge pull request #1777 from expload233/main
Add complete Chinese translations
2025-07-30 08:40:07 -03:00
Zamitto
87a4c27977 Merge branch 'main' into main 2025-07-30 07:55:23 -03:00
Zamitto
8177c3fd0c chore: add new line to eof 2025-07-30 07:54:16 -03:00
Zamitto
d28a5b828f feat: use await for firstSyncWithRemoteIfNeeded 2025-07-30 07:52:52 -03:00
expload233
68288adef3 fix typo 2025-07-27 16:45:16 +08:00
expload233
51894d9924 feat:complete chinese translation 2025-07-27 16:41:12 +08:00
expload233
2107261f7b Adds missing Chinese translations 2025-07-27 16:34:31 +08:00
Zamitto
737dc37433 chore: bump version 2025-07-23 13:36:36 -03:00
Zamitto
6dcc6bfe56 feat: remove sentry 2025-07-23 13:36:11 -03:00
Zamitto
714b30d6da fix: prevent duplicate achievements request in some cases 2025-07-23 13:32:33 -03:00
Zamitto
e089ca8705 Merge pull request #1773 from Lianela/main
update spanish translation
2025-06-26 20:04:49 -03:00
Zamitto
bf8fd0dacf feat: optimizations 2025-06-26 19:37:28 -03:00
Victor Sales
6a94c3c812 fix: create game-item__plus-wrapper--added classname 2025-06-21 14:38:01 -03:00
Lianela
c9b289cbde Update translation.json 2025-06-20 02:08:04 -06:00
Lianela
45b822ba10 Update translation.json
fixed some mistakes / missing string
2025-06-20 02:07:31 -06:00
Zamitto
cb758cceda chore: change header 2025-06-11 07:13:57 -03:00
Zamitto
8b804271bd Merge pull request #1770 from hydrasources/patch-17
Update translation.json
2025-06-11 06:03:55 -03:00
Zamitto
57813784d2 Merge pull request #1759 from hydralauncher/feat/optimize-achievements-sync
feat: optimize achievements sync [HYD-863]
2025-06-11 06:03:44 -03:00
Zamitto
7cbb8a00c4 chor: bump version 2025-06-11 05:59:44 -03:00
Zamitto
4a4cb57348 feat: refactor 2025-06-11 05:58:56 -03:00
Zamitto
7a82467933 feat: refactor 2025-06-11 05:49:37 -03:00
Zamitto
6a65d191af fix: text alignment 2025-06-11 05:47:23 -03:00
hydrasources
d047d7a105 Update translation.json 2025-06-09 14:13:07 +03:00
Zamitto
f05d0c2047 chore: remove unwanted files 2025-06-06 17:13:27 -03:00
Zamitto
98e5b70f2e chore: unused import 2025-06-06 17:12:06 -03:00
Zamitto
100ddd79aa feat: add If-Modified-Since header to get-game-achievement-data 2025-06-06 16:52:40 -03:00
Zamitto
0b2d4e2ba0 feat: update CatalogueSearchResult types 2025-06-03 16:22:21 -03:00
Zamitto
0c379d6c49 feat: combined notification when add game to library 2025-06-03 16:04:29 -03:00
Zamitto
8e6f9fdb00 fix: syncing achievements when game is deleted 2025-06-03 15:53:40 -03:00
Zamitto
6b1713e54b fix: achievement notification showing 0 points 2025-06-03 15:32:50 -03:00
Zamitto
44db5f9813 feat: use promise all on pre search achievement 2025-06-03 15:32:30 -03:00
Zamitto
7d0fbbd960 feat: small refactor 2025-06-03 13:40:23 -03:00
Zamitto
4552256038 feat: small refactor 2025-06-03 12:23:50 -03:00
Zamitto
c5be5e94e8 feat: add delay to pre search achievements 2025-06-03 11:26:01 -03:00
Zamitto
3a6693c8b1 feat: small refactor to achievements 2025-06-03 09:47:08 -03:00
Chubby Granny Chaser
c7ecd541d5 Merge branch 'main' into quick-add-to-library-button 2025-06-03 11:42:58 +01:00
Zamitto
e9032ae6e4 feat: better friend code validation on add friend modal 2025-06-03 07:12:53 -03:00
Zamitto
7202f740d3 feat: sync on open game 2025-06-02 21:46:00 -03:00
Zamitto
2a74526b0f feat: optimize achievements sync 2025-06-02 21:42:21 -03:00
Chubby Granny Chaser
bacf6804e4 ci: bumping version 2025-05-31 22:05:05 +01:00
Chubby Granny Chaser
c60584c613 ci: bumping version 2025-05-31 19:01:32 +01:00
Victor Sales
2dc700188d remove condition from useffect and rename AddingToLibrary states 2025-05-31 02:34:23 -03:00
Victor Sales
07ac13f4cc prettier changes on game-item.scss 2025-05-31 02:24:35 -03:00
Victor Sales
de605ecd02 rename plusDisabled and add ARIA attributes for accessible plus-button 2025-05-31 01:45:32 -03:00
Victor Sales
81654d7688 translations pt-br and english 2025-05-31 01:16:11 -03:00
Victor Sales
14a8336695 quick add to library button 2025-05-31 01:01:46 -03:00
Chubby Granny Chaser
e2482a6c8f Merge pull request #1746 from hydralauncher/feat/HYD-858
Feat/hyd 858
2025-05-30 14:18:29 +01:00
Chubby Granny Chaser
27cbe755bf Merge branch 'main' into feat/HYD-858 2025-05-30 14:15:59 +01:00
Chubby Granny Chaser
046debffa0 fix: fixing typo on length 2025-05-30 14:14:39 +01:00
Zamitto
4b32015a73 Merge pull request #1747 from hydralauncher/feature/hyd-859
feat: sync favorite games
2025-05-30 10:13:02 -03:00
Chubby Granny Chaser
4d950b30fb feat: adding motion 2025-05-30 14:07:59 +01:00
Zamitto
f50f1e51e4 fix: sync data overwriting local game data 2025-05-30 10:03:07 -03:00
Chubby Granny Chaser
97a414e77f fix: adding correct binary path 2025-05-30 13:20:21 +01:00
Zamitto
46a6c8c987 chore: remove debug constant 2025-05-30 08:51:52 -03:00
Zamitto
5305e5ca18 feat: better handle friend code input 2025-05-30 08:40:55 -03:00
Zamitto
6757ebe13c feat: syncing favorite games 2025-05-30 08:39:40 -03:00
Chubby Granny Chaser
1dc91562ec Merge branch 'feat/HYD-858' of github.com:hydralauncher/hydra into feat/HYD-858 2025-05-30 12:37:36 +01:00
Chubby Granny Chaser
2e2785c33c fix: fixing duplicate css 2025-05-30 12:36:43 +01:00
Chubby Granny Chaser
cf14f5a758 Merge branch 'main' into feat/HYD-858 2025-05-30 12:30:38 +01:00
Chubby Granny Chaser
2ebd43d55c feat: removing test backup 2025-05-30 12:29:56 +01:00
Chubby Granny Chaser
dac29767bd feat: adding backup freezing 2025-05-30 12:28:27 +01:00
Chubby Granny Chaser
4571c7cf33 Merge pull request #1732 from CallMeLeon167/main
add missing German translations
2025-05-30 05:56:34 +01:00
Chubby Granny Chaser
b8e3756dd9 Merge branch 'main' into main 2025-05-30 05:45:50 +01:00
Chubby Granny Chaser
df92852123 Merge pull request #1726 from v1ctorsales/fix-catalogue-decode-publishers
[fix] decoding html chars for publishers
2025-05-30 05:45:34 +01:00
Chubby Granny Chaser
d6afcff5d2 Merge branch 'main' into fix-catalogue-decode-publishers 2025-05-30 05:38:27 +01:00
Chubby Granny Chaser
9e9adfcc07 Merge branch 'main' of github.com:hydralauncher/hydra 2025-05-30 04:25:53 +01:00
Chubby Granny Chaser
7c425eeccc feat: adding freezing backups logic 2025-05-30 04:25:35 +01:00
Zamitto
b55e33f61a Merge pull request #1734 from hydralauncher/feat/HYD-832
feat: sync game data when opening game page
2025-05-26 12:21:21 -03:00
Zamitto
358c15163a fix: remove unneeded call to current game 2025-05-26 11:57:54 -03:00
Zamitto
0225e31947 feat: add await to update level game 2025-05-26 11:50:08 -03:00
Zamitto
d2b3508b5b fix: refactor and fix types 2025-05-26 11:47:36 -03:00
Zamitto
1c6bc49ed0 feat: sync game data when opening game page 2025-05-26 10:06:19 -03:00
Leon
e2ecfa3e3c Grammar error in German text 2025-05-26 00:18:20 +02:00
Leon
875ef47938 add apostrophe to user_achievements German translation 2025-05-26 00:05:24 +02:00
Leon
550ac383e9 add missing German translations 2025-05-25 23:56:42 +02:00
Chubby Granny Chaser
7a196e4315 chore: changing ping pong method 2025-05-24 20:30:46 +01:00
Victor Sales
8a6ed411ef fix: decoding html chars for publishers 2025-05-24 14:02:33 -03:00
Zamitto
4893d61ee3 Merge pull request #1721 from Shyzuuu/patch-4
Update French translation with new translations
2025-05-22 14:49:44 -03:00
Zamitto
a8482b2311 Merge pull request #1722 from hydralauncher/feat/persist-playtime-if-sync-fails-after-closing-app
feat: persist playtime if sync fails after closing app
2025-05-22 14:49:21 -03:00
Zamitto
e734b6937a fix: staging hard coded true 2025-05-22 14:45:30 -03:00
Zamitto
eab9f92b3e feat: ensure playtime is not lost when hydra closes 2025-05-22 13:12:45 -03:00
Zamitto
772aea69a9 feat: persist playtime that failed to sync on leveldb 2025-05-22 13:11:32 -03:00
Zamitto
f9d5cfce73 fix: change ticks so it syncs playtime each 2 minutes 2025-05-22 13:08:24 -03:00
Shyzuu
33cad40d5c Update French translation with new translations 2025-05-22 17:15:42 +02:00
Zamitto
ab7f29099d Merge pull request #1709 from hydralauncher/chore/update-deps
chore: update some dependencies
2025-05-21 19:14:18 -03:00
Chubby Granny Chaser
70d63934a6 Merge branch 'main' of github.com:hydralauncher/hydra 2025-05-21 19:45:14 +01:00
Chubby Granny Chaser
61dae4cf84 fix: fixing ping pong 2025-05-21 19:44:24 +01:00
Zamitto
022673322b Merge branch 'main' into chore/update-deps 2025-05-21 15:40:05 -03:00
Zamitto
9e321e9c69 Merge pull request #1716 from rexobo/Update-Swedish-translation
Update translation.json
2025-05-21 15:39:52 -03:00
Zamitto
0fc46236fc Merge pull request #1710 from mikropsoft/patch-1
Update Turkish
2025-05-21 15:38:19 -03:00
Zamitto
91c03ef5a5 Merge pull request #1712 from Hoaper/main
Feature: Show only playable games at sidebar
2025-05-21 15:37:56 -03:00
Zamitto
ba6d04ced7 Merge branch 'main' into main 2025-05-21 15:22:43 -03:00
rexobo
d26635784f Merge branch 'main' into Update-Swedish-translation 2025-05-21 20:19:10 +02:00
rexobo
12fc2fc1fb Update translation.json 2025-05-21 20:15:08 +02:00
Chubby Granny Chaser
05e8d53783 Merge branch 'main' of github.com:hydralauncher/hydra 2025-05-21 19:08:10 +01:00
Chubby Granny Chaser
ae77444b2d fix: adding ludusavi copy 2025-05-21 19:07:18 +01:00
mx
88dae597ea Merge branch 'main' into main 2025-05-21 22:49:44 +05:00
Hoaper
4dd11db8f4 prettier changes 2025-05-21 22:48:48 +05:00
Hoaper
4ac8f1f246 Working on suggestions of greptile-apps bot 2025-05-21 22:41:27 +05:00
Zamitto
72f031b0ae fix: prevent unexpected undefined playTimeInMilliseconds value 2025-05-21 11:06:49 -03:00
Zamitto
c8c492bf1a chore: remove duplicated level call 2025-05-21 11:06:19 -03:00
𝗛𝗼𝗹𝗶
eb3c1a0c8b Update translation.json 2025-05-21 16:13:10 +03:00
𝗛𝗼𝗹𝗶
c8ad04b065 Merge branch 'main' into patch-1 2025-05-21 15:55:42 +03:00
Zamitto
efbdaab27b Merge pull request #1711 from Wkeynhk/patch-1
Update Russian Translation
2025-05-21 09:48:44 -03:00
Hoaper
5f7b6158a2 Removed unused package.json propetry 2025-05-19 22:50:39 +05:00
Hoaper
51931df2d2 Merge branch 'main' of https://github.com/hydralauncher/hydra 2025-05-19 22:39:18 +05:00
Hoaper
2b8fd61c16 updated to merge 2025-05-19 22:39:04 +05:00
Hoaper
7c2a847024 playable button 2025-05-19 22:38:36 +05:00
Hoaper
659f811c09 package.json updated to merge 2025-05-19 22:36:01 +05:00
Hoaper
2224b00c57 Added playable button feauture that shows only games I could play now 2025-05-19 22:33:32 +05:00
𝗛𝗼𝗹𝗶
b56ed48855 Update src/locales/tr/translation.json
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-05-19 18:51:48 +03:00
𝗛𝗼𝗹𝗶
d3ed8dee7c Update src/locales/tr/translation.json
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-05-19 18:51:40 +03:00
𝗛𝗼𝗹𝗶
54a40d0ccc Update src/locales/tr/translation.json
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-05-19 18:51:34 +03:00
Wkeynhk
186837d9f9 Update translation.json 2025-05-19 18:46:19 +03:00
𝗛𝗼𝗹𝗶
ec3920fc34 Update Turkish
I have updated the translation according to the latest update; the previous contributor made significant changes, but I find my version more accurate. For easier comparison and separation of changes, I also left blank spaces between sections. We can also get his feedback if needed.
2025-05-19 18:46:03 +03:00
Zamitto
5a3aa7e8c6 chore: update some dependencies 2025-05-19 11:34:52 -03:00
Zamitto
7bb7d2e388 feat: missing change on PR (update ref on shadow dom section) 2025-05-19 11:33:41 -03:00
Zamitto
b1fc9073d6 Merge pull request #1704 from bankov4eto/main
Update translation.json
2025-05-19 11:27:37 -03:00
Zamitto
a1a86c7045 Merge pull request #1707 from rexobo/add-swedish-translation
feat: Add Swedish translation
2025-05-19 11:27:04 -03:00
Zamitto
81cecfe558 Merge pull request #1708 from hydralauncher/fix/HYD-828
fix: ensure achievement notification preview has same styles as actual notification [HYD-828]
2025-05-19 11:26:17 -03:00
Zamitto
9a0e3bfc65 Update src/locales/en/translation.json
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-05-19 11:14:42 -03:00
Zamitto
f7b88b6d31 chore: bump version 2025-05-19 10:59:54 -03:00
Zamitto
a996519bd8 feat: open dev tools for theme editor 2025-05-19 07:28:55 -03:00
Zamitto
e85d08422e feat: add option to disable friend starting game notification 2025-05-19 07:23:46 -03:00
Zamitto
73de69b5a6 feat: use shadow dom on theme editor for achievement notifications 2025-05-18 21:28:45 -03:00
rexobo
9172098027 Update translation.json 2025-05-18 18:39:56 +02:00
rexobo
f19391200c Update translation.json 2025-05-18 18:25:23 +02:00
rexobo
5e51877660 fix: Resolve formatting issues in Swedish translation 2025-05-18 18:21:25 +02:00
rexobo
6bc2d83ffb feat: Add Swedish translation 2025-05-18 17:07:03 +02:00
bankov4eto
75ac9e8281 Update translation.json
Updated translations and added new missing strings.
2025-05-18 10:39:29 +03:00
Zamitto
650b02e673 Merge pull request #1703 from hydralauncher/fix/HYD-827
fix: shadow dom to isolate achievements window and custom css refactor
2025-05-18 00:04:25 -03:00
Zamitto
93929ae15f chore: bump version 2025-05-18 00:02:13 -03:00
Zamitto
95eecb7161 feat: remove console log and ensure background is transparent on browser window 2025-05-17 23:55:22 -03:00
Zamitto
0b83554565 feat: shadow dom to isolate achievements window and custom css refactor 2025-05-17 23:48:30 -03:00
Chubby Granny Chaser
4485f62946 Merge pull request #1701 from hydralauncher/fix/HYD-826
fix: fixing aria2c binary
2025-05-18 02:56:29 +01:00
Chubby Granny Chaser
42c3671965 fix: fixing aria2c binary 2025-05-18 01:38:29 +01:00
Zamitto
a5aabe0ad7 fix: notifications not working on first run 2025-05-17 20:32:24 -03:00
Zamitto
276c098fbc chore: bump version 2025-05-17 19:35:02 -03:00
Zamitto
3455812a43 Merge pull request #1698 from hydralauncher/feat/HYD-822
feat: new game achievement notification [hyd-822]
2025-05-17 19:33:53 -03:00
Zamitto
87a994f0f0 feat: i18n and preview fix 2025-05-17 19:32:32 -03:00
Zamitto
15ddc71445 feat: i18n 2025-05-17 19:24:02 -03:00
Zamitto
ee916b998a feat: refactor test notiication event 2025-05-17 19:06:01 -03:00
Chubby Granny Chaser
914942d328 feat: renaming class names to BEM 2025-05-17 23:00:33 +01:00
Chubby Granny Chaser
5ae67a3dc7 feat: renaming class names to BEM 2025-05-17 22:59:38 +01:00
Zamitto
5475708b36 feat: i18n 2025-05-17 18:55:01 -03:00
Zamitto
c85f46844e feat: adjust gradient angle 2025-05-17 18:40:07 -03:00
Zamitto
1247a105a0 feat: info for rare and platinum achievements 2025-05-17 18:07:18 -03:00
Zamitto
3cc4ee3ee4 feat: trophy gradient for variations 2025-05-17 17:42:46 -03:00
Zamitto
7fca31338c fix: trophy and ellipses 2025-05-17 17:18:49 -03:00
Zamitto
0d747d03ab feat: refactor css 2025-05-17 17:14:09 -03:00
Zamitto
6a59036e21 feat: alignments 2025-05-17 16:56:09 -03:00
Zamitto
baddd4a99b feat: animation and borders 2025-05-17 14:29:01 -03:00
Zamitto
c40d26ef0a feat: refactor and adding variation animations 2025-05-17 02:36:12 -03:00
Zamitto
e4f7747200 feat: improve and fix animations 2025-05-16 18:14:18 -03:00
Zamitto
bc06ae5c03 feat: notification preview on theme editor 2025-05-16 16:18:19 -03:00
Zamitto
39c073634c feat: animation update 2025-05-16 06:56:21 -03:00
Zamitto
c5beeb861e feat: i18n update 2025-05-16 05:45:06 -03:00
Zamitto
0a4bdf160c feat: i18n and refactor 2025-05-16 05:19:33 -03:00
Zamitto
6f43da8d28 feat: achievement notification custom position and animations 2025-05-15 19:42:23 -03:00
Zamitto
42e8a68c08 Merge branch 'main' into feat/HYD-822 2025-05-14 19:55:43 -03:00
Zamitto
f960bb4f6f feat: set achievements cache only if game has achievements 2025-05-14 19:52:43 -03:00
Chubby Granny Chaser
7f988c0bba Merge pull request #1689 from hydralauncher/feat/HYD-819
feat: adding possibility to create steam shortcut
2025-05-14 21:57:54 +01:00
Chubby Granny Chaser
dcf05d3386 Merge branch 'main' into feat/HYD-819 2025-05-14 21:52:53 +01:00
Zamitto
96385d90d8 feat: custom achievement notification position 2025-05-14 17:42:30 -03:00
Zamitto
96cfa8c015 feat: re adding achievement notification window 2025-05-14 16:37:49 -03:00
Zamitto
ae067efd5e feat: delay SystemPath validations 2025-05-14 08:44:58 -03:00
Chubby Granny Chaser
8c16779052 feat: adding logging to steam copy 2025-05-14 10:58:40 +01:00
Chubby Granny Chaser
5c7a289299 fix: adding greptile fixes 2025-05-14 10:17:44 +01:00
Chubby Granny Chaser
e8e524182a feat: only downloading files once 2025-05-14 10:11:29 +01:00
Chubby Granny Chaser
521d9faa0c feat: automatically adding wine prefix 2025-05-14 00:50:30 +01:00
Chubby Granny Chaser
ca7ac73836 feat: adding shortcut for all users 2025-05-14 00:17:40 +01:00
Chubby Granny Chaser
ed42935e7b feat: adding shortcut for all users 2025-05-14 00:16:48 +01:00
Chubby Granny Chaser
f0c5ec6f1a feat: adding dynamic dir to get steam user id 2025-05-13 23:38:47 +01:00
Chubby Granny Chaser
66ced3c779 fix: fixing error message for path being used 2025-05-13 23:16:38 +01:00
Chubby Granny Chaser
4f8212f8e3 feat: using hydralauncher fork 2025-05-13 23:12:43 +01:00
Chubby Granny Chaser
86de5aa89e feat: adding possibility to create steam shortcut 2025-05-13 22:57:33 +01:00
Chubby Granny Chaser
00065ab0c9 Merge pull request #1679 from hydralauncher/feat/cross-cloud-save
feat: adding cross cloud save
2025-05-13 19:58:22 +01:00
Chubby Granny Chaser
e89202f750 feat: adding standalone aria2c 2025-05-13 01:24:29 +01:00
Chubby Granny Chaser
1df2353f06 fix: using realpath for fedora wine prefix 2025-05-12 17:31:47 +01:00
Chubby Granny Chaser
475ab4119b fix: removing replace from transformation 2025-05-12 12:55:55 +01:00
Chubby Granny Chaser
1346ff49a5 fix: adding path transformation for wine 2025-05-12 12:11:37 +01:00
Chubby Granny Chaser
4ff0132d53 fix: fixing home dir mapping 2025-05-12 11:54:57 +01:00
Chubby Granny Chaser
749a88b2b6 feat: adding wine prefix to backup creation on linux 2025-05-12 10:55:44 +01:00
Chubby Granny Chaser
427b77c597 fix: fixing return logic for wine prefix 2025-05-12 02:25:32 +00:00
Chubby Granny Chaser
e901df9ac7 fix: fixing casing for appimage 2025-05-11 19:04:15 -07:00
Chubby Granny Chaser
43e565bcc9 ci: adding appimage to build 2025-05-11 18:46:15 -07:00
Chubby Granny Chaser
f4e710c7d1 fix: fixing ludusavi download 2025-05-12 01:58:29 +01:00
Chubby Granny Chaser
592ac45740 feat: adding cross cloud save 2025-05-11 19:07:30 +01:00
Chubby Granny Chaser
6c55d667bd chore: bump version 2025-05-10 19:38:03 +01:00
Chubby Granny Chaser
a4bdc3b5f0 Merge pull request #1671 from hydralauncher/feat/HYD-781
Feat/hyd 781
2025-05-10 19:06:30 +01:00
Chubby Granny Chaser
44dc8f73e8 feat: adding staging urls for ws 2025-05-10 18:54:55 +01:00
Chubby Granny Chaser
8b8ead531d ci: updating build process 2025-05-10 18:08:47 +01:00
Chubby Granny Chaser
ec40dfdb0b ci: adding sonar ignore 2025-05-10 17:49:03 +01:00
Chubby Granny Chaser
74d93da9b3 chore: adding protobuf ts as dev dependency 2025-05-10 17:46:17 +01:00
Chubby Granny Chaser
216f813771 feat: adding new friend session notification 2025-05-10 17:43:09 +01:00
Chubby Granny Chaser
fee9cfb3e8 Merge branch 'main' of github.com:hydralauncher/hydra into feat/HYD-781 2025-05-10 17:20:57 +01:00
Chubby Granny Chaser
dcd00cda98 Merge pull request #1662 from hydralauncher/feat/get-image-assets-from-api
feat: getting image assets from api [HYD-811]
2025-05-10 17:20:36 +01:00
Zamitto
c9135715fa feat: refactor 2025-05-09 18:59:32 -03:00
Zamitto
64cea7ff85 feat: simplify get user event 2025-05-09 18:50:14 -03:00
Zamitto
382a618c3f feat: refactor assets in game details page 2025-05-09 18:30:45 -03:00
Chubby Granny Chaser
d906e3f145 ci: updating build to support ws url 2025-05-09 20:55:29 +01:00
Chubby Granny Chaser
e987b27aec ci: updating build to support ws url 2025-05-09 20:53:53 +01:00
Chubby Granny Chaser
18815a027f ci: updating build to support ws url 2025-05-09 20:53:21 +01:00
Chubby Granny Chaser
6c44cc0cc4 ci: updating build to support ws url 2025-05-09 20:52:03 +01:00
Zamitto
171c728616 Merge branch 'main' into feat/get-image-assets-from-api 2025-05-09 16:03:37 -03:00
Chubby Granny Chaser
b4ff16cfa4 Merge pull request #1667 from hydralauncher/fix/HYD-807
fix: storing rpc encrypted password
2025-05-09 15:06:23 +01:00
Chubby Granny Chaser
eb6317e659 fix: adding fallback to language 2025-05-09 13:18:38 +01:00
Zamitto
8377f85f0b fix: undo isStaging change 2025-05-09 08:49:58 -03:00
Zamitto
10504cdaf8 Merge branch 'main' into feat/get-image-assets-from-api 2025-05-09 08:49:37 -03:00
Chubby Granny Chaser
a01c77b424 fix: storing rpc encrypted password 2025-05-09 10:29:25 +01:00
Zamitto
408adb566c fix: add game to library failing 2025-05-08 21:24:52 -03:00
Zamitto
311d4658bc chore: bump version 2025-05-08 15:31:20 -03:00
Zamitto
30601df677 Merge pull request #1663 from hydralauncher/fix/resetting-game-playtime-when-starting-download
fix: reseting game playtime when starting download [HYD-812]
2025-05-08 15:30:50 -03:00
Zamitto
4daead6b72 fix: resseting game playtime when starting download 2025-05-08 15:08:21 -03:00
Zamitto
cf818d0f4f feat: get game assets from stats 2025-05-08 09:19:12 -03:00
Zamitto
48e9536169 feat: adjust isLoading on game details context 2025-05-08 09:05:49 -03:00
Zamitto
00c589a138 feat: get image assets from api 2025-05-08 08:53:51 -03:00
Zamitto
30584492af feat: get image assets from api 2025-05-07 21:05:50 -03:00
Zamitto
b6c433dea9 chore: remove tag from release CI 2025-05-06 12:04:26 -03:00
Zamitto
cca94376c8 Merge pull request #1657 from hydralauncher/fix/game-not-being-readded-to-library-on-api
fix: game not being re added to library on api
2025-05-06 06:05:46 -03:00
Zamitto
30e7fe0e21 fix: game not being added to library on api 2025-05-05 18:58:54 -03:00
Zamitto
c4698d951b Merge pull request #1645 from hydralauncher/feat/create-start-menu-shortcut-on-windows
feat: create start menu shortcut on windows
2025-05-02 11:44:29 -03:00
Zamitto
3fe61ef36b feat: increase default toast duration 2025-05-02 11:40:08 -03:00
Zamitto
9d601fa1c8 chore: bump version 2025-05-02 08:09:29 -03:00
Zamitto
8cf4656d6d feat: update redist script 2025-05-02 08:09:10 -03:00
Zamitto
a922d9a166 feat: create start menu shortcut on Windows 2025-05-02 08:08:58 -03:00
Zamitto
f20314de57 Merge pull request #1632 from hydralauncher/feat/update-redist-files
feat: update redist files
2025-05-01 16:48:05 -03:00
Chubby Granny Chaser
762c8377b3 Merge branch 'main' into feat/update-redist-files 2025-05-01 20:10:34 +01:00
Zamitto
938364de47 docs: update README 2025-05-01 07:20:55 -03:00
Zamitto
590cea70e1 docs: update README and screenshot 2025-05-01 07:18:20 -03:00
Zamitto
f52f0ca614 feat: create SystemPath class to prevent Hydra not opening when some user folders are not correctly set on windows 2025-04-30 12:11:04 -03:00
Zamitto
6068d70aeb feat: update redist files 2025-04-30 12:08:47 -03:00
Chubby Granny Chaser
aa18b57ada feat: adding ws 2025-04-29 10:05:27 +01:00
Zamitto
aef309de25 Merge pull request #1629 from hydralauncher/fix/order-of-games-on-system-tray
fix: correctly sorting games on System Tray
2025-04-28 22:38:40 -03:00
Zamitto
6dea51c8e9 chore: bump version 2025-04-28 22:10:12 -03:00
Zamitto
aa83d38b85 chore: add tag_name to release ci 2025-04-28 22:09:58 -03:00
Zamitto
66094c0aa2 chore: test get package.json version 2025-04-28 22:01:55 -03:00
Zamitto
f2bd9df77f fix: use orderBy instead of sortBy to correctly sort games on system tray 2025-04-28 21:58:32 -03:00
Zamitto
7f4b5557de Merge pull request #1626 from Moyasee/main
Fix: Added Missing Translations to UK Language and fixed other strings
2025-04-28 14:11:04 -03:00
Moyase
cc4c9a352c Fix: Added Missing Translations to UK Language
Added missing translation for new option in settings. Added Translation for "Upload Banner", fixed translation for "Delete All Sources", Fixed translation for friend requests received and sent
2025-04-27 18:25:23 +03:00
Zamitto
4be9e23d65 fix: start download enabled even whena available downloaders is empty list 2025-04-26 17:10:29 -03:00
Zamitto
cd6c09fc4f chore: bump version 2025-04-26 16:45:55 -03:00
Zamitto
d37a833047 Merge pull request #1614 from hydralauncher/feat/add-new-achievements-file-structure-support
feat: add support to new json achievement file structure
2025-04-26 16:44:42 -03:00
Zamitto
41ece195f4 Merge pull request #1563 from hydralauncher/feat/unzip-behavior-option
feat: add setting to extract by default
2025-04-26 16:43:52 -03:00
Hachi-R
42d52aafac fix: remove redundant type 2025-04-26 13:53:07 -03:00
Hachi-R
b6bd424bac fix: simplify automatic extraction value initialization 2025-04-26 13:49:02 -03:00
Hachi-R
f374a9ffff fix: update default value of extractFilesByDefault 2025-04-26 13:18:00 -03:00
Hachi-R
e1fb3bac76 fix: remove unnecessary useEffect 2025-04-26 13:01:09 -03:00
Zamitto
250a472ce7 Merge branch 'main' into feat/add-new-achievements-file-structure-support 2025-04-26 11:34:48 -03:00
Zamitto
538878dba9 Merge branch 'main' into feat/unzip-behavior-option 2025-04-26 11:34:13 -03:00
Zamitto
655496c844 fix: typo 2025-04-26 11:30:35 -03:00
Zamitto
4d459ac09e fix: tray not showing recent games on windows 2025-04-26 11:30:17 -03:00
Zamitto
35a814eb41 Merge pull request #1615 from Shyzuuu/patch-2
FR-FR Translation enhancement #2
2025-04-26 11:30:00 -03:00
Zamitto
dc625e79a4 Merge branch 'main' into patch-2 2025-04-26 11:29:38 -03:00
Zamitto
84e09ce4da Merge pull request #1616 from Shyzuuu/patch-1
FR-FR Translation enhancement #1
2025-04-26 11:27:20 -03:00
Shyzuu
2f37ac788f Update src/locales/fr/translation.json
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-04-25 16:26:15 +02:00
Shyzuu
9b54ff2299 Update src/locales/fr/translation.json
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-04-25 16:26:04 +02:00
Shyzuu
cd257a827f Update src/locales/fr/translation.json
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-04-25 16:25:53 +02:00
Shyzuu
99ade42ab8 Update translation.json 2025-04-25 16:14:03 +02:00
Shyzuu
b8e3ea1399 Update translation.json 2025-04-25 16:11:46 +02:00
Zamitto
f380d9f9b1 fix: uzbek language 2025-04-25 08:37:15 -03:00
Zamitto
3ad75d22a5 Merge branch 'main' into feat/add-new-achievements-file-structure-support 2025-04-25 08:35:59 -03:00
Zamitto
fb02442072 Merge pull request #1598 from Shakhrizod/main
Added Uzbek language translations to the application
2025-04-25 08:35:33 -03:00
Zamitto
b1938c96dd Merge pull request #1607 from Moyasee/patch-1
feat: Ukrainian Translation Update
2025-04-25 08:34:35 -03:00
Zamitto
a8e70b4032 feat: add support to new json achievement file structure 2025-04-25 08:32:02 -03:00
Moyase
e9cd468848 Feat: Ukrainian Translation Update V3 fix comma 2025-04-24 05:43:51 +03:00
Moyase
5e59b37997 Feat: Ukrainian Translation Update fix comma issue 2025-04-24 05:39:27 +03:00
Moyase
e77fedea4c Update translation.json
New Ukrainian translation, fully translated Hydra. Added missing translations, added translations for achievements, hydra cloud, friends system, report system, themes.
2025-04-24 05:15:02 +03:00
Shakhrizod Nurmukhammadov
f572cf90b8 Update Uzbek translations for user profiles and activation
Replaced Russian text with Uzbek translations in user profile and activation sections. Ensured proper localization for messages, modal texts, and UI elements.
2025-04-22 16:19:27 +05:00
Shakhrizod Nurmukhammadov
93993b695c Add Uzbek language translations to the application
Introduced a complete set of Uzbek translations for the application, covering all major sections such as home, settings, downloads, notifications, and more. This enhances multilingual support, improving accessibility for Uzbek-speaking users.
2025-04-22 16:11:40 +05:00
Zamitto
6c5a91b410 Merge pull request #1584 from caumeira/patch-2
fix: fix layout shift on sidebar
2025-04-22 07:15:19 -03:00
Zamitto
ac2b739c60 Merge pull request #1582 from spydea-tr/translation-tr
[translation ]Missing translations for Turkish have been added
2025-04-22 07:14:51 -03:00
Carlos Meira
6ef8d68610 fix: fix layout shift on sidebar
Fix minimal layout shift when running a game and close.
2025-04-19 19:10:17 -03:00
Spydea
546c509e14 Add files via upload 2025-04-19 18:29:09 +03:00
Chubby Granny Chaser
a21f2b9614 Merge pull request #1579 from hydralauncher/feat/ludusavi-upgrade
Feat/ludusavi upgrade
2025-04-18 23:12:48 +01:00
Chubby Granny Chaser
c16cbfe04e Merge branch 'main' into feat/ludusavi-upgrade 2025-04-18 23:09:33 +01:00
Chubby Granny Chaser
4ff41da05a Merge branch 'feat/ludusavi-upgrade' of github.com:hydralauncher/hydra into feat/ludusavi-upgrade 2025-04-18 22:59:56 +01:00
Chubby Granny Chaser
a12e5a15fa chore: bumping version 2025-04-18 22:57:28 +01:00
Zamitto
cc2311529b Merge pull request #1580 from caumeira/patch-1
chore: update create-desktop-shortcuts
2025-04-18 17:04:41 -03:00
Carlos Meira
18b63d735d Update yarn.lock 2025-04-18 16:47:49 -03:00
Zamitto
7379113dc8 chore: update issue template 2025-04-18 12:33:33 -03:00
Carlos Meira
ea85da259c chore: update create-desktop-shortcuts
Fix a issue with bugged icons
2025-04-18 11:27:07 -03:00
Zamitto
b8084d6f67 feat: add await to ensure HydraApi is setup before renderer opens window 2025-04-18 07:22:01 -03:00
Chubby Granny Chaser
97589e63fa Merge branch 'feat/ludusavi-upgrade' of github.com:hydralauncher/hydra into feat/ludusavi-upgrade 2025-04-18 00:07:43 +01:00
Chubby Granny Chaser
2539f67e13 Merge branch 'main' of github.com:hydralauncher/hydra into feat/ludusavi-upgrade 2025-04-18 00:07:36 +01:00
Chubby Granny Chaser
cc4aed2e17 fix: fixing date on backup upload 2025-04-18 00:06:30 +01:00
Chubby Granny Chaser
9ea68e629a Merge branch 'main' into feat/ludusavi-upgrade 2025-04-17 23:48:49 +01:00
Chubby Granny Chaser
8c66b9a499 fix: fixing date on backup upload 2025-04-17 23:44:25 +01:00
Chubby Granny Chaser
8fb183007a Merge pull request #1571 from Lianela/main
Update spanish translation.json
2025-04-17 23:29:23 +01:00
Chubby Granny Chaser
d0ac819da5 feat: upgrading ludusavi 2025-04-17 23:27:22 +01:00
Chubby Granny Chaser
f4e428a574 feat: upgrading ludusavi 2025-04-17 23:23:06 +01:00
Lianela
69879a0303 Update translation.json 2025-04-15 18:29:38 -06:00
Chubby Granny Chaser
f392f9583a feat: adding translation for nimbus 2025-04-15 16:17:09 +01:00
Chubby Granny Chaser
85192f13af feat: adding box shadow 2025-04-15 15:48:58 +01:00
Chubby Granny Chaser
8230229959 feat: adding box shadow 2025-04-15 15:45:51 +01:00
Chubby Granny Chaser
c090a27ff3 chore: removing rust rpc 2025-04-15 15:41:08 +01:00
Hachi-R
51d4760352 fix: simplify logic 2025-04-13 17:21:10 -03:00
Hachi-R
bd0b2ce2c1 feat: add option to extract files by default after download in settings behavior 2025-04-13 17:11:04 -03:00
367 changed files with 25910 additions and 14234 deletions

View File

@@ -1,4 +1,5 @@
MAIN_VITE_API_URL=API_URL
MAIN_VITE_AUTH_URL=AUTH_URL
MAIN_VITE_API_URL=
MAIN_VITE_AUTH_URL=
MAIN_VITE_WS_URL=
RENDERER_VITE_REAL_DEBRID_REFERRAL_ID=
RENDERER_VITE_TORBOX_REFERRAL_CODE=

View File

@@ -4,3 +4,4 @@ out
.gitignore
migration.stub
hydra-python-rpc/
src/main/generated/

View File

@@ -33,9 +33,9 @@ body:
attributes:
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/"
Add screenshots and upload your all logs file here.
Logs location on Windows: "%appdata%/hydralauncher/logs"
Logs location on Linux: "~/.config/hydralauncher/logs"
validations:
required: true
- type: input

40
.github/workflows/build-renderer.yml vendored Normal file
View File

@@ -0,0 +1,40 @@
name: Build Renderer
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 22.21.0
- name: Install dependencies
run: yarn --frozen-lockfile --ignore-scripts
- name: Build Renderer
run: yarn build
env:
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
- name: Deploy to Cloudflare Pages
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
run: |
npx --yes wrangler@3 pages deploy out/renderer \
--project-name="hydra" \
--commit-dirty=true \
--branch="main"

View File

@@ -10,7 +10,7 @@ jobs:
build:
strategy:
matrix:
os: [windows-latest, ubuntu-latest]
os: [windows-2022, ubuntu-latest]
fail-fast: false
runs-on: ${{ matrix.os }}
@@ -22,26 +22,16 @@ jobs:
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20.18.0
node-version: 22.21.0
- name: Install dependencies
run: yarn
run: yarn --frozen-lockfile
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: rustfmt
- name: Build Rust
run: cargo build --release
working-directory: ./rust_rpc
- name: Install dependencies
run: pip install -r requirements.txt
@@ -51,13 +41,12 @@ jobs:
- name: Build Linux
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y libarchive-tools
yarn build:linux
env:
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 }}
MAIN_VITE_WS_URL: ${{ vars.MAIN_VITE_WS_STAGING_URL }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -67,12 +56,13 @@ jobs:
RENDERER_VITE_TORBOX_REFERRAL_CODE: ${{ vars.RENDERER_VITE_TORBOX_REFERRAL_CODE }}
- name: Build Windows
if: matrix.os == 'windows-latest'
if: matrix.os == 'windows-2022'
run: yarn build:win
env:
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 }}
MAIN_VITE_WS_URL: ${{ vars.MAIN_VITE_WS_STAGING_URL }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -106,4 +96,4 @@ jobs:
dist/*.tar.gz
dist/*.yml
dist/*.blockmap
dist/*.pacman
dist/*.AppImage

View File

@@ -17,10 +17,10 @@ jobs:
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20.18.0
node-version: 22.21.0
- name: Install dependencies
run: yarn
run: yarn --frozen-lockfile
- name: Validate current commit (last commit) with commitlint
run: npx commitlint --last --verbose

View File

@@ -6,13 +6,13 @@ concurrency:
on:
push:
branches: main
branches: [main]
jobs:
build:
strategy:
matrix:
os: [windows-latest, ubuntu-latest]
os: [windows-2022, ubuntu-latest]
runs-on: ${{ matrix.os }}
@@ -23,26 +23,16 @@ jobs:
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20.18.0
node-version: 22.21.0
- name: Install dependencies
run: yarn
run: yarn --frozen-lockfile
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: rustfmt
- name: Build Rust
run: cargo build --release
working-directory: ./rust_rpc
- name: Install dependencies
run: pip install -r requirements.txt
@@ -52,8 +42,6 @@ jobs:
- name: Build Linux
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y libarchive-tools
yarn build:linux
env:
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }}
@@ -61,14 +49,16 @@ jobs:
MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_CHECKOUT_URL }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_WS_URL: ${{ vars.MAIN_VITE_WS_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
RENDERER_VITE_SENTRY_DSN: ${{ vars.SENTRY_DSN }}
RENDERER_VITE_REAL_DEBRID_REFERRAL_ID: ${{ vars.RENDERER_VITE_REAL_DEBRID_REFERRAL_ID }}
RENDERER_VITE_TORBOX_REFERRAL_CODE: ${{ vars.RENDERER_VITE_TORBOX_REFERRAL_CODE }}
MAIN_VITE_RENDERER_URL: ${{ vars.MAIN_VITE_RENDERER_URL }}
- name: Build Windows
if: matrix.os == 'windows-latest'
if: matrix.os == 'windows-2022'
run: yarn build:win
env:
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }}
@@ -76,11 +66,13 @@ jobs:
MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_CHECKOUT_URL }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_WS_URL: ${{ vars.MAIN_VITE_WS_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
RENDERER_VITE_SENTRY_DSN: ${{ vars.SENTRY_DSN }}
RENDERER_VITE_REAL_DEBRID_REFERRAL_ID: ${{ vars.RENDERER_VITE_REAL_DEBRID_REFERRAL_ID }}
RENDERER_VITE_TORBOX_REFERRAL_CODE: ${{ vars.RENDERER_VITE_TORBOX_REFERRAL_CODE }}
MAIN_VITE_RENDERER_URL: ${{ vars.MAIN_VITE_RENDERER_URL }}
- name: Create artifact
uses: actions/upload-artifact@v4
@@ -96,7 +88,18 @@ jobs:
dist/*.tar.gz
dist/*.yml
dist/*.blockmap
dist/*.pacman
- name: 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: Release
uses: softprops/action-gh-release@v2
@@ -113,6 +116,5 @@ jobs:
dist/*.tar.gz
dist/*.yml
dist/*.blockmap
dist/*.pacman
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

155
.github/workflows/update-aur.yml vendored Normal file
View File

@@ -0,0 +1,155 @@
name: Update AUR Package
on:
workflow_dispatch:
release:
types: [published]
jobs:
update-aur:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- name: Install dependencies
run: |
pacman -Syu --noconfirm
pacman -S --noconfirm nodejs npm git base-devel openssh jq pacman-contrib
- name: Create builder user
run: |
# Create builder user with home directory
useradd -m -s /bin/bash builder
# Add builder to wheel group for sudo access
usermod -aG wheel builder
# Configure sudo for builder user (no password required)
echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
- name: Setup SSH for AUR
run: |
mkdir -p ~/.ssh
echo "${{ secrets.AUR_SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
chmod 700 ~/.ssh
# Add AUR host key to known_hosts
ssh-keyscan aur.archlinux.org >> ~/.ssh/known_hosts
# Configure SSH to use the key
cat > ~/.ssh/config << EOF
Host aur.archlinux.org
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
User aur
UserKnownHostsFile ~/.ssh/known_hosts
StrictHostKeyChecking no
EOF
# Start SSH agent and add key
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
export GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa -F ~/.ssh/config -o UserKnownHostsFile=$SSH_PATH/known_hosts"
git clone ssh://aur@aur.archlinux.org/hydra-launcher-bin.git
# Give builder user ownership of the repository
chown -R builder:builder hydra-launcher-bin
- name: Get version to update
id: get-version
run: |
if [ "${{ github.event_name }}" = "release" ]; then
VERSION="${{ github.event.release.tag_name }}"
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "source=release" >> $GITHUB_OUTPUT
else
echo "Getting latest release version"
VERSION=$(curl -s https://api.github.com/repos/${{ github.repository }}/releases/latest | jq -r '.tag_name' | sed 's/^v//')
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "source=latest" >> $GITHUB_OUTPUT
fi
echo "Version to update: $VERSION"
- name: Check if update is needed
id: check-update
run: |
CURRENT_VERSION=$(grep '^pkgver=' hydra-launcher-bin/PKGBUILD | cut -d'=' -f2)
NEW_VERSION="${{ steps.get-version.outputs.version }}"
echo "Current AUR version: $CURRENT_VERSION"
echo "New version: $NEW_VERSION"
if [ "$CURRENT_VERSION" = "$NEW_VERSION" ]; then
echo "update_needed=false" >> $GITHUB_OUTPUT
echo "No update needed - versions are the same"
else
echo "update_needed=true" >> $GITHUB_OUTPUT
echo "Update needed"
fi
- name: Update PKGBUILD and .SRCINFO
if: steps.check-update.outputs.update_needed == 'true'
run: |
# Update pkgver in PKGBUILD
cd hydra-launcher-bin
NEW_VERSION="${{ steps.get-version.outputs.version }}"
echo "Updating PKGBUILD pkgver to $NEW_VERSION"
# Read PKGBUILD and update pkgver line
sed -i "s/^pkgver=.*/pkgver=$NEW_VERSION/" ./PKGBUILD
# Reset pkgrel to 1 when version changes
sed -i "s/^pkgrel=.*/pkgrel=1/" ./PKGBUILD
echo "✅ Successfully updated pkgver to $NEW_VERSION in ./PKGBUILD"
# Update package checksums and generate .SRCINFO as builder user
sudo -u builder updpkgsums
sudo -u builder makepkg --printsrcinfo > .SRCINFO
- name: Commit and push changes
if: steps.check-update.outputs.update_needed == 'true'
run: |
cd hydra-launcher-bin
git config --global --add safe.directory .
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add PKGBUILD .SRCINFO
echo "## Git Diff Preview"
echo "Changes that would be made:"
git diff PKGBUILD .SRCINFO || echo "No changes to show"
echo ""
echo "Staged changes:"
git add PKGBUILD .SRCINFO
git diff --staged || echo "No staged changes"
if git diff --staged --quiet; then
echo "No changes to commit"
else
COMMIT_MSG="v${{ steps.get-version.outputs.version }}"
git commit -m "$COMMIT_MSG"
git push origin master
echo "Successfully updated AUR package to version ${{ steps.get-version.outputs.version }}"
fi
- name: Create summary
if: always()
run: |
echo "## AUR Update Summary" >> $GITHUB_STEP_SUMMARY
echo "- **Version**: ${{ steps.get-version.outputs.version }}" >> $GITHUB_STEP_SUMMARY
echo "- **Source**: ${{ steps.get-version.outputs.source }}" >> $GITHUB_STEP_SUMMARY
echo "- **Update needed**: ${{ steps.check-update.outputs.update_needed }}" >> $GITHUB_STEP_SUMMARY
if [ "${{ steps.check-update.outputs.update_needed }}" = "true" ]; then
echo "- **Status**: ✅ AUR package updated successfully" >> $GITHUB_STEP_SUMMARY
else
echo "- **Status**: ⏭️ No update needed" >> $GITHUB_STEP_SUMMARY
fi

6
.gitignore vendored
View File

@@ -7,7 +7,8 @@ out
*.log*
.env
.vite
ludusavi/
ludusavi/**
!ludusavi/config.yaml
hydra-python-rpc/
.python-version
@@ -16,5 +17,4 @@ hydra-python-rpc/
*storybook.log
target/
aria2/

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "proto"]
path = proto
url = https://github.com/hydralauncher/hydra-protos.git

174
README.md
View File

@@ -1,5 +1,3 @@
<br>
<div align="center">
[<img src="./resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
@@ -7,180 +5,28 @@
<h1 align="center">Hydra Launcher</h1>
<p align="center">
<strong>Hydra is a game launcher with its own embedded bittorrent client.</strong>
<strong>Hydra Launcher is an open-source gaming platform created to be the single tool that you need in order to manage your gaming library. Hydra is written in Node.js (Electron, React, Typescript) and Python.</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)](./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)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](./docs/README.et.md)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](./docs/README.tr.md)
![Hydra Catalogue](./docs/screenshot.png)
![Hydra Launcher Home Page](./docs/screenshot.png)
</div>
## Table of Contents
- [Table of Contents](#table-of-contents)
- [About](#about)
- [Features](#features)
- [Installation](#installation)
- [Contributing](#-contributing)
- [Join our Telegram](#-join-our-telegram)
- [Fork and clone your repository](#fork-and-clone-your-repository)
- [Ways you can contribute](#ways-you-can-contribute)
- [Project Structure](#project-structure)
- [Build from source](#build-from-source)
- [Install Node.js](#install-nodejs)
- [Install Yarn](#install-yarn)
- [Install Node Dependencies](#install-node-dependencies)
- [Install Python 3.9](#install-python-39)
- [Install Python Dependencies](#install-python-dependencies)
- [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)
- [License](#license)
## About
**Hydra** is a **Game Launcher** with its own embedded **BitTorrent Client**.
<br>
The launcher is written in TypeScript (Electron) and Python, which handles the torrenting system by using libtorrent.
## Features
- Own embedded bittorrent client
- How Long To Beat (HLTB) integration on game page
- Downloads path customization
- Windows and Linux support
- Constantly updated
- And more ...
- Add games that you own to your library
- Have a nice profile that shows what you are playing to your friends
- Save your game progress in the cloud with Hydra Cloud
- Unlock achievements
- Navigate through a rich catalogue with a powerful suggestion algorithm
- Discover new games that you haven't played before
## Installation
## Build from source and contributing
Follow the steps below to install:
1. Download the latest version of Hydra from the [Releases](https://github.com/hydralauncher/hydra/releases/latest) page.
- Download only .exe if you want to install Hydra on Windows.
- Download .deb or .rpm or .zip if you want to install Hydra on Linux. (depends on your Linux distro)
2. Run the downloaded file.
3. Enjoy Hydra!
## <a name="contributing"> Contributing
### <a name="join-our-telegram"></a> Join our Telegram
We concentrate our discussions on our [Telegram](https://t.me/hydralauncher) channel.
### Fork and clone your repository
1. Fork the repository [(click here to fork now)](https://github.com/hydralauncher/hydra/fork)
2. Clone your forked code `git clone https://github.com/your_username/hydra`
3. Create a new branch
4. Push your commits
5. Submit a new Pull Request
### Ways you can contribute
- Translation: We want Hydra to be available to as many people as possible. Feel free to help translate to new languages or update and improve the ones that are already available on 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)!
### Project Structure
- torrent-client: We use libtorrent, a Python library, to manage torrent downloads
- src/renderer: the UI of the application
- src/main: all the logic rests here.
## Build from source
### Install Node.js
Ensure you have Node.js installed on your machine. If not, download and install it from [nodejs.org](https://nodejs.org/).
### Install Yarn
Yarn is a package manager for Node.js. If you haven't installed Yarn yet, you can do so by following the instructions on [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### Install Node Dependencies
Navigate to the project directory and install the Node dependencies using Yarn:
```bash
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/).
### Install Python Dependencies
Install the required Python dependencies using pip:
```bash
pip install -r requirements.txt
```
## Environment variables
You'll need an SteamGridDB API Key in order to fetch the game icons on installation.
Once you have it, you can copy or rename the `.env.example` file to `.env` and put it on`STEAMGRIDDB_API_KEY`.
## Running
Once you've got all things set up, you can run the following command to start both the Electron process and the bittorrent client:
```bash
yarn dev
```
## Build
### Build the bittorrent client
Build the bittorrent client by using this command:
```bash
python torrent-client/setup.py build
```
### Build the Electron application
Build the Electron application by using this command:
On Windows:
```bash
yarn build:win
```
On Linux:
```bash
yarn build:linux
```
Please, refer to our Documentation pages: [docs.hydralauncher.gg](https://docs.hydralauncher.gg/getting-started)
## Contributors

0
binaries/7zz Normal file → Executable file
View File

0
binaries/7zzs Normal file → Executable file
View File

BIN
binaries/aria2c Executable file

Binary file not shown.

BIN
binaries/aria2c.exe Executable file

Binary file not shown.

Binary file not shown.

View File

@@ -1,191 +0,0 @@
<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 - гэта гульнявы лаўнчар з уласным убудаваным кліентам 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)
[![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)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.md)
![Hydra Catalogue](screenshot.png)
</div>
## Змест
- [Змест](#змест)
- [Апісанне](#апісанне)
- [Асаблівасці](#асаблівасці)
- [Усталёўка](#усталёўка)
- [Уклад](#-уклад)
- [Далучайцеся да нашага Telegram](#-далучайцеся-да-нашага-telegram)
- [Форк і кланаванне рэпазітара](#форк-і-кланаванне-рэпазітара)
- [Спосабы ўнесці свой уклад](#спосабы-ўнесці-свой-уклад)
- [Структура праекту](#структура-праекту)
- [Зборка з зыходнага коду](#зборка-з-зыходнага-коду)
- [Усталёўка Node.js](#усталёўка-nodejs)
- [Усталёўка Yarn](#усталёўка-yarn)
- [Усталёўка залежнасцяў Node](#усталёўка-залежнасцяў-node)
- [Усталёўка Python 3.9](#усталёўка-python-39)
- [Усталёўка залежнасцяў Python](#усталёўка-залежнасцяў-python)
- [Пераменныя асяроддзі](#пераменныя-асяроддзі)
- [Запуск](#запуск)
- [Зборка](#зборка)
- [Зборка кліента BitTorrent](#зборка-кліента-bittorrent)
- [Зборка прыкладання Electron](#зборка-прыкладання-electron)
- [Удзельнікі](#удзельнікі)
- [Ліцэнзія](#ліцэнзія)
## Апісанне
**Hydra** - гэта **гульнявы лаўнчар** з уласным убудаваным **кліентам BitTorrent** і **самастойным scraper`ом для рэпакаў**.
<br>
Лаўнчар напісаны на TypeScript (Electron) і Python, які кіруе сістэмай торэнтаў з дапамогай libtorrent.
## Асаблівасці
- Самастойны scraper рэпакаў сярод усіх найбольш надзейных вэб-сайтаў у [Megathread](https://www.reddit.com/r/Piracy/wiki/megathread/)
- Убудаваны кліент BitTorrent
- Інтэграцыя How Long To Beat (HLTB) на старонцы гульні
- Настройка шляху сцягвання
- Паведамленні аб абнаўленні спісу рэпакаў
- Падтрымка Windows і Linux
- Рэгулярныя абнаўленні
- І многае іншае...
## Усталёўка
Каб усталяваць, выканайце наступныя крокі:
1. Спампуйце апошнюю версію Hydra з [старонкі рэлізаў](https://github.com/hydralauncher/hydra/releases/latest).
- Загрузіце толькі .exe, калі жадаеце ўсталяваць Hydra на Windows.
- Загрузіце .deb ці .rpm ці .zip, калі жадаеце ўсталяваць Hydra на Linux (у залежнасці ад вашага дыстрыбутыва Linux).
2. Запусціце спампаваны файл.
3. Атрымлівайце асалоду ад Hydra!
## <a name="contributing"> Уклад
### <a name="join-our-telegram"></a> Далучайцеся да нашага Telegram
Мы засяроджваем нашы абмеркаванні ў нашым канале [Telegram](https://t.me/hydralauncher).
### Форк і кланаванне рэпазітара
1. Форкніце рэпазітар [(націсніце тут, каб зрабіць форк зараз)](https://github.com/hydralauncher/hydra/fork)
2. Склануйце свой форкнуты код `git clone https://github.com/ваше_имя_пользователя/hydra`
3. Стварыце новую галіну
4. Адпраўце свае каміты
5. Адпраўце Pull Request
### Спосабы ўнесці свой уклад
- Пераклад: Мы хочам, каб Hydra была даступная як мага большай колькасці людзей. Не саромейцеся дапамагаць перакладаць на новыя мовы ці абнаўляць і паляпшаць тыя, якія ўжо даступныя ў Hydra.
- Код: Hydra створаны з выкарыстаннем TypeScript, Electron і крыху Python. Калі хочаце ўнесці свой уклад, далучайцеся да нашага канала [Telegram](https://t.me/hydralauncher)!
### Структура праекту
- torrent-client: Мы выкарыстоўваем libtorrent, бібліятэку Python, для кіравання торэнт-загрузкамі.
- src/renderer: Карыстацкі інтэрфейс прыкладання.
- src/main: Увесь асноўны функцыянал тут.
## Зборка з зыходнага коду
### Усталёўка Node.js
Упэўніцеся, што ў вас усталяваны Node.js на вашым кампутары. Калі не, загрузіце і ўсталюйце яго з [nodejs.org](https://nodejs.org/).
### Усталёўка Yarn
Yarn - мэнэджэр пакетаў для Node.js. Калі вы яшчэ не ўсталявалі Yarn, зрабіце гэта, прытрымліваючыся інструкцыям на [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### Усталёўка залежнасцяў Node
Перайдзіце ў каталог праекта і ўсталюйце залежнасці Node, выкарыстоўваючы Yarn:
```bash
cd hydra
yarn
```
### Усталёўка Python 3.9
Упэўніцеся, што ў вас усталяваны Python 3.9 на вашым кампутары. Вы можаце загрузіць і ўсталяваць яго з [python.org](https://www.python.org/downloads/release/python-3913/).
### Усталёўка залежнасцяў Python
Усталюйце неабходныя залежнасці Python, выкарыстоўваючы pip:
```bash
pip install -r requirements.txt
```
## Пераменныя асяроддзі
Вам спатрэбіцца ключ API SteamGridDB, каб атрымаць значкі гульняў пры ўсталёўкі.
Як толькі вы атрымаеце ключ, вы зможаце скапіяваць або пераназваць файл `.env.example` у `.env` і змясціць у яго `STEAMGRIDDB_API_KEY`.
## Запуск
Пасля таго як усё наладжана, вы можаце выканаць наступную каманду, каб запусціць працэс Electron і кліента BitTorrent:
```bash
yarn dev
```
## Зборка
### Зборка кліента BitTorrent
Збярыце кліент BitTorrent з дапамогай гэтай каманды:
```bash
python torrent-client/setup.py build
```
### Зборка прыкладання Electron
Збярыце прыкладанне Electron, выкарыстоўваючы гэтую каманду:
На Windows:
```bash
yarn build:win
```
На Linux:
```bash
yarn build:linux
```
## Удзельнікі
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## Ліцэнзія
Hydra ліцэнзавана ў адпаведнасці з [MIT License](LICENSE).

View File

@@ -1,189 +0,0 @@
<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 je herní launcher s vlastním vestavěným Bittorrent klientem.</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)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.md)
![Hydra Katalog](screenshot.png)
</div>
## Seznam obsahu
- [Seznam obsahu](#seznam-obsahu)
- [O projektu](#o-projektu)
- [Funkce](#funkce)
- [Instalace](#instalace)
- [Přispívání](#přispívání)
- [Připoj se na náš telegram](#připoj-se-na-náš-telegram)
- [Vytvořte fork a naklonujte svůj repozitář](#vytvořte-fork-a-naklonujte-svůj-repozitář)
- [Způsoby jak můžete přispět](#způsoby-jak-můžete-přispět)
- [Struktura projektu](#struktura-projektu)
- [Sestavení ze zdroje](#sestavení-ze-zdroje)
- [Instalace Node.js](#instalace-nodejs)
- [Instalace Yarn](#instalace-yarn)
- [Instalace Požadavků pro Node.js](#instalace-požadavků-pro-nodejs)
- [Instalace Pythonu 3.9](#instalace-pythonu-39)
- [Instalace Požadavků pro Python](#instalace-požadavků-pro-python)
- [Proměnné prostředí](#proměnné-prostředí)
- [Spuštění](#spuštění)
- [Sestavení](#sestavení)
- [Sestavení bittorrent klientu](#sestavení-bittorrent-klientu)
- [Sestavení electron aplikace](#sestavení-electron-aplikace)
- [Přispěvatelé](#přispěvatelé)
- [Licence](#licence)
## O projektu
**Hydra** je **Herní Launcher** s jeho vlastním vestavěným **BitTorrent Klientem**.
<br>
Launcher je napsán v TypeScriptu (Electron) a Pythonu, který má na starosti torrentovací systém za pomocí knihovny libtorrent.
## Funkce
- Vlastní vestavěný BitTorrent klient
- How Long To Beat (HLTB) integrace na stránce hry
- Vlastní místa pro uložení hry
- Windows a Linux podpora
- Časté aktualizace
- A další ...
## Instalace
Následuj kroky:
1. Stáhni nejnovější verzi Hydry ze stránky [Vydání](https://github.com/hydralauncher/hydra/releases/latest).
- Stáhni .exe, pokud chceš instalovat Hydru na Windows.
- Stáhni .deb nebo .rpm nebo .zip, pokud chceš instalovat Hydru na Linux. (záleží na tvé Linux distribuci)
2. Spusť stažený instalační soubor.
3. Užívej Hydru!
## <a name="contributing"> Přispívání
### <a name="join-our-telegram"></a> Připoj se na náš telegram
Vedeme diskuzi v našem [Telegramovém](https://t.me/hydralauncher) kanálu.
### Vytvořte fork a naklonujte svůj repozitář
1. Vytvoř fork repozitáře [(klikni sem pro vytvoření forku)](https://github.com/hydralauncher/hydra/fork)
2. Naklonuj kód forku `git clone https://github.com/tvoje_jméno/hydra`
3. Vytvoř nové odvětví (branch)
4. Odešli svoje změny
5. Odešli nový Pull Request
### Způsoby jak můžete přispět
- Překládání: Chceme, aby Hydra byla co nejvíce dostupná. Můžete přispět novým jazykem, nebo úpravou současného!
- Kód: Hydra je postavena na Typescriptu, Electronu a trochou Pythonu. Pokud chceš přispět, připoj se na náš [Telegram](https://t.me/hydralauncher)!
### Struktura projektu
- torrent-client: Používáme libtorrent, Pythonovou knihovnu, pro správu torrent stahování
- src/renderer: uživatelské rozhraní aplikace (UI)
- src/main: celá logika projektu
## Sestavení ze zdroje
### Instalace Node.js
Ujistěte se, že máte Node.js nainstalován na svém zařízení. Pokud ne, stáhněte ho, a nainstalujte z [nodejs.org](https://nodejs.org/).
### Instalace Yarn
Yarn je balíčkový správce pro Node.js. Pokud ještě nemáte yarn, můžete ho stáhnout za pomoci pokynů na [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### Instalace Požadavků pro Node.js
Jděte do složky projektu, otevřte v ní konzole a nainstalujte požadavky pro Node pomocí Yarn:
```bash
cd hydra
yarn
```
### Instalace Pythonu 3.9
Ujistěte se, že máte Python 3.9 nainstalován na svém zařízení. Můžete ho stáhnout z [python.org](https://www.python.org/downloads/release/python-3913/).
### Instalace Požadavků pro Python
Nainstalujte požadavky pro Python za pomoci pip:
```bash
pip install -r requirements.txt
```
## Proměnné prostředí
Budete potřebovat SteamGridDB API klíč, abyste mohli načítat ikony u her.
Jakmile ho máte, můžete zkopírovat, nebo přejmenovat `.env.example` soubor na `.env` a dát ho do `STEAMGRIDDB_API_KEY`.
## Spuštění
Jakmile máte vše nastaveno, můžete spustit jak Electron proces tak bittorrent client:
```bash
yarn dev
```
## Sestavení
### Sestavení bittorrent klientu
Sestavit bittorrent klient můžete pomocí:
```bash
python torrent-client/setup.py build
```
### Sestavení electron aplikace
Sestavit Electron aplikaci můžete pomocí následujících kroků:
Na Windows:
```bash
yarn build:win
```
Na Linux:
```bash
yarn build:linux
```
## Přispěvatelé
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## Licence
Hydra je licencována pod [MIT Licencí](LICENSE).

View File

@@ -1,188 +0,0 @@
<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)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.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

@@ -1,187 +0,0 @@
<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 ist ein Launcher für Spiele mit einem eigenen eingebetteten BitTorrent-Client.</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)
[![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)
[![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)
[![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)
[![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)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.md)
![Hydra Katalog](screenshot.png)
</div>
## Inhaltsverzeichnis
- [Über Hydra](#über-hydra)
- [Eigenschaften](#eigenschaften)
- [Installation](#installation)
- [Mitwirken](#mitwirken)
- [Tritt uns auf Telegram bei](#tritt-uns-auf-telegram-bei)
- [Forke und klone dein Repo](#forke-und-klone-dein-repo)
- [Wie du mitwirken kannst](#wie-du-mitwirken-kannst)
- [Projektstruktur](#projektstruktur)
- [Den Quellcode kompilieren](#den-quellcode-kompilieren)
- [Installiere Node.js](#installiere-nodejs)
- [Installiere Yarn](#installiere-yarn)
- [Installiere Node-Abhängigkeiten](#installiere-node-abhängigkeiten)
- [Installiere Python 3.9](#installiere-python-39)
- [Installiere Python-Abhängigkeiten](#installiere-python-abhängigkeiten)
- [Umgebungsvariablen](#umgebungsvariablen)
- [Ausführung](#ausführung)
- [Kompilation](#kompilation)
- [Kompiliere den BitTorrent-Client](#kompiliere-den-bittorrent-client)
- [Kompiliere die Electron-Applikation](#kompiliere-die-electron-applikation)
- [Mitwirkende](#mitwirkende)
## Über Hydra
**Hydra** ist ein **Launcher für Spiele** mit einem eigenen eingebetteten **BitTorrent-Client**.
<br>
Der Launcher ist in TypeScript (Electron) und Python, womit das Torrentingsystem durch Einsatz von libtorrent geregelt ist, geschrieben.
## Eigenschaften
- Eigener eingebetteter BitTorrent-Client
- How Long to Beat (HLTB) Integration auf der Spielseite
- Anpassbarkeit des Downloadverzeichnisses
- Unterstützung von Windows und Linux
- Regelmäßig aktualisiert
- Und mehr ...
## Installation
Die folgenden Schritte beschreiben den Installationsprozess:
1. Lade die neueste Version von Hydra von der [Releases](https://github.com/hydralauncher/hydra/releases/latest) Seite herunter.
- Für die Installation von Hydra auf Windows, wähle die .exe Datei.
- Für die Installation von Hydra auf Linux, wähle die .deb, .rpm oder .zip Datei. (Abhängig von deiner Linux-Distribution)
2. Führe die heruntergeladene Datei aus.
3. Genieße Hydra!
## Mitwirken
### Tritt uns auf Telegram bei
Wir konzentrieren unsere Diskussionen in unserem [Telegram](https://t.me/hydralauncher) Kanal.
### Forke und klone dein Repo
1. Forke das Repo [(Klicke hier, um direkt zu forken)](https://github.com/hydralauncher/hydra/fork)
2. Klone deinen geforketen Code `git clone https://github.com/dein_nutzername/hydra`
3. Erstelle einen neuen Branch
4. Pushe deine Commits
5. Stelle eine neue Pull-Anfrage
### Wie du mitwirken kannst
- Übersetzung: Wir wollen Hydra so vielen Menschen wie möglich zugänglich machen. Gerne kannst du uns helfen neue Sprachen zu übersetzen oder für Hydra bereits verfügbare Sprachen zu aktualisieren und verbessern.
- Code: Hydra ist mit TypeScript, Electron und etwas Python gebaut. Wenn du mitwirken möchtest, tritt unserem [Telegram](https://t.me/hydralauncher) bei!
### Projektstruktur
- torrent-client: Wir verwenden die Python-Bibliothek libtorrent zur Verwaltung von Torrent-Downloads.
- src/renderer: die UI der Applikation.
- src/main: sämtliche Logik liegt hier.
## Den Quellcode kompilieren
### Installiere Node.js
Stelle sicher, dass du Node.js auf deinem System installiert hast. Falls nicht, installiere es von [nodejs.org](https://nodejs.org/).
### Installiere Yarn
Yarn ist ein Packetmanager für Node.js. Sollte er dir fehlen, installiere ihn mithilfe der Anleitung auf [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### Installiere Node-Abhängigkeiten
Navigiere zum Projektverzeichnis und installiere die Node-Abhängigkeiten mit Yarn:
```bash
cd hydra
yarn
```
### Installiere Python 3.9
Stelle sicher, dass du Python 3.9 auf deinem System installiert hast. Ansonsten kannst du es von [python.org](https://www.python.org/downloads/release/python-3913/) herunterladen und installieren.
### Installiere Python-Abhängigkeiten
Installiere die benötigten Python-Abhängigkeiten mit pip:
```bash
pip install -r requirements.txt
```
## Umgebungsvariablen
Du wirst einen SteamGridDB API Schlüssel benötigen, um die Spielicons bei Installation abzurufen.
Sobald du einen hast, kannst du die .env.example Datei zu .env kopieren oder umbenennen und den Schlüssel bei STEAMGRIDDB_API_KEY einfügen.
## Ausführung
Sobald du alles eingerichtet hast, kannst du den folgenden Befehl nutzen, um sowohl den Electron-Prozess als auch den BitTorrent-Client zu starten:
```bash
yarn dev
```
## Kompilation
### Kompiliere den BitTorrent-Client
Kompiliere den BitTorrent-Client mit folgendem Befehl:
```bash
python torrent-client/setup.py build
```
### Kompiliere die Electron-Applikation
Kompiliere die Electron-Applikation mit folgendem Befehl:
Auf Windows:
```bash
yarn build:win
```
Auf Linux:
```bash
yarn build:linux
```
## Mitwirkende
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## Lizenz
Hydra ist unter der [MIT Lizenz](LICENSE) lizensiert.

View File

@@ -1,189 +0,0 @@
<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 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)
[![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)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.md)
![Hydra Catalogue](screenshot.png)
</div>
## Tabla de Contenidos
- [Tabla de Contenidos](#tabla-de-contenidos)
- [Acerca de](#acerca-de)
- [Caracteristicas](#caracteristicas)
- [Instalacion](#instalacion)
- [Contribuir](#-contribuir)
- [Unete a nuestro Telegram](#-unete-a-nuestro-telegram)
- [Haz un fork y clona tu repositorio](#haz-un-fork-y-clona-tu-repositorio)
- [Maneras en las que puedes contribuir](#maneras-en-las-que-puedes-contribuir)
- [Estructura del proyecto](#estructura-del-proyecto)
- [Compilar desde el código fuente](#compilar-desde-el-código-fuente)
- [Instalar Node.js](#instalar-nodejs)
- [Instalar Yarn](#instalar-yarn)
- [Instalar Dependencias de Node](#instalar-dependencias-de-node)
- [Instalar Python 3.9](#instalar-python-39)
- [Instalar Dependencias de Python](#instalar-dependencias-de-python)
- [Variables del Entorno](#variables-del-entorno)
- [Ejecucion](#ejecucion)
- [Compilacion](#compilacion)
- [Compilar el cliente de bittorrent](#compilar-el-cliente-de-bittorrent)
- [Compilar la aplicacion Electron](#compilar-la-aplicacion-electron)
- [Colaboradores](#colaboradores)
- [Licencia](#licencia)
## Acerca de
**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
- 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
- Soporte a Windows y Linux
- En constante actualización
- Y mucho más ...
## Instalacion
Sigue los pasos de abajo para instalar:
1. Descarga la última versión de Hydra desde la página de [Releases](https://github.com/hydralauncher/hydra/releases/latest).
- Descarga solo el .exe si quieres instalar Hydra en Windows.
- Descarga el .deb o .rpm o .zip si quieres instalar Hydra en Linux. (Depende de tu distro de Linux)
2. Ejecuta el archivo descargado.
3. ¡Disfruta de Hydra!
## <a name="contribuir"> Contribuir
### <a name="unete-a-nuestro-telegram"></a> Unete a nuestro Telegram
Puedes unirte a nuestra conversación y discusiones en nuestro canal de [Telegram](https://t.me/hydralauncher).
### Haz un fork y clona tu repositorio
1. Realiza un fork del repositorio [(Haz click acá para hacer un fork ahora)](https://github.com/hydralauncher/hydra/fork)
2. Clona el código forkeado `git clone https://github.com/tu_nombredeusuario/hydra`
3. Crea una nueva rama
4. Sube tus commits
5. Envía nuevas solicitudes de pull
### Maneras en las que puedes contribuir
- Traducción: Queremos que Hydra esté disponible para todas las personas que sean posible. Siéntete libre de ayudarnos a traducirlo a nuevos lenguajes o actualizar y mejorar las ya disponibles en Hydra.
- Código: Hydra está hecho con Typescript, Electron y un poquito de Python. Si quieres contribuir, ¡únete a nuestro [Telegram](https://t.me/hydralauncher)!
### Estructura del proyecto
- torrent-client: Usamos libtorrent, una librería de Python que se encarga de manejar las descargas torrent
- src/renderer: El UI de la aplicación
- src/main: El resto de la lógica va acá.
## Compilar desde el código fuente
### Instalar Node.js
Asegúrate que tienes Node.js instalado en tú máquina. Si no es así, puedes descargarlo e instalarlo desde [nodejs.org](https://nodejs.org/).
### Instalar Yarn
Yarn es un gestor de paquetes para Node.js. Si no tienes aún instalado Yarn todavía, puedes hacerlo siguiendo las instrucciones en [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### Instalar Dependencias de Node
Dirígete hasta el directorio del proyecto e instala las dependencias de Node usando Yarn:
```bash
cd hydra
yarn
```
### Instalar Python 3.9
Asegúrate que tienes Python 3.9 instalado en tu máquina. Puedes descargarlo e instalarlo desde [python.org](https://www.python.org/downloads/release/python-3913/).
### Instalar Dependencias de Python
Instala las dependencias de Python requeridas usando pip:
```bash
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.
Una vez que los tengas, puedes copiar o renombrar el archivo `.env.example` cómo `.env` y colocarlo en `STEAMGRIDDB_API_KEY`.
## Ejecucion
Una vez que tengas todas las cosas listas, puedes ejecutar el siguiente comando para así iniciar el proceso de Electron y el cliente de bittorrent:
```bash
yarn dev
```
## Compilacion
### Compilar el cliente de bittorrent
Crea el cliente bittorrent usando este comando:
```bash
python torrent-client/setup.py build
```
### Compilar la aplicacion Electron
Crea la aplicación de Electron usando este comando:
En Windows:
```bash
yarn build:win
```
En Linux:
```bash
yarn build:linux
```
## Colaboradores
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## Licencia
Hydra está licenciado bajo la [MIT License](LICENSE).

View File

@@ -1,187 +0,0 @@
<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)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.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

@@ -1,189 +0,0 @@
<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 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)
[![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)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.md)
![Catalogue Hydra](screenshot.png)
</div>
## Table des Matières
- [Table des Matières](#table-des-matières)
- [À propos](#à-propos)
- [Fonctionnalités](#fonctionnalités)
- [Installation](#installation)
- [Contribuer](#contribuer)
- [Rejoindre notre Telegram](#rejoindre-notre-telegram)
- [Fork et Cloner votre dépôt](#fork-et-cloner-votre-dépôt)
- [Manières de contribuer](#manières-de-contribuer)
- [Structure du projet](#structure-du-projet)
- [Compiler depuis les sources](#compiler-depuis-les-sources)
- [Installer Node.js](#installer-nodejs)
- [Installer Yarn](#installer-yarn)
- [Installer les dépendances Node](#installer-les-dépendances-node)
- [Installer Python 3.9](#installer-python-39)
- [Installer les dépendances Python](#installer-les-dépendances-python)
- [Variables d'environnement](#variables-denvironnement)
- [Lancement](#lancement)
- [Compilation](#compilation)
- [Compiler le client bittorrent](#compiler-le-client-bittorrent)
- [Compiler l'application Electron](#compiler-lapplication-electron)
- [Contributeurs](#contributeurs)
- [License](#license)
## À propos
**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
- Client bittorrent intégré
- Intégration How Long To Beat (HLTB) sur la page du jeu
- Personnalisation des chemins de téléchargement
- Support pour Windows et Linux
- Constamment mis à jour
- Et plus encore ...
## Installation
Suivez les étapes ci-dessous pour installer :
1. Téléchargez la dernière version de Hydra depuis la page [Releases](https://github.com/hydralauncher/hydra/releases/latest).
- Téléchargez uniquement le .exe si vous voulez installer Hydra sur Windows.
- Téléchargez .deb ou .rpm ou .zip si vous voulez installer Hydra sur Linux (cela dépend de votre distribution Linux).
2. Exécutez le fichier téléchargé.
3. Profitez de Hydra !
## Contribuer
### Rejoindre notre Telegram
Nous concentrons nos discussions sur notre [Telegram](https://t.me/hydralauncher).
### Fork et Cloner votre dépôt
1. Forkez le dépôt [(cliquez ici pour forker maintenant)](https://github.com/hydralauncher/hydra/fork)
2. Clonez votre code forké `git clone https://github.com/votre_nom_utilisateur/hydra`
3. Créez une nouvelle branche
4. Pushez vos commits
5. Créez une nouvelle Pull Request
### Manières de contribuer
- Traduction : Nous voulons que Hydra soit disponible pour le plus grand nombre de personnes possible. N'hésitez pas à aider à traduire dans de nouvelles langues ou à mettre à jour et améliorer celles qui sont déjà disponibles sur Hydra.
- Code : Hydra est construit avec Typescript, Electron et un peu de Python. Si vous voulez contribuer, rejoignez notre [Telegram](https://t.me/hydralauncher) !
### Structure du projet
- torrent-client : Nous utilisons libtorrent, une bibliothèque Python, pour gérer les téléchargements torrent.
- src/renderer : l'interface utilisateur de l'application.
- src/main : toute la logique repose ici.
## Compiler depuis les sources
### Installer Node.js
Assurez-vous que Node.js est installé sur votre machine. Sinon, téléchargez et installez-le depuis [nodejs.org](https://nodejs.org/).
### Installer Yarn
Yarn est un gestionnaire de paquets pour Node.js. Si vous n'avez pas encore installé Yarn, vous pouvez le faire en suivant les instructions sur [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### Installer les dépendances Node
Naviguez vers le répertoire du projet et installez les dépendances Node en utilisant Yarn :
```bash
cd hydra
yarn
```
### Installer Python 3.9
Assurez-vous que Python 3.9 est installé sur votre machine. Vous pouvez le télécharger et l'installer depuis [python.org](https://www.python.org/downloads/release/python-3913/).
### Installer les dépendances Python
Installez les dépendances Python requises en utilisant pip :
```bash
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.
Une fois que vous l'avez, vous pouvez copier ou renommer le fichier `.env.example` en `.env` et y mettre `STEAMGRIDDB_API_KEY`.
## Lancement
Une fois que vous avez tout configuré, vous pouvez exécuter la commande suivante pour démarrer à la fois le processus Electron et le client bittorrent :
```bash
yarn dev
```
## Compilation
### Compiler le client bittorrent
Compilez le client bittorrent en utilisant cette commande :
```bash
python torrent-client/setup.py build
```
### Compiler l'application Electron
Compilez l'application Electron en utilisant cette commande :
Sur Windows :
```bash
yarn build:win
```
Sur Linux :
```bash
yarn build:linux
```
## Contributeurs
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## License
Hydra est sous [License MIT](LICENSE).

View File

@@ -1,189 +0,0 @@
<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 è 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)
[![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)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.md)
![Hydra Catalogue](./screenshot.png)
</div>
## Table of Contents
- [Table of Contents](#table-of-contents)
- [A proposito](#a-proposito)
- [Caratteristiche](#caratteristiche)
- [Installazione](#installazione)
- [Contribuire](#-contribuire)
- [Unisciti su Telegram](#-unisciti-su-telegram)
- [Forka e Clona la repository](#forka-e-clona-la-repository)
- [Modi in cui contribuire](#modi-in-cui-contribuire)
- [Struttura del Progetto](#struttura-del-progetto)
- [Compilazione](#compilazione)
- [Installa Node.js](#installa-nodejs)
- [Installa Yarn](#installa-yarn)
- [Installa le dipendenze Node](#installa-le-dipendenze-node)
- [Installa Python 3.9](#installa-python-39)
- [Installa le Dipendenze Python](#installa-le-dipendenze-python)
- [Variabili d'ambiente](#variabili-dambiente)
- [Esecuzione](#esecuzione)
- [Compilazione](#compilazione-1)
- [Compila il bittorrent](#compila-il-bittorrent)
- [Compila l'applicazione Electron](#compila-lapplicazione-electron)
- [Collaboratori](#collaboratori)
- [Licenza](#licenza)
## A proposito
**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
- Client Bittorrent integrato
- Integrazione How Long To Beat (HLTB) nella pagina del gioco
- Percorso del download Personalizzato
- Supporto Windows e Linux
- Costantemente Aggiornato
- E molto altro ...
## Installazione
Segui i seguenti passi:
1. Scarica l'ultima versione di Hydra dalla pagina [Releases](https://github.com/hydralauncher/hydra/releases/latest).
- Scarica solo il file .exe per installare Hydra su Windows.
- Scarica il file .deb o .rpm o .zip per Linux. (Dipende dalla tua distro Linux)
2. Esegui il file scaricato.
3. Goditi Hydra!
## <a name="contribuire"> Contribuire
### <a name="unisciti-su-telegram"></a> Unisciti su Telegram
Puoi unirti alle nostre conversazioni sul canale [Telegram](https://t.me/hydralauncher).
### Forka e Clona la repository
1. Forka la repository [(clicca qui per forkare)](https://github.com/hydralauncher/hydra/fork)
2. Clona il tuo codice forkato `git clone https://github.com/your_username/hydra`
3. Crea un nuovo branch
4. Aggiungi le modifiche (push)
5. Invia la richiesta di pull
### Modi in cui contribuire
- Traduzione: Vogliamo rendere Hydra disponibile a più persone possibile. Sentiti libero di tradurre in altre lingue o aggiornare e migliorare quelle già disponibili su Hydra.
- Programmazione: Hydra è programmato in TypeScript, Electron e un po' di Python. Se intendi contribuire unisciti al nostro [Telegram](https://t.me/hydralauncher)!
### Struttura del Progetto
- client-torrent: Usiamo libtorrent, una libreria Python, per gestire i download dei torrent
- src/renderer: l'UI dell'applicazione
- src/main: tutta la logica qui.
## Compilazione
### Installa Node.js
Assicurati di avere Node.js installato sulla tua macchina. Scaricalo e installalo da [nodejs.org](https://nodejs.org/).
### Installa Yarn
Yarn è un gestore di pacchetti per Node.js. Se non hai ancora installato Yarn segui le istruzioni su [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### Installa le dipendenze Node
Naviga alla cartella del progetto e installa le dipendenze Node con Yarn:
```bash
cd hydra
yarn
```
### Installa Python 3.9
Assicurati di avere Python 3.9 installato. Puoi scaricarlo da [python.org](https://www.python.org/downloads/release/python-3913/).
### Installa le Dipendenze Python
Installa le dipendenze con pip:
```bash
pip install -r requirements.txt
```
## Variabili d'ambiente
Avrai bisogno di una chiave API SteamGridDB per poter caricare le icone di gioco.
Una volta ottenuta, puoi copiare e rinominare il file `.env.example` a `.env` e metterlo in `STEAMGRIDDB_API_KEY`.
## Esecuzione
Una volta impostato tutto, puoi eseguire il seguente comando per avviare il processo Electron e il client bittorrent:
```bash
yarn dev
```
## Compilazione
### Compila il bittorrent
Usa il comando:
```bash
python torrent-client/setup.py build
```
### Compila l'applicazione Electron
Usa il comando:
Per Windows:
```bash
yarn build:win
```
Per Linux:
```bash
yarn build:linux
```
## Collaboratori
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## Licenza
Hydra è concesso in licenza secondo la [MIT License](LICENSE).

View File

@@ -1,189 +0,0 @@
<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)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.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

@@ -1,193 +0,0 @@
<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 - 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)
[![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)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.md)
![Hydra Catalogue](./screenshot.png)
</div>
## Zawartość.
- [Zawartość.](#zawartość)
- [O nas](#o-nas)
- [Cechy](#cechy)
- [Instalacja](#instalacja)
- [Dokonaj wpłaty](#-dokonaj-wpłaty)
- [Dołącz do naszego kanału Telegram](#-dołącz-do-naszego-kanału-telegram)
- [Rozwidlenie i sklonowanie repozytorium](#rozwidlenie-i-sklonowanie-repozytorium)
- [Jak możesz pomóc](#jak-możesz-pomóc)
- [Struktura projektu](#struktura-projektu)
- [Utwórz kompilację z kodu źródłowego](#utwórz-kompilację-z-kodu-źródłowego)
- [Zainstaluj Node.js](#zainstaluj-nodejs)
- [Zainstaluj Yarn](#zainstaluj-yarn)
- [Zainstaluj zależności Node](#zainstaluj-zależności-node)
- [Zainstaluj Python 3.9](#zainstaluj-python-39)
- [Zainstaluj zależności Pythona](#zainstaluj-zależności-pythona)
- [Zmienne środowiskowe](#zmienne-środowiskowe)
- [Run](#run)
- [Tworzenie kompilacji](#tworzenie-kompilacji)
- [Zbuduj klienta bittorrent](#zbuduj-klienta-bittorrent)
- [Tworzenie aplikacji Electron](#tworzenie-aplikacji-electron)
- [Współtwórcy](#współtwórcy)
- [License](#license)
## O nas
**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
- Własny wbudowany klient bittorrent
- Integracja funkcji How Long To Beat (HLTB) na stronie gry
- Personalizacja folderu pobierania
- Wsparcie dla systemów Windows i Linux
- Stała aktualizacja
- I nie tylko ...
## Instalacja
Aby zainstalować, wykonaj poniższe czynności:
1. Pobierz najnowszą wersję programu Hydra ze strony [Wydania](https://github.com/hydralauncher/hydra/releases/latest).
- Pobierz .exe tylko, jeśli chcesz zainstalować Hydrę w systemie Windows.
- Pobierz .deb lub .rpm lub .zip, jeśli chcesz zainstalować Hydrę w systemie Linux (zależy od dystrybucji systemu Linux).
2. Uruchom pobrany plik.
3. Ciesz się Hydrą!
## <a name="contributing"> Dokonaj wpłaty
### <a name="join-our-telegram"></a> Dołącz do naszego kanału Telegram
Skupiamy nasze dyskusje na naszym kanale [Telegram](https://t.me/hydralauncher).
1. Dołącz do naszego kanału
2. Przejdź do kanału ról i wybierz rolę Pracownik.
3. Wejdź na kanał dev, komunikuj się z nami i dziel się swoimi pomysłami.
### Rozwidlenie i sklonowanie repozytorium
1. Rozwidlenie repozytorium [(kliknij tutaj, aby rozwidlić teraz)](https://github.com/hydralauncher/hydra/fork)
2. Sklonuj swój rozwidlony kod `git clone https://github.com/your_username/hydra`.
3. Utwórz nowy brunch
4. Wypchnij swoje zatwierdzenia
5. Wyślij nowy Pull Request
### Jak możesz pomóc
- Tłumaczenie: Chcemy, aby Hydra była dostępna dla jak największej liczby osób. Zachęcamy do pomocy w tłumaczeniu na nowe języki lub aktualizowaniu i ulepszaniu tych, które są już dostępne na Hydrze.
- Kod: Hydra jest zbudowana przy użyciu Typescript, Electron i odrobiny Pythona. Jeśli chcesz wnieść swój wkład, dołącz do naszego kanału Telegram!
### Struktura projektu
- Klient torrent: Używamy libtorrent, biblioteki Pythona, do zarządzania pobieraniem torrentów.
- src/renderer: interfejs aplikacji
- src/main: cała logika jest tutaj.
## Utwórz kompilację z kodu źródłowego
### Zainstaluj Node.js
Upewnij się, że masz zainstalowany Node.js na swoim komputerze. Jeśli nie, pobierz i zainstaluj go ze strony [nodejs.org](https://nodejs.org/).
### Zainstaluj Yarn
Yarn to menedżer pakietów dla Node.js. Jeśli jeszcze nie zainstalowałeś Yarn, możesz to zrobić, postępując zgodnie z instrukcjami na stronie [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### Zainstaluj zależności Node
Przejdź do katalogu projektu i zainstaluj zależności Node za pomocą Yarn:
```bash
cd hydra
yarn
```
### Zainstaluj Python 3.9
Upewnij się, że masz zainstalowany Python 3.9 na swoim komputerze. Można go pobrać i zainstalować ze strony [python.org](https://www.python.org/downloads/release/python-3913/).
### Zainstaluj zależności Pythona
Zainstaluj niezbędne zależności Pythona za pomocą pip:
```bash
pip install -r requirements.txt
```
## Zmienne środowiskowe
Będziesz potrzebował klucza API SteamGridDB, aby uzyskać ikony gier podczas instalacji.
Po jego uzyskaniu można skopiować plik lub zmienić jego nazwę `.env.example` na `.env` i umieść go na`STEAMGRIDDB_API_KEY`.
## Run
Po skonfigurowaniu wszystkiego można uruchomić następujące polecenie, aby uruchomić zarówno proces Electron, jak i klienta bittorrent:
```bash
yarn dev
```
## Tworzenie kompilacji
### Zbuduj klienta bittorrent
Zbuduj klienta bittorrent za pomocą tego poleceniaи:
```bash
python torrent-client/setup.py build
```
### Tworzenie aplikacji Electron
Zbuduj aplikację Electron za pomocą tego polecenia:
W systemie Windows:
```bash
yarn build:win
```
W systemie Linux:
```bash
yarn build:linux
```
## Współtwórcy
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## License
Hydra posiada licencję [MIT License](LICENSE).

View File

@@ -1,193 +0,0 @@
<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 é 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)
[![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)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.md)
![Hydra Catalogue](./screenshot.png)
</div>
## Índice
- [Índice](#índice)
- [Sobre](#-sobre)
- [Recursos](#-recursos)
- [Instalação](#-instalação)
- [Contribuindo](#-contribuindo)
- [Junte-se ao nosso Telegram](#-junte-se-ao-nosso-telegram)
- [Fork e clone o seu repositório](#-fork-e-clone-o-seu-repositório)
- [Formas de contribuir](#-formas-de-contribuir)
- [Estrutura do Projeto](#-estrutura-do-projeto)
- [Compile a partir do código-fonte](#-compile-a-partir-do-código-fonte)
- [Instale Node.js](#-instale-nodejs)
- [Instale Yarn](#-instale-yarn)
- [Instale Dependencias do Node](#-instale-dependencias-do-node)
- [Instale Python 3.9](#-instale-python-39)
- [Instale Python Dependencies](#-instale-python-dependencies)
- [Environment variables](#-environment-variables)
- [Running](#-running)
- [Build](#-build)
- [ 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**.
<br>
O launcher é escrito em TypeScript (Electron) e Python, que lida com o sistema de torrent usando libtorrent.
## <a name="features"> Recursos
- 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
- Suporte para Windows e Linux
- Constantemente atualizado
- E mais ...
## <a name="installation"> Instalação
Siga os passos abaixo para instalar:
1. Baixe a versão mais recente do Hydra na página de [Releases](https://github.com/hydralauncher/hydra/releases/latest).
- Baixe apenas o .exe se quiser instalar o Hydra no Windows.
- Baixe .deb ou .rpm ou .zip se quiser instalar o Hydra no Linux. (depende da sua distribuição Linux)
2. Execute o arquivo baixado.
3. Aproveite o Hydra!
## <a name="contributing"> Contribuindo
### <a name="join-our-telegram"></a> Junte-se ao nosso Telegram
Concentramos nossas discussões no nosso canal do [Telegram](https://t.me/hydralauncher).
### <a name="fork-and-clone-your-repository"></a> Fork e clone o seu repositório
1. Faça um fork do repositório [(clique aqui para fazer o fork agora)](https://github.com/hydralauncher/hydra/fork)
2. Clone o código do seu fork `git clone https://github.com/seu_nome_de_usuário/hydra`
3. Crie uma nova branch
4. Faça o push dos seus commits
5. Envie um novo Pull Request
### <a name="ways-you-can-contribute"></a> Formas de contribuir
- **Tradução**: Queremos que o Hydra esteja disponível para o maior número possível de pessoas. Sinta-se à vontade para ajudar a traduzir para novos idiomas ou atualizar e melhorar aqueles que já estão disponíveis no Hydra.
- **Código**: O Hydra é construído com Typescript, Electron e um pouco de Python. Se você deseja contribuir, junte-se ao nosso [Telegram](https://t.me/hydralauncher)!
### <a name="project-structure"></a> Estrutura do Projeto
- torrent-client: Utilizamos o libtorrent, uma biblioteca Python, para gerenciar downloads via torrent.
- src/renderer: A interface de usuário (UI) da aplicação.
- src/main: Toda a lógica da aplicação reside aqui.
## <a name="build-from-source"></a> Compile a partir do código-fonte
### <a name="install-nodejs"></a> Instale Node.js
Certifique-se de ter o Node.js instalado em sua máquina. Se não, faça o download e instale-o em [nodejs.org](https://nodejs.org/).
### <a name="install-yarn"></a> Instale Yarn
Yarn é um gerenciador de pacotes para Node.js. Se você ainda não o instalou, pode fazê-lo seguindo as instruções em [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### <a name="install-node-dependencies"></a> Instale Dependencias do Node
Navegue até o diretório do projeto e instale as dependências do Node usando o Yarn:
```bash
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/).
### <a name="install-python-dependencies"></a> Instale Python Dependencies
Instale as dependências Python necessárias usando o pip:
```bash
pip install -r requirements.txt
```
## <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.
Depois de obtê-lo, você pode copiar ou renomear o arquivo `.env.example` para `.env` e inserir `STEAMGRIDDB_API_KEY`.
## <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:
```bash
yarn dev
```
## <a name="build"></a> Build
### <a name="build-the-bittorrent-client"></a> Criar o cliente bittorrent
Compile o cliente BitTorrent usando este comando
```bash
python torrent-client/setup.py build
```
### <a name="build-the-electron-application"></a> Criar a aplicação Electron
Compile a aplicação Electron usando este comando:
No Windows:
```bash
yarn build:win
```
No Linux:
```bash
yarn build:linux
```
## <a name="contributors"></a> Contribuidores
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## <a name="license"></a> Licença
O Hydra é licenciado sob a [Licença MIT](LICENSE).

View File

@@ -1,191 +0,0 @@
<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 - это игровой лаунчер с собственным встроенным клиентом 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)
[![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)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.md)
![Hydra Catalogue](./screenshot.png)
</div>
## Содержание
- [Содержание](#содержание)
- [Описание](#описание)
- [Особенности](#особенности)
- [Установка](#установка)
- [Вклад](#-вклад)
- [Присоединяйтесь к нашему Telegram](#-присоединяйтесь-к-нашему-telegram)
- [Форк и клонирование репозитория](#форк-и-клонирование-репозитория)
- [Способы внести свой вклад](#способы-внести-свой-вклад)
- [Структура проекта](#структура-проекта)
- [Сборка из исходного кода](#сборка-из-исходного-кода)
- [Установка Node.js](#установка-nodejs)
- [Установка Yarn](#установка-yarn)
- [Установка зависимостей Node](#установка-зависимостей-node)
- [Установка Python 3.9](#установка-python-39)
- [Установка зависимостей Python](#установка-зависимостей-python)
- [Переменные среды](#переменные-среды)
- [Запуск](#запуск)
- [Сборка](#сборка)
- [Сборка клиента BitTorrent](#сборка-клиента-bittorrent)
- [Сборка приложения Electron](#сборка-приложения-electron)
- [Участники](#участники)
- [License](#license)
## Описание
**Hydra** - это **Игровой Лаунчер** с собственным встроенным **Клиентом BitTorrent** и **самостоятельным scraper`ом для репаков**.
<br>
Лаунчер написан на TypeScript (Electron) и Python, который управляет системой торрентов с помощью libtorrent.
## Особенности
- Самостоятельный scraper репаков среди всех наиболее надежных веб-сайтов в [Megathread](https://www.reddit.com/r/Piracy/wiki/megathread/)
- Встроенный клиент BitTorrent
- Интеграция How Long To Beat (HLTB) на странице игры
- Настройка пути загрузки
- Уведомления об обновлении списка репаков
- Поддержка Windows и Linux
- Постоянно обновляется
- И многое другое...
## Установка
Чтобы установить, выполните следующие шаги:
1. Скачайте последнюю версию Hydra с [страницы релизов](https://github.com/hydralauncher/hydra/releases/latest).
- Загрузите только .exe, если хотите установить Hydra на Windows.
- Загрузите .deb или .rpm или .zip, если хотите установить Hydra на Linux (в зависимости от вашего дистрибутива Linux).
2. Запустите скачанный файл.
3. Наслаждайтесь Hydra!
## <a name="contributing"> Вклад
### <a name="join-our-telegram"></a> Присоединяйтесь к нашему Telegram
Мы сосредотачиваем наши обсуждения в нашем канале [Telegram](https://t.me/hydralauncher).
### Форк и клонирование репозитория
1. Форкните репозиторий [(нажмите здесь, чтобы сделать форк сейчас)](https://github.com/hydralauncher/hydra/fork)
2. Склонируйте свой форкнутый код `git clone https://github.com/ваше_имя_пользователя/hydra`
3. Создайте новую ветку
4. Отправьте свои коммиты
5. Отправьте Pull Request
### Способы внести свой вклад
- Перевод: Мы хотим, чтобы Hydra была доступна как можно большему количеству людей. Не стесняйтесь помогать переводить на новые языки или обновлять и улучшать те, которые уже доступны в Hydra.
- Код: Hydra создан с использованием TypeScript, Electron и немного Python. Если хотите внести свой вклад, присоединяйтесь к нашему каналу [Telegram](https://t.me/hydralauncher)!
### Структура проекта
- torrent-client: Мы используем libtorrent, библиотеку Python, для управления загрузками торрентов.
- src/renderer: пользовательский интерфейс приложения.
- src/main: весь основной функционал здесь.
## Сборка из исходного кода
### Установка Node.js
Убедитесь, что у вас установлен Node.js на вашем компьютере. Если нет, загрузите и установите его с [nodejs.org](https://nodejs.org/).
### Установка Yarn
Yarn - менеджер пакетов для Node.js. Если вы еще не установили Yarn, сделайте это, следуя инструкциям на [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### Установка зависимостей Node
Перейдите в каталог проекта и установите зависимости Node, используя Yarn:
```bash
cd hydra
yarn
```
### Установка Python 3.9
Убедитесь, что у вас установлен Python 3.9 на вашем компьютере. Вы можете загрузить и установить его с [python.org](https://www.python.org/downloads/release/python-3913/).
### Установка зависимостей Python
Установите необходимые зависимости Python, используя pip:
```bash
pip install -r requirements.txt
```
## Переменные среды
Вам понадобится ключ API SteamGridDB, чтобы получить значки игр при установке.
Как только у вас будет ключ, вы можете скопировать или переименовать файл `.env.example` в `.env` и поместить в него `STEAMGRIDDB_API_KEY`.
## Запуск
После того как все настроено, вы можете выполнить следующую команду, чтобы запустить процесс Electron и клиента BitTorrent:
```bash
yarn dev
```
## Сборка
### Сборка клиента BitTorrent
Соберите клиент BitTorrent с помощью этой команды:
```bash
python torrent-client/setup.py build
```
### Сборка приложения Electron
Соберите приложение Electron, используя эту команду:
На Windows:
```bash
yarn build:win
```
На Linux:
```bash
yarn build:linux
```
## Участники
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## License
Hydra лицензирована в соответствии с [MIT License](LICENSE).

View File

@@ -1,194 +0,0 @@
<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, kendi gömülü BitTorrent istemcisine sahip bir oyun başlatıcısıdır.</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)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.md)
![Hydra Catalogue](screenshot.png)
</div>
## <a name="içindekiler"></a> İçindekiler
- [İçindekiler](#içindekiler)
- [Hakkında](#hakkında)
- [Özellikler](#özellikler)
- [Kurulum](#kurulum)
- [Katkıda bulunma](#katkıda-bulunma)
- [Telegram grubumuza katılın](#telegram-katıl)
- [Repoyu forklayın ve klonlayın](#repo-fork-klon)
- [Katkıda bulunabileceğin yollar](#katkı-yolları)
- [Proje yapısı](#proje-yapısı)
- [Kaynak kodundan derleme](#kaynak-kodundan-derleme)
- [Node.js'i yükleme](#nodejs-yükle)
- [Yarn'ı yükleme](#yarn-yükle)
- [Node bağımlılıklarını yükleme](#node-bağımlılık-yükle)
- [OpenSSL 1.1'i yükleme](#openssl-1-1-yükle)
- [Python 3.9'u yükleme](#python-3-9-yükle)
- [Python bağımlılıklarını yükleme](#python-bağımlılık-yükle)
- [Ortam değişkenleri](#ortam-değişkenleri)
- [Çalıştırma](#çalıştırma)
- [Derleme](#derleme)
- [BitTorrent istemcisini derleme](#bittorrent-istemci-derle)
- [Electron uygulamasını derleme](#electron-uygulama-derle)
- [Katkıda bulunanlar](#katkıda-bulunanlar)
- [Lisans](#lisans)
## <a name="hakkında"></a> Hakkında
**Hydra**, kendi gömülü **BitTorrent istemci**sine sahip bir **oyun başlatıcısı**dır.
<br>
Başlatıcı, torrent sistemini libtorrent kullanarak yöneten Python ve TypeScript (Electron) ile yazılmıştır.
## <a name="özellikler"></a> Özellikler
- Kendi gömülü BitTorrent istemcisi
- Oyun sayfasında How Long To Beat (HLTB) entegrasyonu
- İndirme yolu özelleştirmesi
- Windows ve Linux desteği
- Sürekli güncelleme
- Ve daha fazlası...
## <a name="kurulum"></a> Kurulum
Aşağıdaki adımları izleyerek Hydra'yı kurun:
1. Hydra'nın en son sürümünü [Releases](https://github.com/hydralauncher/hydra/releases/latest) sayfasından indirin.
- Hydra'yı Windows'a kurmak istiyorsanız sadece .exe dosyasını indirin.
- Hydra'yı Linux'a kurmak istiyorsanız .deb, .rpm veya .zip dosyasını indirin (kullandığınız Linux dağıtımına bağlı olarak).
2. İndirilen dosyayı çalıştırın.
3. Hydra'nın keyfini çıkarın!
## <a name="katkıda-bulunma"></a> Katkıda Bulunma
### <a name="telegram-katıl"></a> Telegram grubumuza katılın
Tartışmalarımızı [Telegram](https://t.me/hydralauncher) kanalımız üzerinde yürütüyoruz.
### <a name="repo-fork-klon"></a> Repoyu forklayın ve klonlayın
1. Depoyu fork'layın [(şimdi forklamak için tıklayın)](https://github.com/hydralauncher/hydra/fork)
2. Forkladığınız kodu klonlayın `git clone https://github.com/kullanıcı_adınız/hydra`
3. Yeni bir branch oluşturun
4. Commitlerinizi gönderin (push)
5. Yeni bir Pull Request gönderin
### <a name="katkı-yolları"></a> Katkıda bulunabileceğin yollar
- Çeviri: Hydra'nın mümkün olduğunca fazla kişiye ulaşmasını istiyoruz. Yeni dillere çeviri yapmak ya da mevcut dillere güncelleme ve iyileştirme yapmak için yardımcı olmaktan çekinmeyin.
- Kod: Hydra, Typescript, Electron ve biraz Python ile inşa edilmiştir. Katkıda bulunmak isterseniz, [Telegram](https://t.me/hydralauncher) kanalımıza katılın!
### <a name="proje-yapısı"></a> Proje yapısı
- torrent-client: Torrent indirmelerini yönetmek için libtorrent adlı bir Python kütüphanesini kullanıyoruz.
- src/renderer: Uygulamanın kullanıcı arayüzü burada bulunur.
- src/main: Uygulamanın tüm işleyişi ve iş mantığı bu bölümde bulunur.
## <a name="kaynak-kodundan-derleme"></a> Kaynak kodundan derleme
### <a name="nodejs-yükle"></a> Node.js'i yükleme
Makinenizde Node.js'in yüklü olduğundan emin olun. Yüklü değilse, [nodejs.org](https://nodejs.org/) adresinden indirip kurun.
### <a name="yarn-yükle"></a> Yarn'ı yükleme
Yarn, Node.js için bir paket yöneticisidir. Eğer Yarn'ı henüz kurmadıysanız, [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/) adresindeki talimatları izleyerek kurabilirsiniz.
### <a name="node-bağımlılık-yükle"></a> Node bağımlılıklarını yükleme
Proje dizinine gidin ve Yarn kullanarak Node bağımlılıklarını yükleyin:
```bash
cd hydra
yarn
```
### <a name="openssl-1-1-yükle"></a> OpenSSL 1.1'i yükleme
Windows ortamlarında libtorrent tarafından gerekli olan [OpenSSL 1.1](https://slproweb.com/download/Win64OpenSSL-1_1_1w.exe)'i indirip yükleyin.
### <a name="python-3-9-yükle"></a> Python 3.9'u yükleme
Makinenizde Python 3.9'un yüklü olduğundan emin olun. Bunu [python.org](https://www.python.org/downloads/release/python-3913/) adresinden indirip kurarak yapabilirsiniz.
### <a name="python-bağımlılık-yükle"></a> Python bağımlılıklarını yükleme
Gerekli Python bağımlılıklarını pip kullanarak yükleyin:
```bash
pip install -r requirements.txt
```
## <a name="ortam-değişkenleri"></a> Ortam değişkenleri
Oyun simgelerini yüklemek için bir SteamGridDB API Anahtarına ihtiyacınız olacak.
Bu anahtara sahip olduktan sonra, `.env.example` dosyasını kopyalayabilir veya adını `.env` olarak değiştirebilir ve `STEAMGRIDDB_API_KEY` değerini buraya ekleyebilirsiniz.
## <a name="çalıştırma"></a> Çalıştırma
Tüm ayarları tamamladıktan sonra, hem Electron sürecini hem de bittorrent istemcisini başlatmak için aşağıdaki komutu çalıştırabilirsiniz:
```bash
yarn dev
```
## <a name="derleme"></a> Derleme
### <a name="bittorrent-istemci-derle"></a> BitTorrent istemcisini derleme
Bittorrent istemcisini aşağıdaki komutla derleyin:
```bash
python torrent-client/setup.py build
```
### <a name="electron-uygulama-derle"></a> Electron uygulamasını derleme
Electron uygulamasını aşağıdaki komutlarla derleyebilirsiniz:
Windows'ta:
```bash
yarn build:win
```
Linux'ta:
```bash
yarn build:linux
```
## <a name="katkıda-bulunanlar"></a> Katkıda bulunanlar
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## <a name="lisans"></a> Lisans
Hydra, [MIT Lisansı](https://github.com/hydralauncher/hydra/blob/main/LICENSE) altında lisanlanmıştır.

View File

@@ -1,195 +0,0 @@
<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 - це ігровий лаунчер з власним вбудованим 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)
[![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)
[![et](https://img.shields.io/badge/lang-et-blue.svg)](README.et.md)
[![tr](https://img.shields.io/badge/lang-tr-red.svg)](README.tr.md)
![Hydra Catalogue](screenshot.png)
</div>
## Зміст
- [Зміст](#зміст)
- [Про нас](#про-нас)
- [Функції](#функції)
- [Встановлення](#встановлення)
- [Зробити свій внесок](#-зробити-свій-внесок)
- [Приєднуйтесь до нашого Telegram](#-приєднуйтесь-до-нашого-telegram)
- [Форк і клонування вашого репозиторію](#форк-і-клонування-вашого-репозиторію)
- [Як ви можете зробити свій внесок](#як-ви-можете-зробити-свій-внесок)
- [Структура проекту](#структура-проекту)
- [Зробити білд з вихідного коду](#зробити-білд-з-вихідного-коду)
- [Встановіть Node.js](#встановіть-nodejs)
- [Встановіть Yarn](#встановіть-yarn)
- [Встановіть Node залежності](#встановіть-node-залежності)
- [Встановіть Python 3.9](#встановіть-python-39)
- [Встановіть Python залежності](#встановіть-python-залежності)
- [Змінні середовища](#змінні-середовища)
- [Запустіть](#запустіть)
- [Зробіть білд](#зробіть-білд)
- [Зробіть білд bittorrent client](#зробіть-білд-bittorrent-client)
- [Зробіть білд Electron застосунку](#зробіть-білд-electron-застосунку)
- [Контриб'ютори](#контрибютори)
- [License](#license)
## Про нас
**Hydra** - це **ігровий лаунчер** з власним вбудованим **BitTorrent-клієнтом** і **самокерованим збирачем репаків**.
<br>
Цей лаунчер написано мовами TypeScript (Electron) та Python, який працює з торрент-системою за допомогою libtorrent.
## Функції
- Самокерований збирач репаків серед усіх найнадійніших сайтів на [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/")
- Власний вбудований клієнт bittorrent
- Інтеграція How Long To Beat (HLTB) на сторінці гри
- Налаштування теки завантаження
- Сповіщення про оновлення списку репаків
- Підтримка Windows і Linux
- Постійно оновлюється
- І не тільки ...
## Встановлення
Щоб встановити, виконайте наведені нижче кроки:
1. Завантажте останню версію Hydra зі сторінки [Releases](https://github.com/hydralauncher/hydra/releases/latest).
- Завантажте лише .exe, якщо ви хочете встановити Hydra на Windows.
- Завантажте .deb або .rpm або .zip, якщо ви хочете встановити Hydra на Linux. (залежить від вашого дистрибутива Linux)
2. Запустіть завантажений файл.
3. Насолоджуйтесь Гідрою!
## <a name="contributing"> Зробити свій внесок
### <a name="join-our-telegram"></a> Приєднуйтесь до нашого Telegram
Ми зосереджуємо наші дискусії на нашому каналі [Telegram](https://t.me/hydralauncher).
1. Приєднуйтесь до нашого канала
2. Перейдіть на канал ролей і виберіть роль Співробітник
3. Заходьте на dev-канал, спілкуйтеся з нами та діліться своїми ідеями.
### Форк і клонування вашого репозиторію
1. Зробіть форк репозиторію [(натисніть тут, щоб зробити форк зараз)](https://github.com/hydralauncher/hydra/fork)
2. Клонуйте ваш форк-код `git clone https://github.com/your_username/hydra`
3. Створіть новий бранч
4. Зробіть пуш своїх комітів
5. Надішліть новий Pull Request
### Як ви можете зробити свій внесок
- Переклад: Ми хочемо, щоб Hydra була доступна якомога більшій кількості людей. Не соромтеся допомагати перекладати на нові мови або оновлювати і покращувати ті, які вже доступні на Hydra.
- Код: Hydra створена за допомогою Typescript, Electron і трохи Python. Якщо ви хочете зробити свій внесок, приєднуйтесь до нашого Telegram!
### Структура проекту
- torrent-client: Ми використовуємо libtorrent, бібліотеку Python, для керування завантаженнями з торрентів
- src/renderer: інтерфейс програми
- src/main: вся логіка тут.
## Зробити білд з вихідного коду
### Встановіть Node.js
Переконайтеся, що на вашому комп'ютері встановлено Node.js. Якщо ні, завантажте та встановіть його з [nodejs.org](https://nodejs.org/).
### Встановіть Yarn
Yarn - це менеджер пакетів для Node.js. Якщо ви ще не встановили Yarn, ви можете зробити це, дотримуючись інструкцій на сторінці [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
### Встановіть Node залежності
Перейдіть до каталогу проекту і встановіть Node залежності за допомогою Yarn:
```bash
cd hydra
yarn
```
### Встановіть Python 3.9
Переконайтеся, що на вашому комп'ютері встановлено Python 3.9. Ви можете завантажити та встановити його з [python.org](https://www.python.org/downloads/release/python-3913/).
### Встановіть Python залежності
Встановіть необхідні залежності Python за допомогою pip:
```bash
pip install -r requirements.txt
```
## Змінні середовища
Вам знадобиться ключ API SteamGridDB, щоб отримати іконки ігор під час встановлення.
Отримавши його, ви можете скопіювати або перейменувати файл `.env.example` на `.env`і помістити його на`STEAMGRIDDB_API_KEY`.
## Запустіть
Після того, як ви все налаштували, ви можете запустити наступну команду, щоб запустити як процес Electron, так і клієнт bittorrent:
```bash
yarn dev
```
## Зробіть білд
### Зробіть білд bittorrent client
Зробіть білд bittorrent client за допомогою цієї команди:
```bash
python torrent-client/setup.py build
```
### Зробіть білд Electron застосунку
Зробіть білд Electron застосунку за допомогою цієї команди:
На Windows:
```bash
yarn build:win
```
На Linux:
```bash
yarn build:linux
```
## Контриб'ютори
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
</a>
## License
Hydra має ліцензію [MIT License](LICENSE).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 830 KiB

After

Width:  |  Height:  |  Size: 868 KiB

View File

@@ -20,9 +20,9 @@ asarUnpack:
win:
executableName: Hydra
extraResources:
- from: binaries/aria2c.exe
- from: binaries/7z.exe
- from: binaries/7z.dll
- from: rust_rpc/target/release/hydra-httpdl.exe
target:
- nsis
- portable
@@ -40,7 +40,6 @@ mac:
entitlementsInherit: build/entitlements.mac.plist
extraResources:
- from: binaries/7zz
- from: rust_rpc/target/release/hydra-httpdl
extendInfo:
- NSCameraUsageDescription: Application requests access to the device's camera.
- NSMicrophoneUsageDescription: Application requests access to the device's microphone.
@@ -52,12 +51,11 @@ dmg:
linux:
extraResources:
- from: binaries/7zzs
- from: rust_rpc/target/release/hydra-httpdl
- from: binaries/aria2c
target:
- AppImage
- snap
- deb
- pacman
- rpm
maintainer: electronjs.org
category: Game

View File

@@ -7,7 +7,6 @@ import {
} from "electron-vite";
import react from "@vitejs/plugin-react";
import svgr from "vite-plugin-svgr";
import { sentryVitePlugin } from "@sentry/vite-plugin";
export default defineConfig(({ mode }) => {
loadEnv(mode);
@@ -48,15 +47,7 @@ export default defineConfig(({ mode }) => {
"@shared": resolve("src/shared"),
},
},
plugins: [
svgr(),
react(),
sentryVitePlugin({
authToken: process.env.SENTRY_AUTH_TOKEN,
org: "hydra-launcher",
project: "hydra-renderer",
}),
],
plugins: [svgr(), react()],
},
};
});

6
ludusavi/config.yaml Normal file
View File

@@ -0,0 +1,6 @@
manifest:
enable: false
secondary:
- url: https://cdn.losbroxas.org/manifest.yaml
enable: true
customGames: []

View File

@@ -1,6 +1,6 @@
{
"name": "hydralauncher",
"version": "3.4.2",
"version": "3.7.1",
"description": "Hydra",
"main": "./out/main/index.js",
"author": "Los Broxas",
@@ -21,60 +21,74 @@
"typecheck:web": "tsc --noEmit -p tsconfig.web.json --composite false",
"typecheck": "npm run typecheck:node && npm run typecheck:web",
"start": "electron-vite preview",
"dev": "cargo build --manifest-path=rust_rpc/Cargo.toml && electron-vite dev",
"dev": "electron-vite dev",
"build": "npm run typecheck && electron-vite build",
"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",
"build:linux": "electron-vite build && electron-builder --linux",
"prepare": "husky"
"prepare": "husky",
"protoc": "npx protoc --ts_out src/main/generated --proto_path proto proto/*.proto"
},
"dependencies": {
"@electron-toolkit/preload": "^3.0.0",
"@electron-toolkit/utils": "^3.0.0",
"@fontsource/noto-sans": "^5.1.0",
"@hookform/resolvers": "^3.9.1",
"@electron-toolkit/preload": "^3.0.2",
"@electron-toolkit/utils": "^4.0.0",
"@fontsource/noto-sans": "^5.2.10",
"@hookform/resolvers": "^5.2.2",
"@monaco-editor/react": "^4.6.0",
"@primer/octicons-react": "^19.9.0",
"@radix-ui/react-dropdown-menu": "^2.1.2",
"@radix-ui/react-dropdown-menu": "^2.1.16",
"@reduxjs/toolkit": "^2.2.3",
"@sentry/react": "^8.47.0",
"@sentry/vite-plugin": "^2.22.7",
"@tiptap/extension-bold": "^3.6.2",
"@tiptap/extension-italic": "^3.6.2",
"@tiptap/extension-link": "^3.6.2",
"@tiptap/extension-underline": "^3.6.2",
"@tiptap/react": "^3.6.2",
"@tiptap/starter-kit": "^3.6.2",
"auto-launch": "^5.0.6",
"axios": "^1.7.9",
"axios": "^1.12.2",
"axios-cookiejar-support": "^5.0.5",
"check-disk-space": "^3.4.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",
"crc": "^4.3.2",
"create-desktop-shortcuts": "^1.11.1",
"date-fns": "^3.6.0",
"dexie": "^4.0.10",
"diskusage": "^1.2.0",
"electron-log": "^5.2.4",
"electron-log": "^5.4.3",
"electron-updater": "^6.6.2",
"file-type": "^19.6.0",
"embla-carousel-autoplay": "^8.6.0",
"embla-carousel-react": "^8.6.0",
"file-type": "^20.5.0",
"framer-motion": "^12.15.0",
"i18next": "^23.11.2",
"i18next-browser-languagedetector": "^7.2.1",
"jsdom": "^24.0.0",
"jsonwebtoken": "^9.0.2",
"kill-port": "^2.0.1",
"lodash-es": "^4.17.21",
"parse-torrent": "^11.0.17",
"piscina": "^4.7.0",
"rc-virtual-list": "^3.16.1",
"lucide-react": "^0.544.0",
"parse-torrent": "^11.0.18",
"rc-virtual-list": "^3.18.3",
"react-dnd": "^16.0.1",
"react-dnd-html5-backend": "^16.0.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",
"react-tooltip": "^5.28.0",
"react-shadow": "^20.6.0",
"react-tooltip": "^5.28.1",
"sound-play": "^1.1.0",
"steam-shortcut-editor": "https://github.com/hydralauncher/steam-shortcut-editor",
"sudo-prompt": "^9.2.1",
"tar": "^7.4.3",
"tough-cookie": "^5.1.1",
"user-agents": "^1.1.387",
"uuid": "^13.0.0",
"winreg": "^1.2.5",
"ws": "^8.18.1",
"yaml": "^2.6.1",
"yup": "^1.5.0",
"zod": "^3.24.1"
@@ -86,6 +100,7 @@
"@electron-toolkit/eslint-config-prettier": "^2.0.0",
"@electron-toolkit/eslint-config-ts": "^2.0.0",
"@electron-toolkit/tsconfig": "^1.0.1",
"@protobuf-ts/plugin": "^2.10.0",
"@swc/core": "^1.4.16",
"@types/auto-launch": "^5.0.5",
"@types/color": "^3.0.6",
@@ -98,10 +113,12 @@
"@types/react-dom": "^18.2.18",
"@types/sound-play": "^1.1.3",
"@types/user-agents": "^1.0.4",
"@types/winreg": "^1.2.36",
"@types/ws": "^8.18.1",
"@vitejs/plugin-react": "^4.2.1",
"electron": "^31.7.7",
"electron": "^37.7.1",
"electron-builder": "^26.0.12",
"electron-vite": "^2.3.0",
"electron-vite": "^4.0.1",
"eslint": "^8.56.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react": "^7.37.4",
@@ -113,7 +130,8 @@
"sass-embedded": "^1.80.6",
"ts-node": "^10.9.2",
"typescript": "^5.3.3",
"vite": "^5.0.12",
"vite-plugin-svgr": "^4.2.0"
}
"vite": "5.4.21",
"vite-plugin-svgr": "^4.5.0"
},
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}

1
proto Submodule

Submodule proto added at 7a23620f93

View File

@@ -1,94 +1,48 @@
import os
import subprocess
import json
import aria2p
class HttpDownloader:
def __init__(self, hydra_httpdl_bin: str):
self.hydra_exe = hydra_httpdl_bin
self.process = None
self.last_status = None
def start_download(self, url: str, save_path: str, header: str = None, allow_multiple_connections: bool = False, connections_limit: int = 1):
cmd = [self.hydra_exe]
cmd.append(url)
cmd.extend([
"--chunk-size", "10",
"--buffer-size", "16",
"--force-download",
"--log",
"--silent"
])
if header:
cmd.extend(["--header", header])
if allow_multiple_connections:
cmd.extend(["--connections", str(connections_limit)])
else:
cmd.extend(["--connections", "1"])
print(f"running hydra-httpdl: {' '.join(cmd)}")
try:
self.process = subprocess.Popen(
cmd,
cwd=save_path,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
universal_newlines=True
def __init__(self):
self.download = None
self.aria2 = aria2p.API(
aria2p.Client(
host="http://localhost",
port=6800,
secret=""
)
except Exception as e:
print(f"error running hydra-httpdl: {e}")
return None
)
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 not self.process:
if self.download == None:
return None
try:
line = self.process.stdout.readline()
if line:
status = json.loads(line.strip())
self.last_status = status
elif self.last_status:
status = self.last_status
else:
return None
response = {
"status": "active",
"progress": status["progress"],
"downloadSpeed": status["speed_bps"],
"numPeers": 0,
"numSeeds": 0,
"bytesDownloaded": status["downloaded_bytes"],
"fileSize": status["total_bytes"],
"folderName": status["filename"]
}
if status["progress"] == 1:
response["status"] = "complete"
return response
except Exception as e:
print(f"error getting download status: {e}")
return None
def stop_download(self):
if self.process:
self.process.terminate()
self.process = None
self.last_status = None
def pause_download(self):
self.stop_download()
def cancel_download(self):
self.stop_download()
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

View File

@@ -0,0 +1,151 @@
import aria2p
from aria2p.client import ClientException as DownloadNotFound
class HttpMultiLinkDownloader:
def __init__(self):
self.downloads = []
self.completed_downloads = []
self.total_size = None
self.aria2 = aria2p.API(
aria2p.Client(
host="http://localhost",
port=6800,
secret=""
)
)
def start_download(self, urls: list[str], save_path: str, header: str = None, out: str = None, total_size: int = None):
"""Add multiple URLs to download queue with same options"""
options = {"dir": save_path}
if header:
options["header"] = header
if out:
options["out"] = out
# Clear any existing downloads first
self.cancel_download()
self.completed_downloads = []
self.total_size = total_size
for url in urls:
try:
added_downloads = self.aria2.add(url, options=options)
self.downloads.extend(added_downloads)
except Exception as e:
print(f"Error adding download for URL {url}: {str(e)}")
def pause_download(self):
"""Pause all active downloads"""
if self.downloads:
try:
self.aria2.pause(self.downloads)
except Exception as e:
print(f"Error pausing downloads: {str(e)}")
def cancel_download(self):
"""Cancel and remove all downloads"""
if self.downloads:
try:
# First try to stop the downloads
self.aria2.remove(self.downloads)
except Exception as e:
print(f"Error removing downloads: {str(e)}")
finally:
# Clear the downloads list regardless of success/failure
self.downloads = []
self.completed_downloads = []
def get_download_status(self):
"""Get status for all tracked downloads, auto-remove completed/failed ones"""
if not self.downloads and not self.completed_downloads:
return []
total_completed = 0
current_download_speed = 0
active_downloads = []
to_remove = []
# First calculate sizes from completed downloads
for completed in self.completed_downloads:
total_completed += completed['size']
# Then check active downloads
for download in self.downloads:
try:
current_download = self.aria2.get_download(download.gid)
# Skip downloads that are not properly initialized
if not current_download or not current_download.files:
to_remove.append(download)
continue
# Add to completed size and speed calculations
total_completed += current_download.completed_length
current_download_speed += current_download.download_speed
# If download is complete, move it to completed_downloads
if current_download.status == 'complete':
self.completed_downloads.append({
'name': current_download.name,
'size': current_download.total_length
})
to_remove.append(download)
else:
active_downloads.append({
'name': current_download.name,
'size': current_download.total_length,
'completed': current_download.completed_length,
'speed': current_download.download_speed
})
except DownloadNotFound:
to_remove.append(download)
continue
except Exception as e:
print(f"Error getting download status: {str(e)}")
continue
# Clean up completed/removed downloads from active list
for download in to_remove:
try:
if download in self.downloads:
self.downloads.remove(download)
except ValueError:
pass
# Return aggregate status
if self.total_size or active_downloads or self.completed_downloads:
# Use the first active download's name as the folder name, or completed if none active
folder_name = None
if active_downloads:
folder_name = active_downloads[0]['name']
elif self.completed_downloads:
folder_name = self.completed_downloads[0]['name']
if folder_name and '/' in folder_name:
folder_name = folder_name.split('/')[0]
# Use provided total size if available, otherwise sum from downloads
total_size = self.total_size
if not total_size:
total_size = sum(d['size'] for d in active_downloads) + sum(d['size'] for d in self.completed_downloads)
# Calculate completion status based on total downloaded vs total size
is_complete = len(active_downloads) == 0 and total_completed >= (total_size * 0.99) # Allow 1% margin for size differences
# If all downloads are complete, clear the completed_downloads list to prevent status updates
if is_complete:
self.completed_downloads = []
return [{
'folderName': folder_name,
'fileSize': total_size,
'progress': total_completed / total_size if total_size > 0 else 0,
'downloadSpeed': current_download_speed,
'numPeers': 0,
'numSeeds': 0,
'status': 'complete' if is_complete else 'active',
'bytesDownloaded': total_completed,
}]
return []

View File

@@ -3,6 +3,7 @@ import sys, json, urllib.parse, psutil
from torrent_downloader import TorrentDownloader
from http_downloader import HttpDownloader
from profile_image_processor import ProfileImageProcessor
from http_multi_link_downloader import HttpMultiLinkDownloader
import libtorrent as lt
app = Flask(__name__)
@@ -13,7 +14,6 @@ http_port = sys.argv[2]
rpc_password = sys.argv[3]
start_download_payload = sys.argv[4]
start_seeding_payload = sys.argv[5]
hydra_httpdl_bin = sys.argv[6]
downloads = {}
# This can be streamed down from Node
@@ -25,7 +25,15 @@ 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'):
if isinstance(initial_download['url'], list):
# Handle multiple URLs using HttpMultiLinkDownloader
http_multi_downloader = HttpMultiLinkDownloader()
downloads[initial_download['game_id']] = http_multi_downloader
try:
http_multi_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 multi-link download", e)
elif initial_download['url'].startswith('magnet'):
torrent_downloader = TorrentDownloader(torrent_session)
downloads[initial_download['game_id']] = torrent_downloader
try:
@@ -33,10 +41,10 @@ if start_download_payload:
except Exception as e:
print("Error starting torrent download", e)
else:
http_downloader = HttpDownloader(hydra_httpdl_bin)
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('allow_multiple_connections', False), initial_download.get('connections_limit', 24))
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)
@@ -63,12 +71,23 @@ def status():
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:
if not downloader:
return jsonify(None)
status = downloader.get_download_status()
if not status:
return jsonify(None)
if isinstance(status, list):
if not status: # Empty list
return jsonify(None)
# For multi-link downloader, use the aggregated status
# The status will already be aggregated by the HttpMultiLinkDownloader
return jsonify(status[0]), 200
return jsonify(status), 200
@app.route("/seed-status", methods=["GET"])
def seed_status():
auth_error = validate_rpc_password()
@@ -82,10 +101,24 @@ def seed_status():
continue
response = downloader.get_download_status()
if response is None:
if not response:
continue
if response.get('status') == 5:
if isinstance(response, list):
# For multi-link downloader, check if all files are complete
if response and all(item['status'] == 'complete' for item in response):
seed_status.append({
'gameId': game_id,
'status': 'complete',
'folderName': response[0]['folderName'],
'fileSize': sum(item['fileSize'] for item in response),
'bytesDownloaded': sum(item['bytesDownloaded'] for item in response),
'downloadSpeed': 0,
'numPeers': 0,
'numSeeds': 0,
'progress': 1.0
})
elif response.get('status') == 5: # Original torrent seeding check
seed_status.append({
'gameId': game_id,
**response,
@@ -102,8 +135,13 @@ def process_list():
auth_error = validate_rpc_password()
if auth_error:
return auth_error
iter_list = ['exe', 'pid', 'name']
if sys.platform != 'win32':
iter_list.append('cwd')
iter_list.append('environ')
process_list = [proc.info for proc in psutil.process_iter(['exe', 'pid', 'name'])]
process_list = [proc.info for proc in psutil.process_iter(iter_list)]
return jsonify(process_list), 200
@app.route("/profile-image", methods=["POST"])
@@ -139,7 +177,15 @@ def action():
existing_downloader = downloads.get(game_id)
if url.startswith('magnet'):
if isinstance(url, list):
# Handle multiple URLs using HttpMultiLinkDownloader
if existing_downloader and isinstance(existing_downloader, HttpMultiLinkDownloader):
existing_downloader.start_download(url, data['save_path'], data.get('header'), data.get('out'))
else:
http_multi_downloader = HttpMultiLinkDownloader()
downloads[game_id] = http_multi_downloader
http_multi_downloader.start_download(url, data['save_path'], data.get('header'), data.get('out'))
elif url.startswith('magnet'):
if existing_downloader and isinstance(existing_downloader, TorrentDownloader):
existing_downloader.start_download(url, data['save_path'])
else:
@@ -148,11 +194,11 @@ def action():
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('allow_multiple_connections', False), data.get('connections_limit', 24))
existing_downloader.start_download(url, data['save_path'], data.get('header'), data.get('out'))
else:
http_downloader = HttpDownloader(hydra_httpdl_bin)
http_downloader = HttpDownloader()
downloads[game_id] = http_downloader
http_downloader.start_download(url, data['save_path'], data.get('header'), data.get('allow_multiple_connections', False), data.get('connections_limit', 24))
http_downloader.start_download(url, data['save_path'], data.get('header'), data.get('out'))
downloading_game_id = game_id
@@ -183,4 +229,3 @@ def action():
if __name__ == "__main__":
app.run(host="0.0.0.0", port=int(http_port))

View File

@@ -5,3 +5,4 @@ pywin32; sys_platform == 'win32'
psutil
Pillow
flask
aria2p

2040
rust_rpc/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,25 +0,0 @@
[package]
name = "hydra-httpdl"
version = "0.1.0"
edition = "2021"
[dependencies]
tokio = { version = "1", features = ["full", "macros", "rt-multi-thread"] }
reqwest = { version = "0.12.5", features = ["stream"] }
futures = "0.3"
bytes = "1.4"
indicatif = "0.17"
anyhow = "1.0"
async-trait = "0.1"
tokio-util = { version = "0.7", features = ["io"] }
clap = { version = "4.4", features = ["derive"] }
urlencoding = "2.1"
serde_json = "1.0"
bitvec = "1.0"
sha2 = "0.10"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"
strip = true

View File

@@ -1,966 +0,0 @@
use anyhow::Result;
use bitvec::prelude::*;
use clap::Parser;
use futures::stream::{FuturesUnordered, StreamExt};
use indicatif::{ProgressBar, ProgressStyle};
use reqwest::{Client, StatusCode, Url};
use serde_json::json;
use sha2::{Digest, Sha256};
use std::fs::{File, OpenOptions};
use std::io::{BufReader, BufWriter, Read, Seek, SeekFrom, Write};
use std::path::Path;
use std::sync::Arc;
use tokio::sync::Mutex;
const DEFAULT_MAX_RETRIES: usize = 3;
const RETRY_BACKOFF_MS: u64 = 500;
const DEFAULT_OUTPUT_FILENAME: &str = "output.bin";
const DEFAULT_CONNECTIONS: usize = 16;
const DEFAULT_CHUNK_SIZE_MB: usize = 5;
const DEFAULT_BUFFER_SIZE_MB: usize = 8;
const DEFAULT_VERBOSE: bool = false;
const DEFAULT_SILENT: bool = false;
const DEFAULT_LOG: bool = false;
const DEFAULT_FORCE_NEW: bool = false;
const DEFAULT_RESUME_ONLY: bool = false;
const DEFAULT_FORCE_DOWNLOAD: bool = false;
const HEADER_SIZE: usize = 4096;
const MAGIC_NUMBER: &[u8; 5] = b"HYDRA";
const FORMAT_VERSION: u8 = 1;
const FINALIZE_BUFFER_SIZE: usize = 1024 * 1024;
#[derive(Parser)]
#[command(name = "hydra-httpdl")]
#[command(author = "los-broxas")]
#[command(version = "0.2.0")]
#[command(about = "high speed and low resource usage http downloader with resume capability", long_about = None)]
struct CliArgs {
/// file url to download
#[arg(required = true)]
url: String,
/// output file path (or directory to save with original filename)
#[arg(default_value = DEFAULT_OUTPUT_FILENAME)]
output: String,
/// number of concurrent connections for parallel download
#[arg(short = 'c', long, default_value_t = DEFAULT_CONNECTIONS)]
connections: usize,
/// chunk size in MB for each connection
#[arg(short = 'k', long, default_value_t = DEFAULT_CHUNK_SIZE_MB)]
chunk_size: usize,
/// buffer size in MB for file writing
#[arg(short, long, default_value_t = DEFAULT_BUFFER_SIZE_MB)]
buffer_size: usize,
/// show detailed progress information
#[arg(short = 'v', long, default_value_t = DEFAULT_VERBOSE)]
verbose: bool,
/// suppress progress bar
#[arg(short = 's', long, default_value_t = DEFAULT_SILENT)]
silent: bool,
/// log download statistics in JSON format every second
#[arg(short = 'l', long, default_value_t = DEFAULT_LOG)]
log: bool,
/// force new download, ignore existing partial files
#[arg(short = 'f', long, default_value_t = DEFAULT_FORCE_NEW)]
force_new: bool,
/// only resume existing download, exit if no partial file exists
#[arg(short = 'r', long, default_value_t = DEFAULT_RESUME_ONLY)]
resume_only: bool,
/// force download, ignore some verification checks
#[arg(short = 'F', long, default_value_t = DEFAULT_FORCE_DOWNLOAD)]
force_download: bool,
/// HTTP headers to send with request (format: "Key: Value")
#[arg(short = 'H', long)]
header: Vec<String>,
}
struct DownloadConfig {
url: String,
output_path: String,
num_connections: usize,
chunk_size: usize,
buffer_size: usize,
verbose: bool,
silent: bool,
log: bool,
force_new: bool,
resume_only: bool,
headers: Vec<String>,
force_download: bool,
}
impl DownloadConfig {
fn should_log(&self) -> bool {
self.verbose && !self.silent
}
fn should_log_stats(&self) -> bool {
self.log
}
}
struct DownloadStats {
progress_percent: f64,
bytes_downloaded: u64,
total_size: u64,
speed_bytes_per_sec: f64,
eta_seconds: u64,
elapsed_seconds: u64,
}
struct HydraHeader {
magic: [u8; 5], // "HYDRA" identifier
version: u8, // header version
file_size: u64, // file size
etag: [u8; 32], // etag hash
url_hash: [u8; 32], // url hash
chunk_size: u32, // chunk size
chunk_count: u32, // chunk count
chunks_bitmap: BitVec<u8>, // chunks bitmap
}
impl HydraHeader {
fn new(file_size: u64, etag: &str, url: &str, chunk_size: u32) -> Self {
let chunk_count = ((file_size as f64) / (chunk_size as f64)).ceil() as u32;
let chunks_bitmap = bitvec![u8, Lsb0; 0; chunk_count as usize];
let mut etag_hash = [0u8; 32];
let etag_digest = Sha256::digest(etag.as_bytes());
etag_hash.copy_from_slice(&etag_digest[..]);
let mut url_hash = [0u8; 32];
let url_digest = Sha256::digest(url.as_bytes());
url_hash.copy_from_slice(&url_digest[..]);
Self {
magic: *MAGIC_NUMBER,
version: FORMAT_VERSION,
file_size,
etag: etag_hash,
url_hash,
chunk_size,
chunk_count,
chunks_bitmap,
}
}
fn write_to_file<W: Write + Seek>(&self, writer: &mut W) -> Result<()> {
writer.write_all(&self.magic)?;
writer.write_all(&[self.version])?;
writer.write_all(&self.file_size.to_le_bytes())?;
writer.write_all(&self.etag)?;
writer.write_all(&self.url_hash)?;
writer.write_all(&self.chunk_size.to_le_bytes())?;
writer.write_all(&self.chunk_count.to_le_bytes())?;
let bitmap_bytes = self.chunks_bitmap.as_raw_slice();
writer.write_all(bitmap_bytes)?;
let header_size = 5 + 1 + 8 + 32 + 32 + 4 + 4 + bitmap_bytes.len();
let padding_size = HEADER_SIZE - header_size;
let padding = vec![0u8; padding_size];
writer.write_all(&padding)?;
Ok(())
}
fn read_from_file<R: Read + Seek>(reader: &mut R) -> Result<Self> {
let mut magic = [0u8; 5];
reader.read_exact(&mut magic)?;
if magic != *MAGIC_NUMBER {
anyhow::bail!("Not a valid Hydra download file");
}
let mut version = [0u8; 1];
reader.read_exact(&mut version)?;
if version[0] != FORMAT_VERSION {
anyhow::bail!("Incompatible format version");
}
let mut file_size_bytes = [0u8; 8];
reader.read_exact(&mut file_size_bytes)?;
let file_size = u64::from_le_bytes(file_size_bytes);
let mut etag = [0u8; 32];
reader.read_exact(&mut etag)?;
let mut url_hash = [0u8; 32];
reader.read_exact(&mut url_hash)?;
let mut chunk_size_bytes = [0u8; 4];
reader.read_exact(&mut chunk_size_bytes)?;
let chunk_size = u32::from_le_bytes(chunk_size_bytes);
let mut chunk_count_bytes = [0u8; 4];
reader.read_exact(&mut chunk_count_bytes)?;
let chunk_count = u32::from_le_bytes(chunk_count_bytes);
let bitmap_bytes_len = (chunk_count as usize + 7) / 8;
let mut bitmap_bytes = vec![0u8; bitmap_bytes_len];
reader.read_exact(&mut bitmap_bytes)?;
let chunks_bitmap = BitVec::<u8, Lsb0>::from_vec(bitmap_bytes);
reader.seek(SeekFrom::Start(HEADER_SIZE as u64))?;
Ok(Self {
magic,
version: version[0],
file_size,
etag,
url_hash,
chunk_size,
chunk_count,
chunks_bitmap,
})
}
fn set_chunk_complete(&mut self, chunk_index: usize) -> Result<()> {
if chunk_index >= self.chunk_count as usize {
anyhow::bail!("Chunk index out of bounds");
}
self.chunks_bitmap.set(chunk_index, true);
Ok(())
}
fn is_chunk_complete(&self, chunk_index: usize) -> bool {
if chunk_index >= self.chunk_count as usize {
return false;
}
self.chunks_bitmap[chunk_index]
}
fn get_incomplete_chunks(&self) -> Vec<(u64, u64)> {
let incomplete_count = self.chunk_count as usize - self.chunks_bitmap.count_ones();
let mut chunks = Vec::with_capacity(incomplete_count);
let chunk_size = self.chunk_size as u64;
for i in 0..self.chunk_count as usize {
if !self.is_chunk_complete(i) {
let start = i as u64 * chunk_size;
let end = std::cmp::min((i as u64 + 1) * chunk_size - 1, self.file_size - 1);
chunks.push((start, end));
}
}
chunks
}
fn is_download_complete(&self) -> bool {
self.chunks_bitmap.count_ones() == self.chunk_count as usize
}
}
struct ProgressTracker {
bar: Option<ProgressBar>,
}
impl ProgressTracker {
fn new(file_size: u64, silent: bool, enable_stats: bool) -> Result<Self> {
let bar = if !silent || enable_stats {
let pb = ProgressBar::new(file_size);
pb.set_style(
ProgressStyle::default_bar()
.template("[{elapsed_precise}] [{bar:40.cyan/blue}] {bytes}/{total_bytes} ({bytes_per_sec}, {eta})")?
);
if silent {
pb.set_draw_target(indicatif::ProgressDrawTarget::hidden());
}
Some(pb)
} else {
None
};
Ok(Self { bar })
}
fn increment(&self, amount: u64) {
if let Some(pb) = &self.bar {
pb.inc(amount);
}
}
fn finish(&self) {
if let Some(pb) = &self.bar {
pb.finish_with_message("Download complete");
}
}
fn get_stats(&self) -> Option<DownloadStats> {
if let Some(pb) = &self.bar {
let position = pb.position();
let total = pb.length().unwrap_or(1);
Some(DownloadStats {
progress_percent: position as f64 / total as f64,
bytes_downloaded: position,
total_size: total,
speed_bytes_per_sec: pb.per_sec(),
eta_seconds: pb.eta().as_secs(),
elapsed_seconds: pb.elapsed().as_secs(),
})
} else {
None
}
}
}
struct Downloader {
client: Client,
config: DownloadConfig,
}
impl Downloader {
async fn download(&self) -> Result<()> {
let (file_size, filename, etag) = self.get_file_info().await?;
let output_path = self.determine_output_path(filename);
if self.config.should_log() {
println!("Detected filename: {}", output_path);
}
let resume_manager = ResumeManager::try_from_file(
&output_path,
file_size,
&etag,
&self.config.url,
self.config.chunk_size as u32,
self.config.force_new,
self.config.resume_only,
)?;
let file = self.prepare_output_file(&output_path, file_size)?;
let progress = ProgressTracker::new(file_size, self.config.silent, self.config.log)?;
let chunks = if resume_manager.is_download_complete() {
if self.config.should_log() {
println!("File is already fully downloaded, finalizing...");
}
resume_manager.finalize_download()?;
return Ok(());
} else {
let completed_chunks = resume_manager.header.chunks_bitmap.count_ones() as u32;
let total_chunks = resume_manager.header.chunk_count;
if completed_chunks > 0 {
if self.config.should_log() {
let percent_done = (completed_chunks as f64 / total_chunks as f64) * 100.0;
println!("Resuming download: {:.1}% already downloaded", percent_done);
}
if let Some(pb) = &progress.bar {
let downloaded = file_size * completed_chunks as u64 / total_chunks as u64;
pb.inc(downloaded);
}
}
resume_manager.get_incomplete_chunks()
};
if self.config.should_log() {
println!(
"Downloading {} chunks of total {}",
chunks.len(),
resume_manager.header.chunk_count
);
}
self.process_chunks_with_resume(
chunks,
file,
file_size,
progress,
output_path.clone(),
resume_manager,
)
.await?;
Ok(())
}
fn determine_output_path(&self, filename: Option<String>) -> String {
if Path::new(&self.config.output_path)
.file_name()
.unwrap_or_default()
== DEFAULT_OUTPUT_FILENAME
&& filename.is_some()
{
filename.unwrap()
} else {
self.config.output_path.clone()
}
}
fn prepare_output_file(&self, path: &str, size: u64) -> Result<Arc<Mutex<BufWriter<File>>>> {
let file = if Path::new(path).exists() {
OpenOptions::new().read(true).write(true).open(path)?
} else {
let file = File::create(path)?;
file.set_len(HEADER_SIZE as u64 + size)?;
file
};
Ok(Arc::new(Mutex::new(BufWriter::with_capacity(
self.config.buffer_size,
file,
))))
}
async fn process_chunks_with_resume(
&self,
chunks: Vec<(u64, u64)>,
file: Arc<Mutex<BufWriter<File>>>,
_file_size: u64,
progress: ProgressTracker,
real_filename: String,
resume_manager: ResumeManager,
) -> Result<()> {
let mut tasks = FuturesUnordered::new();
let log_progress = if self.config.should_log_stats() {
let progress_clone = progress.bar.clone();
let filename = real_filename.clone();
let (log_cancel_tx, mut log_cancel_rx) = tokio::sync::oneshot::channel();
let log_task = tokio::spawn(async move {
let mut interval = tokio::time::interval(tokio::time::Duration::from_secs(1));
let tracker = ProgressTracker {
bar: progress_clone,
};
loop {
tokio::select! {
_ = interval.tick() => {
if let Some(stats) = tracker.get_stats() {
let json_output = json!({
"progress": stats.progress_percent,
"speed_bps": stats.speed_bytes_per_sec,
"downloaded_bytes": stats.bytes_downloaded,
"total_bytes": stats.total_size,
"eta_seconds": stats.eta_seconds,
"elapsed_seconds": stats.elapsed_seconds,
"filename": filename
});
println!("{}", json_output);
}
}
_ = &mut log_cancel_rx => {
break;
}
}
}
});
Some((log_task, log_cancel_tx))
} else {
None
};
let resume_manager = Arc::new(Mutex::new(resume_manager));
for (start, end) in chunks {
let client = self.client.clone();
let url = self.config.url.clone();
let file_clone = Arc::clone(&file);
let pb_clone = progress.bar.clone();
let manager_clone = Arc::clone(&resume_manager);
let headers = self.config.headers.clone();
let force_download = self.config.force_download;
let should_log = self.config.should_log();
let chunk_size = self.config.chunk_size as u64;
let chunk_index = (start / chunk_size) as usize;
tasks.push(tokio::spawn(async move {
let result = Self::download_chunk_with_retry(
client,
url,
start,
end,
file_clone,
pb_clone,
DEFAULT_MAX_RETRIES,
&headers,
force_download,
should_log,
)
.await;
if result.is_ok() {
let mut manager = manager_clone.lock().await;
manager.set_chunk_complete(chunk_index)?;
}
result
}));
if tasks.len() >= self.config.num_connections {
if let Some(result) = tasks.next().await {
result??;
}
}
}
while let Some(result) = tasks.next().await {
result??;
}
{
let mut writer = file.lock().await;
writer.flush()?;
}
progress.finish();
if let Some((log_handle, log_cancel_tx)) = log_progress {
if self.config.should_log_stats() {
let json_output = json!({
"progress": 1.0,
"speed_bps": 0.0,
"downloaded_bytes": _file_size,
"total_bytes": _file_size,
"eta_seconds": 0,
"elapsed_seconds": if let Some(pb) = &progress.bar { pb.elapsed().as_secs() } else { 0 },
"filename": real_filename
});
println!("{}", json_output);
}
let _ = log_cancel_tx.send(());
let _ = log_handle.await;
}
let manager = resume_manager.lock().await;
if manager.is_download_complete() {
if self.config.should_log() {
println!("Download complete, finalizing file...");
}
manager.finalize_download()?;
}
Ok(())
}
async fn download_chunk_with_retry(
client: Client,
url: String,
start: u64,
end: u64,
file: Arc<Mutex<BufWriter<File>>>,
progress_bar: Option<ProgressBar>,
max_retries: usize,
headers: &[String],
force_download: bool,
should_log: bool,
) -> Result<()> {
let mut retries = 0;
loop {
match Self::download_chunk(
client.clone(),
url.clone(),
start,
end,
file.clone(),
progress_bar.clone(),
headers,
force_download,
should_log,
)
.await
{
Ok(_) => return Ok(()),
Err(e) => {
retries += 1;
if retries >= max_retries {
return Err(e);
}
tokio::time::sleep(tokio::time::Duration::from_millis(
RETRY_BACKOFF_MS * (2_u64.pow(retries as u32 - 1)),
))
.await;
}
}
}
}
async fn download_chunk(
client: Client,
url: String,
start: u64,
end: u64,
file: Arc<Mutex<BufWriter<File>>>,
progress_bar: Option<ProgressBar>,
headers: &[String],
force_download: bool,
should_log: bool,
) -> Result<()> {
let mut req = client
.get(&url)
.header("Range", format!("bytes={}-{}", start, end));
for header in headers {
if let Some(idx) = header.find(':') {
let (name, value) = header.split_at(idx);
let value = value[1..].trim();
req = req.header(name.trim(), value);
}
}
let resp = req.send().await?;
if resp.status() != StatusCode::PARTIAL_CONTENT && resp.status() != StatusCode::OK {
if !force_download {
anyhow::bail!("Server does not support Range requests");
} else if should_log {
println!("Server does not support Range requests, ignoring...");
}
}
let mut stream = resp.bytes_stream();
let mut position = start;
let mut total_bytes = 0;
let expected_bytes = end - start + 1;
while let Some(chunk_result) = stream.next().await {
let chunk = chunk_result?;
let chunk_size = chunk.len() as u64;
total_bytes += chunk_size;
if total_bytes > expected_bytes {
let remaining = expected_bytes - (total_bytes - chunk_size);
let mut writer = file.lock().await;
writer.seek(SeekFrom::Start(HEADER_SIZE as u64 + position))?;
writer.write_all(&chunk[..remaining as usize])?;
let tracker = ProgressTracker {
bar: progress_bar.clone(),
};
tracker.increment(remaining);
break;
}
let mut writer = file.lock().await;
writer.seek(SeekFrom::Start(HEADER_SIZE as u64 + position))?;
writer.write_all(&chunk)?;
drop(writer);
position += chunk_size;
let tracker = ProgressTracker {
bar: progress_bar.clone(),
};
tracker.increment(chunk_size);
}
Ok(())
}
async fn get_file_info(&self) -> Result<(u64, Option<String>, String)> {
let mut req = self.client.head(&self.config.url);
for header in &self.config.headers {
if let Some(idx) = header.find(':') {
let (name, value) = header.split_at(idx);
let value = value[1..].trim();
req = req.header(name.trim(), value);
}
}
let resp = req.send().await?;
let accepts_ranges = resp
.headers()
.get("accept-ranges")
.and_then(|v| v.to_str().ok())
.map(|v| v.contains("bytes"))
.unwrap_or(false);
if !accepts_ranges {
let range_check = self
.client
.get(&self.config.url)
.header("Range", "bytes=0-0")
.send()
.await?;
if range_check.status() != StatusCode::PARTIAL_CONTENT {
if !self.config.force_download {
anyhow::bail!(
"Server does not support Range requests, cannot continue with parallel download"
);
} else if self.config.should_log() {
println!("Server does not support Range requests, ignoring...");
}
}
}
let file_size = if let Some(content_length) = resp.headers().get("content-length") {
content_length.to_str()?.parse()?
} else {
anyhow::bail!("Could not determine file size")
};
let etag = if let Some(etag_header) = resp.headers().get("etag") {
etag_header.to_str()?.to_string()
} else {
format!(
"no-etag-{}",
std::time::SystemTime::now()
.duration_since(std::time::UNIX_EPOCH)
.unwrap()
.as_secs()
)
};
let filename = self.extract_filename_from_response(&resp);
Ok((file_size, filename, etag))
}
fn extract_filename_from_response(&self, resp: &reqwest::Response) -> Option<String> {
if let Some(disposition) = resp.headers().get("content-disposition") {
if let Ok(disposition_str) = disposition.to_str() {
if let Some(filename) = Self::parse_content_disposition(disposition_str) {
return Some(filename);
}
}
}
Self::extract_filename_from_url(&self.config.url)
}
fn parse_content_disposition(disposition: &str) -> Option<String> {
if let Some(idx) = disposition.find("filename=") {
let start = idx + 9;
let mut end = disposition.len();
if disposition.as_bytes().get(start) == Some(&b'"') {
let quoted_name = &disposition[start + 1..];
if let Some(quote_end) = quoted_name.find('"') {
return Some(quoted_name[..quote_end].to_string());
}
} else {
if let Some(semicolon) = disposition[start..].find(';') {
end = start + semicolon;
}
return Some(disposition[start..end].to_string());
}
}
None
}
fn extract_filename_from_url(url: &str) -> Option<String> {
if let Ok(parsed_url) = Url::parse(url) {
let path = parsed_url.path();
if let Some(path_filename) = Path::new(path).file_name() {
if let Some(filename_str) = path_filename.to_str() {
if !filename_str.is_empty() {
if let Ok(decoded) = urlencoding::decode(filename_str) {
return Some(decoded.to_string());
}
}
}
}
}
None
}
}
struct ResumeManager {
header: HydraHeader,
file_path: String,
}
impl ResumeManager {
fn try_from_file(
path: &str,
file_size: u64,
etag: &str,
url: &str,
chunk_size: u32,
force_new: bool,
resume_only: bool,
) -> Result<Self> {
if force_new {
if Path::new(path).exists() {
std::fs::remove_file(path)?;
}
return Self::create_new_file(path, file_size, etag, url, chunk_size);
}
if let Ok(file) = File::open(path) {
let mut reader = BufReader::new(file);
match HydraHeader::read_from_file(&mut reader) {
Ok(header) => {
let current_url_hash = Sha256::digest(url.as_bytes());
let url_matches = header.url_hash == current_url_hash.as_slice();
let size_matches = header.file_size == file_size;
if url_matches && size_matches {
return Ok(Self {
header,
file_path: path.to_string(),
});
}
if resume_only {
anyhow::bail!(
"Existing file is not compatible and resume_only option is active"
);
}
std::fs::remove_file(path)?;
}
Err(e) => {
if resume_only {
return Err(anyhow::anyhow!("Could not read file to resume: {}", e));
}
std::fs::remove_file(path)?;
}
}
} else if resume_only {
anyhow::bail!("File not found and resume_only option is active");
}
Self::create_new_file(path, file_size, etag, url, chunk_size)
}
fn create_new_file(
path: &str,
file_size: u64,
etag: &str,
url: &str,
chunk_size: u32,
) -> Result<Self> {
let header = HydraHeader::new(file_size, etag, url, chunk_size);
let file = File::create(path)?;
file.set_len(HEADER_SIZE as u64 + file_size)?;
let mut writer = BufWriter::new(file);
header.write_to_file(&mut writer)?;
writer.flush()?;
Ok(Self {
header,
file_path: path.to_string(),
})
}
fn get_incomplete_chunks(&self) -> Vec<(u64, u64)> {
self.header.get_incomplete_chunks()
}
fn set_chunk_complete(&mut self, chunk_index: usize) -> Result<()> {
self.header.set_chunk_complete(chunk_index)?;
let file = OpenOptions::new().write(true).open(&self.file_path)?;
let mut writer = BufWriter::new(file);
let bitmap_offset = 5 + 1 + 8 + 32 + 32 + 4 + 4;
writer.seek(SeekFrom::Start(bitmap_offset as u64))?;
let bitmap_bytes = self.header.chunks_bitmap.as_raw_slice();
writer.write_all(bitmap_bytes)?;
writer.flush()?;
Ok(())
}
fn is_download_complete(&self) -> bool {
self.header.is_download_complete()
}
fn finalize_download(&self) -> Result<()> {
if !self.is_download_complete() {
anyhow::bail!("Download is not complete");
}
let temp_path = format!("{}.tmp", self.file_path);
let source = File::open(&self.file_path)?;
let dest = File::create(&temp_path)?;
let mut reader = BufReader::with_capacity(FINALIZE_BUFFER_SIZE, source);
let mut writer = BufWriter::with_capacity(FINALIZE_BUFFER_SIZE, dest);
reader.seek(SeekFrom::Start(HEADER_SIZE as u64))?;
std::io::copy(&mut reader, &mut writer)?;
writer.flush()?;
drop(writer);
match std::fs::rename(&temp_path, &self.file_path) {
Ok(_) => Ok(()),
Err(_) => {
let _ = std::fs::remove_file(&self.file_path);
std::fs::rename(&temp_path, &self.file_path)?;
Ok(())
}
}
}
}
#[tokio::main]
async fn main() -> Result<()> {
let args = CliArgs::parse();
let config = DownloadConfig {
url: args.url.clone(),
output_path: args.output,
num_connections: args.connections,
chunk_size: args.chunk_size * 1024 * 1024,
buffer_size: args.buffer_size * 1024 * 1024,
verbose: args.verbose,
silent: args.silent,
log: args.log,
force_new: args.force_new,
resume_only: args.resume_only,
headers: args.header,
force_download: args.force_download,
};
if config.force_new && config.resume_only {
eprintln!("Error: --force-new and --resume-only options cannot be used together");
std::process::exit(1);
}
let downloader = Downloader {
client: Client::new(),
config,
};
if downloader.config.should_log() {
println!(
"Starting download with {} connections, chunk size: {}MB, buffer: {}MB",
downloader.config.num_connections, args.chunk_size, args.buffer_size
);
println!("URL: {}", args.url);
if downloader.config.force_new {
println!("Forcing new download, ignoring existing files");
} else if downloader.config.resume_only {
println!("Only resuming existing download");
} else {
println!("Resuming download if possible");
}
}
downloader.download().await?;
Ok(())
}

View File

@@ -1,24 +1,37 @@
const { default: axios } = require("axios");
const tar = require("tar");
const util = require("node:util");
const fs = require("node:fs");
const path = require("node:path");
const exec = util.promisify(require("node:child_process").exec);
const ludusaviVersion = "0.29.0";
const fileName = {
win32: "ludusavi-v0.25.0-win64.zip",
linux: "ludusavi-v0.25.0-linux.zip",
darwin: "ludusavi-v0.25.0-mac.zip",
win32: `ludusavi-v${ludusaviVersion}-win64.zip`,
linux: `ludusavi-v${ludusaviVersion}-linux.tar.gz`,
darwin: `ludusavi-v${ludusaviVersion}-mac.tar.gz`,
};
const ludusaviBinaryName = {
win32: "ludusavi.exe",
linux: "ludusavi",
darwin: "ludusavi",
};
const downloadLudusavi = async () => {
if (fs.existsSync("ludusavi")) {
if (
fs.existsSync(
path.join(process.cwd(), "ludusavi", ludusaviBinaryName[process.platform])
)
) {
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}`;
const downloadUrl = `https://github.com/mtkennerly/ludusavi/releases/download/v${ludusaviVersion}/${file}`;
console.log(`Downloading ${file}...`);
@@ -30,10 +43,18 @@ const downloadLudusavi = async () => {
console.log(`Downloaded ${file}, extracting...`);
const pwd = process.cwd();
const targetPath = path.join(pwd, "ludusavi");
await exec(`npx extract-zip ${file} ${targetPath}`);
await fs.promises.mkdir(targetPath, { recursive: true });
if (process.platform === "win32") {
await exec(`npx extract-zip ${file} ${targetPath}`);
} else {
await tar.x({
file: file,
cwd: targetPath,
});
}
if (process.platform !== "win32") {
fs.chmodSync(path.join(targetPath, "ludusavi"), 0o755);
@@ -47,10 +68,3 @@ const downloadLudusavi = async () => {
};
downloadLudusavi();
if (process.platform !== "win32") {
const binariesPath = path.join(__dirname, "..", "binaries");
fs.chmodSync(path.join(binariesPath, "7zz"), 0o755);
fs.chmodSync(path.join(binariesPath, "7zzs"), 0o755);
}

View File

@@ -20,7 +20,7 @@ const s3 = new S3Client({
const dist = path.resolve(__dirname, "..", "dist");
const extensionsToUpload = [".deb", ".exe", ".pacman"];
const extensionsToUpload = [".deb", ".exe", ".AppImage"];
fs.readdir(dist, async (err, files) => {
if (err) throw err;

File diff suppressed because one or more lines are too long

1
sonar-project.properties Normal file
View File

@@ -0,0 +1 @@
sonar.exclusions=src/main/generated/**

View File

@@ -4,7 +4,6 @@
"successfully_signed_in": "تم تسجيل الدخول بنجاح"
},
"home": {
"featured": "مميز",
"surprise_me": "مفاجئني",
"no_results": "لم يتم العثور على نتائج",
"start_typing": "ابدأ بالكتابة للبحث...",
@@ -120,7 +119,7 @@
"options": "خيارات",
"executable_section_title": "ملف التشغيل",
"executable_section_description": "مسار الملف الذي سيتم تشغيله عند النقر على \"تشغيل\"",
"downloads_secion_title": "التنزيلات",
"downloads_section_title": "التنزيلات",
"downloads_section_description": "تحقق من التحديثات أو الإصدارات الأخرى لهذه اللعبة",
"danger_zone_section_title": "منطقة الخطر",
"danger_zone_section_description": "إزالة هذه اللعبة من مكتبتك أو الملفات التي تم تنزيلها بواسطة Hydra",
@@ -188,8 +187,8 @@
"reset_achievements_error": "فشل في إعادة تعيين الإنجازات",
"download_error_gofile_quota_exceeded": "لقد تجاوزت الحصة الشهرية لـ Gofile. يرجى الانتظار حتى إعادة تعيين الحصة.",
"download_error_real_debrid_account_not_authorized": "حساب Real-Debrid الخاص بك غير مصرح له بإجراء تنزيلات جديدة. يرجى مراجعة إعدادات الحساب والمحاولة مرة أخرى.",
"download_error_not_cached_in_real_debrid": "هذا التنزيل غير متوفر على Real-Debrid وجلب حالة التنزيل من Real-Debrid غير متاح حاليًا.",
"download_error_not_cached_in_torbox": "هذا التنزيل غير متوفر على Torbox وجلب حالة التنزيل من Torbox غير متاح حاليًا.",
"download_error_not_cached_on_real_debrid": "هذا التنزيل غير متوفر على Real-Debrid وجلب حالة التنزيل من Real-Debrid غير متاح حاليًا.",
"download_error_not_cached_on_torbox": "هذا التنزيل غير متوفر على TorBox وجلب حالة التنزيل من TorBox غير متاح حاليًا.",
"game_removed_from_favorites": "تمت إزالة اللعبة من المفضلة",
"game_added_to_favorites": "تمت إضافة اللعبة إلى المفضلة"
},
@@ -330,7 +329,7 @@
"delete_theme_description": "سيؤدي هذا إلى حذف السمة {{theme}}",
"cancel": "إلغاء",
"appearance": "المظهر",
"enable_torbox": "تفعيل Torbox",
"enable_torbox": "تفعيل TorBox",
"torbox_description": "TorBox هي خدمة seedbox متميزة تنافس أفضل الخوادم في السوق.",
"torbox_account_linked": "تم ربط حساب TorBox",
"real_debrid_account_linked": "تم ربط حساب Real-Debrid",

View File

@@ -1,7 +1,6 @@
{
"language_name": "беларуская мова",
"home": {
"featured": "Рэкамэндаванае",
"surprise_me": "Здзіві мяне",
"no_results": "Няма вынікаў"
},
@@ -17,7 +16,6 @@
"home": "Галоўная",
"favorites": "Улюбленыя"
},
"header": {
"search": "Пошук",
"home": "Галоўная",
@@ -31,10 +29,7 @@
"downloading_metadata": "Сцягванне мэтаданых {{title}}…",
"downloading": "Сцягванне {{title}}… ({{percentage}} скончана) - Канчатак {{eta}} - {{speed}}"
},
"catalogue": {
"next_page": "Наступная старонка",
"previous_page": "Папярэдняя старонка"
},
"catalogue": {},
"game_details": {
"open_download_options": "Адкрыць варыянты сцягвання",
"download_options_zero": "Няма варыянтаў сцягвання",

View File

@@ -1,88 +1,87 @@
{
"language_name": "Български",
"app": {
"successfully_signed_in": "Успешно вписване"
"successfully_signed_in": "Успешно влизане"
},
"home": {
"featured": "Препоръчани",
"surprise_me": "Изненадай ме",
"no_results": "Не са намерени резултати",
"start_typing": "Търсене...",
"hot": "Актуално сега",
"weekly": "📅 Най-доброто от седмицата",
"achievements": "🏆 Игри, които да победите"
"no_results": "Няма намерени резултати",
"start_typing": "Започнете да пишете за търсене...",
"hot": "Горещи сега",
"weekly": "📅 Топ игри на седмицата",
"achievements": "🏆 Игри които да победите"
},
"sidebar": {
"catalogue": "Каталог",
"downloads": "Изтегляния",
"settings": "Настройки",
"my_library": "Моята библиотека",
"downloading_metadata": "{{title}} (Сваляне на метаданни…)",
"paused": "{{title}} (Пауза)",
"downloading_metadata": "{{title}} (Изтегляне на метаданни…)",
"paused": "{{title}} (На пауза)",
"downloading": "{{title}} ({{percentage}} - Изтегляне…)",
"filter": "Търсене по име",
"filter": "Филтрирай библиотеката",
"home": "Начало",
"queued": "{{title}} (Опашка)",
"game_has_no_executable": "Играта няма избран изпълним файл",
"sign_in": "Вписване",
"queued": "{{title}} (В опашката)",
"game_has_no_executable": "Няма избран изпълним файл за играта",
"sign_in": "Вход",
"friends": "Приятели",
"need_help": "Имате нужда от помощ??",
"favorites": "Любими игри"
"need_help": "Нужда от помощ?",
"favorites": "Любими"
},
"header": {
"search": "Търсене",
"search": "Търси игри",
"home": "Начало",
"catalogue": "Каталог",
"downloads": "Изтегляния",
"search_results": "Резултати от търсене",
"search_results": "Резултати от търсенето",
"settings": "Настройки",
"version_available_install": "Версия {{version}} е налична. Кликни тук, за да рестартирате и инсталирате.",
"version_available_download": "Версия {{version}} е налична. Кликни тук за изтегляне."
"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}} готово)"
"no_downloads_in_progress": "Няма текущи изтегляния",
"downloading_metadata": "Изтегляне на метаданни за {{title}}…",
"downloading": "Изтегля се {{title}}… ({{percentage}} завършено) - Завършване {{eta}} - {{speed}}",
"calculating_eta": "Изтегля се {{title}}… ({{percentage}} завършено) - Изчисляване на оставащо време…",
"checking_files": "Проверка на файловете за {{title}}… ({{percentage}} завършено)",
"installing_common_redist": "{{log}}…",
"installation_complete": "Инсталацията завършена",
"installation_complete_message": "Общите компоненти са инсталирани успешно"
},
"catalogue": {
"search": "Филтър…",
"search": "Филтрирай…",
"developers": "Разработчици",
"genres": "Жанрове",
"tags": "Тагове",
"publishers": "Издатели",
"download_sources": "Източници за изтегляне",
"result_count": "{{resultCount}} резултати",
"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}} варианти за изтегляне",
"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",
"space_left_on_disk": "{{space}} свободно на диска",
"eta": "Завършване {{eta}}",
"calculating_eta": "Изчисляване на оставащо време…",
"downloading_metadata": "Изтегляне на метаданни…",
"filter": "Филтрирай репаковки",
"requirements": "Системни изисквания",
"minimum": "Минимални",
"recommended": "Препоръчителни",
"paused": "Паузирано",
"release_date": "Издадено на {{date}}",
"publisher": "Публикувано от {{publisher}}",
"hours": "часове",
"paused": "На пауза",
"release_date": "Издадена на {{date}}",
"publisher": "Издател: {{publisher}}",
"hours": "часа",
"minutes": "минути",
"amount_hours": "{{amount}} часа",
"amount_minutes": "{{amount}} минути",
@@ -90,333 +89,425 @@
"add_to_library": "Добави в библиотеката",
"remove_from_library": "Премахни от библиотеката",
"no_downloads": "Няма налични изтегляния",
"play_time": "Игрално време {{amount}}",
"last_time_played": "Последно пускане {{period}}",
"not_played_yet": "Не сте играли {{title}} все още",
"play_time": "Играно: {{amount}}",
"last_time_played": "Последно играно: {{period}}",
"not_played_yet": "Все още не сте играли {{title}}",
"next_suggestion": "Следващо предложение",
"play": "Пускане",
"deleting": "Изтриване на инсталация…",
"play": "Играй",
"deleting": "Изтриване на инсталатора…",
"close": "Затвори",
"playing_now": "Играй сега",
"change": "Промяна",
"repacks_modal_description": "Избери repack който искаш да изтеглиш",
"select_folder_hint": "За да промените стандартната папка отидете в <0>Настройки</0>",
"playing_now": "Играе се сега",
"change": "Промени",
"repacks_modal_description": "Изберете репак за изтегляне",
"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",
"no_shop_details": "Неуспешно извличане на детайли от магазина.",
"download_options": "Опции за изтегляне",
"download_path": "Път за изтегляне",
"previous_screenshot": "Предишен скрийншот",
"next_screenshot": "Следващ скрийншот",
"screenshot": "Скрийншот {{number}}",
"open_screenshot": "Отвори скрийншот {{number}}",
"download_settings": "Настройки за изтегляне",
"downloader": "Изтегляч",
"select_executable": "Избери",
"no_executable_selected": "Няма избран стартиращ файл",
"no_executable_selected": "Няма избран изпълним файл",
"open_folder": "Отвори папка",
"open_download_location": "Виж свалените файлове",
"create_shortcut": "Пряк път на Десктопа",
"open_download_location": "Виж изтеглените файлове",
"create_shortcut": "Създай пряк път на работния плот",
"clear": "Изчисти",
"remove_files": "Премахни файловете",
"remove_from_library_title": "Сигурен ли си?",
"remove_from_library_description": "Това ще премахне {{game}} от Библиотеката",
"remove_from_library_title": "Сигурни ли сте?",
"remove_from_library_description": "Това ще премахне {{game}} от вашата библиотека",
"options": "Опции",
"executable_section_title": "Стартиращ файл",
"executable_section_description": "Пътят на файла, който ще се изпълни, когато се щракне върху \"Пускане\"",
"downloads_secion_title": "Свалени",
"downloads_section_description": "Вижте актуализации или други версии на тази игра",
"executable_section_title": "Изпълним файл",
"executable_section_description": "Пътят на файла, който ще се изпълни при \"Играй\"",
"downloads_section_title": "Изтегляния",
"downloads_section_description": "Вижте обновления или други версии на тази игра",
"danger_zone_section_title": "Опасна зона",
"danger_zone_section_description": "Премахнете тази игра от библиотеката си или от файловете, изтеглени от Hydra",
"download_in_progress": "Изтегляне в ход",
"download_paused": "Изтеглянето е паузирано",
"last_downloaded_option": "Опция от последно изтегляне",
"danger_zone_section_description": "Премахнете тази игра от библиотеката или файловете, изтеглени от Hydra",
"download_in_progress": "Изтеглянето е в ход",
"download_paused": "Изтеглянето е на пауза",
"last_downloaded_option": "Последно изтеглена опция",
"create_steam_shortcut": "Създай пряк път за Steam",
"create_shortcut_success": "Прекият път е създаден успешно",
"create_shortcut_error": "Грешка при създаването на пряк път",
"you_might_need_to_restart_steam": "Може да е необходимо да рестартирате Steam, за да видите промените",
"create_shortcut_error": "Грешка при създаване на пряк път",
"nsfw_content_title": "Тази игра съдържа неподходящо съдържание",
"nsfw_content_description": "{{title}} съдържа съдържание, което може да не е подходящо за всички възрасти. Сигурни ли сте, че искате да продължите?",
"allow_nsfw_content": "Продължи",
"refuse_nsfw_content": "Назад",
"refuse_nsfw_content": "Върни се",
"stats": "Статистики",
"download_count": "Сваляния",
"download_count": "Изтегляния",
"player_count": "Активни играчи",
"download_error": "Тази опция за изтегляне не е налична",
"download": "Свали",
"download": "Изтегли",
"executable_path_in_use": "Изпълнимият файл вече се използва от \"{{game}}\"",
"warning": "Внимание:",
"hydra_needs_to_remain_open": "за това изтегляне, Hydra трябва да остане отворена, когато е завършено. Ако Hydra се затвори преди завършването, ще загубите напредъка си..",
"hydra_needs_to_remain_open": "за това изтегляне, Hydra трябва да остане отворена до завършване. Ако затворите преди завършване, ще загубите прогреса.",
"achievements": "Постижения",
"achievements_count": "Постижения {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Запазване в облака",
"cloud_save_description": "Запазете напредъка си в облака и продължете да играете на всяко устройство",
"backups": "Резервни копия",
"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": "Вижте всички постижения",
"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": "Управление на файлове",
"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": "Управлявайте кои файлове ще бъдат архивирани и възстановени",
"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": "Задаване на персонализирано местоположение за архивиране"
"backup_from": "Архив от {{date}}",
"automatic_backup_from": "Автоматичен архив от {{date}}",
"enable_automatic_cloud_sync": "Включи автоматична синхронизация с облака",
"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": "Неуспешно нулиране на постиженията",
"download_error_gofile_quota_exceeded": "Превишихте месечната си квота в Gofile. Моля, изчакайте тя да се възстанови.",
"download_error_real_debrid_account_not_authorized": "Вашият Real-Debrid акаунт не е упълномощен за нови изтегляния. Моля, проверете настройките на акаунта и опитайте отново.",
"download_error_not_cached_on_real_debrid": "Това изтегляне не е налично в Real-Debrid и не може да се следи статуса.",
"download_error_not_cached_on_torbox": "Това изтегляне не е налично в TorBox и не може да се следи статуса.",
"download_error_not_cached_on_hydra": "Това изтегляне не е налично в Nimbus.",
"game_removed_from_favorites": "Играта е премахната от любими",
"game_added_to_favorites": "Играта е добавена в любими",
"automatically_extract_downloaded_files": "Автоматично извличане на изтеглени файлове",
"create_start_menu_shortcut": "Създай пряк път в старт менюто",
"invalid_wine_prefix_path": "Невалиден път до Wine префикса",
"invalid_wine_prefix_path_description": "Пътят до Wine префикса е невалиден. Моля, проверете го и опитайте отново.",
"missing_wine_prefix": "Wine префикс е необходим за създаване на архив в Linux"
},
"activation": {
"title": "Активирай Hydra",
"installation_id": дентификатор на инсталацията:",
"enter_activation_code": "Въведете кода за активиране",
"message": "Ако не знаете къде да попитате за това, значи не трябва да го имате..",
"installation_id": "Инсталационен ID:",
"enter_activation_code": "Въведете активационен код",
"message": "Ако не знаете къде да попитате за това, не бива да го имате.",
"activate": "Активирай",
"loading": "Зареждане…"
},
"downloads": {
"seeding": "Сийдване",
"stop_seeding": "Спри сийдването",
"resume_seeding": "Продължи сийдването",
"options": "Управление",
"resume": "Продължи",
"pause": "Пауза",
"eta": "Conclusion {{eta}}",
"paused": "Паузирано",
"eta": "Завършване {{eta}}",
"paused": "На пауза",
"verifying": "Проверка…",
"completed": "Готово",
"removed": "Не е изтеглен",
"completed": "Завършено",
"removed": "Не е изтеглено",
"cancel": "Отказ",
"filter": "Филтриране на изтеглени игри",
"filter": "Филтрирай изтеглените игри",
"remove": "Премахни",
"downloading_metadata": "Изтегляне на метаданни…",
"deleting": "Изтриване на инсталатора…",
"delete": "Премахване на инсталатора",
"delete_modal_title": "Сигурени ли сте?",
"delete_modal_description": "Това ще премахне всички инсталационни файлове от компютъра ви.",
"delete": "Премахни инсталатора",
"delete_modal_title": "Сигурни ли сте?",
"delete_modal_description": "Това ще премахне всички инсталационни файлове от компютъра ви",
"install": "Инсталирай",
"download_in_progress": "В процес на изпълнение",
"queued_downloads": "Изтеглени файлове в опашката",
"downloads_completed": "Приключени",
"queued": "В опашка",
"download_in_progress": "В процес",
"queued_downloads": "Изтегляния на опашка",
"downloads_completed": "Завършени",
"queued": "В опашката",
"no_downloads_title": "Толкова е празно",
"no_downloads_description": "Все още не сте изтеглили нищо с Hydra, но никога не е късно да започнете...",
"checking_files": "Проверка на файлове…"
"no_downloads_description": "Все още не сте изтеглили нищо с Hydra, но никога не е късно да започнете.",
"checking_files": "Проверка на файлове…",
"seeding": "Сийдване",
"stop_seeding": "Спри сийдването",
"resume_seeding": "Продължи сийдването",
"options": "Управлявай",
"extract": "Извлечи файловете",
"extracting": "Извличане на файловете…"
},
"settings": {
"seed_after_download_complete": "Сийд след завършване на изтеглянето",
"show_hidden_achievement_description": "Показвай описанието на скритите постижения преди отключването им",
"downloads_path": "Инсталационен път",
"change": "Актуализиране",
"downloads_path": "Път за изтегляния",
"change": "Обнови",
"notifications": "Известия",
"enable_download_notifications": "Когато изтеглянето е завършено",
"enable_repack_list_notifications": "Когато се добави нов repack",
"enable_download_notifications": "Когато изтеглянето приключи",
"enable_repack_list_notifications": "Когато бъде добавен нов репак",
"real_debrid_api_token_label": "Real-Debrid API токен",
"quit_app_instead_hiding": "Не скривайте Hydra при затваряне",
"launch_with_system": "Стартиране на Hydra при стартиране на системата",
"quit_app_instead_hiding": "Не скривай Hydra при затваряне",
"launch_with_system": "Стартирай Hydra при стартиране на системата",
"general": "Общи",
"behavior": "Поведение",
"download_sources": "Източници за изтегляне",
"language": "Език",
"api_token": "API Токен",
"api_token": "API токен",
"enable_real_debrid": "Включи Real-Debrid",
"real_debrid_description": "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}}\" е свързан",
"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": "Валидиране",
"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": "Източника за сваляне е премахнат",
"cancel_button_confirmation_delete_all_sources": "не",
"confirm_button_confirmation_delete_all_sources": "Да, удалить все",
"description_confirmation_delete_all_sources": "Вы удалите все источники загрузки",
"title_confirmation_delete_all_sources": "Удалить все источники загрузки",
"removed_download_sources": "Шрифты удалены",
"button_delete_all_sources": "Удалить все источники загрузки",
"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": "Личен",
"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": "Източникът е премахнат",
"removed_download_sources": "Източниците са премахнати",
"cancel_button_confirmation_delete_all_sources": "Не",
"confirm_button_confirmation_delete_all_sources": "Да, изтрий всичко",
"title_confirmation_delete_all_sources": "Изтрий всички източници",
"description_confirmation_delete_all_sources": "Ще изтриете всички източници",
"button_delete_all_sources": "Премахни всички",
"added_download_source": "Източникът е добавен",
"download_sources_synced": "Всички източници са синхронизирани",
"insert_valid_json_url": "Въведете валиден JSON url",
"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 адрес.",
"must_be_valid_url": "Източникът трябва да е валиден URL",
"blocked_users": "Блокирани потребители",
"user_unblocked": "Потребителят е бил деблокиран",
"enable_achievement_notifications": "Когато е отключено постижение",
"launch_minimized": "Стартиране на Hydra минимизирано",
"disable_nsfw_alert": "Деактивиране на предупреждението NSFW"
"user_unblocked": "Потребителят е деблокиран",
"enable_achievement_notifications": "Когато бъде отключено постижение",
"launch_minimized": "Стартирай Hydra минимизирано",
"disable_nsfw_alert": "Изключи NSFW предупреждението",
"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": "Следващата фактура ще бъде изпратена до този ден",
"no_themes": "Изглежда, че все още нямате теми. Кликнете тук, за да създадете първата си.",
"editor_tab_code": "Код",
"editor_tab_info": "Информация",
"editor_tab_save": "Запази",
"web_store": "Уеб магазин",
"clear_themes": "Изчисти",
"create_theme": "Създай",
"create_theme_modal_title": "Създай персонализирана тема",
"create_theme_modal_description": "Създайте нова тема за персонализиране на външния вид на Hydra",
"theme_name": "Име",
"insert_theme_name": "Въведете име на тема",
"set_theme": "Задай тема",
"unset_theme": "Премахни тема",
"delete_theme": "Изтрий тема",
"edit_theme": "Редактирай тема",
"delete_all_themes": "Изтрий всички теми",
"delete_all_themes_description": "Това ще изтрие всички ваши персонализирани теми",
"delete_theme_description": "Това ще изтрие темата {{theme}}",
"cancel": "Отказ",
"appearance": "Външен вид",
"enable_torbox": "Включи TorBox",
"torbox_description": "TorBox е вашият премиум seedbox, съперничещ на най-добрите сървъри на пазара.",
"torbox_account_linked": "TorBox акаунтът е свързан",
"create_real_debrid_account": "Кликнете тук, ако все още нямате Real-Debrid акаунт",
"create_torbox_account": "Кликнете тук, ако все още нямате TorBox акаунт",
"real_debrid_account_linked": "Real-Debrid акаунтът е свързан",
"name_min_length": "Името на темата трябва да е поне 3 символа",
"import_theme": "Импортирай тема",
"import_theme_description": "Ще импортирате {{theme}} от магазина с теми",
"error_importing_theme": "Грешка при импортиране на тема",
"theme_imported": "Темата е импортирана успешно",
"enable_friend_request_notifications": "Когато получите заявка за приятелство",
"enable_auto_install": "Автоматично изтегляй обновления",
"common_redist": "Общи компоненти",
"common_redist_description": "Общите компоненти са нужни за някои игри. Препоръчва се инсталация.",
"install_common_redist": "Инсталирай",
"installing_common_redist": "Инсталиране…",
"show_download_speed_in_megabytes": "Показвай скоростта на изтегляне в MB/s",
"extract_files_by_default": "Извличай файловете по подразбиране след изтегляне"
},
"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, за да инсталирате актуализацията",
"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}} са отклщчени"
"notification_achievement_unlocked_body": "{{achievement}} и още {{count}} бяха отключени",
"new_friend_request_description": "{{displayName}} ви изпрати заявка за приятелство",
"new_friend_request_title": "Нова заявка за приятелство",
"extraction_complete": "Извличането завърши",
"game_extracted": "{{title}} е извлечена успешно",
"friend_started_playing_game": "{{displayName}} започна да играе игра"
},
"system_tray": {
"open": "Отвори Hydra",
"quit": "Изход"
},
"game_card": {
"available_one": "Налично",
"available_other": "Налично",
"no_downloads": "Няма налични изтегляния"
},
"binary_not_found_modal": {
"title": "Не инсталирани програми",
"description": "Wine или Lutris изпълними файлове не бяха открити на вашата система",
"instructions": "Проверете правилния начин за инсталиране на някоя от тях на вашата дистрибуция на Linux, за да може играта да работи нормално"
"title": "Програмите не са инсталирани",
"description": "Wine или Lutris не са открити на вашата система",
"instructions": "Проверете как да инсталирате някоя от тях за вашата Linux дистрибуция, за да може играта да работи."
},
"modal": {
"close": "Бутон за затваряне"
},
"forms": {
"toggle_password_visibility": ревключване на видимостта на паролата"
"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_hours": "{{amount}} часа",
"amount_minutes": "{{amount}} минути",
"last_time_played": "Последно играно {{period}}",
"activity": "Скорошна активност",
"last_time_played": "Последно играно: {{period}}",
"activity": "Последна активност",
"library": "Библиотека",
"total_play_time": "Общо време за игра",
"no_recent_activity_title": "Хмм… няма нищо тук",
"no_recent_activity_description": "Не сте играли игри напоследък. Време е да промените това.!",
"display_name": "Показване на името",
"no_recent_activity_title": "Хммм… няма нищо тук",
"no_recent_activity_description": "Не сте играли игри наскоро. Време е да го промените!",
"display_name": "Показвано име",
"saving": "Запазване",
"save": "Запис",
"edit_profile": "Редактиране на профила",
"saved_successfully": "Запазено успешно",
"try_again": "Моля, опитайте пак",
"save": "Запази",
"edit_profile": "Редактирай профил",
"saved_successfully": "Успешно запазено",
"try_again": "Моля, опитайте отново",
"sign_out_modal_title": "Сигурни ли сте?",
"cancel": "Отказ",
"successfully_signed_out": "Успешно се отписахте",
"sign_out": "Отписване",
"playing_for": "В игра от {{amount}}",
"sign_out_modal_text": "Вашата библиотека е свързана с текущата ви сметка. Когато се отпишете, библиотеката ви вече няма да е видима и напредъкът няма да бъде запазен. Продължете с отписването?",
"successfully_signed_out": "Успешно излязохте",
"sign_out": "Изход",
"playing_for": "Играе се от {{amount}}",
"sign_out_modal_text": "Библиотеката ви е свързана с този акаунт. При изход, тя няма да е видима, а прогресът няма да се запази. Продължавате ли?",
"add_friends": "Добави приятели",
"add": "Добави",
"friend_code": "Приятелски код",
"friend_code": "Код за приятелство",
"see_profile": "Виж профила",
"sending": "Изпращане",
"friend_request_sent": "Изпратена покана за приятелство",
"friend_request_sent": "Заявката е изпратена",
"friends": "Приятели",
"friends_list": "Списък с приятели",
"user_not_found": "Не е намерен потребител",
"user_not_found": "Потребителят не е намерен",
"block_user": "Блокирай потребител",
"add_friend": "Добави приятел",
"request_sent": "Изпратена покана",
"request_received": "Получена покана",
"accept_request": "Приеми поканата",
"ignore_request": "Игнирирай поканата",
"cancel_request": "Откажи поканата",
"undo_friendship": "Отмяна на приятелството",
"request_accepted": "Поканата е приета",
"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": "Не сте добавили приятели",
"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": "Грешка при обработката на изображението",
"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 символа.",
"displayname_min_length": "Показваното име трябва да съдържа поне 3 символа",
"displayname_max_length": "Показваното име трябва да съдържа най-много 50 символа",
"report_profile": "Докладвай този профил",
"report_reason": "Защо докладвате този профил?",
"report_description": "Допълнителна информация",
"report_description_placeholder": "Допълнителна информация",
"report": "Докладвай",
"report_reason_hate": "Омразна реч",
"report_reason_hate": "Реч на омразата",
"report_reason_sexual_content": "Сексуално съдържание",
"report_reason_violence": "Насилия",
"report_reason_violence": "Насилие",
"report_reason_spam": "Спам",
"report_reason_other": "Друго",
"profile_reported": "Профилът е докладван",
"your_friend_code": "Вашия приятелски код:",
"your_friend_code": "Вашият код за приятелство:",
"upload_banner": "Качи банер",
"uploading_banner": "Качване на банер…",
"background_image_updated": "Обновено фоново изображение"
"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}} точки с това постижение",
"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}}"
"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": "Научете повече",
"subscription_tour_title": "Hydra Cloud Абонамент",
"subscribe_now": "Абонирай се сега",
"cloud_saving": "Запазване в облака",
"cloud_achievements": "Запазете постиженията си в облака",
"animated_profile_picture": "Анимирана профилна снимка",
"premium_support": "Премиум поддръжка",
"show_and_compare_achievements": "Показвайте и сравнявайте постиженията си с тези на други потребители",
"animated_profile_banner": "Анимиран профилен банер"
"debrid_description": "Изтегляйте до 4 пъти по-бързо с Nimbus"
}
}

View File

@@ -4,7 +4,6 @@
"successfully_signed_in": "Has entrat correctament"
},
"home": {
"featured": "Destacats",
"surprise_me": "Sorprèn-me",
"no_results": "No s'ha trobat res"
},
@@ -25,7 +24,6 @@
},
"header": {
"search": "Cerca jocs",
"home": "Inici",
"catalogue": "Catàleg",
"downloads": "Baixades",
@@ -41,10 +39,7 @@
"calculating_eta": "Descarregant {{title}}… ({{percentage}} completat) - Calculant el temps restant…",
"checking_files": "Comprovant els fitxers de {{title}}… ({{percentage}} completat)"
},
"catalogue": {
"next_page": "Pàgina següent",
"previous_page": "Pàgina anterior"
},
"catalogue": {},
"game_details": {
"open_download_options": "Obre les opcions de baixada",
"download_options_zero": "No hi ha opcions de baixada",
@@ -107,7 +102,7 @@
"options": "Opcions",
"executable_section_title": "Executable",
"executable_section_description": "Directori del fitxer des d'on s'executarà quan es cliqui a \"Executar\"",
"downloads_secion_title": "Descàrregues",
"downloads_section_title": "Descàrregues",
"downloads_section_description": "Comprova actualitzacions o altres versions del videojoc",
"danger_zone_section_title": "Zona de perill",
"danger_zone_section_description": "Elimina aquest videojoc del teu catàleg o els fitxers descarregats per Hydra",

View File

@@ -4,7 +4,6 @@
"successfully_signed_in": "Úspěšně přihlášen"
},
"home": {
"featured": "Doporučené",
"surprise_me": "Překvap mě",
"no_results": "Výsledek nenalezen",
"start_typing": "Začni psát pro vyhledávání...",
@@ -123,7 +122,7 @@
"options": "Možnosti",
"executable_section_title": "Spustitelné",
"executable_section_description": "Umístění souboru který bude spuštěn při kliknutí na \"Hrát\"",
"downloads_secion_title": "Stažené soubory",
"downloads_section_title": "Stažené soubory",
"downloads_section_description": "Zkontrolovat jestli není nová / odlišná verze hry",
"danger_zone_section_title": "Nebezpečná zóna",
"danger_zone_section_description": "Odebrat hru z knihovny / soubory stažené Hydrou",
@@ -193,8 +192,8 @@
"reset_achievements_error": "Nepodařilo se resetovat achievementy",
"download_error_gofile_quota_exceeded": "Překročili jste vaši měsíční GoFile kvótu. Prosím vyčkejte na resetování kvóty.",
"download_error_real_debrid_account_not_authorized": "Váš Real-Debrid účet není autorizován pro vytváření nových stahování. Prosím zkontrolujte nastavení vašeho účtu a zkuste to znovu.",
"download_error_not_cached_in_real_debrid": "Toto stahování není dostupné na Real-Debrid a získávání informací o stahování z Real-Debrid není zatím dostupné.",
"download_error_not_cached_in_torbox": "Toto stahování není dostupné na Torbox a získávání informací o stahování z Torbox není zatím dostupné.",
"download_error_not_cached_on_real_debrid": "Toto stahování není dostupné na Real-Debrid a získávání informací o stahování z Real-Debrid není zatím dostupné.",
"download_error_not_cached_on_torbox": "Toto stahování není dostupné na TorBox a získávání informací o stahování z TorBox není zatím dostupné.",
"game_removed_from_favorites": "Hra odebrána z oblíbených",
"game_added_to_favorites": "Hra přidána do oblíbených",
"automatically_extract_downloaded_files": "Automaticky rozbalit stažené soubory"

View File

@@ -4,7 +4,6 @@
"successfully_signed_in": "Loggede ind successfuldt"
},
"home": {
"featured": "Anbefalet",
"surprise_me": "Overrask mig",
"no_results": "Ingen resultater fundet",
"start_typing": "Begynd at skrive for at søge...",
@@ -29,7 +28,6 @@
},
"header": {
"search": "Søg efter spil",
"home": "Hjem",
"catalogue": "Katalog",
"downloads": "Downloads",
@@ -45,10 +43,7 @@
"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": "Forrige side"
},
"catalogue": {},
"game_details": {
"open_download_options": "Åben download muligheder",
"download_options_zero": "Ingen download mulighed",
@@ -111,7 +106,7 @@
"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_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",

View File

@@ -4,9 +4,12 @@
"successfully_signed_in": "Erfolgreich angemeldet"
},
"home": {
"featured": "Empfohlen",
"surprise_me": "Überrasche mich",
"no_results": "Keine Ergebnisse gefunden"
"no_results": "Keine Ergebnisse gefunden",
"start_typing": "Tippe, um zu suchen...",
"hot": "Jetzt beliebt",
"weekly": "📅 Top-Spiele der Woche",
"achievements": "🏆 Spiele zum Meistern"
},
"sidebar": {
"catalogue": "Katalog",
@@ -21,11 +24,13 @@
"queued": "{{title}} (In Warteschlange)",
"game_has_no_executable": "Spiel hat keine ausführbare Datei gewählt",
"sign_in": "Anmelden",
"favorites": "Favoriten"
"friends": "Freunde",
"need_help": "Brauchst du Hilfe?",
"favorites": "Favoriten",
"playable_button_title": "Nur Spiele anzeigen, die du jetzt spielen kannst"
},
"header": {
"search": "Spiele suchen",
"home": "Home",
"catalogue": "Katalog",
"downloads": "Downloads",
@@ -39,11 +44,21 @@
"downloading_metadata": "Metadaten von {{title}} werden heruntergeladen…",
"downloading": "{{title}} wird heruntergeladen… ({{percentage}} abgeschlossen) - Abschluss {{eta}} - {{speed}}",
"calculating_eta": "{{title}} wird heruntergeladen… ({{percentage}} abgeschlossen) - Verbleibende Zeit wird berechnet…",
"checking_files": "Prüfe Dateien von {{title}}… ({{percentage}} abgeschlossen)"
"checking_files": "Prüfe Dateien von {{title}}… ({{percentage}} abgeschlossen)",
"installing_common_redist": "{{log}}…",
"installation_complete": "Installation abgeschlossen",
"installation_complete_message": "Allgemeine Redistributables erfolgreich installiert"
},
"catalogue": {
"next_page": "Nächste Seite",
"previous_page": "Vorherige Seite"
"search": "Filtern…",
"developers": "Entwickler",
"genres": "Genres",
"tags": "Tags",
"publishers": "Publisher",
"download_sources": "Download-Quellen",
"result_count": "{{resultCount}} Ergebnisse",
"filter_count": "{{filterCount}} verfügbar",
"clear_filters": "{{filterCount}} ausgewählte löschen"
},
"game_details": {
"open_download_options": "Download-Optionen öffnen",
@@ -101,21 +116,95 @@
"open_folder": "Verzeichnis öffnen",
"open_download_location": "Heruntergeladene Dateien anzeigen",
"create_shortcut": "Desktop-Verknüpfung erstellen",
"clear": "Löschen",
"remove_files": "Dateien entfernen",
"remove_from_library_title": "Bist du dir sicher?",
"remove_from_library_description": "Dies wird {{game}} aus deiner Bibliothek entfernen",
"options": "Optionen",
"executable_section_title": "Ausführbare Datei",
"executable_section_description": "Pfad der Datei, die bei Klick auf \"Play\" ausgeführt wird",
"downloads_secion_title": "Downloads",
"downloads_section_title": "Downloads",
"downloads_section_description": "Sieh dir Updates oder andere Versionen dieses Spiels an",
"danger_zone_section_title": "Gefahrenzone",
"danger_zone_section_description": "Entferne dieses Spiel aus deiner Bibliothek oder die von Hydra heruntergeladenen Dateien",
"download_in_progress": "Download erfolgt",
"download_paused": "Download ist pausiert",
"last_downloaded_option": "Letzte Download-Option",
"create_steam_shortcut": "Steam-Verknüpfung erstellen",
"create_shortcut_success": "Verknüpfung erfolgreich erstellt",
"create_shortcut_error": "Fehler bei Erstellung von Verknüpfung"
"you_might_need_to_restart_steam": "Möglicherweise musst du Steam neu starten, um die Änderungen zu sehen",
"create_shortcut_error": "Fehler bei Erstellung von Verknüpfung",
"nsfw_content_title": "Dieses Spiel enthält unangemessene Inhalte",
"nsfw_content_description": "{{title}} enthält Inhalte, die möglicherweise nicht für alle Altersgruppen geeignet sind. Bist du sicher, dass du fortfahren möchtest?",
"allow_nsfw_content": "Fortfahren",
"refuse_nsfw_content": "Zurück",
"stats": "Statistiken",
"download_count": "Downloads",
"player_count": "Aktive Spieler",
"download_error": "Diese Download-Option ist nicht verfügbar",
"download": "Download",
"executable_path_in_use": "Ausführbare Datei wird bereits von \"{{game}}\" verwendet",
"warning": "Warnung:",
"hydra_needs_to_remain_open": "Für diesen Download muss Hydra geöffnet bleiben, bis er abgeschlossen ist. Wenn Hydra vor Abschluss geschlossen wird, verlierst du deinen Fortschritt.",
"achievements": "Erfolge",
"achievements_count": "Erfolge {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Cloud-Speicherstand",
"cloud_save_description": "Speichere deinen Fortschritt in der Cloud und spiele auf jedem Gerät weiter",
"backups": "Sicherungen",
"install_backup": "Installieren",
"delete_backup": "Löschen",
"create_backup": "Neue Sicherung",
"last_backup_date": "Letzte Sicherung am {{date}}",
"no_backup_preview": "Keine Spielstände für diesen Titel gefunden",
"restoring_backup": "Sicherung wird wiederhergestellt ({{progress}} abgeschlossen)…",
"uploading_backup": "Sicherung wird hochgeladen…",
"no_backups": "Du hast noch keine Sicherungen für dieses Spiel erstellt",
"backup_uploaded": "Sicherung hochgeladen",
"backup_deleted": "Sicherung gelöscht",
"backup_restored": "Sicherung wiederhergestellt",
"see_all_achievements": "Alle Erfolge anzeigen",
"sign_in_to_see_achievements": "Anmelden, um Erfolge zu sehen",
"mapping_method_automatic": "Automatisch",
"mapping_method_manual": "Manuell",
"mapping_method_label": "Zuordnungsmethode",
"files_automatically_mapped": "Dateien automatisch zugeordnet",
"no_backups_created": "Keine Sicherungen für dieses Spiel erstellt",
"manage_files": "Dateien verwalten",
"loading_save_preview": "Suche nach Spielständen…",
"wine_prefix": "Wine-Präfix",
"wine_prefix_description": "Das Wine-Präfix, das zum Ausführen dieses Spiels verwendet wird",
"launch_options": "Startoptionen",
"launch_options_description": "Fortgeschrittene Benutzer können Modifikationen ihrer Startoptionen eingeben (experimentelle Funktion)",
"launch_options_placeholder": "Kein Parameter angegeben",
"no_download_option_info": "Keine Informationen verfügbar",
"backup_deletion_failed": "Sicherung konnte nicht gelöscht werden",
"max_number_of_artifacts_reached": "Maximale Anzahl von Sicherungen für dieses Spiel erreicht",
"achievements_not_sync": "Sieh, wie du deine Erfolge synchronisieren kannst",
"manage_files_description": "Verwalte, welche Dateien gesichert und wiederhergestellt werden",
"select_folder": "Ordner auswählen",
"backup_from": "Sicherung vom {{date}}",
"automatic_backup_from": "Automatische Sicherung vom {{date}}",
"enable_automatic_cloud_sync": "Automatische Cloud-Synchronisierung aktivieren",
"custom_backup_location_set": "Benutzerdefinierter Sicherungsort festgelegt",
"no_directory_selected": "Kein Verzeichnis ausgewählt",
"no_write_permission": "Kann nicht in dieses Verzeichnis herunterladen. Klicke hier, um mehr zu erfahren.",
"reset_achievements": "Erfolge zurücksetzen",
"reset_achievements_description": "Dies wird alle Erfolge für {{game}} zurücksetzen",
"reset_achievements_title": "Bist du dir sicher?",
"reset_achievements_success": "Erfolge erfolgreich zurückgesetzt",
"reset_achievements_error": "Fehler beim Zurücksetzen der Erfolge",
"download_error_gofile_quota_exceeded": "Du hast dein monatliches Gofile-Kontingent überschritten. Bitte warte, bis das Kontingent zurückgesetzt wird.",
"download_error_real_debrid_account_not_authorized": "Dein Real-Debrid-Konto ist nicht für neue Downloads autorisiert. Bitte überprüfe deine Kontoeinstellungen und versuche es erneut.",
"download_error_not_cached_on_real_debrid": "Dieser Download ist nicht auf Real-Debrid verfügbar und das Abrufen des Download-Status von Real-Debrid ist noch nicht verfügbar.",
"download_error_not_cached_on_torbox": "Dieser Download ist nicht auf TorBox verfügbar und das Abrufen des Download-Status von TorBox ist noch nicht verfügbar.",
"download_error_not_cached_on_hydra": "Dieser Download ist nicht auf Nimbus verfügbar.",
"game_removed_from_favorites": "Spiel aus Favoriten entfernt",
"game_added_to_favorites": "Spiel zu Favoriten hinzugefügt",
"automatically_extract_downloaded_files": "Heruntergeladene Dateien automatisch entpacken",
"create_start_menu_shortcut": "Startmenü-Verknüpfung erstellen",
"invalid_wine_prefix_path": "Ungültiger Wine-Präfix-Pfad",
"invalid_wine_prefix_path_description": "Der Pfad zum Wine-Präfix ist ungültig. Bitte überprüfe den Pfad und versuche es erneut.",
"missing_wine_prefix": "Wine-Präfix ist erforderlich, um eine Sicherung unter Linux zu erstellen"
},
"activation": {
"title": "Hydra aktivieren",
@@ -148,7 +237,13 @@
"queued": "In Warteschlange",
"no_downloads_title": "Welch Leere",
"no_downloads_description": "Du hast mit Hydra noch nichts heruntergeladen, aber es ist nie zu spät anzufangen.",
"checking_files": "Dateien werden überprüft…"
"checking_files": "Dateien werden überprüft…",
"seeding": "Seeding",
"stop_seeding": "Seeding stoppen",
"resume_seeding": "Seeding fortsetzen",
"options": "Verwalten",
"extract": "Dateien entpacken",
"extracting": "Dateien werden entpackt…"
},
"settings": {
"downloads_path": "Download-Pfad",
@@ -185,11 +280,11 @@
"download_source_errored": "Fehlgeschlagen",
"sync_download_sources": "Quellen synchronisieren",
"removed_download_source": "Download-Quelle entfernt",
"removed_download_sources": "Download-Quellen entfernt",
"cancel_button_confirmation_delete_all_sources": "Nein",
"confirm_button_confirmation_delete_all_sources": "Ja, alles löschen",
"description_confirmation_delete_all_sources": "Du löschen alle Downloadquellen",
"title_confirmation_delete_all_sources": "Löschen du alle Downloadquellen",
"removed_download_sources": "Download-Quellen entfernt",
"title_confirmation_delete_all_sources": "Möchtest du alle Downloadquellen löschen",
"description_confirmation_delete_all_sources": "Möchtest du alle Downloadquellen löschen",
"button_delete_all_sources": "Entfernen Sie alle Downloadquellen",
"added_download_source": "Download-Quelle hinzugefügt",
"download_sources_synced": "Alle Download-Quellen sind synchronisiert",
@@ -197,7 +292,95 @@
"found_download_option_zero": "Keine Download-Option gefunden",
"found_download_option_one": "{{countFormatted}} Download-Option gefunden",
"found_download_option_other": "{{countFormatted}} Download-Optionen gefunden",
"import": "Importieren"
"import": "Importieren",
"public": "Öffentlich",
"private": "Privat",
"friends_only": "Nur Freunde",
"privacy": "Privatsphäre",
"profile_visibility": "Profilsichtbarkeit",
"profile_visibility_description": "Wähle, wer dein Profil und deine Bibliothek sehen kann",
"required_field": "Dieses Feld ist erforderlich",
"source_already_exists": "Diese Quelle wurde bereits hinzugefügt",
"must_be_valid_url": "Die Quelle muss eine gültige URL sein",
"blocked_users": "Blockierte Benutzer",
"user_unblocked": "Benutzer wurde freigegeben",
"enable_achievement_notifications": "Wenn ein Erfolg freigeschaltet wird",
"launch_minimized": "Hydra minimiert starten",
"disable_nsfw_alert": "NSFW-Warnung deaktivieren",
"seed_after_download_complete": "Nach Download-Abschluss seeden",
"show_hidden_achievement_description": "Versteckte Erfolgsbeschreibungen vor dem Freischalten anzeigen",
"account": "Konto",
"no_users_blocked": "Du hast keine blockierten Benutzer",
"subscription_active_until": "Deine Hydra Cloud ist aktiv bis {{date}}",
"manage_subscription": "Abonnement verwalten",
"update_email": "E-Mail aktualisieren",
"update_password": "Passwort aktualisieren",
"current_email": "Aktuelle E-Mail:",
"no_email_account": "Du hast noch keine E-Mail festgelegt",
"account_data_updated_successfully": "Kontodaten erfolgreich aktualisiert",
"renew_subscription": "Hydra Cloud erneuern",
"subscription_expired_at": "Dein Abonnement ist am {{date}} abgelaufen",
"no_subscription": "Genieße Hydra auf die bestmögliche Weise",
"become_subscriber": "Werde Hydra Cloud",
"subscription_renew_cancelled": "Automatische Verlängerung ist deaktiviert",
"subscription_renews_on": "Dein Abonnement verlängert sich am {{date}}",
"bill_sent_until": "Deine nächste Rechnung wird bis zu diesem Tag gesendet",
"no_themes": "Scheint, als hättest du noch keine Themes, aber keine Sorge, klicke hier, um dein erstes Meisterwerk zu erstellen.",
"editor_tab_code": "Code",
"editor_tab_info": "Info",
"editor_tab_save": "Speichern",
"web_store": "Web Store",
"clear_themes": "Löschen",
"create_theme": "Erstellen",
"create_theme_modal_title": "Benutzerdefiniertes Theme erstellen",
"create_theme_modal_description": "Erstelle ein neues Theme, um das Aussehen von Hydra anzupassen",
"theme_name": "Name",
"insert_theme_name": "Theme-Namen eingeben",
"set_theme": "Theme festlegen",
"unset_theme": "Theme entfernen",
"delete_theme": "Theme löschen",
"edit_theme": "Theme bearbeiten",
"delete_all_themes": "Alle Themes löschen",
"delete_all_themes_description": "Dies wird alle deine benutzerdefinierten Themes löschen",
"delete_theme_description": "Dies wird das Theme {{theme}} löschen",
"cancel": "Abbrechen",
"appearance": "Erscheinungsbild",
"enable_torbox": "TorBox aktivieren",
"torbox_description": "TorBox ist dein Premium-Seedbox-Service, der sogar mit den besten Servern auf dem Markt konkurriert.",
"torbox_account_linked": "TorBox-Konto verknüpft",
"create_real_debrid_account": "Klicke hier, wenn du noch kein Real-Debrid-Konto hast",
"create_torbox_account": "Klicke hier, wenn du noch kein TorBox-Konto hast",
"real_debrid_account_linked": "Real-Debrid-Konto verknüpft",
"name_min_length": "Theme-Name muss mindestens 3 Zeichen lang sein",
"import_theme": "Theme importieren",
"import_theme_description": "Du wirst {{theme}} aus dem Theme Store importieren",
"error_importing_theme": "Fehler beim Importieren des Themes",
"theme_imported": "Theme erfolgreich importiert",
"enable_friend_request_notifications": "Wenn eine Freundschaftsanfrage empfangen wird",
"enable_auto_install": "Updates automatisch herunterladen",
"common_redist": "Allgemeine Redistributables",
"common_redist_description": "Allgemeine Redistributables sind erforderlich, um einige Spiele auszuführen. Es wird empfohlen, sie zu installieren, um Probleme zu vermeiden.",
"install_common_redist": "Installieren",
"installing_common_redist": "Installiere…",
"show_download_speed_in_megabytes": "Download-Geschwindigkeit in Megabyte pro Sekunde anzeigen",
"extract_files_by_default": "Dateien nach dem Download standardmäßig entpacken",
"achievement_custom_notification_position": "Position der benutzerdefinierten Erfolgsbenachrichtigung",
"top-left": "Oben links",
"top-center": "Oben mittig",
"top-right": "Oben rechts",
"bottom-left": "Unten links",
"bottom-center": "Unten mittig",
"bottom-right": "Unten rechts",
"enable_achievement_custom_notifications": "Benutzerdefinierte Erfolgsbenachrichtigungen aktivieren",
"alignment": "Ausrichtung",
"variation": "Variation",
"default": "Standard",
"rare": "Selten",
"platinum": "Platin",
"hidden": "Versteckt",
"test_notification": "Testbenachrichtigung",
"notification_preview": "Vorschau der Erfolgsbenachrichtigung",
"enable_friend_start_game_notifications": "Wenn ein Freund ein Spiel startet"
},
"notifications": {
"download_complete": "Download abgeschlossen",
@@ -206,13 +389,24 @@
"repack_count_one": "{{count}} Repack hinzugefügt",
"repack_count_other": "{{count}} Repacks hinzugefügt",
"new_update_available": "Version {{version}} verfügbar",
"restart_to_install_update": "Um das Update zu installieren, starte Hydra neu"
"restart_to_install_update": "Um das Update zu installieren, starte Hydra neu",
"notification_achievement_unlocked_title": "Erfolg für {{game}} freigeschaltet",
"notification_achievement_unlocked_body": "{{achievement}} und {{count}} weitere wurden freigeschaltet",
"new_friend_request_description": "{{displayName}} hat dir eine Freundschaftsanfrage gesendet",
"new_friend_request_title": "Neue Freundschaftsanfrage",
"extraction_complete": "Entpacken abgeschlossen",
"game_extracted": "{{title}} erfolgreich entpackt",
"friend_started_playing_game": "{{displayName}} hat begonnen, ein Spiel zu spielen",
"test_achievement_notification_title": "Dies ist eine Testbenachrichtigung",
"test_achievement_notification_description": "Ziemlich cool, oder?"
},
"system_tray": {
"open": "Hydra öffnen",
"quit": "Schließen"
},
"game_card": {
"available_one": "Verfügbar",
"available_other": "Verfügbar",
"no_downloads": "Keine Downloads verfügbar"
},
"binary_not_found_modal": {
@@ -274,6 +468,66 @@
"no_pending_invites": "Du hast keine ausstehenden Einladungen",
"no_blocked_users": "Du hast keine blockierten Nutzer",
"friend_code_copied": "Freundescode kopiert",
"undo_friendship_modal_text": "Freundschaft mit {{displayName}} wird dadurch gekündigt"
"undo_friendship_modal_text": "Freundschaft mit {{displayName}} wird dadurch gekündigt",
"privacy_hint": "Um anzupassen, wer dies sehen kann, gehe zu den <0>Einstellungen</0>",
"locked_profile": "Dieses Profil ist privat",
"image_process_failure": "Fehler bei der Bildverarbeitung",
"required_field": "Dieses Feld ist erforderlich",
"displayname_min_length": "Anzeigename muss mindestens 3 Zeichen lang sein",
"displayname_max_length": "Anzeigename darf maximal 50 Zeichen lang sein",
"report_profile": "Dieses Profil melden",
"report_reason": "Warum meldest du dieses Profil?",
"report_description": "Zusätzliche Informationen",
"report_description_placeholder": "Zusätzliche Informationen",
"report": "Melden",
"report_reason_hate": "Hassrede",
"report_reason_sexual_content": "Sexuelle Inhalte",
"report_reason_violence": "Gewalt",
"report_reason_spam": "Spam",
"report_reason_other": "Sonstiges",
"profile_reported": "Profil gemeldet",
"your_friend_code": "Dein Freundescode:",
"upload_banner": "Banner hochladen",
"uploading_banner": "Banner wird hochgeladen…",
"background_image_updated": "Hintergrundbild aktualisiert",
"stats": "Statistiken",
"achievements": "Erfolge",
"games": "Spiele",
"top_percentile": "Top {{percentile}}%",
"ranking_updated_weekly": "Rangliste wird wöchentlich aktualisiert",
"playing": "Spielt {{game}}",
"achievements_unlocked": "Erfolge freigeschaltet",
"earned_points": "Verdiente Punkte",
"show_achievements_on_profile": "Zeige deine Erfolge auf deinem Profil",
"show_points_on_profile": "Zeige deine verdienten Punkte auf deinem Profil"
},
"achievement": {
"achievement_unlocked": "Erfolg freigeschaltet",
"user_achievements": "{{displayName}}'s Erfolge",
"your_achievements": "Deine Erfolge",
"unlocked_at": "Freigeschaltet am: {{date}}",
"subscription_needed": "Ein Hydra Cloud-Abonnement ist erforderlich, um diesen Inhalt zu sehen",
"new_achievements_unlocked": "{{achievementCount}} neue Erfolge von {{gameCount}} Spielen freigeschaltet",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} Erfolge",
"achievements_unlocked_for_game": "{{achievementCount}} neue Erfolge für {{gameTitle}} freigeschaltet",
"hidden_achievement_tooltip": "Dies ist ein versteckter Erfolg",
"achievement_earn_points": "Verdiene {{points}} Punkte mit diesem Erfolg",
"earned_points": "Verdiente Punkte:",
"available_points": "Verfügbare Punkte:",
"how_to_earn_achievements_points": "Wie verdient man Erfolgspunkte?"
},
"hydra_cloud": {
"subscription_tour_title": "Hydra Cloud-Abonnement",
"subscribe_now": "Jetzt abonnieren",
"cloud_saving": "Cloud-Speicherung",
"cloud_achievements": "Speichere deine Erfolge in der Cloud",
"animated_profile_picture": "Animierte Profilbilder",
"premium_support": "Premium-Support",
"show_and_compare_achievements": "Zeige und vergleiche deine Erfolge mit anderen Nutzern",
"animated_profile_banner": "Animiertes Profilbanner",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "Du hast gerade eine Hydra Cloud-Funktion entdeckt!",
"learn_more": "Mehr erfahren",
"debrid_description": "Lade bis zu 4x schneller mit Nimbus herunter"
}
}

231
src/locales/en/translation.json Normal file → Executable file
View File

@@ -4,7 +4,6 @@
"successfully_signed_in": "Successfully signed in"
},
"home": {
"featured": "Featured",
"surprise_me": "Surprise me",
"no_results": "No results found",
"start_typing": "Starting typing to search...",
@@ -27,7 +26,69 @@
"sign_in": "Sign in",
"friends": "Friends",
"need_help": "Need help?",
"favorites": "Favorites"
"favorites": "Favorites",
"playable_button_title": "Show only games you can play now",
"add_custom_game_tooltip": "Add Custom Game",
"show_playable_only_tooltip": "Show Playable Only",
"custom_game_modal": "Add Custom Game",
"custom_game_modal_description": "Add a custom game to your library by selecting an executable file",
"custom_game_modal_executable_path": "Executable Path",
"custom_game_modal_select_executable": "Select executable file",
"custom_game_modal_title": "Title",
"custom_game_modal_enter_title": "Enter title",
"custom_game_modal_browse": "Browse",
"custom_game_modal_cancel": "Cancel",
"custom_game_modal_add": "Add Game",
"custom_game_modal_adding": "Adding Game...",
"custom_game_modal_success": "Custom game added successfully",
"custom_game_modal_failed": "Failed to add custom game",
"custom_game_modal_executable": "Executable",
"edit_game_modal": "Customize Assets",
"edit_game_modal_description": "Customize game assets and details",
"edit_game_modal_title": "Title",
"edit_game_modal_enter_title": "Enter title",
"edit_game_modal_image": "Image",
"edit_game_modal_select_image": "Select image",
"edit_game_modal_browse": "Browse",
"edit_game_modal_image_preview": "Image preview",
"edit_game_modal_icon": "Icon",
"edit_game_modal_select_icon": "Select icon",
"edit_game_modal_icon_preview": "Icon preview",
"edit_game_modal_logo": "Logo",
"edit_game_modal_select_logo": "Select logo",
"edit_game_modal_logo_preview": "Logo preview",
"edit_game_modal_hero": "Library Hero",
"edit_game_modal_select_hero": "Select library hero image",
"edit_game_modal_hero_preview": "Library hero image preview",
"edit_game_modal_cancel": "Cancel",
"edit_game_modal_update": "Update",
"edit_game_modal_updating": "Updating...",
"edit_game_modal_fill_required": "Please fill in all required fields",
"edit_game_modal_success": "Assets updated successfully",
"edit_game_modal_failed": "Failed to update assets",
"edit_game_modal_image_filter": "Image",
"edit_game_modal_icon_resolution": "Recommended resolution: 256x256px",
"edit_game_modal_logo_resolution": "Recommended resolution: 640x360px",
"edit_game_modal_hero_resolution": "Recommended resolution: 1920x620px",
"edit_game_modal_assets": "Assets",
"edit_game_modal_drop_icon_image_here": "Drop icon image here",
"edit_game_modal_drop_logo_image_here": "Drop logo image here",
"edit_game_modal_drop_hero_image_here": "Drop hero image here",
"edit_game_modal_drop_to_replace_icon": "Drop to replace icon",
"edit_game_modal_drop_to_replace_logo": "Drop to replace logo",
"edit_game_modal_drop_to_replace_hero": "Drop to replace hero",
"install_decky_plugin": "Install Decky Plugin",
"update_decky_plugin": "Update Decky Plugin",
"decky_plugin_installed_version": "Decky Plugin (v{{version}})",
"install_decky_plugin_title": "Install Hydra Decky Plugin",
"install_decky_plugin_message": "This will download and install the Hydra plugin for Decky Loader. This may require elevated permissions. Continue?",
"update_decky_plugin_title": "Update Hydra Decky Plugin",
"update_decky_plugin_message": "A new version of the Hydra Decky plugin is available. Would you like to update it now?",
"decky_plugin_installed": "Decky plugin v{{version}} installed successfully",
"decky_plugin_installation_failed": "Failed to install Decky plugin: {{error}}",
"decky_plugin_installation_error": "Error installing Decky plugin: {{error}}",
"confirm": "Confirm",
"cancel": "Cancel"
},
"header": {
"search": "Search games",
@@ -88,6 +149,7 @@
"amount_minutes": "{{amount}} minutes",
"accuracy": "{{accuracy}}% accuracy",
"add_to_library": "Add to library",
"already_in_library": "Already in library",
"remove_from_library": "Remove from library",
"no_downloads": "No downloads available",
"play_time": "Played for {{amount}}",
@@ -116,29 +178,41 @@
"open_folder": "Open folder",
"open_download_location": "See downloaded files",
"create_shortcut": "Create desktop shortcut",
"create_shortcut_simple": "Create 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",
"options": "Options",
"properties": "Properties",
"executable_section_title": "Executable",
"executable_section_description": "Path of the file that will be executed when \"Play\" is clicked",
"downloads_secion_title": "Downloads",
"downloads_section_title": "Downloads",
"downloads_section_description": "Check out updates or other versions of this game",
"danger_zone_section_title": "Danger zone",
"danger_zone_section_description": "Remove this game from your library or the files downloaded by Hydra",
"download_in_progress": "Download in progress",
"download_paused": "Download paused",
"last_downloaded_option": "Last downloaded option",
"create_steam_shortcut": "Create Steam shortcut",
"create_shortcut_success": "Shortcut created successfully",
"you_might_need_to_restart_steam": "You might need to restart Steam to see the changes",
"create_shortcut_error": "Error creating shortcut",
"nsfw_content_title": "This game contains innapropriate content",
"add_to_favorites": "Add to favorites",
"remove_from_favorites": "Remove from favorites",
"failed_update_favorites": "Failed to update favorites",
"game_removed_from_library": "Game removed from library",
"failed_remove_from_library": "Failed to remove from library",
"files_removed_success": "Files removed successfully",
"failed_remove_files": "Failed to remove files",
"nsfw_content_title": "This game contains inappropriate content",
"nsfw_content_description": "{{title}} contains content that may not be suitable for all ages. Are you sure you want to continue?",
"allow_nsfw_content": "Continue",
"refuse_nsfw_content": "Go back",
"stats": "Stats",
"download_count": "Downloads",
"player_count": "Active players",
"rating_count": "Rating",
"download_error": "This download option is not available",
"download": "Download",
"executable_path_in_use": "Executable already in use by \"{{game}}\"",
@@ -146,6 +220,39 @@
"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}}",
"show_more": "Show more",
"show_less": "Show less",
"reviews": "Reviews",
"leave_a_review": "Leave a Review",
"write_review_placeholder": "Share your thoughts about this game...",
"sort_newest": "Newest",
"no_reviews_yet": "No reviews yet",
"be_first_to_review": "Be the first to share your thoughts about this game!",
"sort_oldest": "Oldest",
"sort_highest_score": "Highest Score",
"sort_lowest_score": "Lowest Score",
"sort_most_voted": "Most Voted",
"rating": "Rating",
"rating_stats": "Rating",
"rating_very_negative": "Very Negative",
"rating_negative": "Negative",
"rating_neutral": "Neutral",
"rating_positive": "Positive",
"rating_very_positive": "Very Positive",
"submit_review": "Submit",
"submitting": "Submitting...",
"review_submitted_successfully": "Review submitted successfully!",
"review_submission_failed": "Failed to submit review. Please try again.",
"review_cannot_be_empty": "Review text field cannot be empty.",
"review_deleted_successfully": "Review deleted successfully.",
"review_deletion_failed": "Failed to delete review. Please try again.",
"loading_reviews": "Loading reviews...",
"loading_more_reviews": "Loading more reviews...",
"load_more_reviews": "Load more reviews",
"you_seemed_to_enjoy_this_game": "You've seemed to enjoy this game",
"would_you_recommend_this_game": "Would you like to leave a review to this game?",
"yes": "Yes",
"maybe_later": "Maybe later",
"cloud_save": "Cloud save",
"cloud_save_description": "Save your progress in the cloud and continue playing on any device",
"backups": "Backups",
@@ -158,6 +265,7 @@
"uploading_backup": "Uploading backup…",
"no_backups": "You haven't created any backups for this game yet",
"backup_uploaded": "Backup uploaded",
"backup_failed": "Backup failed",
"backup_deleted": "Backup deleted",
"backup_restored": "Backup restored",
"see_all_achievements": "See all achievements",
@@ -193,11 +301,67 @@
"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.",
"download_error_not_cached_on_real_debrid": "This download is not available on Real-Debrid and polling download status from Real-Debrid is not yet available.",
"update_playtime_title": "Update playtime",
"update_playtime_description": "Manually update the playtime for {{game}}",
"update_playtime": "Update playtime",
"update_playtime_success": "Playtime updated successfully",
"update_playtime_error": "Failed to update playtime",
"update_game_playtime": "Update game playtime",
"manual_playtime_warning": "Your hours will be marked as manually updated, and this cannot be undone.",
"manual_playtime_tooltip": "This playtime has been manually updated",
"download_error_not_cached_on_torbox": "This download is not available on TorBox and polling download status from TorBox is not yet available.",
"download_error_not_cached_on_hydra": "This download is not available on Nimbus.",
"game_removed_from_favorites": "Game removed from favorites",
"game_added_to_favorites": "Game added to favorites",
"automatically_extract_downloaded_files": "Automatically extract downloaded files"
"game_removed_from_pinned": "Game removed from pinned",
"game_added_to_pinned": "Game added to pinned",
"automatically_extract_downloaded_files": "Automatically extract downloaded files",
"create_start_menu_shortcut": "Create Start Menu shortcut",
"invalid_wine_prefix_path": "Invalid Wine prefix path",
"invalid_wine_prefix_path_description": "The path to the Wine prefix is invalid. Please check the path and try again.",
"missing_wine_prefix": "Wine prefix is required to create a backup on Linux",
"artifact_renamed": "Backup renamed successfully",
"rename_artifact": "Rename Backup",
"rename_artifact_description": "Rename the backup to a more descriptive name",
"artifact_name_label": "Backup name",
"artifact_name_placeholder": "Enter a name for the backup",
"save_changes": "Save changes",
"required_field": "This field is required",
"max_length_field": "This field must be less than {{length}} characters",
"freeze_backup": "Pin it so it's not overwritten by automatic backups",
"unfreeze_backup": "Unpin it",
"backup_frozen": "Backup pinned",
"backup_unfrozen": "Backup unpinned",
"backup_freeze_failed": "Failed to freeze backup",
"backup_freeze_failed_description": "You must leave at least one free slot for automatic backups",
"edit_game_modal_button": "Customize game assets",
"game_details": "Game Details",
"currency_symbol": "$",
"currency_country": "us",
"prices": "Prices",
"no_prices_found": "No prices found",
"view_all_prices": "Click to view all prices",
"retail_price": "Retail price",
"keyshop_price": "Keyshop price",
"historical_retail": "Historical retail",
"historical_keyshop": "Historical keyshop",
"language": "Language",
"caption": "Caption",
"audio": "Audio",
"filter_by_source": "Filter by source",
"no_repacks_found": "No sources found for this game",
"delete_review": "Delete review",
"remove_review": "Remove Review",
"delete_review_modal_title": "Are you sure you want to delete your review?",
"delete_review_modal_description": "This action cannot be undone.",
"delete_review_modal_delete_button": "Delete",
"delete_review_modal_cancel_button": "Cancel",
"vote_failed": "Failed to register your vote. Please try again.",
"show_original": "Show original",
"show_translation": "Show translation",
"show_original_translated_from": "Show original (translated from {{language}})",
"hide_original": "Hide original"
},
"activation": {
"title": "Activate Hydra",
@@ -286,6 +450,7 @@
"found_download_option_one": "Found {{countFormatted}} download option",
"found_download_option_other": "Found {{countFormatted}} download options",
"import": "Import",
"importing": "Importing...",
"public": "Public",
"private": "Private",
"friends_only": "Friends only",
@@ -338,7 +503,9 @@
"delete_theme_description": "This will delete the theme {{theme}}",
"cancel": "Cancel",
"appearance": "Appearance",
"enable_torbox": "Enable Torbox",
"debrid": "Debrid",
"debrid_description": "Debrid services are premium unrestricted downloaders that allow you to quickly download files hosted on various file hosting services, only limited by your internet speed.",
"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",
"create_real_debrid_account": "Click here if you don't have a Real-Debrid account yet",
@@ -355,7 +522,26 @@
"common_redist_description": "Common redistributables are required to run some games. Installing them is recommended to avoid issues.",
"install_common_redist": "Install",
"installing_common_redist": "Installing…",
"show_download_speed_in_megabytes": "Show download speed in megabytes per second"
"show_download_speed_in_megabytes": "Show download speed in megabytes per second",
"extract_files_by_default": "Extract files by default after download",
"enable_steam_achievements": "Enable search for Steam achievements",
"achievement_custom_notification_position": "Achievement custom notification position",
"top-left": "Top left",
"top-center": "Top center",
"top-right": "Top right",
"bottom-left": "Bottom left",
"bottom-center": "Bottom center",
"bottom-right": "Bottom right",
"enable_achievement_custom_notifications": "Enable achievement custom notifications",
"alignment": "Alignment",
"variation": "Variation",
"default": "Default",
"rare": "Rare",
"platinum": "Platinum",
"hidden": "Hidden",
"test_notification": "Test notification",
"notification_preview": "Achievement Notification Preview",
"enable_friend_start_game_notifications": "When a friend starts playing a game"
},
"notifications": {
"download_complete": "Download complete",
@@ -367,10 +553,13 @@
"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",
"new_friend_request_description": "You have received a new friend request",
"new_friend_request_description": "{{displayName}} sent you a friend request",
"new_friend_request_title": "New friend request",
"extraction_complete": "Extraction complete",
"game_extracted": "{{title}} extracted successfully"
"game_extracted": "{{title}} extracted successfully",
"friend_started_playing_game": "{{displayName}} started playing a game",
"test_achievement_notification_title": "This is a test notification",
"test_achievement_notification_description": "Pretty cool, huh?"
},
"system_tray": {
"open": "Open Hydra",
@@ -379,7 +568,8 @@
"game_card": {
"available_one": "Available",
"available_other": "Available",
"no_downloads": "No downloads available"
"no_downloads": "No downloads available",
"calculating": "Calculating"
},
"binary_not_found_modal": {
"title": "Programs not installed",
@@ -395,10 +585,18 @@
"user_profile": {
"amount_hours": "{{amount}} hours",
"amount_minutes": "{{amount}} minutes",
"amount_hours_short": "{{amount}}h",
"amount_minutes_short": "{{amount}}m",
"last_time_played": "Last played {{period}}",
"activity": "Recent Activity",
"library": "Library",
"pinned": "Pinned",
"sort_by": "Sort by:",
"achievements_earned": "Achievements earned",
"played_recently": "Played recently",
"playtime": "Playtime",
"total_play_time": "Total playtime",
"manual_playtime_tooltip": "This playtime has been manually updated",
"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",
@@ -471,7 +669,14 @@
"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"
"show_points_on_profile": "Show your earned points on your profile",
"error_adding_friend": "Could not send friend request. Please check friend code",
"friend_code_length_error": "Friend code must have 8 characters",
"game_removed_from_pinned": "Game removed from pinned",
"game_added_to_pinned": "Game added to pinned",
"karma": "Karma",
"karma_count": "karma",
"karma_description": "Earned from positive likes on reviews"
},
"achievement": {
"achievement_unlocked": "Achievement unlocked",

View File

@@ -1,33 +1,94 @@
{
"language_name": "Español",
"app": {
"successfully_signed_in": "Sesión iniciada exitosamente"
"successfully_signed_in": "Iniciaste sesión exitosamente"
},
"home": {
"featured": "Destacado",
"surprise_me": "¡Sorpréndeme!",
"no_results": "Sin resultados encontrados",
"start_typing": "Empieza a escribir para buscar...",
"hot": "Popular Ahora",
"no_results": "No se encontraron resultados",
"start_typing": "Empezá a escribir para buscar...",
"hot": "Tendencias",
"weekly": "📅 Mejores juegos de la semana",
"achievements": "🏆 Juegos para completar"
"achievements": "🏆 Juegos para platinar"
},
"sidebar": {
"catalogue": "Catálogo",
"downloads": "Descargas",
"settings": "Ajustes",
"my_library": "Mi biblioteca",
"my_library": "Mi Librería",
"downloading_metadata": "{{title}} (Descargando metadatos…)",
"paused": "{{title}} (Pausado)",
"downloading": "{{title}} ({{percentage}} - Descargando…)",
"filter": "Buscar en la biblioteca",
"filter": "Filtrar Librería",
"home": "Inicio",
"queued": "{{title}} (En cola)",
"game_has_no_executable": "El juego no tiene un ejecutable seleccionado",
"sign_in": "Iniciar sesión",
"sign_in": "Iniciar Sesión",
"friends": "Amigos",
"need_help": "¿Necesitas ayuda?",
"favorites": "Favoritos"
"need_help": "¿Necesitás ayuda?",
"favorites": "Favoritos",
"playable_button_title": "Solo mostrar juegos que podés jugar en este momento",
"add_custom_game_tooltip": "Añadir juego personalizado",
"show_playable_only_tooltip": "Mostrar Solo Jugable",
"custom_game_modal": "Añadir juego personalizado",
"custom_game_modal_description": "Añadí un juego personalizado a tu librería seleccionando el ejecutable",
"custom_game_modal_executable_path": "Ruta del Ejecutable",
"custom_game_modal_select_executable": "Seleccionar archivo ejecutable",
"custom_game_modal_title": "Título",
"custom_game_modal_enter_title": "Ingresá el título",
"custom_game_modal_browse": "Buscar",
"custom_game_modal_cancel": "Cancelar",
"custom_game_modal_add": "Añadir juego",
"custom_game_modal_adding": "Añadiendo juego...",
"custom_game_modal_success": "Juego personalizado añadido exitosamente",
"custom_game_modal_failed": "Error al añadir juego personalizado",
"custom_game_modal_executable": "Ejecutable",
"edit_game_modal": "Personalizar recursos",
"edit_game_modal_description": "Personaliza los recursos y detalles del juego",
"edit_game_modal_title": "Título",
"edit_game_modal_enter_title": "Ingresá el título",
"edit_game_modal_image": "Imagen",
"edit_game_modal_select_image": "Seleccionar imagen",
"edit_game_modal_browse": "Navegar",
"edit_game_modal_image_preview": "Vista previa de imagen",
"edit_game_modal_icon": "Ícono",
"edit_game_modal_select_icon": "Seleccionar ícono",
"edit_game_modal_icon_preview": "Vista previa de ícono",
"edit_game_modal_logo": "Logo",
"edit_game_modal_select_logo": "Seleccionar logo",
"edit_game_modal_logo_preview": "Vista previa del logo",
"edit_game_modal_hero": "Library Hero",
"edit_game_modal_select_hero": "Seleccionar una imagen de Library Hero",
"edit_game_modal_hero_preview": "Vista previa de library hero",
"edit_game_modal_cancel": "Cancelar",
"edit_game_modal_update": "Actualizar",
"edit_game_modal_updating": "Actualizando...",
"edit_game_modal_fill_required": "Por favor rellená todos los espacios requeridos",
"edit_game_modal_success": "Recursos actualizados exitosamente",
"edit_game_modal_failed": "Error al actualizar los recursos",
"edit_game_modal_image_filter": "Imagen",
"edit_game_modal_icon_resolution": "Resolución recomendada: 256x256px",
"edit_game_modal_logo_resolution": "Resolución recomendada: 640x360px",
"edit_game_modal_hero_resolution": "Resolución recomendada: 1920x620px",
"cancel": "Cancelar",
"confirm": "Confirmar",
"decky_plugin_installation_error": "Error instalando plugin Decky: {{error}}",
"decky_plugin_installation_failed": "Falló instalar plugin Decky: {{error}}",
"decky_plugin_installed": "Plugin Decky v{{version}} instalanda exitosamente",
"decky_plugin_installed_version": "Plugin Decky (v{{version}})",
"edit_game_modal_drop_hero_image_here": "Soltá la imagen hero acá",
"edit_game_modal_drop_icon_image_here": "Soltá la imagen de ícono hero acá",
"edit_game_modal_drop_logo_image_here": "Soltá la imagen de logo hero acá",
"edit_game_modal_drop_to_replace_hero": "Soltá para reemplazar hero",
"edit_game_modal_drop_to_replace_icon": "Soltá para reemplazar el ícono",
"edit_game_modal_drop_to_replace_logo": "Soltá para reemplazar el logo",
"install_decky_plugin": "Instalar plugin Decky",
"install_decky_plugin_message": "Esto va a descargar e instalar el plugin de Decky Loader para Hydra. Esto quizás requierea permisos elevados, ¿querés continuar?",
"install_decky_plugin_title": "Instarlar el plugin Decky Hydra",
"update_decky_plugin": "Actualizar plugin Decky",
"update_decky_plugin_message": "Una nueva versión del plugin Decky para Hydra está disponible. ¿Querés actualizarlo ahora?",
"update_decky_plugin_title": "Actualizar plugin Decky para Hydra",
"edit_game_modal_assets": "Recursos"
},
"header": {
"search": "Buscar juegos",
@@ -36,326 +97,469 @@
"downloads": "Descargas",
"search_results": "Resultados de búsqueda",
"settings": "Ajustes",
"version_available_install": "Versión {{version}} disponible. Presiona acá para descargar y reinstalar.",
"version_available_download": "Versión {{version}} disponible. Presiona aquí para descargar."
"version_available_install": "Versión {{version}} disponible. Presiona acá para reiniciar e instalar.",
"version_available_download": "Versión {{version}} disponible. Presiona a para descargar."
},
"bottom_panel": {
"no_downloads_in_progress": "Sin descargas en progreso",
"downloading_metadata": "Descargando metadatos de {{title}}…",
"downloading": "Descargando {{title}}… ({{percentage}} completado) - Finalizando {{eta}} - {{speed}}",
"calculating_eta": "Descargando {{title}}… ({{percentage}} completado) - Calculando tiempo restante…",
"checking_files": "Verificando archivos de {{title}}… ({{percentage}} completado)"
"downloading": "Descargando {{title}}… ({{percentage}} completado) - Restante {{eta}} - {{speed}}",
"calculating_eta": "Descargando {{title}}… ({{percentage}} completado) - Comprobando tiempo restante…",
"checking_files": "Revisando archivos de {{title}}… ({{percentage}} completado)",
"installing_common_redist": "{{log}}…",
"installation_complete": "Instalación completada",
"installation_complete_message": "Common redistributables instalados correctamente"
},
"catalogue": {
"search": "Filtrar…",
"developers": "Desarrolladores",
"genres": "Géneros",
"tags": "Marcadores",
"tags": "Etiquetas",
"publishers": "Editores",
"download_sources": "Fuentes de descarga",
"download_sources": "Descargando fuentes",
"result_count": "{{resultCount}} resultados",
"filter_count": "{{filterCount}} disponibles",
"filter_count": "{{filterCount}} disponible",
"clear_filters": "Limpiar {{filterCount}} seleccionados"
},
"game_details": {
"open_download_options": "Ver opciones de descargas",
"download_options_zero": "No hay opciones de descargas disponibles",
"open_download_options": "Abrir opciones de descargas",
"download_options_zero": "Sin opciones de descargas",
"download_options_one": "{{count}} opción de descarga",
"download_options_other": "{{count}} opciones de descargas",
"updated_at": "Actualizado el: {{updated_at}}",
"updated_at": "Actualizado el {{updated_at}}",
"install": "Instalar",
"resume": "Continuar",
"pause": "Pausa",
"resume": "Resumir",
"pause": "Pausar",
"cancel": "Cancelar",
"remove": "Eliminar",
"space_left_on_disk": "{{space}} restantes en el disco",
"eta": "Tiempo restante: {{eta}}",
"remove": "Remover",
"space_left_on_disk": "{{space}} restante en el disco",
"eta": "Conclusión {{eta}}",
"calculating_eta": "Calculando tiempo restante…",
"downloading_metadata": "Descargando metadatos…",
"filter": "Buscar repacks",
"filter": "Filtrar repacks",
"requirements": "Requisitos del Sistema",
"minimum": "Mínimos",
"recommended": "Recomendados",
"paused": "Pausado",
"release_date": "Fecha de lanzamiento: {{date}}",
"publisher": "Publicado por: {{publisher}}",
"paused": "En Pausa",
"release_date": "Lanzado el {{date}}",
"publisher": "Públicado por {{publisher}}",
"hours": "horas",
"minutes": "minutos",
"amount_hours": "{{amount}} horas",
"amount_minutes": "{{amount}} minutos",
"accuracy": "{{accuracy}}% precisión",
"add_to_library": "Agregar a la biblioteca",
"remove_from_library": "Eliminar de la biblioteca",
"no_downloads": "No hay descargas disponibles",
"play_time": "Has jugado {{amount}}",
"last_time_played": "Jugado por última vez: {{period}}",
"not_played_yet": "Aún no has jugado a {{title}}",
"accuracy": "{{accuracy}}% completista",
"add_to_library": "Añadir a la librería",
"already_in_library": "Ya está en la librería",
"remove_from_library": "Eliminar de la librería",
"no_downloads": "Sin descargas disponibles",
"play_time": "Jugado por {{amount}}",
"last_time_played": "Última vez jugado {{period}}",
"not_played_yet": "No has jugado a {{title}} todavía",
"next_suggestion": "Siguiente sugerencia",
"play": "Jugar",
"deleting": "Eliminando instalador…",
"close": "Cerrar",
"playing_now": "Jugando ahora",
"change": "Cambiar",
"repacks_modal_description": "Selecciona el repack que quieres descargar",
"select_folder_hint": "Para cambiar la carpeta predeterminada, ve a <0>Ajustes</0>",
"repacks_modal_description": "Elegí el repack que querés descargar",
"select_folder_hint": "Si querés cambiar la carpeta por defecto, andá a <0>Ajustes</0>",
"download_now": "Descargar ahora",
"no_shop_details": "No se pudieron obtener detalles de la tienda.",
"download_options": "Opciones de descarga",
"download_path": "Ruta de descarga",
"previous_screenshot": "Anterior captura",
"next_screenshot": "Siguiente captura",
"screenshot": "Captura {{number}}",
"open_screenshot": "Abrir captura {{number}}",
"download_settings": "Ajustes de descarga",
"downloader": "Método de descarga",
"screenshot": "Captura número {{number}}",
"open_screenshot": "Abrir captura número {{number}}",
"download_settings": "Descargar ajustes",
"downloader": "Descargador",
"select_executable": "Seleccionar",
"no_executable_selected": "No se seleccionó un ejecutable",
"no_executable_selected": "Sin ejecutable seleccionado",
"open_folder": "Abrir carpeta",
"open_download_location": "Ver archivos descargados",
"create_shortcut": "Crear acceso directo en el escritorio",
"remove_files": "Eliminar archivos",
"create_shortcut": "Crear atajo en el escritorio",
"clear": "Limpiar",
"remove_files": "Remover archivos",
"remove_from_library_title": "¿Estás seguro?",
"remove_from_library_description": "Esto eliminará {{game}} de tu biblioteca",
"remove_from_library_description": "Esto va eliminará {{game}} de tu librería",
"options": "Opciones",
"executable_section_title": "Ejecutable",
"executable_section_description": "Ruta del archivo que se ejecutará cuando se presione \"Jugar\"",
"downloads_secion_title": "Descargas",
"downloads_section_description": "Buscar actualizaciones u otras versiones de este juego",
"danger_zone_section_title": "Opciones Avanzadas",
"danger_zone_section_description": "Eliminar este juego de tu librería o los archivos descargados por Hydra (Esto solo eliminará los archivos de instalación y no el juego instalado)",
"executable_section_description": "Ruta del archivo que se ejecutará cuando presiones \"Jugar\"",
"downloads_section_title": "Descargas",
"downloads_section_description": "Revisar actualizaciones u otras versiones del juego",
"danger_zone_section_title": "Zona de Peligro",
"danger_zone_section_description": "Remover este juego de tu librería o los archivos descargados por Hydra",
"download_in_progress": "Descarga en progreso",
"download_paused": "Descarga pausada",
"last_downloaded_option": "Última opción descargada",
"last_downloaded_option": "Última opción de descarga",
"create_steam_shortcut": "Crear atajo de Steam",
"create_shortcut_success": "Atajo creado con éxito",
"create_shortcut_error": "Error al crear un atajo",
"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?",
"you_might_need_to_restart_steam": "Probablemente necesités reiniciar Steam para ver cambios",
"create_shortcut_error": "Error al crear atajo",
"nsfw_content_title": "Este juego tiene contenido inapropiado",
"nsfw_content_description": "{{title}} tiene contenido no apto para todas las edades. ¿Querés continuar igualmente?",
"allow_nsfw_content": "Continuar",
"refuse_nsfw_content": "No, gracias",
"refuse_nsfw_content": "Regresar",
"stats": "Estadísticas",
"download_count": "Downloads",
"player_count": "Jugadores activos",
"download_error": "Esta opción de descarga no está disponible.",
"download_count": "Descargas",
"player_count": "Jugadores activos",
"download_error": "Esta opción de descarga no está disponible",
"download": "Descargar",
"executable_path_in_use": "El ejecutable se encuentra en uso por \"{{game}}\"",
"executable_path_in_use": "El ejecutable ya se está usando 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.",
"hydra_needs_to_remain_open": "para esta descarga, Hydra necesita estar abierta hasta que termine. Si se cierra antes de completar, perderás 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",
"cloud_save_description": "Guardá tu progreso en la nube y jugá en cualquier dispositivo",
"backups": "Copia 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",
"create_backup": "Nueva copia de seguridad",
"last_backup_date": "Última copia de seguridad {{date}}",
"no_backup_preview": "No se han encotrado puntos de guardado 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",
"no_backups": "No has creado ninguna copia de seguridad para este juego todavía",
"backup_uploaded": "Copia de seguridad subida",
"backup_failed": "Copia de seguridad fallida",
"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",
"sign_in_to_see_achievements": "Iniciá 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",
"mapping_method_label": "Método de mapeado",
"files_automatically_mapped": "Archivos automáticamente mapeados",
"no_backups_created": "Sin copias de seguridad creadas para este juego",
"manage_files": "Gestionar archivos",
"loading_save_preview": "Buscando datos de guardados de juegos…",
"manage_files": "Administrar archivos",
"loading_save_preview": "Buscando por guardado de juegos…",
"wine_prefix": "Prefijo de Wine",
"wine_prefix_description": "El prefijo de Wine usado para ejecutar este juego",
"wine_prefix_description": "El prefijo de Wine usado para este juego",
"launch_options": "Opciones para iniciar",
"launch_options_description": "Los usuarios avanzados pueden ingresar sus modificaciones para el inicio de sus juegos (característica experimental)",
"launch_options_placeholder": "Sin parámetro específicado",
"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",
"backup_deletion_failed": "Error al eliminar copia de seguridad",
"max_number_of_artifacts_reached": "Máximo de copias de seguridad alcanzadas para este juego",
"achievements_not_sync": "Revisá como sincronizar tus logros'",
"manage_files_description": "Elegí que archivos se guardarán y restaurarán de la copia de seguridad",
"select_folder": "Seleccionar carpeta",
"backup_from": "Copia de seguridad de {{date}}",
"automatic_backup_from": "Copia de seguridad automática de {{date}}",
"enable_automatic_cloud_sync": "Habilitar sincronización automática en la nube",
"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.",
"enable_automatic_cloud_sync": "Habilitar sincronización con la nube",
"custom_backup_location_set": "Ubicación de copia de seguridad personalizada",
"no_directory_selected": "Sin directorio seleccionado",
"no_write_permission": "No se puede descargar en este directorio. Presioná acá para más información.",
"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",
"download_error_gofile_quota_exceeded": "Has excedido la cuota mensual de Gofile. Por favor espera a que se reinicie la cuota.",
"download_error_real_debrid_account_not_authorized": "Tu cuenta de Real-Debrid no está autorizada para nueva descargas. Por favor, revisa los ajustes de tu cuenta e intenta de nuevo.",
"download_error_not_cached_in_real_debrid": "Esta descarga no está disponible en Real-Debrid y el estado de descarga del sondeo de Real-Debrid aún no está disponible.",
"download_error_not_cached_in_torbox": "Esta descarga no está disponible en Torbox y el estado de descarga del sondeo aún no está disponible.",
"reset_achievements_description": "Esto va a reiniciar todos los logros para {{game}}",
"reset_achievements_title": "¿Querés continuar?",
"reset_achievements_success": "Logros reiniciados éxitosamente",
"reset_achievements_error": "Error al reiniciar logros",
"download_error_gofile_quota_exceeded": "Has excedido la cuota mensual de GoFile. Esperá a que se reinice.",
"download_error_real_debrid_account_not_authorized": "Tu cuenta de Real-Debrid no está autorizada para nuevas descargas. Revisá los ajustes de tu cuenta y probá de nuevo.",
"download_error_not_cached_on_real_debrid": "Esta descarga no está disponible en Real-Debrid y no está disponible el estado de descarga de sondeo todavía.",
"update_playtime_title": "Actualizar tiempo de juego",
"update_playtime_description": "Actualizar manualmente el tiempo de juego para {{game}}",
"update_playtime": "Actualizar tiempo de juego",
"update_playtime_success": "Tiempo de juego actualizado éxitosamente",
"update_playtime_error": "Error al actualizar el tiempo de juego",
"update_game_playtime": "Actualizar tu tiempo de juego",
"manual_playtime_warning": "Tus horas de juego se marcarán como actualizadas manualmente, y esto no se puede deshacer.",
"manual_playtime_tooltip": "Este tiempo de juego se ha actualizad manualmente",
"download_error_not_cached_on_torbox": "Esta descarga no está disponible en TorBox y no está disponible el estado de descarga de sondeo todavía.",
"download_error_not_cached_on_hydra": "Esta descarga no está disponible en Nimbus.",
"game_removed_from_favorites": "Juego eliminado de favoritos",
"game_added_to_favorites": "Juego añadido a favoritos",
"game_removed_from_favorites": "Juego removido de favoritos"
"game_removed_from_pinned": "Juego removido de fijados",
"game_added_to_pinned": "Juego añadido a fijados",
"automatically_extract_downloaded_files": "Extraer automáticamente archivos descargados",
"create_start_menu_shortcut": "Crear un atajo en el Menú de Inicio",
"invalid_wine_prefix_path": "Ruta inválida del prefijo de Wine",
"invalid_wine_prefix_path_description": "La ruta al prefijo de Wine es inválida. Por favor revisá la ruta y probá de nuevo.",
"missing_wine_prefix": "EL prefijo de Wine es requerido para hacer una copia en Linux",
"artifact_renamed": "Copia de seguridad renombrada éxitosamente",
"rename_artifact": "Renombrar copia de seguridad",
"rename_artifact_description": "Renombrar copia de seguridad con un nombre más descriptivo",
"artifact_name_label": "Nombre de la copia de seguridad",
"artifact_name_placeholder": "Introducí un nombre para la copia de seguridad",
"save_changes": "Guardar cambios",
"required_field": "Este campo es requerido",
"max_length_field": "Este campo debe tener menos de {{length}} carácteres",
"freeze_backup": "Fíjalo así no se re-escríbira por copias de seguridad automáticas",
"unfreeze_backup": "Dejar de fijar",
"backup_frozen": "Copia de seguridad fijada",
"backup_unfrozen": "Copia de seguridad desfijada",
"backup_freeze_failed": "Error al congelar tu copia de seguridad",
"backup_freeze_failed_description": "Tenés que tener mínimo un espacio para copias de seguridad automáticas",
"edit_game_modal_button": "Personalizar recursos de juego",
"game_details": "Detalles del juego",
"currency_symbol": "$",
"currency_country": "us",
"prices": "Precios",
"no_prices_found": "No se encontraron precios",
"view_all_prices": "Presioná acá para ver todos los precios",
"retail_price": "Precio recomendado",
"keyshop_price": "Precio de tiendas de terceros",
"historical_retail": "Precio de tiendas",
"historical_keyshop": "Precio de tiendas de terceros",
"add_to_favorites": "Añadir a favoritos",
"be_first_to_review": "¡Sé la primera persona en compartir lo que pensas de este juego!",
"create_shortcut_simple": "Crear atajo",
"delete_review": "Eliminar reseña",
"delete_review_modal_cancel_button": "Cancelar",
"delete_review_modal_delete_button": "Eliminar",
"delete_review_modal_description": "Esta acción no se puede deshacer.",
"delete_review_modal_title": "¿De verdad querés eliminar esta reseña?",
"failed_remove_files": "Error al eliminar los archivos",
"failed_remove_from_library": "Error al eliminar de la librería",
"failed_update_favorites": "Error al actualizar favoritos",
"files_removed_success": "Archivos eliminados correctamente",
"filter_by_source": "Filtrar por fuente",
"game_removed_from_library": "Juego eliminado de la librería",
"hide_original": "Ocultar original",
"leave_a_review": "Crear una reseña",
"load_more_reviews": "Cargar más reseñas",
"loading_more_reviews": "Cargando más reseñas...",
"loading_reviews": "Cargando reseñas...",
"maybe_later": "Tal vez después",
"no_repacks_found": "Sin fuentes encontradas para este juego",
"no_reviews_yet": "Sin reseñas aún",
"properties": "Propiedades",
"rating": "Calificación",
"rating_count": "Calificación",
"rating_negative": "Negativa",
"rating_neutral": "Neutral",
"rating_positive": "Positiva",
"rating_stats": "Calificación",
"rating_very_negative": "Muy Negativa",
"rating_very_positive": "Muy Positiva",
"remove_from_favorites": "Eliminar de favoritos",
"remove_review": "Eliminar reseña",
"review_cannot_be_empty": "El campo de la reseña no puede estar vacío.",
"review_deleted_successfully": "Reseña eliminada exitosamente.",
"review_deletion_failed": "Error al eliminar reseña. Por favor intentá de nuevo.",
"review_submission_failed": "Error al subir reseña. Por favor intentá de nuevo.",
"review_submitted_successfully": "¡Reseña eliminada exitosamente!",
"reviews": "Reseñas",
"show_less": "Ver menos",
"show_more": "Ver más",
"show_original": "Ver original",
"show_original_translated_from": "Ver original (traducido del {{language}})",
"show_translation": "Ver traducción",
"sort_highest_score": "Puntuación más alta",
"sort_lowest_score": "Puntuación más baja",
"sort_most_voted": "Más votads",
"sort_newest": "Más nuevos",
"sort_oldest": "Más viejos",
"submit_review": "Enviar",
"submitting": "Subiendo...",
"vote_failed": "Error al registrar tu voto. Por favor intentá de nuevo.",
"would_you_recommend_this_game": "¿Querés escribir una reseña para este juego?",
"write_review_placeholder": "Compartí tus pensamientos sobre este juego...",
"yes": "Si",
"you_seemed_to_enjoy_this_game": "Parece que has disfrutado de este juego",
"language": "Idioma",
"caption": "Subtítulo",
"audio": "Audio"
},
"activation": {
"title": "Activar Hydra",
"installation_id": "ID de la Instalación:",
"enter_activation_code": "Introduce tu código de activación",
"message": "Si no sabes donde obtener el código, no deberías de tener esto.",
"installation_id": "ID de Instalación:",
"enter_activation_code": "Introducí tu código de activación",
"message": "Si no sabes donde preguntar por esto, entonces no tenés que tener esto.",
"activate": "Activar",
"loading": "Cargando…"
},
"downloads": {
"resume": "Resumir",
"pause": "Pausa",
"eta": "Finalizando en {{eta}}",
"paused": "En Pausa",
"pause": "Pausar",
"eta": "Tiempo de finalizción {{eta}}",
"paused": "Pausado",
"verifying": "Verificando…",
"completed": "Completado",
"removed": "No descargado",
"cancel": "Cancelar",
"filter": "Buscar juegos descargados",
"remove": "Eliminar",
"filter": "Filtrar juegos descargados",
"remove": "Remover",
"downloading_metadata": "Descargando metadatos…",
"deleting": "Eliminando instalador…",
"delete": "Eliminar instalador",
"delete_modal_title": "¿Estás seguro?",
"delete_modal_description": "Esto eliminará todos los archivos de la instalación del repack del juego de tu computadora. (Si ya instalaste el juego, puedes eliminar esto, no afectará al juego)",
"deleting": "Eliminado instalador…",
"delete": "Remover instalador",
"delete_modal_title": "¿Querés continuar?",
"delete_modal_description": "Esto eliminará todos los archivos del instalador de tu computadora",
"install": "Instalar",
"download_in_progress": "En progreso",
"queued_downloads": "Descargas en cola",
"downloads_completed": "Completado",
"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…",
"seeding": "Seeding",
"stop_seeding": "Detener seeding",
"resume_seeding": "Continuar seeding",
"options": "Gestionar"
"no_downloads_title": "Esto está... tan, ¿vacío?",
"no_downloads_description": "No has descargado nada con Hydra, pero nunca es tarde para comenzar.",
"checking_files": "Revisando archivos…",
"seeding": "Sembrando",
"stop_seeding": "Dejar de sembrar",
"resume_seeding": "Continuar sembrando",
"options": "Administrar",
"extract": "Extraer archivos",
"extracting": "Extrayendo archivos…"
},
"settings": {
"downloads_path": "Ruta de descarga",
"change": "Cambiar",
"change": "Actualizar",
"notifications": "Notificaciones",
"enable_download_notifications": "Cuando se completa una descarga",
"enable_repack_list_notifications": "Cuando se añade un repack nuevo",
"real_debrid_api_token_label": "Token API de Real-Debrid",
"quit_app_instead_hiding": "Salir de Hydra en vez de minimizar en la bandeja del sistema",
"launch_with_system": "Iniciar Hydra al inicio del sistema",
"enable_download_notifications": "Cuando una descarga se completa",
"enable_repack_list_notifications": "Cuando un nuevo repack se añade",
"real_debrid_api_token_label": "Real-Debrid API token",
"quit_app_instead_hiding": "No ocultar Hydra cuando se cierra",
"launch_with_system": "Iniciar Hydra con el sistema",
"general": "General",
"behavior": "Otros",
"download_sources": "Fuentes de descarga",
"behavior": "Comportamiento",
"download_sources": "Fuentes de descargas",
"language": "Idioma",
"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.",
"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",
"api_token": "API Token",
"enable_real_debrid": "Habilitar Real-Debrid",
"real_debrid_description": "Real-Debrid es un descargador que te permite descargar archivos más rápidos, solo límitado por la velocidad de tu internet.",
"debrid_invalid_token": "Token API inválido",
"debrid_api_token_hint": "Podés obtener el token de tu API <0>a</0>",
"real_debrid_free_account_error": "La cuenta \"{{username}}\" es una cuenta gratis. Por favor suscribíte a Real-Debrid",
"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",
"changes_saved": "Cambios guardados éxitosamente",
"download_sources_description": "Hydra va a recoger los links de descarga de cada fuente. La URL de origen debe ser un enlace .json que contenga los enlaces de descarga.",
"validate_download_source": "Validar",
"remove_download_source": "Eliminar",
"add_download_source": "Añadir fuente de descarga",
"download_count_zero": "No hay descargas en la lista",
"download_count_one": "{{countFormatted}} descarga en la lista",
"download_count_other": "{{countFormatted}} descargas en la lista",
"download_source_url": "Descargar URL de origen",
"add_download_source_description": "Introduce la URL con el archivo .json",
"download_source_up_to_date": "Al día",
"remove_download_source": "Remover",
"add_download_source": "Añadir fuente",
"download_count_zero": "Sin opciones de descarga",
"download_count_one": "{{countFormatted}} opción de descarga",
"download_count_other": "{{countFormatted}} opciones de descarga",
"download_source_url": "Añadir URL de una fuente",
"add_download_source_description": "Introducí la URL del archivo .json",
"download_source_up_to_date": "Actualizado",
"download_source_errored": "Error",
"sync_download_sources": "Sincronizar fuentes",
"removed_download_source": "Fuente de descarga eliminada",
"removed_download_sources": "Fuente de descarga eliminadas",
"cancel_button_confirmation_delete_all_sources": "No",
"confirm_button_confirmation_delete_all_sources": "Sí, eliminar todo",
"description_confirmation_delete_all_sources": "Eliminarás todas las fuentes de descarga",
"confirm_button_confirmation_delete_all_sources": "Si, eliminar todo",
"title_confirmation_delete_all_sources": "Eliminar todas las fuentes de descarga",
"removed_download_sources": "Fuentes de descarga eliminadas",
"button_delete_all_sources": "Eliminar todas las fuentes de descarga",
"added_download_source": "Fuente de descarga añadida",
"download_sources_synced": "Todas las fuentes de descargas están actualizadas.",
"insert_valid_json_url": "Introduce una URL JSON válida",
"found_download_option_zero": "No se encontró una opción de descarga",
"found_download_option_one": "Se encontró {{countFormatted}} opción de descarga",
"found_download_option_other": "Se encontraron {{countFormatted}} opciones de descarga",
"description_confirmation_delete_all_sources": "Vas a eliminar todas las fuentes de descargas",
"button_delete_all_sources": "Eliminar todo",
"added_download_source": "Añadir fuente de descarga",
"download_sources_synced": "Todas las fuentes de descarga están sincronizadas",
"insert_valid_json_url": "Introducí una URL de json válida",
"found_download_option_zero": "Sin opciones de descargas encontrada",
"found_download_option_one": "Encontrada {{countFormatted}} fuente de descarga",
"found_download_option_other": "Encontradas {{countFormatted}} opciones de descargas",
"import": "Importar",
"importing": "Importando...",
"public": "Público",
"private": "Privado",
"friends_only": "Solo amigos",
"friends_only": "Sólo amigos",
"privacy": "Privacidad",
"profile_visibility": "Visibilidad del perfil",
"profile_visibility_description": "Elige quién puede ver tu perfil y biblioteca",
"required_field": "Este campo es obligatorio",
"source_already_exists": "Esta fuente ya ha sido agregada.",
"must_be_valid_url": "La fuente debe ser una URL válida.",
"profile_visibility_description": "Elegí quién puede ver tú perfil y biblioteca",
"required_field": "Este campo es requerido",
"source_already_exists": "Esta fuente ya está añadida",
"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",
"user_unblocked": "Has desbloqueado a este usuario",
"enable_achievement_notifications": "Cuando desbloqueás un logro",
"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",
"disable_nsfw_alert": "Deshabilitar alerta de NSFW",
"seed_after_download_complete": "Sembrar después de completar una descarga",
"show_hidden_achievement_description": "Mostrar 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",
"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}}",
"no_users_blocked": "No has bloqueado a ningún usuario",
"subscription_active_until": "Tu Hydra Cloud está activo hasta {{date}}",
"manage_subscription": "Administrar suscripción",
"update_email": "Actualizar correo",
"update_password": "Actualizar contraseña",
"appearance": "Apariencia",
"become_subscriber": "Sé Hydra Cloud",
"cancel": "Cancelar",
"clear_themes": "Limpiar",
"create_theme": "Crear",
"create_theme_modal_description": "Crea un nuevo tema para personalizar la apariencia de Hydra",
"create_theme_modal_title": "Crear tema personalizado",
"delete_all_themes": "Eliminar todos los temas",
"delete_all_themes_description": "Esto eliminará todos tus temas personalizados",
"delete_theme": "Eliminar tema",
"delete_theme_description": "Esto eliminará el tema {{theme}}",
"edit_theme": "Editar tema",
"update_password": "Cambiar contraseña",
"current_email": "Correo actual:",
"no_email_account": "No tenés ningún correo vinculado aún",
"account_data_updated_successfully": "Datos de la cuenta actualizados correctamente",
"renew_subscription": "Renovar Hydra Cloud",
"subscription_expired_at": "Tu suscripción expiró el {{date}}",
"no_subscription": "Disfrutá Hydra de la mejor forma",
"become_subscriber": "Sé parte de Hydra Cloud",
"subscription_renew_cancelled": "Renovación automática desactivada",
"subscription_renews_on": "Tu suscripción se renueva el {{date}}",
"bill_sent_until": "Tu próxima factura se enviará este día",
"no_themes": "Parece que no tenés ningún tema aún, pero no te preocupes, presiona acá para hacer tu primera obra maestra.",
"editor_tab_code": "Código",
"editor_tab_info": "Info",
"editor_tab_save": "Guardar",
"enable_torbox": "Habilitar Torbox",
"error_importing_theme": "Error al importar el tema",
"web_store": "Tienda Web",
"clear_themes": "Limpiar",
"create_theme": "Crear",
"create_theme_modal_title": "Crear tema personalizado",
"create_theme_modal_description": "Crear un nuevo tema para personalizar el estilo de Hydra",
"theme_name": "Nombre",
"insert_theme_name": "Introducí un nombre del tema",
"set_theme": "Usar tema",
"unset_theme": "Dejar de usar tema",
"delete_theme": "Eliminar tema",
"edit_theme": "Editar tema",
"delete_all_themes": "Eliminar todos los temas",
"delete_all_themes_description": "Esto va a eliminar todos los temas personalizados",
"delete_theme_description": "Esto va a eliminar el tema {{theme}}",
"cancel": "Cancelar",
"appearance": "Apariencia",
"enable_torbox": "Activar TorBox",
"torbox_description": "TorBox es un servicio premium de seedbox que incluso rivaliza los mejores servidores.",
"torbox_account_linked": "Cuenta de TorBox vinculada",
"create_real_debrid_account": "Presioná acá si todavía no tenés una cuenta de Real-Debrid",
"create_torbox_account": "Presioná acá si todavía no tenés una cuenta de TorBox",
"real_debrid_account_linked": "Cuenta de Real-Debrid vinculada",
"name_min_length": "El nombre del tema debe tener mínimo 3 carácteres",
"import_theme": "Importar tema",
"import_theme_description": "Vas a importar el tema {{theme}} desde la tienda de temas",
"insert_theme_name": "Introducí el nombre del tema",
"name_min_length": "El tema tiene que tener 3 carácteres de largo mínimo",
"no_themes": "Parece que no tenés ningún tema aún, pero no te preocupes, presiona acá para crear tu primer tema.",
"real_debrid_account_linked": "Cuenta de Real-Debrid vinculada",
"set_theme": "Establecer tema",
"theme_imported": "Tema importado exitosamente",
"theme_name": "Nombre",
"torbox_account_linked": "Cuenta de TorBox vinculada",
"torbox_description": "TorBox es tu servicio premium de seedbox que rivaliza incluso a los mejores servidores del mercado.",
"unset_theme": "Desactivar tema",
"web_store": "Tienda Web",
"enable_friend_request_notifications": "Cuando se recibe una solicitud de amistad",
"enable_auto_install": "Descargar actualizaciones automáticamente"
"error_importing_theme": "Error al importar el tema",
"theme_imported": "Tema importado correctamente",
"enable_friend_request_notifications": "Cuando recibís una solicitud de amistad",
"enable_auto_install": "Descargar actualizaciones automáticamente",
"common_redist": "Common redistributables",
"common_redist_description": "Los common redistributables son requeridos para algunos juegos. Es recomendable instalarlos para evitar algunos problemas.",
"install_common_redist": "Instalar",
"installing_common_redist": "Instalando…",
"show_download_speed_in_megabytes": "Mostrar velocidad de descarga en megabytes por segundo",
"extract_files_by_default": "Extraer archivos por defecto después de descargar",
"enable_steam_achievements": "Habilitar búsqueda de logros de Steam",
"achievement_custom_notification_position": "Posición de notificación de logros",
"top-left": "Superior Izquierda",
"top-center": "Superior Centro",
"top-right": "Superior Derecha",
"bottom-left": "Inferior Izquierda",
"bottom-center": "Inferior Centro",
"bottom-right": "Inferior Derecha",
"enable_achievement_custom_notifications": "Habilitar notificación personalizada de logros",
"alignment": "Centrado",
"variation": "Variación",
"default": "Defecto",
"rare": "Raro",
"platinum": "Platino",
"hidden": "Oculto",
"test_notification": "Probar notificación",
"notification_preview": "Probar notificación de logro",
"debrid": "Debrid",
"debrid_description": "Los servicios Debrid son descargadores premium sin restricciones que te dejan descargar más rápido archivos alojados en servicios de alojamiento siendo que la única limitación es tu velocidad de internet.",
"enable_friend_start_game_notifications": "Cuando un amigo está jugando un juego"
},
"notifications": {
"download_complete": "Descarga completada",
"game_ready_to_install": "{{title}} está listo para instalarse",
"game_ready_to_install": "{{title}} está listo para instalar",
"repack_list_updated": "Lista de repacks actualizadas",
"repack_count_one": "{{count}} repack ha sido añadido",
"repack_count_one": "{{count}} repack 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",
"notification_achievement_unlocked_title": "Logro desbloqueado de {{game}}",
"new_update_available": "Versión {{version}} disponible",
"restart_to_install_update": "Reiniciá Hydra para instalar la actualización",
"notification_achievement_unlocked_title": "Logro desbloqueado para {{game}}",
"notification_achievement_unlocked_body": "{{achievement}} y otros {{count}} fueron desbloqueados",
"new_friend_request_description": "{{displayName}} te envió una solicitud de amistad",
"new_friend_request_title": "Nueva solicitud de amistad",
"new_friend_request_description": "Has recibido una nueva solicitud de amistad"
"extraction_complete": "Extracción completada",
"game_extracted": "{{title}} extraído exitosamente",
"friend_started_playing_game": "{{displayName}} empezó a jugar un juego",
"test_achievement_notification_title": "Esto es una notificación de prueba",
"test_achievement_notification_description": "Piola, ¿verdad?"
},
"system_tray": {
"open": "Abrir Hydra",
@@ -364,15 +568,16 @@
"game_card": {
"available_one": "Disponible",
"available_other": "Disponibles",
"no_downloads": "No hay descargas disponibles"
"calculating": "Calculando",
"no_downloads": "Sin descargas disponibles"
},
"binary_not_found_modal": {
"title": "Programas no instalados",
"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"
"description": "Ejecutables de Wine o Lutris executables no encontrados en tu sistema",
"instructions": "Comprobá la forma correcta de instalar cualquiera de ellos en tu distribución de Linux para que el juego pueda ejecutarse con normalidad"
},
"modal": {
"close": "Botón de cierre"
"close": "Botón de cerrar"
},
"forms": {
"toggle_password_visibility": "Cambiar visibilidad de contraseña"
@@ -380,110 +585,126 @@
"user_profile": {
"amount_hours": "{{amount}} horas",
"amount_minutes": "{{amount}} minutos",
"last_time_played": "Última vez jugado: {{period}}",
"last_time_played": "Jugado por última vez el {{period}}",
"activity": "Actividad reciente",
"library": "Biblioteca",
"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",
"library": "Librería",
"pinned": "Fijado",
"total_play_time": "Total de tiempo de juego",
"achievements_earned": "Logros conseguidos",
"played_recently": "Jugado recientemente",
"playtime": "Tiempo de juego",
"manual_playtime_tooltip": "Este tiempo de juego ha sido modificado manualmente",
"no_recent_activity_title": "Hmmm… nada por acá",
"no_recent_activity_description": "No has jugado nada recientemente. ¡Te toca cambiar eso!",
"display_name": "Nombre a mostar",
"saving": "Guardando",
"save": "Guardar",
"save": "Guardado",
"edit_profile": "Editar perfil",
"saved_successfully": "Guardado exitosamente",
"try_again": "Por favor, intenta de nuevo",
"sign_out_modal_title": "¿Estás seguro?",
"try_again": "Por favor, intentá de nuevo",
"sign_out_modal_title": "¿Querés continuar?",
"cancel": "Cancelar",
"successfully_signed_out": "Sesión cerrada exitosamente",
"successfully_signed_out": "Cerraste sesión exitosamente",
"sign_out": "Cerrar sesión",
"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",
"playing_for": "Jugando por {{amount}}",
"sign_out_modal_text": "Tu librería está vinculada con esta cuenta. Cuando cerrés sesión, tu librería ya no será visible, y cualquier progreso no se guardará. ¿Querés continuar con el cierre de sesión?",
"add_friends": "Añadir amistades",
"add": "Añadir",
"friend_code": "Código de amigo",
"friend_code": "Código de amistad",
"see_profile": "Ver perfil",
"sending": "Enviando",
"friend_request_sent": "Solicitud de amistad enviada",
"friends": "Amigos",
"friends_list": "Lista de amigos",
"friends": "Amistades",
"friends_list": "Lista de amistades",
"user_not_found": "Usuario no encontrado",
"block_user": "Bloquear usuario",
"add_friend": "Añadir amigo",
"add_friend": "Añadir amistad",
"request_sent": "Solicitud enviada",
"request_received": "Solicitud recibida",
"accept_request": "Aceptar solicitud",
"ignore_request": "Ignorar solicitud",
"cancel_request": "Cancelar solicitud",
"undo_friendship": "Eliminar amistad",
"undo_friendship": "Deshacer amistad",
"request_accepted": "Solicitud aceptada",
"user_blocked_successfully": "Usuario bloqueado exitosamente",
"user_block_modal_text": "Esto va a bloquear a {{displayName}}",
"blocked_users": "Usuarios bloqueados",
"unblock": "Desbloquear",
"no_friends_added": "Todavía no tienes amigos añadidos",
"no_friends_added": "No tenés amistades añadidas",
"pending": "Pendiente",
"no_pending_invites": "No tienes invitaciones pendientes",
"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}}",
"privacy_hint": "Para ajustar quién puede ver esto, ve a <0>Configuración</0>.",
"no_pending_invites": "No tenés invitaciones pendientes",
"no_blocked_users": "No has bloqueado a nadie",
"friend_code_copied": "Código de amistad copiado",
"undo_friendship_modal_text": "Esto va a deshacer tu amistad con {{displayName}}",
"privacy_hint": "Para cambiar quién puede ver esto, andá a <0>Ajustes</0>",
"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",
"image_process_failure": "Errpr al procesar la imagen",
"required_field": "Este campo es requerido",
"displayname_min_length": "El nombre en pantalla debe tener mínimo 3 caracteres",
"displayname_max_length": "El nombre en pantalla debe tener máximo 50 caracteres",
"report_profile": "Reportar este perfil",
"report_reason": "¿Cual es el motivo del reporte?",
"report_reason": "¿Porque estás reportando este perfil?",
"report_description": "Información adicional",
"report_description_placeholder": "Información adicional",
"report": "Reportar",
"report_reason_hate": "Discursos de odio",
"report_reason_sexual_content": "Contenido sexual",
"report_reason_violence": "Violencia",
"report_reason_spam": "Spam / Contenido no deseado",
"report_reason_other": "Otro",
"report_reason_spam": "Spam",
"report_reason_other": "Otros",
"profile_reported": "Perfil reportado",
"your_friend_code": "Tu código de amigo:",
"upload_banner": "Subir un banner",
"your_friend_code": "Tu código de amistad:",
"upload_banner": "Subir 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}}%"
"achievements": "logros",
"games": "Juegos",
"top_percentile": "Top {{percentile}}%",
"ranking_updated_weekly": "El ranking se actualiza semanalmente",
"playing": "Jugando {{game}}",
"achievements_unlocked": "Logros desbloqueados",
"earned_points": "Puntos obtenidos",
"show_achievements_on_profile": "Mostrá tus logros en tu perfil",
"show_points_on_profile": "Mostrá los puntos obtenidos en tu perfil",
"error_adding_friend": "No se pudo enviar la solicitud de amistad. Por favor revisá el código",
"friend_code_length_error": "El código de amistad debe tener mínimo 8 caracteres",
"game_removed_from_pinned": "Juego removido de fijados",
"amount_hours_short": "{{amount}}h",
"amount_minutes_short": "{{amount}}m",
"karma": "Karma",
"karma_count": "karma",
"karma_description": "Conseguido por me gustas positivos en reseñas",
"sort_by": "Filtrar por:",
"game_added_to_pinned": "Juego añadido a fijados"
},
"achievement": {
"achievement_unlocked": "Logro desbloqueado",
"user_achievements": "Logros de {{displayName}}",
"your_achievements": "Tus Logros",
"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",
"subscription_needed": "Se requiere una suscripción a Hydra Cloud para ver esto",
"new_achievements_unlocked": "Desbloqueaste {{achievementCount}} nuevos logros de {{gameCount}} juegos",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} logros",
"achievements_unlocked_for_game": "Se han desbloqueado {{achievementCount}} nuevos logros de {{gameTitle}}",
"achievements_unlocked_for_game": "Desbloqueaste {{achievementCount}} nuevos logros para {{gameTitle}}",
"hidden_achievement_tooltip": "Este es un logro oculto",
"achievement_earn_points": "Obtén {{points}} puntos con este logro",
"achievement_earn_points": "Conseguí {{points}} puntos por este logro",
"earned_points": "Puntos obtenidos:",
"available_points": "Puntos disponibles:",
"how_to_earn_achievements_points": "¿Cómo obtener puntos de logros?"
"how_to_earn_achievements_points": "¿Como conseguir puntos por logros?"
},
"hydra_cloud": {
"subscription_tour_title": "Suscripción Hydra Cloud",
"subscribe_now": "Suscribirse ahora",
"subscribe_now": "suscribíte ahora",
"cloud_saving": "Guardado en la nube",
"cloud_achievements": "Guarda tus logros en la nube",
"animated_profile_picture": "Fotos de perfil animadas",
"cloud_achievements": "Guardá tus logros en la nube",
"animated_profile_picture": "Foto de perfil animada",
"premium_support": "Soporte Premium",
"show_and_compare_achievements": "Muestra y compara tus logros con otros usuarios",
"animated_profile_banner": "Fondo de perfil animado",
"show_and_compare_achievements": "Mostrá y compará tus logros con otros usuarios",
"animated_profile_banner": "Banner de perfil animado",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": Has descubierto una característica de Hydra Cloud!",
"learn_more": "Aprender más"
"hydra_cloud_feature_found": Acabas de descubrir una característica de Hydra Cloud!",
"learn_more": "Descubrir más",
"debrid_description": "Descargas hasta x4 veces más rápidas con Nimbus"
}
}

View File

@@ -4,7 +4,6 @@
"successfully_signed_in": "Edukalt sisse logitud"
},
"home": {
"featured": "Esile toodud",
"surprise_me": "Üllata mind",
"no_results": "Tulemusi ei leitud",
"start_typing": "Alusta otsimiseks kirjutamist...",
@@ -45,10 +44,7 @@
"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"
},
"catalogue": {},
"game_details": {
"open_download_options": "Ava allalaadimise valikud",
"download_options_zero": "Allalaadimise valikuid pole",
@@ -111,7 +107,7 @@
"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_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",

View File

@@ -1,7 +1,6 @@
{
"language_name": "فارسی",
"home": {
"featured": "پیشنهادی",
"surprise_me": "سوپرایزم کن",
"no_results": "اتمام‌ای پیدا نشد"
},
@@ -17,7 +16,6 @@
"home": "خانه",
"favorites": "علاقه‌مندی‌ها"
},
"header": {
"search": "جستجوی بازی‌ها",
"home": "خانه",
@@ -31,10 +29,7 @@
"downloading_metadata": "درحال دانلود متادیتاهای {{title}}…",
"downloading": "در حال دانلود {{title}}… ({{percentage}} تکمیل شده) - اتمام {{eta}} - {{speed}}"
},
"catalogue": {
"next_page": "صفحه‌ی بعدی",
"previous_page": "صفحه‌ی قبلی"
},
"catalogue": {},
"game_details": {
"open_download_options": "بازکردن آپشن‌های دانلود",
"download_options_zero": "هیچ آپشن دانلودی وجود ندارد",

View File

@@ -0,0 +1,708 @@
{
"language_name": "Suomi",
"app": {
"successfully_signed_in": "Kirjautuminen onnistui"
},
"home": {
"surprise_me": "Yllätä minut",
"no_results": "Ei tuloksia",
"start_typing": "Aloitan kirjoittamisen...",
"hot": "Suosittua nyt",
"weekly": "📅 Viikon parhaat pelit",
"achievements": "🏆 Pelit saavutuksilla"
},
"sidebar": {
"catalogue": "Katalogi",
"downloads": "Lataukset",
"settings": "Asetukset",
"my_library": "Kirjasto",
"downloading_metadata": "{{title}} (Metatietojen lataus…)",
"paused": "{{title}} (Keskeytetty)",
"downloading": "{{title}} ({{percentage}} - Lataa…)",
"filter": "Hae",
"home": "Koti",
"queued": "{{title}} (Jonossa)",
"game_has_no_executable": "Pelin käynnistystiedostoa ei ole valittu",
"sign_in": "Kirjaudu sisään",
"friends": "Kaverit",
"need_help": "Tarvitsetko apua?",
"favorites": "Suosikit",
"playable_button_title": "Näytä vain asennetut pelit.",
"add_custom_game_tooltip": "Lisää mukautettu peli",
"show_playable_only_tooltip": "Näytä vain pelattavissa olevat",
"custom_game_modal": "Lisää mukautettu peli",
"custom_game_modal_description": "Lisää mukautettu peli kirjastoon valitsemalla suoritettava tiedosto",
"custom_game_modal_executable_path": "Suoritettavan tiedoston polku",
"custom_game_modal_select_executable": "Valitse suoritettava tiedosto",
"custom_game_modal_title": "Pelin nimi",
"custom_game_modal_enter_title": "Syötä pelin nimi",
"custom_game_modal_browse": "Selaa",
"custom_game_modal_cancel": "Peruuta",
"custom_game_modal_add": "Lisää peli",
"custom_game_modal_adding": "Lisätään peliä...",
"custom_game_modal_success": "Mukautettu peli lisätty onnistuneesti",
"custom_game_modal_failed": "Mukautetun pelin lisääminen epäonnistui",
"custom_game_modal_executable": "Suoritettava tiedosto",
"edit_game_modal": "Mukauta resursseja",
"edit_game_modal_description": "Mukauta pelin resursseja ja tietoja",
"edit_game_modal_title": "Nimi",
"edit_game_modal_enter_title": "Syötä nimi",
"edit_game_modal_image": "Kuva",
"edit_game_modal_select_image": "Valitse kuva",
"edit_game_modal_browse": "Selaa",
"edit_game_modal_image_preview": "Kuvan esikatselu",
"edit_game_modal_icon": "Kuvake",
"edit_game_modal_select_icon": "Valitse kuvake",
"edit_game_modal_icon_preview": "Kuvakkeen esikatselu",
"edit_game_modal_logo": "Logo",
"edit_game_modal_select_logo": "Valitse logo",
"edit_game_modal_logo_preview": "Logon esikatselu",
"edit_game_modal_hero": "Pelin kansikuva",
"edit_game_modal_select_hero": "Valitse pelin kansikuva",
"edit_game_modal_hero_preview": "Kansikuvan esikatselu",
"edit_game_modal_cancel": "Peruuta",
"edit_game_modal_update": "Päivitä",
"edit_game_modal_updating": "Päivitetään...",
"edit_game_modal_fill_required": "Täytä kaikki pakolliset kentät",
"edit_game_modal_success": "Resurssit päivitetty onnistuneesti",
"edit_game_modal_failed": "Resurssien päivitys epäonnistui",
"edit_game_modal_image_filter": "Kuva",
"edit_game_modal_icon_resolution": "Suositeltu resoluutio: 256x256px",
"edit_game_modal_logo_resolution": "Suositeltu resoluutio: 640x360px",
"edit_game_modal_hero_resolution": "Suositeltu resoluutio: 1920x620px",
"edit_game_modal_assets": "Resurssit",
"edit_game_modal_drop_icon_image_here": "Pudota kuvakkeen kuva tähän",
"edit_game_modal_drop_logo_image_here": "Pudota logon kuva tähän",
"edit_game_modal_drop_hero_image_here": "Pudota kansikuvan kuva tähän",
"edit_game_modal_drop_to_replace_icon": "Pudota korvataksesi kuvake",
"edit_game_modal_drop_to_replace_logo": "Pudota korvataksesi logo",
"edit_game_modal_drop_to_replace_hero": "Pudota korvataksesi kansikuva",
"install_decky_plugin": "Asenna Decky-lisäosa",
"update_decky_plugin": "Päivitä Decky-lisäosa",
"decky_plugin_installed_version": "Decky-lisäosa (v{{version}})",
"install_decky_plugin_title": "Asenna Hydra Decky -lisäosa",
"install_decky_plugin_message": "Tämä lataa ja asentaa Hydra-lisäosan Decky Loaderiin. Saattaa vaatia korotetut oikeudet. Jatketaanko?",
"update_decky_plugin_title": "Päivitä Hydra Decky -lisäosa",
"update_decky_plugin_message": "Uusi Hydra Decky -lisäosan versio on saatavilla. Haluatko päivittää sen nyt?",
"decky_plugin_installed": "Decky-lisäosa v{{version}} asennettu onnistuneesti",
"decky_plugin_installation_failed": "Decky-lisäosan asennus epäonnistui: {{error}}",
"decky_plugin_installation_error": "Decky-lisäosan asennusvirhe: {{error}}",
"confirm": "Vahvista",
"cancel": "Peruuta"
},
"header": {
"search": "Hae",
"home": "Koti",
"catalogue": "Katalogi",
"downloads": "Lataukset",
"search_results": "Hakutulokset",
"settings": "Asetukset",
"version_available_install": "Versio {{version}} saatavilla. Asentaaksesi napsauta tästä.",
"version_available_download": "Versio {{version}} saatavilla. Ladataaksesi napsauta tästä."
},
"bottom_panel": {
"no_downloads_in_progress": "Ei meneillään olevia latauksia",
"downloading_metadata": "Ladataan metatietoja {{title}}…",
"downloading": "Ladataan {{title}}… ({{percentage}} valmis) - Lopetus {{eta}} - {{speed}}",
"calculating_eta": "Ladataan {{title}}… ({{percentage}} valmis) - Lasketaan jäljellä olevaa aikaa…",
"checking_files": "Tarkistetaan tiedostoja {{title}}… ({{percentage}} valmis)",
"installing_common_redist": "{{log}}…",
"installation_complete": "Asennus valmis",
"installation_complete_message": "Kirjastot asennettu onnistuneesti"
},
"catalogue": {
"search": "Suodatin…",
"developers": "Kehittäjät",
"genres": "Genret",
"tags": "Tagit",
"publishers": "Julkaisijat",
"download_sources": "Latauslähteet",
"result_count": "{{resultCount}} tulosta",
"filter_count": "{{filterCount}} saatavilla",
"clear_filters": "Tyhjennä {{filterCount}} valittua"
},
"game_details": {
"open_download_options": "Avaa lähteet",
"download_options_zero": "Ei lähteitä",
"download_options_one": "{{count}} lähde",
"download_options_other": "{{count}} lähdettä",
"updated_at": "Päivitetty {{updated_at}}",
"install": "Asenna",
"resume": "Jatka",
"pause": "Keskeytä",
"cancel": "Peruuta",
"remove": "Poista",
"space_left_on_disk": "{{space}} vapaana levyltä",
"eta": "Lopetus {{eta}}",
"calculating_eta": "Lasketaan jäljellä olevaa aikaa…",
"downloading_metadata": "Ladataan metatietoja…",
"filter": "Hae repackeja",
"requirements": "Järjestelmävaatimukset",
"minimum": "Minimi",
"recommended": "Suositeltu",
"paused": "Keskeytetty",
"release_date": "Julkaistu {{date}}",
"publisher": "Julkaisija {{publisher}}",
"hours": "tuntia",
"minutes": "minuuttia",
"amount_hours": "{{amount}} tuntia",
"amount_minutes": "{{amount}} minuuttia",
"accuracy": "tarkkuus {{accuracy}}%",
"add_to_library": "Lisää kirjastoon",
"already_in_library": "Jo kirjastossa",
"remove_from_library": "Poista kirjastosta",
"no_downloads": "Ei saatavilla olevia lähteitä",
"play_time": "Pelattu {{amount}}",
"last_time_played": "Viimeksi pelattu {{period}}",
"not_played_yet": "Et ole vielä pelannut {{title}}",
"next_suggestion": "Seuraava ehdotus",
"play": "Pelaa",
"deleting": "Poistetaan asennustiedostoa…",
"close": "Sulje",
"playing_now": "Käynnissä",
"change": "Vaihda",
"repacks_modal_description": "Valitse repack ladattavaksi",
"select_folder_hint": "Vaihtaaksesi oletuslatauskansiota, avaa <0>Asetukset</0>",
"download_now": "Lataa nyt",
"no_shop_details": "Kuvausta ei saatu",
"download_options": "Lähteet",
"download_path": "Latauspolku",
"previous_screenshot": "Edellinen kuvakaappaus",
"next_screenshot": "Seuraava kuvakaappaus",
"screenshot": "Kuvakaappaus {{number}}",
"open_screenshot": "Avaa kuvakaappaus {{number}}",
"download_settings": "Latausasetukset",
"downloader": "Lataaja",
"select_executable": "Valitse",
"no_executable_selected": "Tiedostoa ei valittu",
"open_folder": "Avaa kansio",
"open_download_location": "Selaa latauskansio",
"create_shortcut": "Luo työpöydän pikakuvake",
"create_shortcut_simple": "Luo pikakuvake",
"clear": "Tyhjennä",
"remove_files": "Poista tiedostot",
"remove_from_library_title": "Oletko varma?",
"remove_from_library_description": "{{game}} poistetaan kirjastostasi.",
"options": "Asetukset",
"properties": "Ominaisuudet",
"executable_section_title": "Tiedosto",
"executable_section_description": "Polku tiedostoon, joka käynnistetään kun painat \"Pelaa\"",
"downloads_section_title": "Lataukset",
"downloads_section_description": "Tarkista päivitysten tai muiden peliversioiden saatavuus",
"danger_zone_section_title": "Vaaravyöhyke",
"danger_zone_section_description": "Voit poistaa tämän pelin kirjastostasi tai Hydrasta ladatut tiedostot",
"download_in_progress": "Lataus käynnissä",
"download_paused": "Lataus keskeytetty",
"last_downloaded_option": "Viimeisin latausvaihtoehto",
"create_steam_shortcut": "Luo Steam-pikakuvake",
"create_shortcut_success": "Pikakuvake luotu",
"you_might_need_to_restart_steam": "Saattaa olla, että sinun on käynnistettävä Steam uudelleen nähdäksesi muutokset",
"create_shortcut_error": "Pikakuvakkeen luonti epäonnistui",
"add_to_favorites": "Lisää suosikkeihin",
"remove_from_favorites": "Poista suosikeista",
"failed_update_favorites": "Suosikkien päivitys epäonnistui",
"game_removed_from_library": "Peli poistettu kirjastosta",
"failed_remove_from_library": "Poistaminen kirjastosta epäonnistui",
"files_removed_success": "Tiedostot poistettu onnistuneesti",
"failed_remove_files": "Tiedostojen poisto epäonnistui",
"nsfw_content_title": "Tämä peli sisältää sopimatonta sisältöä",
"nsfw_content_description": "{{title}} sisältää sisältöä, joka ei välttämättä sovellu kaikenikäisille. \nOletko varma, että haluat jatkaa?",
"allow_nsfw_content": "Jatka",
"refuse_nsfw_content": "Takaisin",
"stats": "Tilastot",
"download_count": "Lataukset",
"player_count": "Aktiiviset pelaajat",
"download_error": "Tämä latausvaihtoehto ei ole saatavilla",
"download": "Lataa",
"executable_path_in_use": "Suoritettavaa tiedostoa käyttää jo \"{{game}}\"",
"warning": "Varoitus:",
"hydra_needs_to_remain_open": "Tämän latauksen aikana Hydran on pysyttävä auki, kunnes se on valmis. Jos Hydra sulkeutuu ennen valmistumista, menetät edistymisen.",
"achievements": "Saavutukset",
"achievements_count": "Saavutukset {{unlockedCount}}/{{achievementsCount}}",
"show_more": "Näytä enemmän",
"show_less": "Näytä vähemmän",
"reviews": "Arvostelut",
"leave_a_review": "Jätä arvostelu",
"write_review_placeholder": "Jaa ajatuksesi tästä pelistä...",
"sort_newest": "Uusimmat ensin",
"no_reviews_yet": "Ei vielä arvosteluja",
"be_first_to_review": "Ole ensimmäinen, joka jakaa ajatuksensa tästä pelistä!",
"sort_oldest": "Vanhimmat ensin",
"sort_highest_score": "Korkein pistemäärä",
"sort_lowest_score": "Matalin pistemäärä",
"sort_most_voted": "Eniten äänestetyt",
"rating": "Arvio",
"rating_stats": "Arvio",
"rating_very_negative": "Erittäin negatiivinen",
"rating_negative": "Negatiivinen",
"rating_neutral": "Neutraali",
"rating_positive": "Positiivinen",
"rating_very_positive": "Erittäin positiivinen",
"submit_review": "Lähetä",
"submitting": "Lähetetään...",
"review_submitted_successfully": "Arvostelu lähetetty onnistuneesti!",
"review_submission_failed": "Arvostelun lähettäminen epäonnistui. Yritä uudelleen.",
"review_cannot_be_empty": "Arvostelun tekstikenttä ei voi olla tyhjä.",
"review_deleted_successfully": "Arvostelu poistettu onnistuneesti.",
"review_deletion_failed": "Arvostelun poisto epäonnistui. Yritä uudelleen.",
"loading_reviews": "Ladataan arvosteluja...",
"loading_more_reviews": "Ladataan lisää arvosteluja...",
"load_more_reviews": "Lataa lisää arvosteluja",
"you_seemed_to_enjoy_this_game": "Näyttää siltä, että nautit tästä pelistä",
"would_you_recommend_this_game": "Haluatko jättää arvion tästä pelistä?",
"yes": "Kyllä",
"maybe_later": "Ehkä myöhemmin",
"rating_count": "Arvio",
"delete_review": "Poista arvostelu",
"remove_review": "Poista arvostelu",
"delete_review_modal_title": "Haluatko varmasti poistaa arvostelusi?",
"delete_review_modal_description": "Tätä toimintoa ei voi peruuttaa.",
"delete_review_modal_delete_button": "Poista",
"delete_review_modal_cancel_button": "Peruuta",
"show_original": "Näytä alkuperäinen",
"show_translation": "Näytä käännös",
"show_original_translated_from": "Näytä alkuperäinen (käännös kielestä {{language}})",
"hide_original": "Piilota alkuperäinen",
"cloud_save": "Pilvitallennus",
"cloud_save_description": "Tallenna edistymisesi pilveen ja jatka pelaamista millä tahansa laitteella",
"backups": "Varmuuskopiot",
"install_backup": "Asenna",
"delete_backup": "Poista",
"create_backup": "Luo uusi varmuuskopio",
"last_backup_date": "Viimeisin varmuuskopio {{date}}",
"no_backup_preview": "Tallennuksia ei löytynyt tälle otsikolle",
"restoring_backup": "Palautetaan varmuuskopiota ({{progress}} valmis)…",
"uploading_backup": "Ladataan varmuuskopiota…",
"no_backups": "Et ole vielä luonut varmuuskopioita tästä pelistä",
"backup_uploaded": "Varmuuskopio ladattu",
"backup_failed": "Varmuuskopiointi epäonnistui",
"backup_deleted": "Varmuuskopio poistettu",
"backup_restored": "Varmuuskopio palautettu",
"see_all_achievements": "Näytä kaikki saavutukset",
"sign_in_to_see_achievements": "Kirjaudu sisään nähdäksesi saavutukset",
"mapping_method_automatic": "Automaattinen",
"mapping_method_manual": "Manuaalinen",
"mapping_method_label": "Kartoitusmenetelmä",
"files_automatically_mapped": "Tiedostot kartoitetu automaattisesti",
"no_backups_created": "Tälle pelille ei ole luotu varmuuskopioita",
"manage_files": "Hallitse tiedostoja",
"loading_save_preview": "Etsitään tallennuksia…",
"wine_prefix": "Wine-etuliite",
"wine_prefix_description": "Tässä pelissä käytettävä Wine-etuliite",
"launch_options": "Käynnistysvalinnat",
"launch_options_description": "Edistyneet käyttäjät voivat tehdä muutoksia käynnistysvalintoihin",
"launch_options_placeholder": "Valintaa ei määritetty",
"no_download_option_info": "Tietoja ei saatavilla",
"backup_deletion_failed": "Varmuuskopion poisto epäonnistui",
"max_number_of_artifacts_reached": "Tämän pelin enimmäismäärä varmuuskopioita saavutettu",
"achievements_not_sync": "Saavutuksesi eivät ole synkronoidut",
"manage_files_description": "Hallitse tallennettavia ja palautettavia tiedostoja",
"select_folder": "Valitse kansio",
"backup_from": "Varmuuskopio {{date}}",
"automatic_backup_from": "Automaattinen varmuuskopio {{date}}",
"enable_automatic_cloud_sync": "Ota automaattinen pilvisynkronointi käyttöön",
"custom_backup_location_set": "Mukautettu varmuuskopiosijainti asetettu",
"no_directory_selected": "Hakemistoa ei valittu",
"no_write_permission": "Ei voi ladata tähän hakemistoon. Napsauta tästä saadaksesi lisätietoja.",
"reset_achievements": "Nollaa saavutukset",
"reset_achievements_description": "Tämä nollaa kaikki saavutukset pelille {{game}}",
"reset_achievements_title": "Oletko varma?",
"reset_achievements_success": "Saavutukset nollattu onnistuneesti",
"reset_achievements_error": "Saavutusten nollaus epäonnistui",
"download_error_gofile_quota_exceeded": "Olet ylittänyt Gofilen kuukausikiintiön. Odota, kunnes kiintiö palautuu.",
"download_error_real_debrid_account_not_authorized": "Real-Debrid -tilisi ei ole valtuutettu suorittamaan uusia latauksia. Tarkista tilin asetukset ja yritä uudelleen.",
"download_error_not_cached_on_real_debrid": "Tämä lataus ei ole saatavilla Real-Debridissä, eikä lataustilan hakeminen Real-Debridistä ole toistaiseksi mahdollista.",
"update_playtime_title": "Päivitä peliaika",
"update_playtime_description": "Päivitä pelin {{game}} peliaika manuaalisesti",
"update_playtime": "Päivitä peliaika",
"update_playtime_success": "Peliaika päivitetty onnistuneesti",
"update_playtime_error": "Peliajan päivitys epäonnistui",
"update_game_playtime": "Päivitä peliaika",
"manual_playtime_warning": "Pelituntisi merkitään manuaalisesti päivitetyiksi. Tätä toimintoa ei voi peruuttaa.",
"manual_playtime_tooltip": "Tämä peliaika on päivitetty manuaalisesti",
"download_error_not_cached_on_torbox": "Tämä lataus ei ole saatavilla TorBoxissa, eikä lataustilan hakeminen TorBoxista ole toistaiseksi mahdollista.",
"download_error_not_cached_on_hydra": "Tämä lataus ei ole saatavilla Nimbuksessa.",
"game_removed_from_favorites": "Peli poistettu suosikeista",
"game_added_to_favorites": "Peli lisätty suosikkeihin",
"game_removed_from_pinned": "Peli poistettu kiinnitetyistä",
"game_added_to_pinned": "Peli lisätty kiinnitettyihin",
"automatically_extract_downloaded_files": "Pura ladatut tiedostot automaattisesti",
"create_start_menu_shortcut": "Luo Käynnistä-valikon pikakuvake",
"invalid_wine_prefix_path": "Virheellinen Wine-etuliitteen polku",
"invalid_wine_prefix_path_description": "Wine-etuliitteen polku on virheellinen. Tarkista polku ja yritä uudelleen.",
"missing_wine_prefix": "Wine-etuliite vaaditaan varmuuskopiointiin Linuxissa",
"artifact_renamed": "Varmuuskopio nimettiin uudelleen onnistuneesti",
"rename_artifact": "Nimeä varmuuskopio uudelleen",
"rename_artifact_description": "Anna varmuuskopiolle kuvaavampi nimi.",
"artifact_name_label": "Varmuuskopion nimi",
"artifact_name_placeholder": "Syötä nimi varmuuskopiolle",
"save_changes": "Tallenna muutokset",
"required_field": "Tämä kenttä on pakollinen",
"max_length_field": "Tämän kentän on oltava alle {{length}} merkkiä",
"freeze_backup": "Kiinnitä, jotta sitä ei ylikirjoiteta automaattisilla varmuuskopioilla",
"unfreeze_backup": "Poista kiinnitys",
"backup_frozen": "Varmuuskopio kiinnitetty",
"backup_unfrozen": "Varmuuskopion kiinnitys poistettu",
"backup_freeze_failed": "Varmuuskopion kiinnitys epäonnistui",
"backup_freeze_failed_description": "Sinun on jätettävä vähintään yksi paikka vapaaksi automaattisille varmuuskopioille",
"edit_game_modal_button": "Muokkaa pelin tietoja",
"game_details": "Pelin tiedot",
"currency_symbol": "€",
"currency_country": "fi",
"prices": "Hinnat",
"no_prices_found": "Hintoja ei löytynyt",
"view_all_prices": "Napsauta nähdäksesi kaikki hinnat",
"retail_price": "Vähittäishinta",
"keyshop_price": "Keyshop-hinta",
"historical_retail": "Historialliset vähittäishinnat",
"historical_keyshop": "Historialliset keyshop-hinnat",
"language": "Kieli",
"caption": "Tekstitys",
"audio": "Ääni",
"filter_by_source": "Suodata lähteen mukaan",
"no_repacks_found": "Tämän pelin lähteitä ei löytynyt"
},
"activation": {
"title": "Aktivoi Hydra",
"installation_id": "Asennustunnus:",
"enter_activation_code": "Syötä aktivointikoodisi",
"message": "Jos et tiedä mistä sitä pyytää, sinun ei pitäisi sitä olla.",
"activate": "Aktivoi",
"loading": "Ladataan…"
},
"downloads": {
"resume": "Jatka",
"pause": "Keskeytä",
"eta": "Lopetus {{eta}}",
"paused": "Keskeytetty",
"verifying": "Tarkistetaan…",
"completed": "Valmis",
"removed": "Ei ladattu",
"cancel": "Peruuta",
"filter": "Hae ladattuja pelejä",
"remove": "Poista",
"downloading_metadata": "Ladataan metatietoja…",
"deleting": "Poistetaan asennustiedostoa…",
"delete": "Poista asennustiedosto",
"delete_modal_title": "Oletko varma?",
"delete_modal_description": "Tämä poistaa kaikki asennustiedostot tietokoneeltasi",
"install": "Asenna",
"download_in_progress": "Käynnissä",
"queued_downloads": "Jonossa olevat lataukset",
"downloads_completed": "Valmiit",
"queued": "Jonossa",
"no_downloads_title": "Täällä on niin tyhjää...",
"no_downloads_description": "Et ole vielä ladannut mitään Hydran kautta, mutta ei ole koskaan liian myöhäistä aloittaa.",
"checking_files": "Tarkistetaan tiedostoja…",
"seeding": "Jakaminen",
"stop_seeding": "Lopeta jakaminen",
"resume_seeding": "Jatka jakamista",
"options": "Hallinnoi",
"extract": "Pura tiedostot",
"extracting": "Puretaan tiedostoja…"
},
"settings": {
"downloads_path": "Latausten polku",
"change": "Vaihda",
"notifications": "Ilmoitukset",
"enable_download_notifications": "Latauksen valmistuessa",
"enable_repack_list_notifications": "Kun uusi repack lisätään",
"real_debrid_api_token_label": "Real-Debrid API-tunnus",
"quit_app_instead_hiding": "Sovellus sulkeutuu system tray -alueelle sijasta",
"launch_with_system": "Käynnistä Hydra järjestelmän mukana",
"general": "Yleiset",
"behavior": "Käyttäytyminen",
"download_sources": "Latauslähteet",
"language": "Kieli",
"api_token": "API-avain",
"enable_real_debrid": "Ota Real-Debrid käyttöön",
"real_debrid_description": "Real-Debrid on rajoittamaton lataaja, jonka avulla voit ladata nopeasti verkossa olevia tiedostoja tai striimata ne välittömästi soittimeen yksityisen verkon kautta, joka kiertää kaikki estot.",
"debrid_invalid_token": "Virheellinen API-avain",
"debrid_api_token_hint": "API-avain voidaan hankkia <0>täältä</0>",
"real_debrid_free_account_error": "Tili \"{{username}}\" - ei ole tilaus. Ota Real-Debrid-tilaus",
"debrid_linked_message": "Tili \"{{username}}\" linkitetty",
"save_changes": "Tallenna muutokset",
"changes_saved": "Muutokset tallennettu onnistuneesti",
"download_sources_description": "Hydra hakee latauslinkit näistä lähteistä. URL-osoitteen on sisällettävä suora linkki .json-tiedostoon, joka sisältää latauslinkit.",
"validate_download_source": "Vahvista",
"remove_download_source": "Poista",
"add_download_source": "Lisää lähde",
"download_count_zero": "Ei latauksia listassa",
"download_count_one": "{{countFormatted}} lataus listassa",
"download_count_other": "{{countFormatted}} latausta listassa",
"download_source_url": "Lähteen URL-osoite",
"add_download_source_description": "Liitä linkki .json-tiedostoon",
"download_source_up_to_date": "Ajan tasalla",
"download_source_errored": "Virhe",
"sync_download_sources": "Päivitä lähteet",
"removed_download_source": "Lähde poistettu",
"removed_download_sources": "Lähteet poistettu",
"cancel_button_confirmation_delete_all_sources": "Ei",
"confirm_button_confirmation_delete_all_sources": "Kyllä, poista kaikki",
"title_confirmation_delete_all_sources": "Poista kaikki lähteet",
"description_confirmation_delete_all_sources": "Poistat kaikki lähteet",
"button_delete_all_sources": "Poista kaikki lähteet",
"added_download_source": "Lähde lisätty",
"download_sources_synced": "Kaikki lähteet päivitetty",
"insert_valid_json_url": "Liitä kelvollinen JSON-tiedoston URL-osoite",
"found_download_option_zero": "Ei latausvaihtoehtoja löytynyt",
"found_download_option_one": "Löytyi {{countFormatted}} latausvaihtoehto",
"found_download_option_other": "Löytyi {{countFormatted}} latausvaihtoehtoa",
"import": "Tuo",
"importing": "Tuodaan...",
"public": "Julkinen",
"private": "Yksityinen",
"friends_only": "Vain kavereille",
"privacy": "Yksityisyys",
"profile_visibility": "Profiilin näkyvyys",
"profile_visibility_description": "Valitse, kuka voi nähdä profiilisi ja kirjastosi",
"required_field": "Tämä kenttä on pakollinen",
"source_already_exists": "Tämä lähde on jo lisätty",
"must_be_valid_url": "Lähteen on oltava kelvollinen URL-osoite",
"blocked_users": "Estetyt käyttäjät",
"user_unblocked": "Käyttäjä estäminen poistettu",
"enable_achievement_notifications": "Kun saavutus avataan",
"launch_minimized": "Käynnistä Hydra pienennettynä",
"disable_nsfw_alert": "Poista sopimattoman sisällön varoitus käytöstä",
"seed_after_download_complete": "Jaa latauksen valmistumisen jälkeen",
"show_hidden_achievement_description": "Näytä piilotettujen saavutusten kuvaukset ennen niiden ansaitsemista",
"account": "Tili",
"no_users_blocked": "Sinulla ei ole estettyjä käyttäjiä",
"subscription_active_until": "Hydra Cloud -tilisi on voimassa {{date}} asti",
"manage_subscription": "Hallinnoi tilausta",
"update_email": "Päivitä sähköposti",
"update_password": "Päivitä salasana",
"current_email": "Nykyinen sähköposti:",
"no_email_account": "Et ole vielä asettanut sähköpostiosoitetta",
"account_data_updated_successfully": "Tilitiedot päivitetty onnistuneesti",
"renew_subscription": "Uusi Hydra Cloud -tilaus",
"subscription_expired_at": "Tilauksesi vanheni {{date}}",
"no_subscription": "Nauti Hydrasta täysin rinnoin",
"become_subscriber": "Tule Hydra Cloud -tilaajaksi",
"subscription_renew_cancelled": "Automaattinen uusinta peruutettu",
"subscription_renews_on": "Tilauksesi uusiutuu {{date}}",
"bill_sent_until": "Seuraava laskusi lähetetään ennen tätä päivää",
"no_themes": "Näyttää siltä, että sinulla ei vielä ole teemoja, mutta älä huoli, napsauta tästä luodaksesi ensimmäisen mestariteoksesi",
"editor_tab_code": "Koodi",
"editor_tab_info": "Tiedot",
"editor_tab_save": "Tallenna",
"web_store": "Verkkokauppa",
"clear_themes": "Tyhjennä",
"create_theme": "Luo",
"create_theme_modal_title": "Luo mukautettu teema",
"create_theme_modal_description": "Luo uusi teema Hydran ulkoasun mukauttamiseksi",
"theme_name": "Nimi",
"insert_theme_name": "Syötä teeman nimi",
"set_theme": "Aseta teema",
"unset_theme": "Poista teema",
"delete_theme": "Poista teema",
"edit_theme": "Muokkaa teemaa",
"delete_all_themes": "Poista kaikki teemat",
"delete_all_themes_description": "Tämä poistaa kaikki mukautetut teemasi",
"delete_theme_description": "Tämä poistaa teeman {{theme}}",
"cancel": "Peruuta",
"appearance": "Ulkoasu",
"debrid": "Debrid",
"debrid_description": "Debrid-palvelut ovat premium-lataajia ilman rajoituksia, joiden avulla voit ladata tiedostoja nopeasti useista tiedostonjakopalveluista, vain internet-yhteytesi nopeuden rajoittamina.",
"enable_torbox": "Ota TorBox käyttöön",
"torbox_description": "TorBox on premium-palvelusi, joka kilpailee jopa parhaimpien markkinoiden palvelimien kanssa.",
"torbox_account_linked": "TorBox-tili linkitetty",
"create_real_debrid_account": "Napsauta tästä, jos sinulla ei vielä ole Real-Debrid-tiliä",
"create_torbox_account": "Napsauta tästä, jos sinulla ei vielä ole TorBox-tiliä",
"real_debrid_account_linked": "Real-Debrid-tili linkitetty",
"name_min_length": "Teeman nimen on oltava vähintään 3 merkkiä",
"import_theme": "Tuo teema",
"import_theme_description": "Tuot teeman {{theme}} teemakaupasta",
"error_importing_theme": "Virhe teemaa tuotaessa",
"theme_imported": "Teema tuotu onnistuneesti",
"enable_friend_request_notifications": "Kun kaveripyyntö vastaanotetaan",
"enable_auto_install": "Lataa päivitykset automaattisesti",
"common_redist": "Kirjastot",
"common_redist_description": "Joidenkin pelien käyttö vaatii kirjastoja. Ongelmien välttämiseksi on suositeltavaa asentaa ne.",
"install_common_redist": "Asenna",
"installing_common_redist": "Asennetaan…",
"show_download_speed_in_megabytes": "Näytä latausnopeus megatavuina sekunnissa",
"extract_files_by_default": "Pura tiedostot oletusarvoisesti latauksen jälkeen",
"enable_steam_achievements": "Ota Steam-saavutusten haku käyttöön",
"achievement_custom_notification_position": "Saavutusilmoitusten sijainti",
"top-left": "Vasemmalla ylhäällä",
"top-center": "Yläkeskellä",
"top-right": "Oikealla ylhäällä",
"bottom-left": "Vasemmalla alhaalla",
"bottom-center": "Alakeskellä",
"bottom-right": "Oikealla alhaalla",
"enable_achievement_custom_notifications": "Ota saavutusilmoitukset käyttöön",
"alignment": "Tasaus",
"variation": "Muunnelma",
"default": "Oletus",
"rare": "Harvinainen",
"platinum": "Platina",
"hidden": "Piilotettu",
"test_notification": "Testi-ilmoitus",
"notification_preview": "Saavutusilmoituksen esikatselu",
"enable_friend_start_game_notifications": "Kun kaveri aloittaa pelin pelaamisen"
},
"notifications": {
"download_complete": "Lataus valmis",
"game_ready_to_install": "{{title}} valmis asennettavaksi",
"repack_list_updated": "Repack-lista päivitetty",
"repack_count_one": "{{count}} repack lisätty",
"repack_count_other": "{{count}} repackia lisätty",
"new_update_available": "Uusi versio {{version}} saatavilla",
"restart_to_install_update": "Käynnistä Hydra uudelleen asentaaksesi päivityksen",
"notification_achievement_unlocked_title": "Saavutus avattu pelille {{game}}",
"notification_achievement_unlocked_body": "{{achievement}} ja muut {{count}} avattiin",
"new_friend_request_description": "{{displayName}} lähetti sinulle kaveripyynnön",
"new_friend_request_title": "Uusi kaveripyyntö",
"extraction_complete": "Purkaminen valmis",
"game_extracted": "{{title}} purettu onnistuneesti",
"friend_started_playing_game": "{{displayName}} aloitti pelin pelaamisen",
"test_achievement_notification_title": "Tämä on testi-ilmoitus",
"test_achievement_notification_description": "Aika siistiä, eikö?"
},
"system_tray": {
"open": "Avaa Hydra",
"quit": "Lopeta"
},
"game_card": {
"available_one": "Saatavilla",
"available_other": "Saatavilla",
"no_downloads": "Ei saatavilla olevia lähteitä",
"calculating": "Lasketaan"
},
"binary_not_found_modal": {
"title": "Ohjelmia ei asennettu",
"description": "Wine tai Lutris ei löytynyt",
"instructions": "Opi oikea tapa asentaa kumpi tahansa Linux-jakelullesi, jotta peli toimii kunnolla"
},
"modal": {
"close": "Sulje"
},
"forms": {
"toggle_password_visibility": "Näytä salasana"
},
"user_profile": {
"amount_hours": "{{amount}} tuntia",
"amount_minutes": "{{amount}} minuuttia",
"amount_hours_short": "{{amount}}t",
"amount_minutes_short": "{{amount}}min",
"last_time_played": "Viimeisin peli {{period}}",
"activity": "Viimeisin toiminta",
"library": "Kirjasto",
"pinned": "Kiinnitetyt",
"achievements_earned": "Ansaittu saavutukset",
"played_recently": "Äskettäin pelatut",
"playtime": "Peliaika",
"total_play_time": "Yhteensä pelattu",
"manual_playtime_tooltip": "Peliaika on päivitetty manuaalisesti",
"no_recent_activity_title": "Hmm... Täällä ei ole mitään",
"no_recent_activity_description": "Et ole pelannut mitään vähään aikaan. On aika muuttaa se!",
"display_name": "Näyttönimi",
"saving": "Tallennetaan",
"save": "Tallenna",
"edit_profile": "Muokkaa profiilia",
"saved_successfully": "Tallennettu onnistuneesti",
"try_again": "Yritä uudelleen",
"sign_out_modal_title": "Oletko varma?",
"cancel": "Peruuta",
"successfully_signed_out": "Kirjauduttu ulos onnistuneesti",
"sign_out": "Kirjaudu ulos",
"playing_for": "Pelattu {{amount}}",
"sign_out_modal_text": "Kirjastosi on linkitetty nykyiseen tiliisi. Kirjautumalla ulos kirjastosi ei ole käytettävissä, eikä edistymistä tallenneta. Kirjaudu ulos?",
"add_friends": "Lisää kavereita",
"add": "Lisää",
"friend_code": "Kaverikoodi",
"see_profile": "Näytä profiili",
"sending": "Lähetetään",
"friend_request_sent": "Kaveripyyntö lähetetty",
"friends": "Kaverit",
"friends_list": "Kaverilista",
"user_not_found": "Käyttäjää ei löytynyt",
"block_user": "Estä käyttäjä",
"add_friend": "Lisää kaveriksi",
"request_sent": "Pyyntö lähetetty",
"request_received": "Pyyntö vastaanotettu",
"accept_request": "Hyväksy pyyntö",
"ignore_request": "Ohita pyyntö",
"cancel_request": "Peruuta pyyntö",
"undo_friendship": "Poista kaveri",
"request_accepted": "Pyyntö hyväksytty",
"user_blocked_successfully": "Käyttäjä estetty onnistuneesti",
"user_block_modal_text": "{{displayName}} estetään",
"blocked_users": "Estetyt käyttäjät",
"unblock": "Poista esto",
"no_friends_added": "Et ole vielä lisännyt yhtään kaveria",
"pending": "Odottaa",
"no_pending_invites": "Sinulla ei ole vasteita odottavia pyyntöjä",
"no_blocked_users": "Et ole estänyt yhtään käyttäjää",
"friend_code_copied": "Kaverikoodi kopioitu",
"undo_friendship_modal_text": "Tämä purkaa kaverisuhteen käyttäjän {{displayName}} kanssa.",
"privacy_hint": "Määrittääksesi kuka voi nähdä tämän, siirry <0>Asetuksiin</0>.",
"locked_profile": "Tämä profiili on yksityinen",
"image_process_failure": "Kuvan käsittely epäonnistui",
"required_field": "Tämä kenttä on pakollinen",
"displayname_min_length": "Näyttönimen on oltava vähintään 3 merkkiä.",
"displayname_max_length": "Näyttönimen on oltava enintään 50 merkkiä.",
"report_profile": "Ilmianna tämä profiili",
"report_reason": "Miksi ilmiannat tämän profiilin?",
"report_description": "Lisätietoja",
"report_description_placeholder": "Lisätietoja",
"report": "Ilmianna",
"report_reason_hate": "Vihapuhe",
"report_reason_sexual_content": "Seksuaalinen sisältö",
"report_reason_violence": "Väkivalta",
"report_reason_spam": "Roskaposti",
"report_reason_other": "Muu",
"profile_reported": "Profiili-ilmoitus lähetetty",
"your_friend_code": "Kaverikoodisi:",
"upload_banner": "Lataa banneri",
"uploading_banner": "Ladataan banneria...",
"background_image_updated": "Taustakuva päivitetty",
"stats": "Tilastot",
"achievements": "Saavutukset",
"games": "Pelit",
"top_percentile": "Top {{percentile}}%",
"ranking_updated_weekly": "Sijoitus päivitetään viikoittain",
"playing": "Pelaamassa {{game}}",
"achievements_unlocked": "Saavutukset avattu",
"earned_points": "Ansaitut pisteet:",
"show_achievements_on_profile": "Näytä saavutuksesi profiilissasi",
"show_points_on_profile": "Näytä ansaitut pisteet profiilissasi",
"error_adding_friend": "Kaveripyynnön lähettäminen epäonnistui. Tarkista kaverikoodi",
"friend_code_length_error": "Kaverikoodin on oltava 8 merkkiä",
"game_removed_from_pinned": "Peli poistettu kiinnitetyistä",
"game_added_to_pinned": "Peli lisätty kiinnitettyihin",
"karma": "Karma",
"karma_count": "karmaa",
"karma_description": "Ansittu positiivisilla arvosteluäänillä"
},
"achievement": {
"achievement_unlocked": "Saavutus avattu",
"user_achievements": "Käyttäjän {{displayName}} saavutukset",
"your_achievements": "Sinun saavutuksesi",
"unlocked_at": "Avattu: {{date}}",
"subscription_needed": "Hydra Cloud -tilaus tarvitaan tämän sisällön katsomiseen",
"new_achievements_unlocked": "{{achievementCount}} uutta saavutusta avattu {{gameCount}} pelistä",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} saavutusta",
"achievements_unlocked_for_game": "{{achievementCount}} uutta saavutusta avattu pelille {{gameTitle}}",
"hidden_achievement_tooltip": "Tämä on piilotettu saavutus",
"achievement_earn_points": "Ansaitse {{points}} pistettä tällä saavutuksella",
"earned_points": "Ansaitut pisteet:",
"available_points": "Saatavilla olevat pisteet:",
"how_to_earn_achievements_points": "Kuinka ansaita saavutuspisteitä?"
},
"hydra_cloud": {
"subscription_tour_title": "Hydra Cloud -tilaus",
"subscribe_now": "Tilaa nyt",
"cloud_saving": "Pilvitallennus",
"cloud_achievements": "Tallenna saavutuksesi pilveen",
"animated_profile_picture": "Animaoidut profiilikuvat",
"premium_support": "Premium-tuki",
"show_and_compare_achievements": "Näytä ja vertaile saavutuksiasi muiden käyttäjien saavutuksiin",
"animated_profile_banner": "Animoitu profiilin banneri",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "Olet juuri löytänyt Hydra Cloud -toiminnon!",
"learn_more": "Lue lisää",
"debrid_description": "Lataa 4 kertaa nopeammin Nimbuksella"
}
}

View File

@@ -1,9 +1,15 @@
{
"language_name": "Français",
"app": {
"successfully_signed_in": "Connecté avec succès"
},
"home": {
"featured": "En vedette",
"surprise_me": "Surprenez-moi",
"no_results": "Aucun résultat trouvé"
"no_results": "Aucun résultat trouvé",
"start_typing": "Commencez à taper pour rechercher...",
"hot": "Tendance",
"weekly": "📅 Meilleurs jeux de la semaine",
"achievements": "🏆 Jeux à terminer"
},
"sidebar": {
"catalogue": "Catalogue",
@@ -12,24 +18,47 @@
"my_library": "Ma bibliothèque",
"downloading_metadata": "{{title}} (Téléchargement des métadonnées…)",
"paused": "{{title}} (En pause)",
"downloading": "{{title}} ({{percentage}} - Téléchargement en cours…)",
"downloading": "{{title}} ({{percentage}} - Téléchargement…)",
"filter": "Filtrer la bibliothèque",
"home": "Page daccueil",
"favorites": "Favoris"
"home": "Page d'accueil",
"queued": "{{title}} (En file d'attente)",
"game_has_no_executable": "Aucun exécutable sélectionné pour ce jeu",
"sign_in": "Se connecter",
"friends": "Amis",
"need_help": "Besoin d'aide ?",
"favorites": "Favoris",
"playable_button_title": "Afficher uniquement les jeux que vous pouvez jouer maintenant"
},
"header": {
"search": "Recherche",
"search": "Rechercher",
"home": "Accueil",
"catalogue": "Catalogue",
"downloads": "Téléchargements",
"search_results": "Résultats de la recherche",
"settings": "Paramètres",
"home": "Accueil"
"version_available_install": "Version {{version}} disponible. Cliquez ici pour redémarrer et installer.",
"version_available_download": "Version {{version}} disponible. Cliquez ici pour télécharger."
},
"bottom_panel": {
"no_downloads_in_progress": "Aucun téléchargement en cours",
"downloading_metadata": "Téléchargement des métadonnées de {{title}}…",
"downloading": "Téléchargement de {{title}}… ({{percentage}} terminé) - Fin dans {{eta}} - {{speed}}"
"downloading": "Téléchargement de {{title}}… ({{percentage}} terminé) - Fin dans {{eta}} - {{speed}}",
"calculating_eta": "Téléchargement de {{title}}… ({{percentage}} terminé) - Calcul du temps restant…",
"checking_files": "Vérification des fichiers de {{title}}… ({{percentage}} terminé)",
"installing_common_redist": "{{log}}…",
"installation_complete": "Installation terminée",
"installation_complete_message": "Redistribuables communs installés avec succès"
},
"catalogue": {
"search": "Filtrer…",
"developers": "Développeurs",
"genres": "Genres",
"tags": "Tags",
"publishers": "Éditeurs",
"download_sources": "Sources de téléchargement",
"result_count": "{{resultCount}} résultats",
"filter_count": "{{filterCount}} disponibles",
"clear_filters": "Effacer {{filterCount}} sélectionnés"
},
"game_details": {
"open_download_options": "Ouvrir les options de téléchargement",
@@ -37,36 +66,139 @@
"download_options_one": "{{count}} option de téléchargement",
"download_options_other": "{{count}} options de téléchargement",
"updated_at": "Mis à jour le {{updated_at}}",
"install": "Installer",
"resume": "Reprendre",
"pause": "Pause",
"cancel": "Annuler",
"remove": "Supprimer",
"space_left_on_disk": "{{space}} restant sur le disque",
"space_left_on_disk": "{{space}} restants sur le disque",
"eta": "Fin dans {{eta}}",
"downloading_metadata": "Téléchargement des métadonnées en cours…",
"calculating_eta": "Calcul du temps restant…",
"downloading_metadata": "Téléchargement des métadonnées…",
"filter": "Filtrer les repacks",
"requirements": "Configuration requise",
"minimum": "Minimum",
"recommended": "Recommandée",
"paused": "En pause",
"release_date": "Sorti le {{date}}",
"publisher": "Édité par {{publisher}}",
"publisher": "Publié par {{publisher}}",
"hours": "heures",
"minutes": "minutes",
"amount_hours": "{{amount}} heures",
"amount_minutes": "{{amount}} minutes",
"accuracy": "{{accuracy}}% précision",
"add_to_library": "Ajouter à la bibliothèque",
"remove_from_library": "Supprimer de la bibliothèque",
"remove_from_library": "Retirer de la bibliothèque",
"no_downloads": "Aucun téléchargement disponible",
"next_suggestion": "Suggestion suivante",
"play_time": "Joué pour {{amount}}",
"install": "Installer",
"play": "Jouer",
"play_time": "{{amount}} de temps de jeu",
"last_time_played": "Dernière partie {{period}}",
"not_played_yet": "Vous n'avez pas encore joué à {{title}}",
"next_suggestion": "Suggestion suivante",
"play": "Jouer",
"deleting": "Suppression de l'installateur…",
"close": "Fermer",
"deleting": "Suppression du programme d'installation…",
"playing_now": "Jeu en cours",
"last_time_played": "Dernièrement joué {{period}}"
"playing_now": "En cours de jeu",
"change": "Changer",
"repacks_modal_description": "Choisissez le repack que vous souhaitez télécharger",
"select_folder_hint": "Pour changer le dossier par défaut, allez dans les <0>Paramètres</0>",
"download_now": "Télécharger maintenant",
"no_shop_details": "Impossible d'obtenir les détails du magasin.",
"download_options": "Options de téléchargement",
"download_path": "Emplacement de téléchargement",
"previous_screenshot": "Capture précédente",
"next_screenshot": "Capture suivante",
"screenshot": "Capture d'écran {{number}}",
"open_screenshot": "Ouvrir la capture {{number}}",
"download_settings": "Paramètres de téléchargement",
"downloader": "Téléchargeur",
"select_executable": "Sélectionner",
"no_executable_selected": "Aucun exécutable sélectionné",
"open_folder": "Ouvrir le dossier",
"open_download_location": "Voir les fichiers téléchargés",
"create_shortcut": "Créer un raccourci sur le bureau",
"clear": "Effacer",
"remove_files": "Supprimer les fichiers",
"remove_from_library_title": "Êtes-vous sûr ?",
"remove_from_library_description": "Ceci supprimera {{game}} de votre bibliothèque",
"options": "Options",
"executable_section_title": "Exécutable",
"executable_section_description": "Chemin du fichier lancé quand \"Jouer\" est cliqué",
"downloads_section_title": "Téléchargements",
"downloads_section_description": "Découvrez les mises à jour ou autres versions de ce jeu",
"danger_zone_section_title": "Zone de danger",
"danger_zone_section_description": "Supprimez ce jeu de votre bibliothèque ou les fichiers téléchargés par Hydra",
"download_in_progress": "Téléchargement en cours",
"download_paused": "Téléchargement en pause",
"last_downloaded_option": "Dernière option téléchargée",
"create_shortcut_success": "Raccourci créé avec succès",
"create_shortcut_error": "Erreur lors de la création du raccourci",
"nsfw_content_title": "Ce jeu contient du contenu inapproprié",
"nsfw_content_description": "{{title}} contient du contenu pouvant ne pas convenir à tous les âges. Voulez-vous continuer ?",
"allow_nsfw_content": "Continuer",
"refuse_nsfw_content": "Retourner",
"stats": "Statistiques",
"download_count": "Téléchargements",
"player_count": "Joueurs actifs",
"download_error": "Cette option de téléchargement n'est pas disponible",
"download": "Télécharger",
"executable_path_in_use": "Exécutable déjà utilisé par \"{{game}}\"",
"warning": "Attention :",
"hydra_needs_to_remain_open": "Pour ce téléchargement, Hydra doit rester ouvert jusqu'à la fin. Si Hydra se ferme avant, la progression sera perdue.",
"achievements": "Succès",
"achievements_count": "Succès {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Sauvegarde Cloud",
"cloud_save_description": "Sauvegardez vos progrès dans le cloud et continuez à jouer sur n'importe quel appareil",
"backups": "Sauvegardes",
"install_backup": "Restaurer",
"delete_backup": "Supprimer",
"create_backup": "Nouvelle sauvegarde",
"last_backup_date": "Dernière sauvegarde le {{date}}",
"no_backup_preview": "Aucune sauvegarde trouvée pour ce titre",
"restoring_backup": "Restauration de la sauvegarde ({{progress}} terminé)…",
"uploading_backup": "Envoi de la sauvegarde…",
"no_backups": "Vous n'avez pas encore créé de sauvegarde pour ce jeu",
"backup_uploaded": "Sauvegarde envoyée",
"backup_deleted": "Sauvegarde supprimée",
"backup_restored": "Sauvegarde restaurée",
"see_all_achievements": "Voir tous les succès",
"sign_in_to_see_achievements": "Connectez-vous pour voir les succès",
"mapping_method_automatic": "Automatique",
"mapping_method_manual": "Manuel",
"mapping_method_label": "Méthode de mappage",
"files_automatically_mapped": "Fichiers mappés automatiquement",
"no_backups_created": "Aucune sauvegarde créée pour ce jeu",
"manage_files": "Gérer les fichiers",
"loading_save_preview": "Recherche de jeux sauvegardés…",
"wine_prefix": "Wine Prefix",
"wine_prefix_description": "Le préfixe Wine utilisé pour lancer ce jeu",
"launch_options": "Options de lancement",
"launch_options_description": "Les utilisateurs avancés peuvent modifier les options de lancement (fonction expérimentale)",
"launch_options_placeholder": "Aucun paramètre spécifié",
"no_download_option_info": "Pas d'information disponible",
"backup_deletion_failed": "Échec de la suppression de la sauvegarde",
"max_number_of_artifacts_reached": "Nombre maximal de sauvegardes atteint pour ce jeu",
"achievements_not_sync": "Voir comment synchroniser vos succès",
"manage_files_description": "Gérer les fichiers qui seront sauvegardés et restaurés",
"select_folder": "Sélectionner un dossier",
"backup_from": "Sauvegarde du {{date}}",
"automatic_backup_from": "Sauvegarde automatique du {{date}}",
"enable_automatic_cloud_sync": "Activer la synchronisation cloud automatique",
"custom_backup_location_set": "Emplacement de sauvegarde personnalisé défini",
"no_directory_selected": "Aucun dossier sélectionné",
"no_write_permission": "Impossible de télécharger dans ce dossier. Cliquez ici pour en savoir plus.",
"reset_achievements": "Réinitialiser les succès",
"reset_achievements_description": "Ceci réinitialisera tous les succès pour {{game}}",
"reset_achievements_title": "Êtes-vous sûr ?",
"reset_achievements_success": "Succès réinitialisés avec succès",
"reset_achievements_error": "Échec de la réinitialisation des succès",
"download_error_gofile_quota_exceeded": "Vous avez dépassé votre quota mensuel Gofile. Attendez la remise à zéro du quota.",
"download_error_real_debrid_account_not_authorized": "Votre compte Real-Debrid n'est pas autorisé à effectuer de nouveaux téléchargements. Veuillez vérifier les paramètres de votre compte et réessayer.",
"download_error_not_cached_on_real_debrid": "Ce téléchargement n'est pas disponible sur Real-Debrid, et le suivi n'est pas encore disponible.",
"download_error_not_cached_on_torbox": "Ce téléchargement n'est pas disponible sur TorBox, et le suivi n'est pas encore disponible.",
"download_error_not_cached_on_hydra": "Ce téléchargement n'est pas disponible sur Nimbus.",
"game_removed_from_favorites": "Jeu retiré des favoris",
"game_added_to_favorites": "Jeu ajouté aux favoris",
"automatically_extract_downloaded_files": "Extraire automatiquement les fichiers téléchargés"
},
"activation": {
"title": "Activer Hydra",
@@ -83,51 +215,302 @@
"paused": "En pause",
"verifying": "Vérification en cours…",
"completed": "Terminé",
"removed": "Non téléchargé",
"cancel": "Annuler",
"filter": "Filtrer les jeux téléchargés",
"remove": "Supprimer",
"downloading_metadata": "Téléchargement des métadonnées en cours…",
"delete": "Supprimer le programme d'installation",
"delete_modal_description": "Cela supprimera tous les fichiers d'installation de votre ordinateur",
"delete_modal_title": "Es-tu sûr?",
"deleting": "Suppression du programme d'installation…",
"install": "Installer"
"delete": "Supprimer le programme d'installation",
"delete_modal_title": "Êtes-vous sûr ?",
"delete_modal_description": "Cela supprimera tous les fichiers d'installation de votre ordinateur",
"install": "Installer",
"download_in_progress": "En cours",
"queued_downloads": "Téléchargements en attente",
"downloads_completed": "Terminés",
"queued": "En attente",
"no_downloads_title": "Tellement vide",
"no_downloads_description": "Vous n'avez encore rien téléchargé avec Hydra, mais il n'est jamais trop tard pour commencer.",
"checking_files": "Vérification des fichiers…",
"seeding": "Partage",
"stop_seeding": "Arrêter le partage",
"resume_seeding": "Reprendre le partage",
"options": "Gérer",
"extract": "Extraire les fichiers",
"extracting": "Extraction des fichiers…"
},
"settings": {
"downloads_path": "Chemin des téléchargements",
"change": "Mettre à jour",
"notifications": "Notifications",
"enable_download_notifications": "Quand un téléchargement est terminé",
"enable_repack_list_notifications": "Quand un nouveau repack est ajouté",
"enable_download_notifications": "Lorsqu'un téléchargement est terminé",
"enable_repack_list_notifications": "Lorsqu'un nouveau repack est ajouté",
"real_debrid_api_token_label": "Jeton API Real-Debrid",
"quit_app_instead_hiding": "Ne pas masquer Hydra à la fermeture",
"launch_with_system": "Lancer Hydra au démarrage du système",
"general": "Général",
"behavior": "Comportement",
"download_sources": "Sources de téléchargement",
"language": "Langue",
"api_token": "Jeton API",
"enable_real_debrid": "Activer Real-Debrid",
"real_debrid_description": "Real-Debrid est un téléchargeur sans restriction qui vous permet de télécharger rapidement des fichiers, uniquement limités par votre vitesse Internet.",
"debrid_invalid_token": "Jeton API invalide",
"debrid_api_token_hint": "Vous pouvez obtenir votre jeton API <0>ici</0>",
"real_debrid_free_account_error": "Le compte \"{{username}}\" est un compte gratuit. Veuillez vous abonner à Real-Debrid",
"debrid_linked_message": "Compte \"{{username}}\" lié",
"save_changes": "Enregistrer les modifications",
"changes_saved": "Modifications enregistrées avec succès",
"download_sources_description": "Hydra récupère les liens de téléchargement à partir de ces sources. L'URL source doit être un lien direct vers un fichier .json contenant les liens de téléchargement.",
"validate_download_source": "Valider",
"remove_download_source": "Supprimer",
"add_download_source": "Ajouter une source",
"download_count_zero": "Aucune option de téléchargement",
"download_count_one": "{{countFormatted}} option de téléchargement",
"download_count_other": "{{countFormatted}} options de téléchargement",
"download_source_url": "URL de la source",
"add_download_source_description": "Insérez l'URL du fichier .json",
"download_source_up_to_date": "À jour",
"download_source_errored": "Erreur",
"sync_download_sources": "Synchroniser les sources",
"removed_download_source": "Source de téléchargement supprimée",
"removed_download_sources": "Sources de téléchargement supprimées",
"cancel_button_confirmation_delete_all_sources": "Non",
"confirm_button_confirmation_delete_all_sources": "Oui, tout supprimer",
"description_confirmation_delete_all_sources": "Vous supprimerez toutes les sources de téléchargement",
"title_confirmation_delete_all_sources": "Supprimer toutes les sources de téléchargement",
"removed_download_sources": "Sources de téléchargement supprimées",
"button_delete_all_sources": "Supprimer toutes les sources de téléchargement"
"description_confirmation_delete_all_sources": "Vous supprimerez toutes les sources de téléchargement",
"button_delete_all_sources": "Tout supprimer",
"added_download_source": "Source de téléchargement ajoutée",
"download_sources_synced": "Toutes les sources de téléchargement sont synchronisées",
"insert_valid_json_url": "Insérez une URL JSON valide",
"found_download_option_zero": "Aucune option de téléchargement trouvée",
"found_download_option_one": "{{countFormatted}} option trouvée",
"found_download_option_other": "{{countFormatted}} options trouvées",
"import": "Importer",
"public": "Publique",
"private": "Privé",
"friends_only": "Amis uniquement",
"privacy": "Confidentialité",
"profile_visibility": "Visibilité du profil",
"profile_visibility_description": "Choisissez qui peut voir votre profil et bibliothèque",
"required_field": "Ce champ est requis",
"source_already_exists": "Cette source a déjà été ajoutée",
"must_be_valid_url": "La source doit être une URL valide",
"blocked_users": "Utilisateurs bloqués",
"user_unblocked": "Utilisateur débloqué",
"enable_achievement_notifications": "Quand un succès est débloqué",
"launch_minimized": "Lancer Hydra minimisé",
"disable_nsfw_alert": "Désactiver l'alerte NSFW",
"seed_after_download_complete": "Partager après téléchargement",
"show_hidden_achievement_description": "Afficher la description des succès cachés avant de les débloquer",
"account": "Compte",
"no_users_blocked": "Aucun utilisateur bloqué",
"subscription_active_until": "Votre Hydra Cloud est actif jusqu'au {{date}}",
"manage_subscription": "Gérer l'abonnement",
"update_email": "Modifier l'email",
"update_password": "Modifier le mot de passe",
"current_email": "Email actuel :",
"no_email_account": "Vous n'avez pas encore défini d'email",
"account_data_updated_successfully": "Informations du compte mises à jour",
"renew_subscription": "Renouveler Hydra Cloud",
"subscription_expired_at": "Votre abonnement a expiré le {{date}}",
"no_subscription": "Profitez d'Hydra de la meilleure façon possible",
"become_subscriber": "Devenir membre Hydra Cloud",
"subscription_renew_cancelled": "Le renouvellement automatique est désactivé",
"subscription_renews_on": "Votre abonnement sera renouvelé le {{date}}",
"bill_sent_until": "Votre prochaine facture sera envoyée à cette date",
"no_themes": "Vous n'avez pas encore de thèmes, cliquez ici pour créer votre premier chef-d'œuvre.",
"editor_tab_code": "Code",
"editor_tab_info": "Info",
"editor_tab_save": "Enregistrer",
"web_store": "Web store",
"clear_themes": "Effacer",
"create_theme": "Créer",
"create_theme_modal_title": "Créer un thème personnalisé",
"create_theme_modal_description": "Créer un nouveau thème pour personnaliser l'apparence d'Hydra",
"theme_name": "Nom du thème",
"insert_theme_name": "Entrez le nom du thème",
"set_theme": "Activer le thème",
"unset_theme": "Désactiver le thème",
"delete_theme": "Supprimer le thème",
"edit_theme": "Modifier le thème",
"delete_all_themes": "Supprimer tous les thèmes",
"delete_all_themes_description": "Cela supprimera tous vos thèmes personnalisés",
"delete_theme_description": "Cela supprimera le thème {{theme}}",
"cancel": "Annuler",
"appearance": "Apparence",
"enable_torbox": "Activer TorBox",
"torbox_description": "TorBox est votre service de seedbox premium qui rivalise avec les meilleurs serveurs du marché.",
"torbox_account_linked": "Compte TorBox lié",
"create_real_debrid_account": "Cliquez ici pour créer un compte Real-Debrid",
"create_torbox_account": "Cliquez ici pour créer un compte TorBox",
"real_debrid_account_linked": "Compte Real-Debrid lié",
"name_min_length": "Le nom du thème doit comporter au moins 3 caractères",
"import_theme": "Importer un thème",
"import_theme_description": "Vous allez importer {{theme}} du magasin de thèmes",
"error_importing_theme": "Erreur lors de l'importation du thème",
"theme_imported": "Thème importé avec succès",
"enable_friend_request_notifications": "Lors de réception de demande d'ami",
"enable_auto_install": "Télécharger les mises à jour automatiquement",
"common_redist": "Redistribuables communs",
"common_redist_description": "Certains jeux nécessitent les redistribuables communs. L'installation est recommandée.",
"install_common_redist": "Installer",
"installing_common_redist": "Installation…",
"show_download_speed_in_megabytes": "Afficher la vitesse de téléchargement en mégaoctets par seconde",
"extract_files_by_default": "Extraire les fichiers par défaut après le téléchargement",
"enable_achievement_custom_notifications": "Activer les notifications personnalisées de succès",
"achievement_custom_notification_position": "Position de la notification personnalisée de succès",
"top-left": "En haut à gauche",
"top-center": "En haut au centre",
"top-right": "En haut à droite",
"bottom-left": "En bas à gauche",
"bottom-center": "En bas au centre",
"bottom-right": "En bas à droite",
"enable_friend_start_game_notifications": "Quand un ami commence à jouer à un jeu"
},
"notifications": {
"download_complete": "Téléchargement terminé",
"game_ready_to_install": "{{title}} est prêt à être installé",
"repack_list_updated": "Liste de repacks mise à jour",
"repack_count_one": "{{count}} repack ajouté",
"repack_count_other": "{{count}} repacks ajoutés"
"repack_count_other": "{{count}} repacks ajoutés",
"new_update_available": "Version {{version}} disponible",
"restart_to_install_update": "Redémarrez Hydra pour installer la mise à jour",
"notification_achievement_unlocked_title": "Succès débloqué pour {{game}}",
"notification_achievement_unlocked_body": "{{achievement}} et {{count}} autre(s) débloqués",
"new_friend_request_description": "Vous avez reçu une nouvelle demande d'ami",
"new_friend_request_title": "Nouvelle demande d'ami",
"extraction_complete": "Extraction terminée",
"game_extracted": "{{title}} extrait avec succès"
},
"system_tray": {
"open": "Ouvrir Hydra",
"quit": "Quitter"
},
"game_card": {
"available_one": "Disponible",
"available_other": "Disponibles",
"no_downloads": "Aucun téléchargement disponible"
},
"binary_not_found_modal": {
"title": "Programmes non installés",
"description": "Les exécutables Wine ou Lutris sont introuvables sur votre système",
"instructions": "Vérifiez la bonne façon d'installer l'un d'entre eux sur votre distribution Linux afin que le jeu puisse fonctionner normalement",
"title": "Programmes non installés"
"instructions": "Vérifiez la bonne façon d'installer l'un d'entre eux sur votre distribution Linux afin que le jeu puisse fonctionner normalement"
},
"catalogue": {
"next_page": "Page suivante",
"previous_page": "Page précédente"
"modal": {
"close": "Fermer la fenêtre"
},
"forms": {
"toggle_password_visibility": "Afficher/Masquer le mot de passe"
},
"user_profile": {
"amount_hours": "{{amount}} heures",
"amount_minutes": "{{amount}} minutes",
"last_time_played": "Dernière partie {{period}}",
"activity": "Activité récente",
"library": "Bibliothèque",
"total_play_time": "Temps de jeu total",
"no_recent_activity_title": "Hmm… rien ici",
"no_recent_activity_description": "Vous n'avez pas joué récemment. Il est temps d'y remédier !",
"display_name": "Nom d'affichage",
"saving": "Enregistrement",
"save": "Enregistrer",
"edit_profile": "Modifier le profil",
"saved_successfully": "Enregistré avec succès",
"try_again": "Veuillez réessayer",
"sign_out_modal_title": "Êtes-vous sûr ?",
"cancel": "Annuler",
"successfully_signed_out": "Déconnecté avec succès",
"sign_out": "Se déconnecter",
"playing_for": "En jeu depuis {{amount}}",
"sign_out_modal_text": "Votre bibliothèque est liée à ce compte. Si vous vous déconnectez, elle ne sera plus visible et la progression ne sera pas sauvegardée. Continuer ?",
"add_friends": "Ajouter des amis",
"add": "Ajouter",
"friend_code": "Code ami",
"see_profile": "Voir le profil",
"sending": "Envoi",
"friend_request_sent": "Demande d'ami envoyée",
"friends": "Amis",
"friends_list": "Liste d'amis",
"user_not_found": "Utilisateur introuvable",
"block_user": "Bloquer l'utilisateur",
"add_friend": "Ajouter un ami",
"request_sent": "Demande envoyée",
"request_received": "Demande reçue",
"accept_request": "Accepter la demande",
"ignore_request": "Ignorer la demande",
"cancel_request": "Annuler la demande",
"undo_friendship": "Retirer de la liste d'amis",
"request_accepted": "Demande acceptée",
"user_blocked_successfully": "Utilisateur bloqué avec succès",
"user_block_modal_text": "Vous allez bloquer {{displayName}}",
"blocked_users": "Utilisateurs bloqués",
"unblock": "Débloquer",
"no_friends_added": "Vous n'avez pas encore d'amis",
"pending": "En attente",
"no_pending_invites": "Aucune invitation en attente",
"no_blocked_users": "Aucun utilisateur bloqué",
"friend_code_copied": "Code ami copié",
"undo_friendship_modal_text": "Vous allez retirer {{displayName}} de vos amis",
"privacy_hint": "Pour changer qui voit ceci, allez dans les <0>Paramètres</0>",
"locked_profile": "Ce profil est privé",
"image_process_failure": "Erreur lors du traitement de l'image",
"required_field": "Ce champ est requis",
"displayname_min_length": "Le nom doit contenir au moins 3 caractères",
"displayname_max_length": "Le nom doit contenir au maximum 50 caractères",
"report_profile": "Signaler ce profil",
"report_reason": "Pourquoi signaler ce profil ?",
"report_description": "Informations supplémentaires",
"report_description_placeholder": "Infos en plus",
"report": "Signaler",
"report_reason_hate": "Discours de haine",
"report_reason_sexual_content": "Contenu sexuel",
"report_reason_violence": "Violence",
"report_reason_spam": "Spam",
"report_reason_other": "Autre",
"profile_reported": "Profil signalé",
"your_friend_code": "Votre code ami :",
"upload_banner": "Télécharger une bannière",
"uploading_banner": "Téléversement de la bannière…",
"background_image_updated": "Image de fond mise à jour",
"stats": "Statistiques",
"achievements": "Succès",
"games": "Jeux",
"top_percentile": "Top {{percentile}}%",
"ranking_updated_weekly": "Classement mis à jour chaque semaine",
"playing": "En train de jouer à {{game}}",
"achievements_unlocked": "Succès débloqués",
"earned_points": "Points gagnés",
"show_achievements_on_profile": "Afficher vos succès sur votre profil",
"show_points_on_profile": "Afficher vos points sur votre profil"
},
"achievement": {
"achievement_unlocked": "Succès débloqué",
"user_achievements": "Succès de {{displayName}}",
"your_achievements": "Vos succès",
"unlocked_at": "Débloqué le : {{date}}",
"subscription_needed": "Un abonnement Hydra Cloud est requis",
"new_achievements_unlocked": "{{achievementCount}} nouveaux succès débloqués sur {{gameCount}} jeux",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} succès",
"achievements_unlocked_for_game": "{{achievementCount}} nouveaux succès débloqués sur {{gameTitle}}",
"hidden_achievement_tooltip": "Ce succès est caché",
"achievement_earn_points": "Gagnez {{points}} points avec ce succès",
"earned_points": "Points gagnés :",
"available_points": "Points disponibles :",
"how_to_earn_achievements_points": "Comment gagner des points de succès ?"
},
"hydra_cloud": {
"subscription_tour_title": "Abonnement Hydra Cloud",
"subscribe_now": "S'abonner",
"cloud_saving": "Sauvegarde Cloud",
"cloud_achievements": "Sauvegardez vos succès dans le cloud",
"animated_profile_picture": "Photo de profil animée",
"premium_support": "Support premium",
"show_and_compare_achievements": "Montrez et comparez vos succès avec d'autres utilisateurs",
"animated_profile_banner": "Bannière de profil animée",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "Vous avez découvert une fonctionnalité Hydra Cloud !",
"learn_more": "En savoir plus",
"debrid_description": "Téléchargez jusqu'à 4x plus vite avec Nimbus"
}
}

View File

@@ -1,45 +1,131 @@
{
"language_name": "Magyar",
"app": {
"successfully_signed_in": "Sikeresen bejelentkeztél"
},
"home": {
"featured": "Featured",
"surprise_me": "Lepj meg",
"no_results": "Nem található"
"no_results": "Nincs találat",
"start_typing": "Kereséshez gépelj...",
"hot": "Most felkapott",
"weekly": "📅 A hét felkapott játékai",
"achievements": "🏆 Achievement támogatott"
},
"sidebar": {
"catalogue": "Katalógus",
"downloads": "Letöltések",
"settings": "Beállítások",
"my_library": "Könyvtáram",
"downloading_metadata": "{{title}} (Metadata letöltése…)",
"paused": "{{title}} (Szünet)",
"downloading_metadata": "{{title}} (metaadatai letöltése…)",
"paused": "{{title}} (Szüneteltetve)",
"downloading": "{{title}} ({{percentage}} - Letöltés…)",
"filter": "Könyvtár szűrése",
"home": "Főoldal",
"favorites": "Kedvenc játékok"
"queued": "A(z) {{title}} (Várakozósorban van)",
"game_has_no_executable": "A játékhoz nincs tallózva futtatható fájl",
"sign_in": "Bejelentkezés",
"friends": "Barátok",
"need_help": "Elakadtál?",
"favorites": "Kedvenc játékok",
"playable_button_title": "Csak az azonnal játszható játékokat mutasd",
"add_custom_game_tooltip": "Saját játék hozzáadása",
"show_playable_only_tooltip": "Csak játszható játék mutatása",
"custom_game_modal": "Saját játék hozzáadása:",
"custom_game_modal_description": "Adj meg egy futtatható fájlt",
"custom_game_modal_executable_path": "Futtatható fájl",
"custom_game_modal_select_executable": "Fájl útvonala",
"custom_game_modal_title": "Játékcím",
"custom_game_modal_enter_title": "Játék elnevezése",
"custom_game_modal_browse": "Tallózás",
"custom_game_modal_cancel": "Mégse",
"custom_game_modal_add": "Játék hozzáadása",
"custom_game_modal_adding": "Játék hozzáadása...",
"custom_game_modal_success": "Saját játék sikeresen hozzáadva",
"custom_game_modal_failed": "Saját játék hozzáadása sikertelen",
"custom_game_modal_executable": "Futtatható fájl",
"edit_game_modal": "Játékmegjelenítése:",
"edit_game_modal_description": "Játékcím és vizuális elemek módosítása",
"edit_game_modal_title": "Játékcím",
"edit_game_modal_enter_title": "Játék elnevezése",
"edit_game_modal_image": "Kép",
"edit_game_modal_select_image": "Kép útvonala",
"edit_game_modal_browse": "Tallózás",
"edit_game_modal_image_preview": "Kép előnézete",
"edit_game_modal_icon": "Ikon",
"edit_game_modal_select_icon": "Ikon útvonala",
"edit_game_modal_icon_preview": "Ikon előnézete",
"edit_game_modal_logo": "Logó",
"edit_game_modal_select_logo": "Logó útvonala",
"edit_game_modal_logo_preview": "Logó előnézete",
"edit_game_modal_hero": "Borítókép",
"edit_game_modal_select_hero": "Borítókép útvonala",
"edit_game_modal_hero_preview": "Borítókép előnézete",
"edit_game_modal_cancel": "Mégse",
"edit_game_modal_update": "Frissít",
"edit_game_modal_updating": "Frissítés...",
"edit_game_modal_fill_required": "Kérlek töltsd ki az összes kötelező mezőt",
"edit_game_modal_success": "Játék megjelenés frissítése sikeres",
"edit_game_modal_failed": "Játék megjelenés frissítése sikertelen",
"edit_game_modal_image_filter": "Kép",
"edit_game_modal_icon_resolution": "Ajánlott felbontás: 256x256px",
"edit_game_modal_logo_resolution": "Ajánlott felbontás: 640x360px",
"edit_game_modal_hero_resolution": "Ajánlott felbontás: 1920x620px",
"edit_game_modal_assets": "Vizuális elemek:",
"edit_game_modal_drop_icon_image_here": "Húzd ide az ikon képét",
"edit_game_modal_drop_logo_image_here": "Húzd ide a logó képét",
"edit_game_modal_drop_hero_image_here": "Húzd ide a borítókép képét",
"edit_game_modal_drop_to_replace_icon": "Ikon kicserélése ráhúzással",
"edit_game_modal_drop_to_replace_logo": "Logó kicserélése ráhúzással",
"edit_game_modal_drop_to_replace_hero": "Borítókép kicserélése ráhúzással",
"install_decky_plugin": "Decky Plugin Telepítése",
"update_decky_plugin": "Decky Plugin Frissítése",
"decky_plugin_installed_version": "Decky Plugin (v{{version}})",
"install_decky_plugin_title": "Telepítsd a Hydra Decky Plugint",
"install_decky_plugin_message": "Ez letölti és telepíteni fogja a Hydra plugint a Decky Loaderhez. Előfordulhat, hogy rendszergazdai jogosultságra lesz szükség. Folytatod?",
"update_decky_plugin_title": "Hydra Decky Plugin Frissítése",
"update_decky_plugin_message": "Egy új verzió elérhető a Hydra Decky Pluginhoz. Szeretnéd frissíteni?",
"decky_plugin_installed": "Decky plugin v{{version}} sikeresen telepítve",
"decky_plugin_installation_failed": "Decky plugin telepítése sikertelen: {{error}}",
"decky_plugin_installation_error": "Decky plugin telepítése hibával járt el: {{error}}",
"confirm": "Megerősít",
"cancel": "Mégse"
},
"header": {
"search": "Keresés",
"home": "Főoldal",
"catalogue": "Katalógus",
"downloads": "Letöltések",
"search_results": "Keresési eredmények",
"settings": "Beállítások"
"search_results": "Keresési találatok",
"settings": "Beállítások",
"version_available_install": "A(z) {{version}} verzió elérhető. Kattints ide az újraindításhoz és telepítéshez.",
"version_available_download": "A(z) {{version}} verzió elérhető. A letöltéshez kattints ide."
},
"bottom_panel": {
"no_downloads_in_progress": "Nincsenek folyamatban lévő letöltések",
"no_downloads_in_progress": "Nincs folyamatban lévő letöltés",
"downloading_metadata": "{{title}} metaadatainak letöltése…",
"downloading": "{{title}} letöltése… ({{percentage}} kész) - Befejezés {{eta}} - {{speed}}"
"downloading": "{{title}} letöltése… ({{percentage}} kész) - Befejezés {{eta}} - {{speed}}",
"calculating_eta": "{{title}} letöltése… ({{percentage}} kész) - Hátralévő idő…",
"checking_files": "A(z) {{title}} fájljaiból… ({{percentage}} kész)",
"installing_common_redist": "{{log}}…",
"installation_complete": "Telepítés befejezve",
"installation_complete_message": "A(z) Alapvető segédprogramok sikeresen telepítve"
},
"catalogue": {
"next_page": "Következő olda",
"previous_page": "Előző olda"
"search": "Szűrés…",
"developers": "Fejlesztők",
"genres": "Műfajok",
"tags": "Címkék",
"publishers": "Kiadók",
"download_sources": "Letöltési források",
"result_count": "{{resultCount}} találatok",
"filter_count": "{{filterCount}} elérhető",
"clear_filters": "{{filterCount}} kiválaszott szűrő törlése"
},
"game_details": {
"open_download_options": "Letöltési lehetőségek",
"download_options_zero": "Nincs letöltési lehetőség",
"download_options_one": "{{count}} letöltési lehetőség",
"download_options_other": "{{count}} letöltési lehetőség",
"open_download_options": "Letöltési opciók megnyitása",
"download_options_zero": "Nincs letöltési opció",
"download_options_one": "{{count}} letöltési opció",
"download_options_other": "{{count}} letöltési opció",
"updated_at": "Frissítve: {{updated_at}}",
"install": "Letöltés",
"resume": "Folytatás",
@@ -48,11 +134,13 @@
"remove": "Eltávolítás",
"space_left_on_disk": "{{space}} szabad hely a lemezen",
"eta": "Befejezés {{eta}}",
"downloading_metadata": "Metaadatok letöltése…",
"calculating_eta": "Hátralevő idő kiszámítása…",
"downloading_metadata": "Metaadat letöltése",
"filter": "Repackek szűrése",
"requirements": "Rendszerkövetelmények",
"minimum": "Minimális",
"recommended": "Ajánlott",
"paused": "Szüneteltetve",
"release_date": "Megjelenés: {{date}}",
"publisher": "Kiadta: {{publisher}}",
"hours": "óra",
@@ -60,29 +148,223 @@
"amount_hours": "{{amount}} óra",
"amount_minutes": "{{amount}} perc",
"accuracy": "{{accuracy}}% pontosság",
"add_to_library": "Hozzáadás a könyvtárhoz",
"add_to_library": "Könyvtárba helyezés",
"already_in_library": "Már könyvtárban",
"remove_from_library": "Eltávolítás a könyvtárból",
"no_downloads": "Nincs elérhető letöltés",
"play_time": "Játszva: {{amount}}",
"last_time_played": "Utoljára játszva {{period}}",
"not_played_yet": "{{title}} még nem játszottál",
"last_time_played": "Utoljára játszva: {{period}}",
"not_played_yet": "Ezzel a játékkal még nem játszottál: {{title}}",
"next_suggestion": "Következő javaslat",
"play": "Játék",
"deleting": "Telepítő törlése…",
"close": "Bezárás",
"playing_now": "Jelenleg játszva",
"playing_now": "Játékban: ",
"change": "Változtatás",
"repacks_modal_description": "Choose the repack you want to download",
"select_folder_hint": "Ahhoz, hogy megváltoztasd a helyet, hozzákell férned a",
"download_now": "Töltsd le most"
"repacks_modal_description": "Válaszd ki a repacket amit leszeretnél tölteni",
"select_folder_hint": "A letöltési mappát a <0>Beállítások</0> menüjében változtathatod meg",
"download_now": "Letöltés",
"no_shop_details": "A bolt adatai nem érhetőek el.",
"download_options": "Letöltési opciók",
"download_path": "Letöltis hely",
"previous_screenshot": "Előző screenshot",
"next_screenshot": "Következő screenshot",
"screenshot": "Screenshot {{number}}",
"open_screenshot": "Screenshot megnyitása {{number}}",
"download_settings": "Letöltési beállítások",
"downloader": "Letöltési mód",
"select_executable": "Tallózás",
"no_executable_selected": "Nincs futtatható fájl tallózva",
"open_folder": "Mappa megnyitása",
"open_download_location": "Letöltött fájlok megtekintése",
"create_shortcut": "Asztali parancsikon létrehozása",
"create_shortcut_simple": "Parancsikon létrehozása",
"clear": "Visszavon",
"remove_files": "Fájlok eltávolítása",
"remove_from_library_title": "Biztos vagy ebben?",
"remove_from_library_description": "Ezzel eltávolítod a játékot {{game}} a könyvtáradból",
"options": "Beállítások",
"properties": "További beállítások",
"executable_section_title": "Futtatható fájl",
"executable_section_description": "A fájl amely futtatásra fog kerülni amikor a \"Játék\" lenyomásra kerül",
"downloads_section_title": "Letöltések",
"downloads_section_description": "Csekkold le a játék frissítéseit vagy más verzióit",
"danger_zone_section_title": "Veszélyzóna",
"danger_zone_section_description": "Itt eltávolítható a játék a könyvtáradból, vagy a fájlok amelyek a Hydra által lettek letöltve",
"download_in_progress": "Letöltés folyamatban",
"download_paused": "Letöltés szüneteltetve",
"last_downloaded_option": "Utoljára letöltött",
"create_steam_shortcut": "Steam parancsikon létrehozása",
"create_shortcut_success": "A parancsikon létrehozása sikeres",
"you_might_need_to_restart_steam": "Lehetséges hogy újrakell indítsd a Steamet hogy lásd a változást.",
"create_shortcut_error": "Hiba lépett fel létrehozás közben",
"add_to_favorites": "Kedvencekhez adás",
"remove_from_favorites": "Eltávolítás a kedvencek közül",
"failed_update_favorites": "Kedvencek frissítése sikertelen",
"game_removed_from_library": "Játék eltávolítva a könyvtárból",
"failed_remove_from_library": "Játék eltávolítása a könyvtárból sikertelen",
"files_removed_success": "Fájlok eltávolítása sikeres",
"failed_remove_files": "Fájlok eltávolítása sikertelen",
"nsfw_content_title": "Ez a játék tartalmaz nem megfelelő tartalmat",
"nsfw_content_description": "A(z) {{title}} tartalma lehetséges hogy nem megfelelő minden korosztály számára. Biztosan folytatni szeretnéd?",
"allow_nsfw_content": "Folytatás",
"refuse_nsfw_content": "Vissza",
"stats": "Statisztikák",
"download_count": "Letöltések",
"player_count": "Aktív játékosok",
"rating_count": "Értékelés",
"download_error": "Ez a letöltési opció nem elérhető",
"download": "Letöltés",
"executable_path_in_use": "Ez a futtatható fájl már használatban van a(z) \"{{game}}\" által",
"warning": "Figyelmeztetés:",
"hydra_needs_to_remain_open": "ehhez a letöltéshez, a Hydrának muszáj nyitva maradnia hogy letöltődjön. Ha a Hydra bezáródik letöltés előtt, a letöltés elveszik.",
"achievements": "Achievementek",
"achievements_count": "Achievementek {{unlockedCount}}/{{achievementsCount}}",
"show_more": "Mutass többet",
"show_less": "Mutass kevesebbet",
"reviews": "Vélemények",
"leave_a_review": "Hagyd itt a véleményed",
"write_review_placeholder": "Oszd meg a gondolataid a játékról...",
"sort_newest": "Legújabb",
"no_reviews_yet": "Még nem lett vélemény megosztva",
"be_first_to_review": "Légy az első, aki megossza a véleményét a játékról!",
"sort_oldest": "Legrégibb",
"sort_highest_score": "Legmagasabb Pontszám",
"sort_lowest_score": "Legalacsonyabb Pontszám",
"sort_most_voted": "Legszavazottabb",
"rating": "Értékelés",
"rating_stats": "Értékelés",
"rating_very_negative": "Nagyon Negatív",
"rating_negative": "Negatív",
"rating_neutral": "Átlagos",
"rating_positive": "Pozitív",
"rating_very_positive": "Nagyon Pozitív",
"submit_review": "Küldés",
"submitting": "Küldés alatt...",
"review_submitted_successfully": "Vélemény beküldve sikeresen!",
"review_submission_failed": "Vélemény beküldése sikertelen. Kérlek próbáld újra.",
"review_cannot_be_empty": "A vélemény mező nem lehet üres.",
"review_deleted_successfully": "Vélemény sikeresen törölve.",
"review_deletion_failed": "Vélemény törlése sikertelen. Kérlek próbáld újra.",
"loading_reviews": "Vélemények betöltése...",
"loading_more_reviews": "Több vélemény betöltése...",
"load_more_reviews": "Több vélemény betöltése",
"you_seemed_to_enjoy_this_game": "Úgy látszik élvezted ezt a játékot",
"would_you_recommend_this_game": "Szeretnél véleményt írni erről a játékról?",
"yes": "Igen",
"maybe_later": "Talán Később",
"cloud_save": "Mentés felhőben",
"cloud_save_description": "Mentsd el az előrehaladásod a felhőben, majd folytasd egy másik eszközön",
"backups": "Biztonsági másolatok",
"install_backup": "Telepít",
"delete_backup": "Töröl",
"create_backup": "Biztonsági másolat létrehozása",
"last_backup_date": "Utolsó biztonsági mentés {{date}}",
"no_backup_preview": "Ehhez a címhez nem található mentett játék",
"restoring_backup": "Biztonsági mentés helyreállítás: ({{progress}} kész)…",
"uploading_backup": "Biztonsági mentés feltöltése…",
"no_backups": "Még nem hoztál létre biztonsági másolatot ehhez a játékhoz",
"backup_uploaded": "Biztonsági mentés feltöltve",
"backup_failed": "Biztonsági mentés sikertelen",
"backup_deleted": "Biztonsági mentés törölve",
"backup_restored": "Biztonsági mentés helyreállítva",
"see_all_achievements": "Achievementlista megtekintése",
"sign_in_to_see_achievements": "Jelentkezz be hogy lásd az achievementjeid",
"mapping_method_automatic": "Automatikus",
"mapping_method_manual": "Kézi",
"mapping_method_label": "Térképezési módszer",
"files_automatically_mapped": "Fájlok automatikusan térképezve",
"no_backups_created": "Ehhez a játékhoz nincs biztonsági másolat létrehozva",
"manage_files": "Fájlok kezelése",
"loading_save_preview": "Mentett játék keresése…",
"wine_prefix": "Wine Prefix",
"wine_prefix_description": "A Wine környezet, amiben a játék fut",
"launch_options": "Indítási opciók",
"launch_options_description": "Indítási opciók testreszabása haladó felhasználóknak (kísérleti funkció)",
"launch_options_placeholder": "Nincs paraméter megadva",
"no_download_option_info": "Nincs elérhető információ",
"backup_deletion_failed": "Biztonsági mentés törlése sikertelen",
"max_number_of_artifacts_reached": "A játék biztonsági mentéseinek száma elérte a határt",
"achievements_not_sync": "Tekintsd meg hogyan kell szinkronizálni az achievementjeid",
"manage_files_description": "Kezeld mely fájlokról készül biztonsági másolat, és melyek állíthatók vissza",
"select_folder": "Mappa tallózása",
"backup_from": "Biztonsági másolat: {{date}}",
"automatic_backup_from": "Automatikus másolat: {{date}}",
"enable_automatic_cloud_sync": "Automatikus felhőalapú szinkronizálás engedélyezése",
"custom_backup_location_set": "Egyéni biztonsági mentési hely",
"no_directory_selected": "Nincs mappa tallózva",
"no_write_permission": "Nem lehet a mappába letölteni. Kattints ide további információért.",
"reset_achievements": "Achievementek nullázása",
"reset_achievements_description": "Ez az összes achievementet nullázza a {{game}} játékhoz",
"reset_achievements_title": "Biztos vagy ebben?",
"reset_achievements_success": "Achievementek sikeresen nullázva",
"reset_achievements_error": "Achievementek nullázása sikertelen",
"download_error_gofile_quota_exceeded": "Túllépted a Gofile havi kvótáját. Kérlek, várd meg amíg a kvóta lejár.",
"download_error_real_debrid_account_not_authorized": "A Real-Debrid fiókod nem jogosult új letöltésekre. Kérlek, ellenőrízd a fiókbeállításaidat, majd próbáld újra.",
"download_error_not_cached_on_real_debrid": "Ez a letöltés nem elérhető a Real-Debriden, és lekérdezni letöltési állapotot még nem lehet.",
"update_playtime_title": "Játékidő frissítése",
"update_playtime_description": "A(z) {{game}} játékidejének frissítése manuálisan",
"update_playtime": "Játékidő frissítése",
"update_playtime_success": "Játékidő sikeresen frissítve",
"update_playtime_error": "A Játékidőnek nem sikerült frissülnie",
"update_game_playtime": "Játékidő frissítése",
"manual_playtime_warning": "A Játékidő „Manuálisan frissített”-ként lesz megjelölve, és ez nem visszavonható.",
"manual_playtime_tooltip": "Ez a Játékidő manuálisan lett frissítve",
"download_error_not_cached_on_torbox": "Ez a letöltés nem elérhető a TorBoxon, és lekérdezni letöltési állapotot még nem lehet.",
"download_error_not_cached_on_hydra": "Ez a letöltés nem elérhető a Nimbuson.",
"game_removed_from_favorites": "Játék eltávolítva a kedvencek közül",
"game_added_to_favorites": "Játék hozzáadva a kedvencekhez",
"game_removed_from_pinned": "Játék eltávolítva a kitűzöttek közül",
"game_added_to_pinned": "Játék sikeresen kitűzve",
"automatically_extract_downloaded_files": "Automatikus kibontása a letöltött fájloknak",
"create_start_menu_shortcut": "Start menü parancsikon létrehozása",
"invalid_wine_prefix_path": "Érvénytelen Wine prefix elérési útvonal",
"invalid_wine_prefix_path_description": "Az út a Wine prefixhez érvénytelen. Ellenőrízd az elérési utat, majd próbáld újra.",
"missing_wine_prefix": "Wine prefix szükséges a biztonsági másolat létrehozásához Linux rendszeren.",
"artifact_renamed": "Biztonsági mentés sikeresen átnevezve",
"rename_artifact": "Biztonsági mentés átnevezése",
"rename_artifact_description": "Nevezd át a biztonsági másolatot egy leíróbb névre",
"artifact_name_label": "Biztonsági másolat neve",
"artifact_name_placeholder": "Adj egy nevet a biztonsági mentésnek",
"save_changes": "Változtatások mentése",
"required_field": "Ez a mező kötelező",
"max_length_field": "Ez a mező kevesebb karakter kell legyen mint {{length}}",
"freeze_backup": "Rögzítsd, hogy az automatikus biztonsági mentések ne írják felül",
"unfreeze_backup": "Leválaszt",
"backup_frozen": "Biztonsági mentés rögzítve",
"backup_unfrozen": "Biztonsági mentés leválasztva",
"backup_freeze_failed": "Biztonsági mentés rögzítése sikertelen",
"backup_freeze_failed_description": "Legalább egy szabad helyet kell hagyni az automatikus biztonsági mentéseknek",
"edit_game_modal_button": "Játékadatok testreszabása",
"game_details": "Játék leírása",
"currency_symbol": "Ft",
"currency_country": "hu",
"prices": "Árak",
"no_prices_found": "Nincsenek található árak",
"view_all_prices": "Összes ár megtekintése",
"retail_price": "Bolti ár",
"keyshop_price": "Nem hivatalos ár",
"historical_retail": "Korábbi bolti ár",
"historical_keyshop": "Korábbi nem hivatalos ár",
"language": "Nyelv",
"caption": "Felirat",
"audio": "Hang",
"filter_by_source": "Szűrés forrás szerint",
"no_repacks_found": "Nem található forrás ehhez a játékhoz",
"delete_review": "Vélemény törlése",
"remove_review": "Vélemény eltávolítása",
"delete_review_modal_title": "Biztos vagy abban hogy törölni szeretnéd a véleményed?",
"delete_review_modal_description": "Ez a lépés nem vonható vissza.",
"delete_review_modal_delete_button": "Törlés",
"delete_review_modal_cancel_button": "Mégse"
},
"activation": {
"title": "Hydra Aktiválása",
"installation_id": "Telepítési ID:",
"enter_activation_code": "Add meg az aktiválási kódodat",
"message": "Ha nem tudod, hol kérdezd meg ezt, akkor nem is kellene, hogy legyen ilyened.",
"installation_id": "Telepítési Azonosító:",
"enter_activation_code": "Írd be az aktiválási kódod",
"message": "Ha nem tudod hol kérdezz efelől, akkor nem kéne ilyened legyen.",
"activate": "Aktiválás",
"loading": "Betöltés…"
"loading": "Töltés…"
},
"downloads": {
"resume": "Folytatás",
@@ -91,46 +373,331 @@
"paused": "Szüneteltetve",
"verifying": "Ellenőrzés…",
"completed": "Befejezve",
"removed": "Nincs letöltve",
"cancel": "Mégse",
"filter": "Letöltött játékok szűrése",
"remove": "Eltávolítás",
"remove": "Eltávolít",
"downloading_metadata": "Metaadatok letöltése…",
"deleting": "Telepítő törlése…",
"delete": "Telepítő eltávolítása",
"delete_modal_title": "Biztos vagy benne?",
"delete_modal_description": "Ez eltávolít minden telepítési fájlt a számítógépedről",
"install": "Telepítés"
"delete_modal_title": "Biztos vagy ebben?",
"delete_modal_description": "Ez eltávolítja a telepítési fájlokat a számítógépedről",
"install": "Telepít",
"download_in_progress": "Folyamatban lévő",
"queued_downloads": "Várakozósoron lévő letöltések",
"downloads_completed": "Befejezett",
"queued": "Várakozási sorban",
"no_downloads_title": "Oly üres..",
"no_downloads_description": "Még nem töltöttél le semmit a Hydra segítségével, de soha nem késő elkezdeni.",
"checking_files": "Fájlok ellenőrzése…",
"seeding": "Seedelés",
"stop_seeding": "Seedelés leállítása",
"resume_seeding": "Seedelés folytatása",
"options": "Kezelés",
"extract": "Fájlok kibontása",
"extracting": "Fájlok kibontása…"
},
"settings": {
"downloads_path": "Letöltések helye",
"downloads_path": "Letöltési útvonalak",
"change": "Frissítés",
"notifications": "Értesítések",
"enable_download_notifications": "Amikor egy letöltés befejeződik",
"enable_repack_list_notifications": "Amikor új repack kerül feltöltésre",
"real_debrid_api_token_label": "Real-Debrid API token",
"quit_app_instead_hiding": "Hydra elrejtésének tiltása bezáráskor",
"launch_with_system": "Hydra automatikus indítása rendszer indításakor",
"general": "Általános",
"behavior": "Működés",
"download_sources": "Letöltési források",
"language": "Nyelv",
"api_token": "API Token",
"enable_real_debrid": "Real-Debrid Bekapcsolása",
"real_debrid_description": "A Real-Debrid egy korlátozásmentes letöltőprogram, ami lehetővé teszi a fájlok gyors letöltését, és csak az internetkapcsolat sebessége szab határt.",
"debrid_invalid_token": "Érvénytelen API token",
"debrid_api_token_hint": "Az API tokened <0>itt</0> található",
"real_debrid_free_account_error": "Ez a fiók: \"{{username}}\" egy ingyenes fiók. Kérlek iratkozz fel a Real-Debridre",
"debrid_linked_message": "Fiók összekapcsolva: \"{{username}}\" ",
"save_changes": "Változtatások mentése",
"changes_saved": "Változtatások sikeresen mentve",
"download_sources_description": "A Hydra lefogja tölteni a letöltési linkeket a forrásokból. Az URL forrásnak közvetlen linknek kell lennie egy .json fájlhoz, ami tartalmazza a linkeket.",
"validate_download_source": "Érvényesítés",
"remove_download_source": "Eltávolítás",
"add_download_source": "Forrás hozáadása",
"download_count_zero": "Nincs letöltési opció",
"download_count_one": "{{countFormatted}} letöltési opció",
"download_count_other": "{{countFormatted}} letöltési opció",
"download_source_url": "URL forrás:",
"add_download_source_description": "Helyezd be a .json fájl URL-jét",
"download_source_up_to_date": "Naprakész",
"download_source_errored": "Hiba történt",
"sync_download_sources": "Források szinkronizálása",
"removed_download_source": "Letöltési forrás eltávolítva",
"removed_download_sources": "Letöltési források eltávolítva",
"cancel_button_confirmation_delete_all_sources": "Nem",
"confirm_button_confirmation_delete_all_sources": "Igen, törölj mindent",
"description_confirmation_delete_all_sources": "Törölni fog minden letöltési forrást",
"title_confirmation_delete_all_sources": "Törölje az összes letöltési forrást",
"removed_download_sources": "Betűtípusok eltávolítva",
"button_delete_all_sources": "Távolítsa el az összes letöltési forrást",
"enable_repack_list_notifications": "Amikor egy új repack hozzáadásra kerül"
"title_confirmation_delete_all_sources": "Az összes letöltési forrás törlése",
"description_confirmation_delete_all_sources": "Az összes letöltési forrást törölni fogod ezáltal",
"button_delete_all_sources": "Összes eltávolítása",
"added_download_source": "Letöltési forrás hozzáadva",
"download_sources_synced": "Az összes letöltési forrás szinkronizálva",
"insert_valid_json_url": "Adj meg egy érvényes JSON url-t",
"found_download_option_zero": "Nincs letöltési opció",
"found_download_option_one": "{{countFormatted}} Letöltési opció találva",
"found_download_option_other": "{{countFormatted}} Letöltési opciók találva",
"import": "Importálás",
"public": "Publikus",
"private": "Privát",
"friends_only": "Csak barátok",
"privacy": "Adatvédelem",
"profile_visibility": "Profil láthatósága",
"profile_visibility_description": "Válaszd ki, ki láthatja a profilod és könyvtárad",
"required_field": "Ez a mező kötelező",
"source_already_exists": "Ez a forrás már használatban",
"must_be_valid_url": "A forrás egy érvényes URL kell legyen",
"blocked_users": "Letiltott felhasználók",
"user_unblocked": "Felhasználó letiltva",
"enable_achievement_notifications": "Amikor egy achievement feloldódik",
"launch_minimized": "Hydra indítása minimalizálva",
"disable_nsfw_alert": "NSFW figyelmeztetés kikapcsolása",
"seed_after_download_complete": "Letöltés utáni seedelés",
"show_hidden_achievement_description": "Rejtett achievementek leírásának megjelenítése feloldás előtt",
"account": "Fiók",
"no_users_blocked": "Nincsenek letiltott felhasználóid",
"subscription_active_until": "Hydra Cloud előfizetésed aktív, eddig: {{date}}",
"manage_subscription": "Előfizetés kezelése",
"update_email": "Email változtatása",
"update_password": "Jelszó változtatása",
"current_email": "Jelenlegi email:",
"no_email_account": "Még nincs beállított emailed",
"account_data_updated_successfully": "Fiókadatok változtatása sikeres",
"renew_subscription": "Hydra Cloud Megújítása",
"subscription_expired_at": "Az előfizetésed lejárt, ekkor: {{date}}",
"no_subscription": "Élvezd a Hydrát a lehető legjobb módon",
"become_subscriber": "Légy Hydra Cloud tag",
"subscription_renew_cancelled": "Automatikus megújítás kikapcsolva",
"subscription_renews_on": "Az előfizetésed megújul, ekkor: {{date}}",
"bill_sent_until": "A következő számlát ezen napon küldjük",
"no_themes": "Úgy látszik nincs egyetlen témád sem még, de ne aggódj, kattints ide hogy elkészítsd a remekművedet.",
"editor_tab_code": "Code",
"editor_tab_info": "Info",
"editor_tab_save": "Mentés",
"web_store": "Webáruház",
"clear_themes": "Törlés",
"create_theme": "Létrehozás",
"create_theme_modal_title": "Egyéni téma létrehozása",
"create_theme_modal_description": "Hozz létre egy új témát, hogy testreszabhasd a Hydrát ahogy szeretnéd",
"theme_name": "Téma neve",
"insert_theme_name": "Adj a témádnak nevet",
"set_theme": "Téma beállítása",
"unset_theme": "Téma visszavonása",
"delete_theme": "Téma törlése",
"edit_theme": "Téma szerkesztése",
"delete_all_themes": "Összes téma törlése",
"delete_all_themes_description": "Ez törölni fogja az összes témádat",
"delete_theme_description": "Ez törölni fogja a(z) {{theme}} témát",
"cancel": "Mégsem",
"appearance": "Megjelenés",
"debrid": "Debrid",
"debrid_description": "A Debrid szolgáltatások prémium szolgáltatások amelyek lehetővé teszik, hogy gyorsan letölts különböző fájltároló szolgáltatásokon tárolt fájlokat, csak az internet sebességed szab határt.",
"enable_torbox": "TorBox bekapcsolása",
"torbox_description": "A TorBox egy olyan premium seedbox szolgáltatás, amely még a piacon elérhető legjobb szerverekkel is felveszi a versenyt.",
"torbox_account_linked": "TorBox fiók összekapcsolva",
"create_real_debrid_account": "Kattints ide ha még nincs Real-Debrid fiókod",
"create_torbox_account": "Kattints ide ha még nincs TorBox fiókod",
"real_debrid_account_linked": "Real-Debrid fiók összekapcsolva",
"name_min_length": "A téma neve legalább 3 karakter hosszú legyen",
"import_theme": "Téma importálása",
"import_theme_description": "Ezt a témát fogod importálni a Témaáruház-ból: {{theme}}",
"error_importing_theme": "Hiba lépett fel a téma importálása közben",
"theme_imported": "Téma sikeresen importálva",
"enable_friend_request_notifications": "Amikor ismerősnek jelölnek",
"enable_auto_install": "Frissítések letöltése automatikusan",
"common_redist": "Alapvető Segédprogramok",
"common_redist_description": "Egyes játékok futtatásához alapvető segédprogram fájlok szükségesek. A problémák elkerülése képpen ajánlott telepíteni őket.",
"install_common_redist": "Telepítés",
"installing_common_redist": "Telepítés alatt…",
"show_download_speed_in_megabytes": "Letöltési sebesség megabájt/másodpercben lévő megjelenítése",
"extract_files_by_default": "Fájlok kicsomagolása letöltés után",
"enable_steam_achievements": "Steam-achievementek utáni keresés engedélyezése",
"achievement_custom_notification_position": "Achievement-értesítések egyéni elhelyezése",
"top-left": "Bal felső sarok",
"top-center": "Felső közép",
"top-right": "Jobb felső sarok",
"bottom-left": "Bal alsó sarok",
"bottom-center": "Alsó közép",
"bottom-right": "Jobb alsó sarok",
"enable_achievement_custom_notifications": "Egyéni achievement-értesítések bekapcsolása",
"alignment": "Igazítás",
"variation": "Variáció",
"default": "Alapértelmezett",
"rare": "Ritka",
"platinum": "Platina",
"hidden": "Rejtett",
"test_notification": "Értesítés tesztelése",
"notification_preview": "Achievement Értesítés Előnézete",
"enable_friend_start_game_notifications": "Amikor egy barátod elkezd játszani egy játékot"
},
"notifications": {
"download_complete": "Letöltés befejeződött",
"game_ready_to_install": "{{title}} telepítésre kész",
"download_complete": "Letöltés befejezve",
"game_ready_to_install": "A(z) {{title}} telepítésre kész",
"repack_list_updated": "Repack lista frissítve",
"repack_count_one": "{{count}} repack hozzáadva",
"repack_count_other": "{{count}} repack hozzáadva"
"repack_count_other": "{{count}} repack hozzáadva",
"new_update_available": "A(z) {{version}} verzió elérhető",
"restart_to_install_update": "Indítsd újra a Hydrát a frissítés telepítéséhez",
"notification_achievement_unlocked_title": "Achievement feloldva: {{game}}",
"notification_achievement_unlocked_body": "{{achievement}} és további {{count}} feloldva",
"new_friend_request_description": "{{displayName}} küldött neked egy barátfelkérést",
"new_friend_request_title": "Új barátfelkérés",
"extraction_complete": "Kicsomagolás befejezve",
"game_extracted": "{{title}} sikeresen kicsomagolva",
"friend_started_playing_game": "{{displayName}} játszani kezdett",
"test_achievement_notification_title": "Ez egy teszt értesítés",
"test_achievement_notification_description": "Elég menő, mi?"
},
"system_tray": {
"open": "Hydra megnyitása",
"quit": "Kilépés"
},
"game_card": {
"no_downloads": "Nincs elérhető letöltés"
"available_one": "Elérhető",
"available_other": "Elérhető",
"no_downloads": "Nincs elérhető letöltés",
"calculating": "Feldolgozás"
},
"binary_not_found_modal": {
"title": "A programok nincsenek telepítve",
"description": "A Wine vagy a Lutris végrehajtható fájljai nem találhatók a rendszereden",
"instructions": "Ellenőrizd a megfelelő telepítési módot bármelyiküknek a Linux disztribúciódon, hogy a játék normálisan fusson"
"description": "Wine vagy Lutris futtatható fájlok nem találhatók a rendszereden",
"instructions": "Ellenőrízd hogy melyiket kell helyesen telepíteni a Linux disztribúciódra, hogy a játék megfelelően fusson"
},
"modal": {
"close": "Bezárás gomb"
},
"forms": {
"toggle_password_visibility": "Jelszó láthatóságának állítása"
},
"user_profile": {
"amount_hours": "{{amount}} óra",
"amount_minutes": "{{amount}} perc",
"amount_hours_short": "{{amount}}ó",
"amount_minutes_short": "{{amount}}p",
"last_time_played": "Utoljára játszva {{period}}",
"activity": "Legutóbbi tevékenység",
"library": "Könyvtár",
"pinned": "Kitűzve",
"achievements_earned": "Elért achievementek",
"played_recently": "Nemrég játszva",
"playtime": "Játszottidő",
"total_play_time": "Teljes játszottidő",
"manual_playtime_tooltip": "Ez a játszottidő manuálisan lett frissítve",
"no_recent_activity_title": "Hmmm… itt semmi sincs",
"no_recent_activity_description": "Mostanában nem játszottál semmivel. Hát ideje ezt megváltoztatni!",
"display_name": "Profilnév",
"saving": "Mentésben",
"save": "Mentés",
"edit_profile": "Profil Szerkesztése",
"saved_successfully": "Sikeresen elmentve",
"try_again": "Kérlek, próbálkozz újra",
"sign_out_modal_title": "Biztos vagy ebben?",
"cancel": "Mégsem",
"successfully_signed_out": "Sikeresen kijelentkezve",
"sign_out": "Kijelentkezés",
"playing_for": "Játékban: {{amount}}",
"sign_out_modal_text": "A könyvtár a jelenlegi fiókodhoz van csatolva. Kijelentkezéskor a könyvtár többé nem lesz látható, és az eddigi előrehaladás nem lesz mentve. Folytatod a kijelentkezést?",
"add_friends": "Barát bejelölés",
"add": "Elküld",
"friend_code": "Barát kód",
"see_profile": "Profil megtekintése",
"sending": "Küldés..",
"friend_request_sent": "Barátfelkérés elküldve",
"friends": "Barátok",
"friends_list": "Barát lista",
"user_not_found": "Felhasználó nem találva",
"block_user": "Felhasználó letiltása",
"add_friend": "Barát bejelölése",
"request_sent": "Kérés elküldve",
"request_received": "Barátfelkérést kaptál",
"accept_request": "Kérés elfogadása",
"ignore_request": "Kérés ignorálása",
"cancel_request": "Kérés visszavonása",
"undo_friendship": "Barát eltávolítása",
"request_accepted": "Barátfelkérés elfogadva",
"user_blocked_successfully": "Felhasználó sikeresen letiltva",
"user_block_modal_text": "Ez által letiltod őt: {{displayName}}",
"blocked_users": "Letiltott felhasználók",
"unblock": "Tiltás feloldása",
"no_friends_added": "Nincs bejelölt barátod",
"pending": "Függőben",
"no_pending_invites": "Nincs függőben lévő barátfelkérésed",
"no_blocked_users": "Nincs letiltott felhasználó",
"friend_code_copied": "Barát kód kimásolva",
"undo_friendship_modal_text": "Ezáltal megszünteted a barátságod vele: {{displayName}}",
"privacy_hint": "Hogy beállítsd ki láthassa ezt, menj a <0>Beállítások</0> menüjébe",
"locked_profile": "Ez a profil privát",
"image_process_failure": "Hiba a kép feldolgozása közben",
"required_field": "Ez a mező kötelező",
"displayname_min_length": "A megjelenített névnek legalább 3 karakter hosszúnak kell lennie",
"displayname_max_length": "A megjelenített név hossza legfeljebb 50 karakter lehet",
"report_profile": "Profil bejelentése",
"report_reason": "Miért jelented ezt a profilt?",
"report_description": "További információ",
"report_description_placeholder": "További információ",
"report": "Bejelentés",
"report_reason_hate": "Gyűlöletbeszéd",
"report_reason_sexual_content": "Szexuális tartalom",
"report_reason_violence": "Fenyegető",
"report_reason_spam": "Spam",
"report_reason_other": "Egyéb",
"profile_reported": "Profil bejelentve",
"your_friend_code": "A barát kódod:",
"upload_banner": "Borítókép feltöltés",
"uploading_banner": "Borítókép feltöltése…",
"background_image_updated": "Borítókép frissítve",
"stats": "Statisztikák",
"achievements": "achievementek",
"games": "Játékok",
"top_percentile": "Top {{percentile}}%",
"ranking_updated_weekly": "A rangsor hetente frissül.",
"playing": "Játékban: {{game}}",
"achievements_unlocked": "Achievementek feloldva",
"earned_points": "Megszerzett pontok",
"show_achievements_on_profile": "Mutasd az achievementjeid a profilodon",
"show_points_on_profile": "Mutasd a megszerzett pontjaid a profilodon",
"error_adding_friend": "Hiba, barátfelkérés sikertelen. Kérlek ellenőrízd a barát kódot",
"friend_code_length_error": "A barát kódnak 8 karakterből kell állnia",
"game_removed_from_pinned": "Játék eltávolítva a kitűzöttek közül",
"game_added_to_pinned": "Játék hozzáadva a kitűzöttekhez",
"karma": "Karma",
"karma_count": "karma",
"karma_description": "Pozitív értékelésekre kapott pontok alapján"
},
"achievement": {
"achievement_unlocked": "Achievement feloldva",
"user_achievements": "{{displayName}} achievementjei",
"your_achievements": "A te achievementjeid",
"unlocked_at": "Feloldva: {{date}}",
"subscription_needed": "A tartalom megtekintéséhez Hydra Cloud előfizetés szükséges",
"new_achievements_unlocked": "{{achievementCount}} új achievement feloldva {{gameCount}} játékban",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} achievementek",
"achievements_unlocked_for_game": "{{achievementCount}} új achievement feloldva itt: {{gameTitle}}",
"hidden_achievement_tooltip": "Ez egy rejtett achievement",
"achievement_earn_points": "Szerezz be {{points}} pontot ezzel az achievement-el",
"earned_points": "Megszerzett pontok:",
"available_points": "Elérhető pontok:",
"how_to_earn_achievements_points": "Hogy lehet elérni achievement pontokat?"
},
"hydra_cloud": {
"subscription_tour_title": "Hydra Cloud Előfizetés",
"subscribe_now": "Előfizetés",
"cloud_saving": "Felhőmentés",
"cloud_achievements": "Mentsd az achievementjeid el a felhőben",
"animated_profile_picture": "Animált profilkép",
"premium_support": "Premium Támogatás",
"show_and_compare_achievements": "Jelenítsd és hasonlítsd az elért achievementjeid másokéhoz",
"animated_profile_banner": "Animált profil borítókép",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "Épp felfedeztél egy Hydra Cloud funkciót!",
"learn_more": "Tudj meg többet",
"debrid_description": "Akár 4x gyorsabb letöltés a Nimbusszal"
}
}

View File

@@ -4,7 +4,6 @@
"successfully_signed_in": "Berhasil masuk"
},
"home": {
"featured": "Unggulan",
"surprise_me": "Kejutkan saya",
"no_results": "Tidak ada hasil ditemukan"
},
@@ -25,7 +24,6 @@
},
"header": {
"search": "Cari game",
"home": "Beranda",
"catalogue": "Katalog",
"downloads": "Unduhan",
@@ -41,10 +39,7 @@
"calculating_eta": "Mengunduh {{title}}… ({{percentage}} selesai) - Menghitung waktu yang tersisa…",
"checking_files": "Memeriksa file {{title}}… ({{percentage}} selesai)"
},
"catalogue": {
"next_page": "Halaman Berikutnya",
"previous_page": "Halaman Sebelumnya"
},
"catalogue": {},
"game_details": {
"open_download_options": "Buka opsi unduhan",
"download_options_zero": "Tidak ada opsi unduhan",
@@ -102,12 +97,11 @@
"open_download_location": "Lihat file yang diunduh",
"create_shortcut": "Buat pintasan desktop",
"remove_files": "Hapus file",
"remove_from_library_title": "Apa kamu yakin?",
"remove_from_library_description": "Ini akan menghapus {{game}} dari perpustakaan kamu",
"options": "Opsi",
"executable_section_title": "Eksekusi",
"executable_section_description": "Path file eksekusi saat \"Main\" diklik",
"downloads_secion_title": "Unduhan",
"downloads_section_title": "Unduhan",
"downloads_section_description": "Cek update atau versi lain dari game ini",
"danger_zone_section_title": "Zona Berbahaya",
"danger_zone_section_description": "Hapus game ini dari perpustakaan kamu atau file yang diunduh oleh Hydra",

View File

@@ -25,6 +25,10 @@ import cs from "./cs/translation.json";
import nb from "./nb/translation.json";
import et from "./et/translation.json";
import bg from "./bg/translation.json";
import uz from "./uz/translation.json";
import fi from "./fi/translation.json";
import sv from "./sv/translation.json";
import lv from "./lv/translation.json";
export default {
"pt-BR": ptBR,
@@ -47,6 +51,7 @@ export default {
da,
ar,
fa,
fi,
ro,
ca,
bg,
@@ -54,4 +59,7 @@ export default {
cs,
nb,
et,
uz,
sv,
lv,
};

View File

@@ -1,7 +1,6 @@
{
"language_name": "Italiano",
"home": {
"featured": "In primo piano",
"surprise_me": "Sorprendimi",
"no_results": "Nessun risultato trovato"
},
@@ -15,11 +14,11 @@
"downloading": "{{title}} ({{percentage}} - Download…)",
"filter": "Filtra libreria",
"home": "Home",
"favorites": "Preferiti"
"favorites": "Preferiti",
"playable_button_title": "Mostra solo i giochi che puoi giocare ora"
},
"header": {
"search": "Cerca",
"home": "Home",
"catalogue": "Catalogo",
"downloads": "Download",
@@ -31,10 +30,7 @@
"downloading_metadata": "Scaricamento metadati di {{title}}…",
"downloading": "Download di {{title}}… ({{percentage}} completato) - Conclusione {{eta}} - {{speed}}"
},
"catalogue": {
"next_page": "Pagina successiva",
"previous_page": "Pagina precedente"
},
"catalogue": {},
"game_details": {
"open_download_options": "Apri opzioni di download",
"download_options_zero": "Nessuna opzione di download",

View File

@@ -4,7 +4,6 @@
"successfully_signed_in": "Сәтті кіру"
},
"home": {
"featured": "Ұсынылған",
"surprise_me": "Таңқалдыр",
"no_results": "Ештеңе табылмады"
},
@@ -23,7 +22,6 @@
"sign_in": "Кіру",
"favorites": "Таңдаулылар"
},
"header": {
"search": "Іздеу",
"home": "Басты бет",
@@ -40,10 +38,7 @@
"downloading": "Жүктеу {{title}}… ({{percentage}} аяқталды) - Аяқтау {{eta}} - {{speed}}",
"calculating_eta": "Жүктеу {{title}}… ({{percentage}} аяқталды) - Қалған уақытты есептеу…"
},
"catalogue": {
"next_page": "Келесі бет",
"previous_page": "Алдыңғы бет"
},
"catalogue": {},
"game_details": {
"open_download_options": "Жүктеу нұсқаларын ашу",
"download_options_zero": "Жүктеу нұсқалары жоқ",
@@ -106,7 +101,7 @@
"options": "Параметрлер",
"executable_section_title": "Файл",
"executable_section_description": "\"Ойнау\" батырмасын басқанда іске қосылатын файл жолы",
"downloads_secion_title": "Жүктеулер",
"downloads_section_title": "Жүктеулер",
"downloads_section_description": "Ойынның жаңартулары немесе басқа нұсқалары бар-жоғын тексеру",
"danger_zone_section_title": "Қауіпті аймақ",
"danger_zone_section_description": "Осы ойынды кітапханаңыздан жою немесе Hydra жүктеген файлдарды жою",

View File

@@ -1,7 +1,6 @@
{
"language_name": "한국어",
"home": {
"featured": "추천",
"surprise_me": "무작위 추천",
"no_results": "결과 없음"
},
@@ -17,7 +16,6 @@
"home": "홈",
"favorites": "즐겨찾기"
},
"header": {
"search": "게임 검색하기",
"home": "홈",
@@ -31,10 +29,7 @@
"downloading_metadata": "{{title}}의 메타데이터를 다운로드 중…",
"downloading": "{{title}}의 파일들을 다운로드 중… ({{percentage}} 완료) - 완료까지 {{eta}} - {{speed}}"
},
"catalogue": {
"next_page": "다음 페이지",
"previous_page": "이전 페이지"
},
"catalogue": {},
"game_details": {
"open_download_options": "다운로드 선택지 열기",
"download_options_zero": "다운로드 선택지 없음",

View File

@@ -0,0 +1,708 @@
{
"language_name": "Latviešu",
"app": {
"successfully_signed_in": "Veiksmīga pieteikšanās"
},
"home": {
"surprise_me": "Pārsteidz mani",
"no_results": "Nekas nav atrasts",
"start_typing": "Sākt rakstīt...",
"hot": "Šobrīd populārs",
"weekly": "📅 Nedēļas labākās spēles",
"achievements": "🏆 Spēles ar sasniegumiem"
},
"sidebar": {
"catalogue": "Katalogs",
"downloads": "Lejupielādes",
"settings": "Iestatījumi",
"my_library": "Bibliotēka",
"downloading_metadata": "{{title}} (Lejupielādē metadatus…)",
"paused": "{{title}} (Apturēts)",
"downloading": "{{title}} ({{percentage}} - Lejupielādē…)",
"filter": "Meklēt",
"home": "Sākums",
"queued": "{{title}} (Rindā)",
"game_has_no_executable": "Spēles palaišanas fails nav izvēlēts",
"sign_in": "Pieteikties",
"friends": "Draugi",
"need_help": "Nepieciešama palīdzība?",
"favorites": "Izlase",
"playable_button_title": "Rādīt tikai instalētās spēles.",
"add_custom_game_tooltip": "Pievienot pielāgotu spēli",
"show_playable_only_tooltip": "Rādīt tikai spēlēšanai pieejamās",
"custom_game_modal": "Pievienot pielāgotu spēli",
"custom_game_modal_description": "Pievienojiet pielāgotu spēli bibliotēkai, izvēloties izpildāmo failu",
"custom_game_modal_executable_path": "Ceļš uz izpildāmo failu",
"custom_game_modal_select_executable": "Izvēlieties izpildāmo failu",
"custom_game_modal_title": "Spēles nosaukums",
"custom_game_modal_enter_title": "Ievadiet spēles nosaukumu",
"custom_game_modal_browse": "Pārlūkot",
"custom_game_modal_cancel": "Atcelt",
"custom_game_modal_add": "Pievienot spēli",
"custom_game_modal_adding": "Pievieno spēli...",
"custom_game_modal_success": "Pielāgota spēle veiksmīgi pievienota",
"custom_game_modal_failed": "Neizdevās pievienot pielāgotu spēli",
"custom_game_modal_executable": "Izpildāmais fails",
"edit_game_modal": "Konfigurēt resursus",
"edit_game_modal_description": "Konfigurējiet spēles resursus un detaļas",
"edit_game_modal_title": "Nosaukums",
"edit_game_modal_enter_title": "Ievadiet nosaukumu",
"edit_game_modal_image": "Attēls",
"edit_game_modal_select_image": "Izvēlieties attēlu",
"edit_game_modal_browse": "Pārlūkot",
"edit_game_modal_image_preview": "Attēla priekšskatījums",
"edit_game_modal_icon": "Ikona",
"edit_game_modal_select_icon": "Izvēlieties ikonu",
"edit_game_modal_icon_preview": "Ikona priekšskatījums",
"edit_game_modal_logo": "Logotips",
"edit_game_modal_select_logo": "Izvēlieties logotipu",
"edit_game_modal_logo_preview": "Logotipa priekšskatījums",
"edit_game_modal_hero": "Vāka attēls",
"edit_game_modal_select_hero": "Izvēlieties spēles vāka attēlu",
"edit_game_modal_hero_preview": "Spēles vāka attēla priekšskatījums",
"edit_game_modal_cancel": "Atcelt",
"edit_game_modal_update": "Atjaunināt",
"edit_game_modal_updating": "Atjaunina...",
"edit_game_modal_fill_required": "Lūdzu, aizpildiet visus obligātos laukus",
"edit_game_modal_success": "Resursi veiksmīgi atjaunināti",
"edit_game_modal_failed": "Neizdevās atjaunināt resursus",
"edit_game_modal_image_filter": "Attēls",
"edit_game_modal_icon_resolution": "Ieteicamā izšķirtspēja: 256x256px",
"edit_game_modal_logo_resolution": "Ieteicamā izšķirtspēja: 640x360px",
"edit_game_modal_hero_resolution": "Ieteicamā izšķirtspēja: 1920x620px",
"edit_game_modal_assets": "Resursi",
"edit_game_modal_drop_icon_image_here": "Ievelciet ikonas attēlu šeit",
"edit_game_modal_drop_logo_image_here": "Ievelciet logotipa attēlu šeit",
"edit_game_modal_drop_hero_image_here": "Ievelciet vāka attēlu šeit",
"edit_game_modal_drop_to_replace_icon": "Ievelciet, lai aizstātu ikonu",
"edit_game_modal_drop_to_replace_logo": "Ievelciet, lai aizstātu logotipu",
"edit_game_modal_drop_to_replace_hero": "Ievelciet, lai aizstātu vāku",
"install_decky_plugin": "Instalēt Decky spraudni",
"update_decky_plugin": "Atjaunināt Decky spraudni",
"decky_plugin_installed_version": "Decky spraudnis (v{{version}})",
"install_decky_plugin_title": "Instalēt Hydra Decky spraudni",
"install_decky_plugin_message": "Tas lejupielādēs un instalēs Hydra spraudni Decky Loader. Var būt nepieciešamas paaugstinātas atļaujas. Turpināt?",
"update_decky_plugin_title": "Atjaunināt Hydra Decky spraudni",
"update_decky_plugin_message": "Ir pieejama jauna Hydra Decky spraudņa versija. Vai vēlaties to atjaunināt tagad?",
"decky_plugin_installed": "Decky spraudnis v{{version}} veiksmīgi instalēts",
"decky_plugin_installation_failed": "Neizdevās instalēt Decky spraudni: {{error}}",
"decky_plugin_installation_error": "Decky spraudņa instalēšanas kļūda: {{error}}",
"confirm": "Apstiprināt",
"cancel": "Atcelt"
},
"header": {
"search": "Meklēt",
"home": "Sākums",
"catalogue": "Katalogs",
"downloads": "Lejupielādes",
"search_results": "Meklēšanas rezultāti",
"settings": "Iestatījumi",
"version_available_install": "Pieejama versija {{version}}. Noklikšķiniet šeit, lai instalētu.",
"version_available_download": "Pieejama versija {{version}}. Noklikšķiniet šeit, lai lejupielādētu."
},
"bottom_panel": {
"no_downloads_in_progress": "Nav aktīvu lejupielāžu",
"downloading_metadata": "Lejupielādē metadatus {{title}}…",
"downloading": "Lejupielādē {{title}}… ({{percentage}} pabeigts) - Beigsies {{eta}} - {{speed}}",
"calculating_eta": "Lejupielādē {{title}}… ({{percentage}} pabeigts) - Aprēķina atlikušo laiku…",
"checking_files": "Pārbauda failus {{title}}… ({{percentage}} pabeigts)",
"installing_common_redist": "{{log}}…",
"installation_complete": "Instalēšana pabeigta",
"installation_complete_message": "Bibliotēkas veiksmīgi instalētas"
},
"catalogue": {
"search": "Filtrs…",
"developers": "Izstrādātāji",
"genres": "Žanri",
"tags": "Atzīmes",
"publishers": "Izdevēji",
"download_sources": "Lejupielādes avoti",
"result_count": "{{resultCount}} rezultāti",
"filter_count": "{{filterCount}} pieejami",
"clear_filters": "Notīrīt {{filterCount}} atlasītos"
},
"game_details": {
"open_download_options": "Atvērt avotus",
"download_options_zero": "Nav avotu",
"download_options_one": "{{count}} avots",
"download_options_other": "{{count}} avoti",
"updated_at": "Atjaunināts {{updated_at}}",
"install": "Instalēt",
"resume": "Atsākt",
"pause": "Apturēt",
"cancel": "Atcelt",
"remove": "Dzēst",
"space_left_on_disk": "{{space}} brīvs diskā",
"eta": "Beigsies {{eta}}",
"calculating_eta": "Aprēķina atlikušo laiku…",
"downloading_metadata": "Lejupielādē metadatus…",
"filter": "Meklēt repakus",
"requirements": "Sistēmas prasības",
"minimum": "Minimālās",
"recommended": "Ieteicamās",
"paused": "Apturēts",
"release_date": "Izdots {{date}}",
"publisher": "Izdevējs {{publisher}}",
"hours": "stundas",
"minutes": "minūtes",
"amount_hours": "{{amount}} stundas",
"amount_minutes": "{{amount}} minūtes",
"accuracy": "precizitāte {{accuracy}}%",
"add_to_library": "Pievienot bibliotēkai",
"already_in_library": "Jau bibliotēkā",
"remove_from_library": "Dzēst no bibliotēkas",
"no_downloads": "Nav pieejamu avotu",
"play_time": "Spēlēts {{amount}}",
"last_time_played": "Pēdējo reizi spēlēts {{period}}",
"not_played_yet": "Jūs vēl neesat spēlējis {{title}}",
"next_suggestion": "Nākamais ieteikums",
"play": "Spēlēt",
"deleting": "Dzēš instalētāju…",
"close": "Aizvērt",
"playing_now": "Palaists",
"change": "Mainīt",
"repacks_modal_description": "Izvēlieties repaku lejupielādei",
"select_folder_hint": "Lai mainītu noklusējuma lejupielāžu mapi, atveriet <0>Iestatījumus</0>",
"download_now": "Lejupielādēt tagad",
"no_shop_details": "Neizdevās iegūt aprakstu",
"download_options": "Avoti",
"download_path": "Ceļš lejupielādēm",
"previous_screenshot": "Iepriekšējais ekrānuzņēmums",
"next_screenshot": "Nākamais ekrānuzņēmums",
"screenshot": "Ekrānuzņēmums {{number}}",
"open_screenshot": "Atvērt ekrānuzņēmumu {{number}}",
"download_settings": "Lejupielādes parametri",
"downloader": "Lejupielādētājs",
"select_executable": "Izvēlēties",
"no_executable_selected": "Fails nav izvēlēts",
"open_folder": "Atvērt mapi",
"open_download_location": "Pārlūkot lejupielādes mapi",
"create_shortcut": "Izveidot īsceļu uz darbvirsmas",
"create_shortcut_simple": "Izveidot īsceļu",
"clear": "Notīrīt",
"remove_files": "Dzēst failus",
"remove_from_library_title": "Vai esat pārliecināts?",
"remove_from_library_description": "{{game}} tiks dzēsta no jūsu bibliotēkas.",
"options": "Iestatījumi",
"properties": "Īpašības",
"executable_section_title": "Fails",
"executable_section_description": "Ceļš uz failu, kas tiks palaists, nospiežot \"Spēlēt\"",
"downloads_section_title": "Lejupielādes",
"downloads_section_description": "Pārbaudīt atjauninājumu vai citu spēles versiju pieejamību",
"danger_zone_section_title": "Bīstamā zona",
"danger_zone_section_description": "Jūs varat dzēst šo spēli no savas bibliotēkas vai failus, kas lejupielādēti no Hydra",
"download_in_progress": "Notiek lejupielāde",
"download_paused": "Lejupielāde apturēta",
"last_downloaded_option": "Pēdējais lejupielādes variants",
"create_steam_shortcut": "Izveidot Steam īsceļu",
"create_shortcut_success": "Īsceļš izveidots",
"you_might_need_to_restart_steam": "Iespējams, jums būs jāpārstartē Steam, lai redzētu izmaiņas",
"create_shortcut_error": "Neizdevās izveidot īsceļu",
"add_to_favorites": "Pievienot izlasei",
"remove_from_favorites": "Dzēst no izlases",
"failed_update_favorites": "Neizdevās atjaunināt izlasi",
"game_removed_from_library": "Spēle dzēsta no bibliotēkas",
"failed_remove_from_library": "Neizdevās dzēst no bibliotēkas",
"files_removed_success": "Faili veiksmīgi dzēsti",
"failed_remove_files": "Neizdevās dzēst failus",
"nsfw_content_title": "Šajā spēlē ir nepiemērots saturs",
"nsfw_content_description": "{{title}} satur saturu, kas var nebūt piemērots visiem vecumiem. \nVai esat pārliecināts, ka vēlaties turpināt?",
"allow_nsfw_content": "Turpināt",
"refuse_nsfw_content": "Atpakaļ",
"stats": "Statistika",
"download_count": "Lejupielādes",
"player_count": "Aktīvie spēlētāji",
"download_error": "Šis lejupielādes variants nav pieejams",
"download": "Lejupielādēt",
"executable_path_in_use": "Izpildāmais fails jau tiek izmantots \"{{game}}\"",
"warning": "Uzmanību:",
"hydra_needs_to_remain_open": "Lai veiktu šo lejupielādi, Hydra jāpaliek atvērtai līdz beigām. Ja Hydra aizvērsies pirms pabeigšanas, jūs zaudēsiet progresu.",
"achievements": "Sasniegumi",
"achievements_count": "Sasniegumi {{unlockedCount}}/{{achievementsCount}}",
"show_more": "Rādīt vairāk",
"show_less": "Rādīt mazāk",
"reviews": "Atsauksmes",
"leave_a_review": "Atstāt atsauksmi",
"write_review_placeholder": "Dalieties savās domās par šo spēli...",
"sort_newest": "Vispirms jaunākās",
"no_reviews_yet": "Pagaidām nav atsauksmju",
"be_first_to_review": "Esiet pirmais, kurš dalīsies savās domās par šo spēli!",
"sort_oldest": "Vispirms vecākās",
"sort_highest_score": "Augstākais vērtējums",
"sort_lowest_score": "Zemākais vērtējums",
"sort_most_voted": "Vispopulārākās",
"rating": "Vērtējums",
"rating_stats": "Vērtējums",
"rating_very_negative": "Ļoti negatīvs",
"rating_negative": "Negatīvs",
"rating_neutral": "Neitrāls",
"rating_positive": "Pozitīvs",
"rating_very_positive": "Ļoti pozitīvs",
"submit_review": "Iesniegt",
"submitting": "Iesniegšana...",
"review_submitted_successfully": "Atsauksme veiksmīgi iesniegta!",
"review_submission_failed": "Neizdevās iesniegt atsauksmi. Lūdzu, mēģiniet vēlreiz.",
"review_cannot_be_empty": "Atsauksmes teksta lauks nevar būt tukšs.",
"review_deleted_successfully": "Atsauksme veiksmīgi dzēsta.",
"review_deletion_failed": "Neizdevās dzēst atsauksmi. Lūdzu, mēģiniet vēlreiz.",
"loading_reviews": "Ielādē atsauksmes...",
"loading_more_reviews": "Ielādē papildu atsauksmes...",
"load_more_reviews": "Ielādēt vairāk atsauksmju",
"you_seemed_to_enjoy_this_game": "Šķiet, jums patika šī spēle",
"would_you_recommend_this_game": "Vai vēlaties atstāt atsauksmi par šo spēli?",
"yes": "Jā",
"maybe_later": "Varbūt vēlāk",
"rating_count": "Vērtējums",
"delete_review": "Dzēst atsauksmi",
"remove_review": "Dzēst atsauksmi",
"delete_review_modal_title": "Vai esat pārliecināts, ka vēlaties dzēst savu atsauksmi?",
"delete_review_modal_description": "Šo darbību nevar atsaukt.",
"delete_review_modal_delete_button": "Dzēst",
"delete_review_modal_cancel_button": "Atcelt",
"show_original": "Rādīt oriģinālu",
"show_translation": "Rādīt tulkojumu",
"show_original_translated_from": "Rādīt oriģinālu (tulkot no {{language}})",
"hide_original": "Slēpt oriģinālu",
"cloud_save": "Mākoņglabāšana",
"cloud_save_description": "Glabājiet savu progresu mākonī un turpiniet spēlēt jebkurā ierīcē",
"backups": "Rezerves kopijas",
"install_backup": "Instalēt",
"delete_backup": "Dzēst",
"create_backup": "Izveidot jaunu rezerves kopiju",
"last_backup_date": "Pēdējā rezerves kopija no {{date}}",
"no_backup_preview": "Šim nosaukumam saglabājumi nav atrasti",
"restoring_backup": "Atjauno rezerves kopiju ({{progress}} pabeigts)…",
"uploading_backup": "Augšupielādē rezerves kopiju…",
"no_backups": "Jūs vēl neesat izveidojis rezerves kopijas šai spēlei",
"backup_uploaded": "Rezerves kopija augšupielādēta",
"backup_failed": "Rezerves kopēšanas kļūda",
"backup_deleted": "Rezerves kopija dzēsta",
"backup_restored": "Rezerves kopija atjaunota",
"see_all_achievements": "Skatīt visus sasniegumus",
"sign_in_to_see_achievements": "Piesakieties, lai redzētu sasniegumus",
"mapping_method_automatic": "Automātiska",
"mapping_method_manual": "Manuāla",
"mapping_method_label": "Kartēšanas metode",
"files_automatically_mapped": "Faili automātiski kartēti",
"no_backups_created": "Šai spēlei nav izveidotas rezerves kopijas",
"manage_files": "Failu pārvaldība",
"loading_save_preview": "Meklē saglabājumus…",
"wine_prefix": "Wine prefikss",
"wine_prefix_description": "Wine prefikss, ko izmanto šīs spēles palaišanai",
"launch_options": "Palaišanas parametri",
"launch_options_description": "Pieredzējuši lietotāji var veikt izmaiņas palaišanas parametros",
"launch_options_placeholder": "Parametrs nav norādīts",
"no_download_option_info": "Informācija nav pieejama",
"backup_deletion_failed": "Neizdevās dzēst rezerves kopiju",
"max_number_of_artifacts_reached": "Sasniegts maksimālais rezerves kopiju skaits šai spēlei",
"achievements_not_sync": "Jūsu sasniegumi nav sinhronizēti",
"manage_files_description": "Pārvaldiet failus, kas tiks saglabāti un atjaunoti",
"select_folder": "Izvēlēties mapi",
"backup_from": "Rezerves kopija no {{date}}",
"automatic_backup_from": "Automātiska rezerves kopija no {{date}}",
"enable_automatic_cloud_sync": "Iespējot automātisku sinhronizāciju mākonī",
"custom_backup_location_set": "Iestatīta pielāgota rezerves kopēšanas vieta",
"no_directory_selected": "Nav izvēlēts katalogs",
"no_write_permission": "Nevar augšupielādēt šajā direktorijā. Noklikšķiniet šeit, lai uzzinātu vairāk.",
"reset_achievements": "Atiestatīt sasniegumus",
"reset_achievements_description": "Tas atiestatīs visus sasniegumus {{game}} spēlei",
"reset_achievements_title": "Vai esat pārliecināts?",
"reset_achievements_success": "Sasniegumi veiksmīgi atiestatīti",
"reset_achievements_error": "Neizdevās atiestatīt sasniegumus",
"download_error_gofile_quota_exceeded": "Jūs pārsniedzāt Gofile mēneša kvotu. Lūdzu, uzgaidiet, kamēr kvota tiks atjaunota.",
"download_error_real_debrid_account_not_authorized": "Jūsu Real-Debrid konts nav autorizēts jaunām lejupielādēm. Lūdzu, pārbaudiet konta iestatījumus un mēģiniet vēlreiz.",
"download_error_not_cached_on_real_debrid": "Šī lejupielāde nav pieejama Real-Debrid, un Real-Debrid lejupielādes statusu pagaidām nav iespējams iegūt.",
"update_playtime_title": "Atjaunināt spēles laiku",
"update_playtime_description": "Manuāli atjauniniet spēles laiku {{game}} spēlei",
"update_playtime": "Atjaunināt spēles laiku",
"update_playtime_success": "Spēles laiks veiksmīgi atjaunināts",
"update_playtime_error": "Neizdevās atjaunināt spēles laiku",
"update_game_playtime": "Atjaunināt spēles laiku",
"manual_playtime_warning": "Jūsu stundas tiks atzīmētas kā manuāli atjauninātas. Šo darbību nevar atcelt.",
"manual_playtime_tooltip": "Šis spēles laiks tika atjaunināts manuāli",
"download_error_not_cached_on_torbox": "Šī lejupielāde nav pieejama TorBox, un TorBox lejupielādes statusu pagaidām nav iespējams iegūt.",
"download_error_not_cached_on_hydra": "Šī lejupielāde nav pieejama Nimbus.",
"game_removed_from_favorites": "Spēle dzēsta no izlases",
"game_added_to_favorites": "Spēle pievienota izlasei",
"game_removed_from_pinned": "Spēle dzēsta no piespraustajiem",
"game_added_to_pinned": "Spēle pievienota piespraustajiem",
"automatically_extract_downloaded_files": "Automātiska lejupielādēto failu izpakošana",
"create_start_menu_shortcut": "Izveidot saīsni sākuma izvēlnē",
"invalid_wine_prefix_path": "Nederīgs Wine prefiksa ceļš",
"invalid_wine_prefix_path_description": "Wine prefiksa ceļš nav derīgs. Lūdzu, pārbaudiet ceļu un mēģiniet vēlreiz.",
"missing_wine_prefix": "Wine prefikss ir nepieciešams, lai izveidotu rezerves kopiju Linux vidē",
"artifact_renamed": "Rezerves kopija veiksmīgi pārsaukta",
"rename_artifact": "Pārsaukt rezerves kopiju",
"rename_artifact_description": "Pārsauciet rezerves kopiju, piešķirot tai aprakstošāku nosaukumu.",
"artifact_name_label": "Rezerves kopijas nosaukums",
"artifact_name_placeholder": "Ievadiet nosaukumu rezerves kopijai",
"save_changes": "Saglabāt izmaiņas",
"required_field": "Šis lauks ir obligāts",
"max_length_field": "Šim laukam jābūt mazāk par {{length}} simboliem",
"freeze_backup": "Piespraust, lai to nepārrakstītu automātiskās rezerves kopijas",
"unfreeze_backup": "Atspraust",
"backup_frozen": "Rezerves kopija piesprausta",
"backup_unfrozen": "Rezerves kopija atsprausta",
"backup_freeze_failed": "Neizdevās piespraust rezerves kopiju",
"backup_freeze_failed_description": "Jums jāatstāj vismaz viens brīvs slots automātiskajām rezerves kopijām",
"edit_game_modal_button": "Rediģēt spēles detaļas",
"game_details": "Spēles detaļas",
"currency_symbol": "₽",
"currency_country": "ru",
"prices": "Cenas",
"no_prices_found": "Cenas nav atrastas",
"view_all_prices": "Noklikšķiniet, lai skatītu visas cenas",
"retail_price": "Mazumtirdzniecības cena",
"keyshop_price": "Atslēgu veikala cena",
"historical_retail": "Vēsturiskās mazumtirdzniecības cenas",
"historical_keyshop": "Vēsturiskās atslēgu veikalu cenas",
"language": "Valoda",
"caption": "Subtitri",
"audio": "Audio",
"filter_by_source": "Filtrēt pēc avota",
"no_repacks_found": "Avoti šai spēlei nav atrasti"
},
"activation": {
"title": "Aktivizēt Hydra",
"installation_id": "Instalācijas ID:",
"enter_activation_code": "Ievadiet savu aktivizācijas kodu",
"message": "Ja nezināt, kur to pieprasīt, jums to nevajadzētu būt.",
"activate": "Aktivizēt",
"loading": "Ielādēšana…"
},
"downloads": {
"resume": "Atsākt",
"pause": "Apturēt",
"eta": "Beigsies {{eta}}",
"paused": "Apturēts",
"verifying": "Pārbauda…",
"completed": "Pabeigts",
"removed": "Nav lejupielādēts",
"cancel": "Atcelt",
"filter": "Meklēt lejupielādētās spēles",
"remove": "Dzēst",
"downloading_metadata": "Lejupielādē metadatus…",
"deleting": "Dzēš instalētāju…",
"delete": "Dzēst instalētāju",
"delete_modal_title": "Vai esat pārliecināts?",
"delete_modal_description": "Tas dzēsīs visus instalētājus no jūsu datora",
"install": "Instalēt",
"download_in_progress": "Procesā",
"queued_downloads": "Lejupielādes rindā",
"downloads_completed": "Pabeigts",
"queued": "Rindā",
"no_downloads_title": "Šeit ir tik tukšs...",
"no_downloads_description": "Jūs vēl neko neesat lejupielādējis, izmantojot Hydra, bet nekad nav par vēlu sākt.",
"checking_files": "Pārbauda failus…",
"seeding": "Sēdēšana",
"stop_seeding": "Apturēt sēdēšanu",
"resume_seeding": "Turpināt sēdēšanu",
"options": "Pārvaldīt",
"extract": "Izpakot failus",
"extracting": "Izpako failus…"
},
"settings": {
"downloads_path": "Lejupielāžu ceļš",
"change": "Mainīt",
"notifications": "Paziņojumi",
"enable_download_notifications": "Pēc lejupielādes pabeigšanas",
"enable_repack_list_notifications": "Pievienojot jaunu repaku",
"real_debrid_api_token_label": "Real-Debrid API-atslēga",
"quit_app_instead_hiding": "Aizvērt lietotni, nevis minimizēt uz paplātes",
"launch_with_system": "Palaist Hydra kopā ar sistēmu",
"general": "Vispārīgi",
"behavior": "Uzvedība",
"download_sources": "Lejupielādes avoti",
"language": "Valoda",
"api_token": "API atslēga",
"enable_real_debrid": "Iespējot Real-Debrid",
"real_debrid_description": "Real-Debrid ir neierobežots lejupielādētājs, kas ļauj ātri lejupielādēt failus, kas izvietoti internetā, vai uzreiz pārsūtīt tos uz atskaņotāju, izmantojot privātu tīklu, kas ļauj apiet jebkādus bloķējumus.",
"debrid_invalid_token": "Nederīga API atslēga",
"debrid_api_token_hint": "API atslēgu var iegūt <0>šeit</0>",
"real_debrid_free_account_error": "Kontam \"{{username}}\" nav abonementa. Lūdzu, iegādājieties Real-Debrid abonementu",
"debrid_linked_message": "Piesaistīts konts \"{{username}}\"",
"save_changes": "Saglabāt izmaiņas",
"changes_saved": "Izmaiņas veiksmīgi saglabātas",
"download_sources_description": "Hydra saņems lejupielādes saites no šiem avotiem. URL jāietver tieša saite uz .json failu ar lejupielādes saitēm.",
"validate_download_source": "Pārbaudīt",
"remove_download_source": "Dzēst",
"add_download_source": "Pievienot avotu",
"download_count_zero": "Sarakstā nav lejupielāžu",
"download_count_one": "{{countFormatted}} lejupielāde sarakstā",
"download_count_other": "{{countFormatted}} lejupielādes sarakstā",
"download_source_url": "Saite uz avotu",
"add_download_source_description": "Ievietojiet saiti uz .json failu",
"download_source_up_to_date": "Atjaunināts",
"download_source_errored": "Kļūda",
"sync_download_sources": "Atjaunināt avotus",
"removed_download_source": "Avots dzēsts",
"removed_download_sources": "Avoti dzēsti",
"cancel_button_confirmation_delete_all_sources": "Nē",
"confirm_button_confirmation_delete_all_sources": "Jā, dzēst visus",
"title_confirmation_delete_all_sources": "Dzēst visus avotus",
"description_confirmation_delete_all_sources": "Jūs dzēsīsiet visus avotus",
"button_delete_all_sources": "Dzēst visus avotus",
"added_download_source": "Avots pievienots",
"download_sources_synced": "Visi avoti atjaunināti",
"insert_valid_json_url": "Ievietojiet derīgu JSON faila URL",
"found_download_option_zero": "Nav atrasts lejupielādes variantu",
"found_download_option_one": "Atrasts {{countFormatted}} lejupielādes variants",
"found_download_option_other": "Atrasti {{countFormatted}} lejupielādes varianti",
"import": "Importēt",
"importing": "Importē...",
"public": "Publisks",
"private": "Privāts",
"friends_only": "Tikai draugiem",
"privacy": "Konfidencialitāte",
"profile_visibility": "Profila redzamība",
"profile_visibility_description": "Izvēlieties, kurš var redzēt jūsu profilu un bibliotēku",
"required_field": "Šis lauks ir obligāts",
"source_already_exists": "Šis avots jau ir pievienots",
"must_be_valid_url": "Avotam jābūt pareizam URL",
"blocked_users": "Bloķētie lietotāji",
"user_unblocked": "Lietotājs atbloķēts",
"enable_achievement_notifications": "Kad sasniegums ir atbloķēts",
"launch_minimized": "Palaist Hydra minimizētā veidā",
"disable_nsfw_alert": "Atspējot brīdinājumu par neķītru saturu",
"seed_after_download_complete": "Sēdēt pēc lejupielādes pabeigšanas",
"show_hidden_achievement_description": "Rādīt slēpto sasniegumu aprakstu pirms to iegūšanas",
"account": "Konts",
"no_users_blocked": "Jums nav bloķētu lietotāju",
"subscription_active_until": "Jūsu Hydra Cloud abonements ir aktīvs līdz {{date}}",
"manage_subscription": "Pārvaldīt abonementu",
"update_email": "Atjaunināt e-pastu",
"update_password": "Atjaunināt paroli",
"current_email": "Pašreizējais e-pasts:",
"no_email_account": "Jūs vēl neesat iestatījis e-pastu",
"account_data_updated_successfully": "Konta dati veiksmīgi atjaunināti",
"renew_subscription": "Atjaunot Hydra Cloud abonementu",
"subscription_expired_at": "Jūsu abonementa termiņš beidzās {{date}}",
"no_subscription": "Izbaudiet Hydra pilnībā",
"become_subscriber": "Kļūstiet par Hydra Cloud īpašnieku",
"subscription_renew_cancelled": "Automātiskā atjaunošana atspējota",
"subscription_renews_on": "Jūsu abonements tiek atjaunots {{date}}",
"bill_sent_until": "Jūsu nākamais rēķins tiks nosūtīts līdz šai dienai",
"no_themes": "Šķiet, ka jums vēl nav tēmu, bet neuztraucieties, noklikšķiniet šeit, lai izveidotu savu pirmo šedevru",
"editor_tab_code": "Kods",
"editor_tab_info": "Informācija",
"editor_tab_save": "Saglabāt",
"web_store": "Tīmekļa veikals",
"clear_themes": "Notīrīt",
"create_theme": "Izveidot",
"create_theme_modal_title": "Izveidot pielāgotu tēmu",
"create_theme_modal_description": "Izveidot jaunu tēmu, lai pielāgotu Hydra izskatu",
"theme_name": "Nosaukums",
"insert_theme_name": "Ievietot tēmas nosaukumu",
"set_theme": "Iestatīt tēmu",
"unset_theme": "Noņemt tēmu",
"delete_theme": "Dzēst tēmu",
"edit_theme": "Rediģēt tēmu",
"delete_all_themes": "Dzēst visas tēmas",
"delete_all_themes_description": "Tas dzēsīs visas jūsu pielāgotās tēmas",
"delete_theme_description": "Tas dzēsīs tēmu {{theme}}",
"cancel": "Atcelt",
"appearance": "Izskats",
"debrid": "Debrid",
"debrid_description": "Debrid servisi ir premium lejupielādētāji bez ierobežojumiem, kas ļauj ātri lejupielādēt failus no dažādiem failu apmaiņas servisiem, ierobežojoties tikai ar jūsu interneta ātrumu.",
"enable_torbox": "Iespējot TorBox",
"torbox_description": "TorBox ir jūsu premium serviss, kas konkurē pat ar labākajiem serveriem tirgū.",
"torbox_account_linked": "TorBox konts piesaistīts",
"create_real_debrid_account": "Noklikšķiniet šeit, ja jums vēl nav Real-Debrid konta",
"create_torbox_account": "Noklikšķiniet šeit, ja jums vēl nav TorBox konta",
"real_debrid_account_linked": "Real-Debrid konts piesaistīts",
"name_min_length": "Tēmas nosaukumam jābūt vismaz 3 simbolus garam",
"import_theme": "Importēt tēmu",
"import_theme_description": "Jūs importēsiet {{theme}} no tēmu veikala",
"error_importing_theme": "Kļūda importējot tēmu",
"theme_imported": "Tēma veiksmīgi importēta",
"enable_friend_request_notifications": "Saņemot draudzības pieprasījumu",
"enable_auto_install": "Automātiski lejupielādēt atjauninājumus",
"common_redist": "Bibliotēkas",
"common_redist_description": "Dažu spēļu palaišanai ir nepieciešamas bibliotēkas. Lai izvairītos no problēmām, ieteicams tās instalēt.",
"install_common_redist": "Instalēt",
"installing_common_redist": "Instalēšana…",
"show_download_speed_in_megabytes": "Rādīt lejupielādes ātrumu megabaitos sekundē",
"extract_files_by_default": "Izpakot failus pēc noklusējuma pēc lejupielādes",
"enable_steam_achievements": "Iespējot Steam sasniegumu meklēšanu",
"achievement_custom_notification_position": "Sasniegumu paziņojumu pozīcija",
"top-left": "Augšējais kreisais stūris",
"top-center": "Augšējais centrs",
"top-right": "Augšējais labais stūris",
"bottom-left": "Apakšējais kreisais stūris",
"bottom-center": "Apakšējais centrs",
"bottom-right": "Apakšējais labais stūris",
"enable_achievement_custom_notifications": "Iespējot sasniegumu paziņojumus",
"alignment": "Izlīdzināšana",
"variation": "Variācija",
"default": "Pēc noklusējuma",
"rare": "Retais",
"platinum": "Platīna",
"hidden": "Slēpts",
"test_notification": "Testa paziņojums",
"notification_preview": "Sasnieguma paziņojuma priekšskatījums",
"enable_friend_start_game_notifications": "Kad draugs sāk spēlēt spēli"
},
"notifications": {
"download_complete": "Lejupielāde pabeigta",
"game_ready_to_install": "{{title}} ir gatava instalēšanai",
"repack_list_updated": "Repaku saraksts atjaunināts",
"repack_count_one": "{{count}} repaks pievienots",
"repack_count_other": "{{count}} repaki pievienoti",
"new_update_available": "Pieejama jauna versija {{version}}",
"restart_to_install_update": "Pārstartējiet Hydra, lai instalētu atjauninājumu",
"notification_achievement_unlocked_title": "Sasniegums atbloķēts spēlei {{game}}",
"notification_achievement_unlocked_body": "tika atbloķēti {{achievement}} un citi {{count}}",
"new_friend_request_description": "{{displayName}} nosūtīja jums draudzības pieprasījumu",
"new_friend_request_title": "Jauns draudzības pieprasījums",
"extraction_complete": "Izpakošana pabeigta",
"game_extracted": "{{title}} veiksmīgi izpakots",
"friend_started_playing_game": "{{displayName}} sāka spēlēt spēli",
"test_achievement_notification_title": "Šis ir testa paziņojums",
"test_achievement_notification_description": "Diezgan forši, vai ne?"
},
"system_tray": {
"open": "Atvērt Hydra",
"quit": "Iziet"
},
"game_card": {
"available_one": "Pieejams",
"available_other": "Pieejams",
"no_downloads": "Nav pieejamu avotu",
"calculating": "Aprēķina"
},
"binary_not_found_modal": {
"title": "Programmas nav instalētas",
"description": "Wine vai Lutris nav atrasti",
"instructions": "Uzziniet pareizo veidu, kā instalēt kādu no tiem jūsu Linux distribūcijā, lai spēle varētu normāli darboties"
},
"modal": {
"close": "Aizvērt"
},
"forms": {
"toggle_password_visibility": "Rādīt paroli"
},
"user_profile": {
"amount_hours": "{{amount}} stundas",
"amount_minutes": "{{amount}} minūtes",
"amount_hours_short": "{{amount}}h",
"amount_minutes_short": "{{amount}}m",
"last_time_played": "Pēdējā spēle {{period}}",
"activity": "Nesenā aktivitāte",
"library": "Bibliotēka",
"pinned": "Piespraustās",
"achievements_earned": "Nopelnītie sasniegumi",
"played_recently": "Nesen spēlētās",
"playtime": "Spēles laiks",
"total_play_time": "Kopējais spēles laiks",
"manual_playtime_tooltip": "Spēles laiks tika atjaunināts manuāli",
"no_recent_activity_title": "Hmmmm... Šeit nav nekā",
"no_recent_activity_description": "Jūs sen neesat neko spēlējis. Ir laiks to mainīt!",
"display_name": "Parādāmais vārds",
"saving": "Saglabāšana",
"save": "Saglabāt",
"edit_profile": "Rediģēt profilu",
"saved_successfully": "Veiksmīgi saglabāts",
"try_again": "Lūdzu, mēģiniet vēlreiz",
"sign_out_modal_title": "Vai esat pārliecināts?",
"cancel": "Atcelt",
"successfully_signed_out": "Veiksmīga izrakstīšanās no konta",
"sign_out": "Iziet",
"playing_for": "Spēlēts {{amount}}",
"sign_out_modal_text": "Jūsu bibliotēka ir saistīta ar pašreizējo kontu. Izejot no sistēmas, jūsu bibliotēka kļūs nepieejama, un progress netiks saglabāts. Iziet?",
"add_friends": "Pievienot draugus",
"add": "Pievienot",
"friend_code": "Drauga kods",
"see_profile": "Skatīt profilu",
"sending": "Sūtīšana",
"friend_request_sent": "Draudzības pieprasījums nosūtīts",
"friends": "Draugi",
"friends_list": "Draugu saraksts",
"user_not_found": "Lietotājs nav atrasts",
"block_user": "Bloķēt lietotāju",
"add_friend": "Pievienot draugu",
"request_sent": "Pieprasījums nosūtīts",
"request_received": "Pieprasījums saņemts",
"accept_request": "Pieņemt pieprasījumu",
"ignore_request": "Ignorēt pieprasījumu",
"cancel_request": "Atcelt pieprasījumu",
"undo_friendship": "Dzēst draugu",
"request_accepted": "Pieprasījums pieņemts",
"user_blocked_successfully": "Lietotājs veiksmīgi bloķēts",
"user_block_modal_text": "{{displayName}} tiks bloķēts",
"blocked_users": "Bloķētie lietotāji",
"unblock": "Atbloķēt",
"no_friends_added": "Jūs vēl neesat pievienojis nevienu draugu",
"pending": "Gaida",
"no_pending_invites": "Jums nav pieprasījumu, kas gaida atbildi",
"no_blocked_users": "Jūs neesat bloķējis nevienu lietotāju",
"friend_code_copied": "Drauga kods kopēts",
"undo_friendship_modal_text": "Tas atcels jūsu draudzību ar {{displayName}}.",
"privacy_hint": "Lai norādītu, kurš to var redzēt, dodieties uz <0>Iestatījumiem</0>.",
"locked_profile": "Šis profils ir privāts",
"image_process_failure": "Attēlu apstrādes kļūme",
"required_field": "Šis lauks ir obligāts",
"displayname_min_length": "Parādāmam vārdam jābūt vismaz 3 simbolus garam.",
"displayname_max_length": "Parādāmam vārdam jābūt ne vairāk kā 50 simboliem.",
"report_profile": "Ziņot par šo profilu",
"report_reason": "Kāpēc jūs ziņojat par šo profilu?",
"report_description": "Papildu informācija",
"report_description_placeholder": "Papildu informācija",
"report": "Ziņot",
"report_reason_hate": "Naida runa",
"report_reason_sexual_content": "Seksuāls saturs",
"report_reason_violence": "Vardarbība",
"report_reason_spam": "Surogātpasts",
"report_reason_other": "Cits",
"profile_reported": "Ziņojums par profilu nosūtīts",
"your_friend_code": "Jūsu drauga kods:",
"upload_banner": "Augšupielādēt reklāmkarogu",
"uploading_banner": "Augšupielādē reklāmkarogu...",
"background_image_updated": "Fona attēls atjaunināts",
"stats": "Statistika",
"achievements": "Sasniegumi",
"games": "Spēles",
"top_percentile": "Top {{percentile}}%",
"ranking_updated_weekly": "Reitings tiek atjaunināts katru nedēļu",
"playing": "Spēlē {{game}}",
"achievements_unlocked": "Sasniegumi atbloķēti",
"earned_points": "Nopelnītie punkti:",
"show_achievements_on_profile": "Rādīt savus sasniegumus profilā",
"show_points_on_profile": "Rādīt nopelnītos punktus savā profilā",
"error_adding_friend": "Neizdevās nosūtīt draudzības pieprasījumu. Lūdzu, pārbaudiet drauga kodu",
"friend_code_length_error": "Drauga kodam jāsatur 8 simboli",
"game_removed_from_pinned": "Spēle dzēsta no piespraustajiem",
"game_added_to_pinned": "Spēle pievienota piespraustajiem",
"karma": "Karma",
"karma_count": "karma",
"karma_description": "Nopelnīta ar pozitīviem atsauksmju vērtējumiem"
},
"achievement": {
"achievement_unlocked": "Sasniegums atbloķēts",
"user_achievements": "{{displayName}} sasniegumi",
"your_achievements": "Jūsu sasniegumi",
"unlocked_at": "Atbloķēts: {{date}}",
"subscription_needed": "Šī satura apskatīšanai nepieciešams Hydra Cloud abonements",
"new_achievements_unlocked": "Atbloķēti {{achievementCount}} jauni sasniegumi no {{gameCount}} spēlēm",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} sasniegumi",
"achievements_unlocked_for_game": "Atbloķēti {{achievementCount}} jauni sasniegumi spēlei {{gameTitle}}",
"hidden_achievement_tooltip": "Šis ir slēpts sasniegums",
"achievement_earn_points": "Nopelniet {{points}} punktus ar šo sasniegumu",
"earned_points": "Nopelnītie punkti:",
"available_points": "Pieejamie punkti:",
"how_to_earn_achievements_points": "Kā nopelnīt sasniegumu punktus?"
},
"hydra_cloud": {
"subscription_tour_title": "Hydra Cloud abonements",
"subscribe_now": "Abonējiet tūlīt",
"cloud_saving": "Saglabāšana mākonī",
"cloud_achievements": "Saglabājiet savus sasniegumus mākonī",
"animated_profile_picture": "Animētas profila bildes",
"premium_support": "Premium atbalsts",
"show_and_compare_achievements": "Rādiet un salīdziniet savus sasniegumus ar citu lietotāju sasniegumiem",
"animated_profile_banner": "Animēts profila reklāmkarogs",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "Jūs tikko atklājāt Hydra Cloud funkciju!",
"learn_more": "Uzzināt vairāk",
"debrid_description": "Lejupielādējiet 4 reizes ātrāk ar Nimbus"
}
}

View File

@@ -4,7 +4,6 @@
"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...",
@@ -29,7 +28,6 @@
},
"header": {
"search": "Søk efter spill",
"home": "Hjem",
"catalogue": "Katalog",
"downloads": "Nedlastinger",
@@ -45,10 +43,7 @@
"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"
},
"catalogue": {},
"game_details": {
"open_download_options": "Åpne nedlastingsmuligheter",
"download_options_zero": "Ingen nedlastingsmulighet",
@@ -111,7 +106,7 @@
"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_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",

View File

@@ -1,7 +1,6 @@
{
"language_name": "Nederlands",
"home": {
"featured": "Uitgelicht",
"surprise_me": "Verrasing",
"no_results": "Geen resultaten gevonden"
},
@@ -19,7 +18,6 @@
},
"header": {
"search": "Zoek spellen",
"home": "Home",
"catalogue": "Bibliotheek",
"downloads": "Downloads",
@@ -31,10 +29,7 @@
"downloading_metadata": "Downloading {{title}} metadata…",
"downloading": "Downloading {{title}}… ({{percentage}} complete) - Conclusion {{eta}} - {{speed}}"
},
"catalogue": {
"next_page": "Volgende Pagina",
"previous_page": "Vorige Pagina"
},
"catalogue": {},
"game_details": {
"open_download_options": "Open download Instellingen",
"download_options_zero": "Geen download Instellingen",

View File

@@ -1,7 +1,6 @@
{
"language_name": "Polski",
"home": {
"featured": "Wyróżnione",
"surprise_me": "Zaskocz mnie",
"no_results": "Nie znaleziono wyników"
},
@@ -13,13 +12,13 @@
"downloading_metadata": "{{title}} (Pobieranie metadata…)",
"paused": "{{title}} (Zatrzymano)",
"downloading": "{{title}} ({{percentage}} - Pobieranie…)",
"filter": "Filtruj biblioteke",
"filter": "Filtruj bibliotekę",
"home": "Główna",
"favorites": "Ulubione"
"favorites": "Ulubione",
"playable_button_title": "Pokaż tylko gry, w które możesz grać teraz"
},
"header": {
"search": "Szukaj",
"home": "Główna",
"catalogue": "Katalog",
"downloads": "Pobrane",
@@ -31,10 +30,7 @@
"downloading_metadata": "Pobieranie {{title}} metadata…",
"downloading": "Pobieranie {{title}}… (ukończone w {{percentage}}) - Podsumowanie {{eta}} - {{speed}}"
},
"catalogue": {
"next_page": "Następna strona",
"previous_page": "Poprzednia strona"
},
"catalogue": {},
"game_details": {
"open_download_options": "Otwórz opcje pobierania",
"download_options_zero": "Brak opcji pobierania",

240
src/locales/pt-BR/translation.json Normal file → Executable file
View File

@@ -4,7 +4,6 @@
"successfully_signed_in": "Autenticado com sucesso"
},
"home": {
"featured": "Destaques",
"hot": "Populares",
"weekly": "📅 Mais baixados da semana",
"achievements": "🏆 Pra platinar",
@@ -27,7 +26,69 @@
"sign_in": "Login",
"friends": "Amigos",
"need_help": "Precisa de ajuda?",
"favorites": "Favoritos"
"favorites": "Favoritos",
"playable_button_title": "Mostrar apenas jogos que você pode jogar agora",
"add_custom_game_tooltip": "Adicionar jogo personalizado",
"show_playable_only_tooltip": "Mostrar Apenas Jogáveis",
"custom_game_modal": "Adicionar jogo personalizado",
"custom_game_modal_description": "Adicione um jogo personalizado à sua biblioteca selecionando um arquivo executável",
"custom_game_modal_executable_path": "Caminho do Executável",
"custom_game_modal_select_executable": "Selecionar arquivo executável",
"custom_game_modal_title": "Título",
"custom_game_modal_enter_title": "Insira o título",
"edit_game_modal_title": "Título",
"custom_game_modal_browse": "Buscar",
"custom_game_modal_cancel": "Cancelar",
"custom_game_modal_add": "Adicionar Jogo",
"custom_game_modal_adding": "Adicionando...",
"custom_game_modal_success": "Jogo personalizado adicionado com sucesso",
"custom_game_modal_failed": "Falha ao adicionar jogo personalizado",
"custom_game_modal_executable": "Executável",
"edit_game_modal": "Personalizar detalhes",
"edit_game_modal_description": "Personalize os recursos e detalhes do jogo",
"edit_game_modal_enter_title": "Insira o título",
"edit_game_modal_image": "Imagem",
"edit_game_modal_select_image": "Selecionar imagem",
"edit_game_modal_browse": "Buscar",
"edit_game_modal_image_preview": "Visualização da imagem",
"edit_game_modal_icon": "Ícone",
"edit_game_modal_select_icon": "Selecionar ícone",
"edit_game_modal_icon_preview": "Visualização do ícone",
"edit_game_modal_logo": "Logo",
"edit_game_modal_select_logo": "Selecionar logo",
"edit_game_modal_logo_preview": "Visualização do logo",
"edit_game_modal_hero": "Hero da Biblioteca",
"edit_game_modal_select_hero": "Selecionar imagem hero da biblioteca",
"edit_game_modal_hero_preview": "Visualização da imagem hero da biblioteca",
"edit_game_modal_cancel": "Cancelar",
"edit_game_modal_update": "Atualizar",
"edit_game_modal_updating": "Atualizando...",
"edit_game_modal_fill_required": "Por favor, preencha todos os campos obrigatórios",
"edit_game_modal_success": "Recursos atualizados com sucesso",
"edit_game_modal_failed": "Falha ao atualizar recursos",
"edit_game_modal_image_filter": "Imagem",
"edit_game_modal_icon_resolution": "Resolução recomendada: 256x256px",
"edit_game_modal_logo_resolution": "Resolução recomendada: 640x360px",
"edit_game_modal_hero_resolution": "Resolução recomendada: 1920x620px",
"edit_game_modal_assets": "Imagens",
"edit_game_modal_drop_icon_image_here": "Solte a imagem do ícone aqui",
"edit_game_modal_drop_logo_image_here": "Solte a imagem do logo aqui",
"edit_game_modal_drop_hero_image_here": "Solte a imagem hero aqui",
"edit_game_modal_drop_to_replace_icon": "Solte para substituir o ícone",
"edit_game_modal_drop_to_replace_logo": "Solte para substituir o logo",
"edit_game_modal_drop_to_replace_hero": "Solte para substituir o hero",
"install_decky_plugin": "Instalar Plugin Decky",
"update_decky_plugin": "Atualizar Plugin Decky",
"decky_plugin_installed_version": "Plugin Decky (v{{version}})",
"install_decky_plugin_title": "Instalar Plugin Hydra Decky",
"install_decky_plugin_message": "Isso irá baixar e instalar o plugin Hydra para Decky Loader. Pode ser necessário permissões elevadas. Continuar?",
"update_decky_plugin_title": "Atualizar Plugin Hydra Decky",
"update_decky_plugin_message": "Uma nova versão do plugin Hydra Decky está disponível. Gostaria de atualizar agora?",
"decky_plugin_installed": "Plugin Decky v{{version}} instalado com sucesso",
"decky_plugin_installation_failed": "Falha ao instalar plugin Decky: {{error}}",
"decky_plugin_installation_error": "Erro ao instalar plugin Decky: {{error}}",
"confirm": "Confirmar",
"cancel": "Cancelar"
},
"header": {
"search": "Buscar jogos",
@@ -76,6 +137,7 @@
"amount_minutes": "{{amount}} minutos",
"accuracy": "{{accuracy}}% de precisão",
"add_to_library": "Adicionar à biblioteca",
"already_in_library": "Já está na biblioteca",
"remove_from_library": "Remover da biblioteca",
"no_downloads": "Nenhum download disponível",
"play_time": "Jogou por {{amount}}",
@@ -105,20 +167,24 @@
"open_folder": "Abrir pasta",
"open_download_location": "Ver arquivos baixados",
"create_shortcut": "Criar atalho na área de trabalho",
"create_shortcut_simple": "Criar atalho",
"remove_files": "Remover arquivos",
"options": "Gerenciar",
"properties": "Propriedades",
"remove_from_library_description": "Isso irá remover {{game}} da sua biblioteca",
"remove_from_library_title": "Tem certeza?",
"executable_section_title": "Executável",
"executable_section_description": "O caminho do arquivo que será executado ao clicar em \"Jogar\"",
"downloads_secion_title": "Downloads",
"downloads_section_title": "Downloads",
"downloads_section_description": "Confira 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 arquivos que foram baixados pelo Hydra",
"download_in_progress": "Download em andamento",
"download_paused": "Download pausado",
"last_downloaded_option": "Última opção baixada",
"create_steam_shortcut": "Criar atalho na Steam",
"create_shortcut_success": "Atalho criado com sucesso",
"you_might_need_to_restart_steam": "Você pode precisar reiniciar a Steam para ver as alterações",
"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. Você deseja continuar?",
@@ -146,6 +212,7 @@
"uploading_backup": "Criando backup…",
"no_backups": "Você ainda não fez nenhum backup deste jogo",
"backup_uploaded": "Backup criado",
"backup_failed": "Falha no backup",
"backup_deleted": "Backup apagado",
"backup_restored": "Backup restaurado",
"see_all_achievements": "Ver todas as conquistas",
@@ -182,11 +249,107 @@
"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.",
"download_error_not_cached_on_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_on_torbox": "Este download não está disponível no TorBox e a verificação do status do download não está disponível.",
"download_error_not_cached_on_hydra": "Este download não está disponível no Nimbus.",
"game_removed_from_favorites": "Jogo removido dos favoritos",
"game_added_to_favorites": "Jogo adicionado aos favoritos",
"automatically_extract_downloaded_files": "Extrair automaticamente os arquivos baixados"
"add_to_favorites": "Adicionar aos favoritos",
"remove_from_favorites": "Remover dos favoritos",
"failed_update_favorites": "Falha ao atualizar favoritos",
"game_removed_from_library": "Jogo removido da biblioteca",
"failed_remove_from_library": "Falha ao remover da biblioteca",
"files_removed_success": "Arquivos removidos com sucesso",
"failed_remove_files": "Falha ao remover arquivos",
"automatically_extract_downloaded_files": "Extrair automaticamente os arquivos baixados",
"create_start_menu_shortcut": "Criar atalho no Menu Iniciar",
"invalid_wine_prefix_path": "Caminho do prefixo Wine inválido",
"invalid_wine_prefix_path_description": "O caminho para o prefixo Wine é inválido. Por favor, verifique o caminho e tente novamente.",
"artifact_renamed": "Backup renomeado com sucesso",
"rename_artifact": "Renomear Backup",
"rename_artifact_description": "Renomeie o backup para um nome mais descritivo",
"artifact_name_label": "Nome do backup",
"artifact_name_placeholder": "Insira um nome para o backup",
"save_changes": "Salvar mudanças",
"required_field": "Este campo é obrigatório",
"max_length_field": "Este campo deve ter menos de {{length}} caracteres",
"freeze_backup": "Fixar para não ser apagado por backups automáticos",
"unfreeze_backup": "Remover dos fixados",
"backup_frozen": "Backup fixado",
"backup_unfrozen": "Backup removido dos fixados",
"backup_freeze_failed": "Falha ao fixar backup",
"backup_freeze_failed_description": "Você deve deixar pelo menos um espaço livre para backups automáticos",
"game_details": "Detalhes do Jogo",
"currency_symbol": "R$",
"currency_country": "br",
"prices": "Preços",
"no_prices_found": "Nenhum preço encontrado",
"view_all_prices": "Clique para ver todos os preços",
"retail_price": "Preço de lojas oficiais",
"keyshop_price": "Preço em keyshops",
"historical_retail": "Preço histórico de lojas oficiais",
"historical_keyshop": "Preço histórico em keyshops",
"language": "Idioma",
"caption": "Legenda",
"audio": "Áudio",
"filter_by_source": "Filtrar por fonte",
"no_repacks_found": "Nenhuma fonte encontrada para este jogo",
"edit_game_modal_button": "Alterar detalhes do jogo",
"game_added_to_pinned": "Jogo adicionado aos fixados",
"game_removed_from_pinned": "Jogo removido dos fixados",
"manual_playtime_tooltip": "Este tempo de jogo foi atualizado manualmente",
"manual_playtime_warning": "As suas horas de jogo serão marcadas como atualizadas manualmente. Esta ação não pode ser desfeita.",
"missing_wine_prefix": "Um prefixo Wine é necessário para criar um backup no Linux",
"update_game_playtime": "Modificar tempo de jogo",
"update_playtime": "Modificar tempo de jogo",
"update_playtime_description": "Atualizar manualmente o tempo de jogo de {{game}}",
"update_playtime_error": "Falha ao atualizar tempo de jogo",
"update_playtime_title": "Atualizar tempo de jogo",
"update_playtime_success": "Tempo de jogo atualizado com sucesso",
"show_more": "Mostrar mais",
"show_less": "Mostrar menos",
"reviews": "Avaliações",
"leave_a_review": "Deixar uma Avaliação",
"write_review_placeholder": "Compartilhe seus pensamentos sobre este jogo...",
"sort_newest": "Mais Recentes",
"sort_oldest": "Mais Antigas",
"sort_highest_score": "Maior Nota",
"sort_lowest_score": "Menor Nota",
"sort_most_voted": "Mais Votadas",
"no_reviews_yet": "Ainda não há avaliações",
"be_first_to_review": "Seja o primeiro a compartilhar seus pensamentos sobre este jogo!",
"rating": "Avaliação",
"rating_stats": "Avaliação",
"rating_very_negative": "Muito Negativo",
"rating_negative": "Negativo",
"rating_neutral": "Neutro",
"rating_positive": "Positivo",
"rating_very_positive": "Muito Positivo",
"submit_review": "Enviar",
"submitting": "Enviando...",
"review_submitted_successfully": "Avaliação enviada com sucesso!",
"review_submission_failed": "Falha ao enviar avaliação. Por favor, tente novamente.",
"review_cannot_be_empty": "O campo de texto da avaliação não pode estar vazio.",
"review_deleted_successfully": "Avaliação excluída com sucesso.",
"review_deletion_failed": "Falha ao excluir avaliação. Por favor, tente novamente.",
"loading_reviews": "Carregando avaliações...",
"loading_more_reviews": "Carregando mais avaliações...",
"load_more_reviews": "Carregar mais avaliações",
"you_seemed_to_enjoy_this_game": "Parece que você gostou deste jogo",
"would_you_recommend_this_game": "Gostaria de deixar uma avaliação para este jogo?",
"yes": "Sim",
"maybe_later": "Talvez mais tarde",
"delete_review": "Excluir avaliação",
"remove_review": "Remover Avaliação",
"delete_review_modal_title": "Tem certeza de que deseja excluir sua avaliação?",
"delete_review_modal_description": "Esta ação não pode ser desfeita.",
"delete_review_modal_delete_button": "Excluir",
"delete_review_modal_cancel_button": "Cancelar",
"show_original": "Mostrar original",
"show_translation": "Mostrar tradução",
"show_original_translated_from": "Mostrar original (traduzido do {{language}})",
"hide_original": "Ocultar original",
"rating_count": "Avaliação"
},
"activation": {
"title": "Ativação",
@@ -275,6 +438,7 @@
"found_download_option_one": "{{countFormatted}} opção de download encontrada",
"found_download_option_other": "{{countFormatted}} opções de download encontradas",
"import": "Importar",
"importing": "Importando...",
"privacy": "Privacidade",
"private": "Privado",
"friends_only": "Apenas amigos",
@@ -308,6 +472,8 @@
"subscription_renews_on": "Sua assinatura renova dia {{date}}",
"bill_sent_until": "Sua próxima cobrança será enviada até esse dia",
"no_themes": "Parece que você ainda não tem nenhum tema. Não se preocupe, clique aqui para criar sua primeira obra de arte.",
"editor_tab_code": "Código",
"editor_tab_info": "Info",
"editor_tab_save": "Salvar",
"web_store": "Loja de temas",
"clear_themes": "Limpar",
@@ -325,7 +491,9 @@
"delete_theme_description": "Isso irá deletar o tema {{theme}}",
"cancel": "Cancelar",
"appearance": "Aparência",
"enable_torbox": "Habilitar Torbox",
"debrid": "Debrid",
"debrid_description": "Serviços Debrid são downloaders premium sem restrições que permitem baixar rapidamente arquivos hospedados em vários serviços de hospedagem de arquivos, limitados apenas pela sua velocidade de internet.",
"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",
"create_real_debrid_account": "Clique aqui se você ainda não tem uma conta do Real-Debrid",
@@ -342,7 +510,26 @@
"common_redist_description": "Componentes recomendados são necessários para executar alguns jogos. A instalação deles é recomendada para evitar problemas.",
"install_common_redist": "Instalar",
"installing_common_redist": "Instalando…",
"show_download_speed_in_megabytes": "Exibir taxas de download em megabytes por segundo"
"show_download_speed_in_megabytes": "Exibir taxas de download em megabytes por segundo",
"extract_files_by_default": "Extrair arquivos automaticamente após o download",
"enable_steam_achievements": "Habilitar busca por conquistas da Steam",
"enable_achievement_custom_notifications": "Habilitar notificações customizadas de conquistas",
"top-left": "Superior esquerdo",
"top-center": "Superior central",
"top-right": "Superior direito",
"bottom-left": "Inferior esquerdo",
"bottom-right": "Inferior direito",
"bottom-center": "Inferior central",
"achievement_custom_notification_position": "Posição das notificações customizadas de conquista",
"alignment": "Alinhamento",
"variation": "Variação",
"default": "Padrão",
"rare": "Rara",
"platinum": "Platina",
"hidden": "Oculta",
"test_notification": "Testar notificação",
"notification_preview": "Prévia da Notificação de Conquistas",
"enable_friend_start_game_notifications": "Quando um amigo iniciar um jogo"
},
"notifications": {
"download_complete": "Download concluído",
@@ -353,9 +540,14 @@
"new_update_available": "Versão {{version}} disponível",
"restart_to_install_update": "Reinicie o Hydra para instalar a nova versão",
"new_friend_request_title": "Novo pedido de amizade",
"new_friend_request_description": "Você recebeu um novo pedido de amizade",
"new_friend_request_description": "{{displayName}} te enviou um pedido de amizade",
"extraction_complete": "Extração concluída",
"game_extracted": "{{title}} extraído com sucesso"
"game_extracted": "{{title}} extraído com sucesso",
"friend_started_playing_game": "{{displayName}} começou a jogar",
"test_achievement_notification_title": "Esta é uma notificação de teste",
"test_achievement_notification_description": "Bem legal, né?",
"notification_achievement_unlocked_title": "Conquista desbloqueada para {{game}}",
"notification_achievement_unlocked_body": "{{achievement}} e outras {{count}} foram desbloqueadas"
},
"system_tray": {
"open": "Abrir Hydra",
@@ -364,7 +556,8 @@
"game_card": {
"available_one": "Disponível",
"available_other": "Disponíveis",
"no_downloads": "Sem downloads disponíveis"
"no_downloads": "Sem downloads disponíveis",
"calculating": "Calculando"
},
"binary_not_found_modal": {
"title": "Programas não instalados",
@@ -391,10 +584,18 @@
"user_profile": {
"amount_hours": "{{amount}} horas",
"amount_minutes": "{{amount}} minutos",
"amount_hours_short": "{{amount}}h",
"amount_minutes_short": "{{amount}}m",
"last_time_played": "Última sessão {{period}}",
"activity": "Atividades recentes",
"library": "Biblioteca",
"pinned": "Fixados",
"sort_by": "Ordenar por:",
"achievements_earned": "Conquistas obtidas",
"played_recently": "Jogados recentemente",
"playtime": "Tempo de jogo",
"total_play_time": "Tempo total de jogo",
"manual_playtime_tooltip": "Este tempo de jogo foi atualizado manualmente",
"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",
@@ -466,7 +667,22 @@
"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"
"show_points_on_profile": "Exiba seus pontos ganhos no perfil",
"error_adding_friend": "Não foi possível enviar o pedido de amizade. Verifique o código de amizade inserido",
"friend_code_length_error": "Código de amigo deve ter 8 caracteres",
"top_percentile": "Top {{percentile}}%",
"playtime": "Tempo de jogo",
"played_recently": "Jogado recentemente",
"pinned": "Fixado",
"amount_minutes_short": "{{amount}}m",
"amount_hours_short": "{{amount}}h",
"game_added_to_pinned": "Jogo adicionado aos fixados",
"game_removed_from_pinned": "Jogo removido dos fixados",
"achievements_earned": "Conquistas recebidas",
"karma": "Karma",
"karma_count": "karma",
"karma_description": "Ganho a partir de curtidas positivas em avaliações",
"manual_playtime_tooltip": "Este tempo de jogo foi atualizado manualmente"
},
"achievement": {
"achievement_unlocked": "Conquista desbloqueada",

View File

@@ -4,7 +4,6 @@
"successfully_signed_in": "Sessão iniciada com sucesso"
},
"home": {
"featured": "Destaques",
"hot": "Populares",
"weekly": "📅 Mais descarregados esta semana",
"achievements": "🏆 Para completar",
@@ -26,7 +25,8 @@
"game_has_no_executable": "O jogo não tem um executável selecionado",
"sign_in": "Iniciar sessão",
"friends": "Amigos",
"favorites": "Favoritos"
"favorites": "Favoritos",
"edit_game_modal_cancel": "Cancelar"
},
"header": {
"search": "Procurar jogos",
@@ -107,7 +107,7 @@
"remove_from_library_title": "Tens a certeza?",
"executable_section_title": "Executável",
"executable_section_description": "O caminho do ficheiro que vai ser executado ao clicar em \"Jogar\"",
"downloads_secion_title": "Transferências",
"downloads_section_title": "Transferências",
"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": "Remove o jogo da tua biblioteca ou os ficheiros que foram transferidos pelo Hydra",
@@ -142,6 +142,7 @@
"uploading_backup": "A criar backup…",
"no_backups": "Ainda não fizeste nenhum backup deste jogo",
"backup_uploaded": "Backup criado",
"backup_failed": "Falha ao criar backup",
"backup_deleted": "Backup apagado",
"backup_restored": "Backup restaurado",
"see_all_achievements": "Ver todas as conquistas",
@@ -175,10 +176,11 @@
"no_write_permission": "Não é possível descarregar neste diretório. Clique aqui para saber mais.",
"download_error_gofile_quota_exceeded": "Você excedeu sua cota mensal do Gofile. Por favor, aguarde o reset da cota.",
"download_error_real_debrid_account_not_authorized": "A sua conta do Real-Debrid não está autorizada a fazer novos downloads. Por favor, verifique a 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.",
"download_error_not_cached_on_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_on_torbox": "Este download não está disponível no TorBox e a verificação do status do download não está disponível.",
"game_removed_from_favorites": "Jogo removido dos favoritos",
"game_added_to_favorites": "Jogo adicionado aos favoritos"
"game_added_to_favorites": "Jogo adicionado aos favoritos",
"create_start_menu_shortcut": "Criar atalho no Menu Iniciar"
},
"activation": {
"title": "Ativação",
@@ -246,9 +248,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": "Insere o URL que contém o ficheiro .json",
"download_source_up_to_date": "Sincronizada",
@@ -268,6 +267,7 @@
"found_download_option_one": "{{countFormatted}} opção de transferência encontrada",
"found_download_option_other": "{{countFormatted}} opções de transferência encontradas",
"import": "Importar",
"importing": "A importar...",
"privacy": "Privacidade",
"private": "Privado",
"friends_only": "Apenas amigos",
@@ -321,7 +321,7 @@
"delete_theme_description": "Isto irá apagar o tema {{theme}}",
"cancel": "Cancelar",
"appearance": "Aparência",
"enable_torbox": "Ativar Torbox",
"enable_torbox": "Ativar TorBox",
"torbox_description": "TorBox é um serviço de seedbox premium sendo um dos melhores servidores do mercado.",
"torbox_account_linked": "Conta do TorBox associada",
"real_debrid_account_linked": "Conta Real-Debrid associada",
@@ -340,7 +340,8 @@
"new_update_available": "Versão {{version}} disponível",
"restart_to_install_update": "Reinicia o Hydra para instalar a nova versão",
"new_friend_request_title": "Novo pedido de amizade",
"new_friend_request_description": "Recebeste um novo pedido de amizade"
"new_friend_request_description": "{{displayName}} te enviou um pedido de amizade",
"friend_started_playing_game": "{{displayName}} começou a jogar"
},
"system_tray": {
"open": "Abrir o Hydra",
@@ -357,8 +358,6 @@
"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": "Página seguinte",
"previous_page": "Página anterior",
"search": "Filtrar…",
"developers": "Desenvolvedores",
"genres": "Géneros",
@@ -378,10 +377,18 @@
"user_profile": {
"amount_hours": "{{amount}} horas",
"amount_minutes": "{{amount}} minutos",
"amount_hours_short": "{{amount}}h",
"amount_minutes_short": "{{amount}}m",
"last_time_played": "Última sessão {{period}}",
"activity": "Atividade recente",
"library": "Biblioteca",
"pinned": "Fixados",
"sort_by": "Ordenar por:",
"achievements_earned": "Conquistas obtidas",
"played_recently": "Jogados recentemente",
"playtime": "Tempo de jogo",
"total_play_time": "Tempo total de jogo",
"manual_playtime_tooltip": "Este tempo de jogo foi atualizado manualmente",
"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 apresentação",
@@ -425,7 +432,6 @@
"friend_code_copied": "Código de amigo copiado",
"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",

View File

@@ -1,7 +1,6 @@
{
"language_name": "Română",
"home": {
"featured": "Recomandate",
"surprise_me": "Surprinde-mă",
"no_results": "Niciun rezultat găsit"
},
@@ -19,7 +18,6 @@
},
"header": {
"search": "Caută jocuri",
"home": "Acasă",
"catalogue": "Catalog",
"downloads": "Descărcări",
@@ -32,10 +30,7 @@
"downloading": "Se descarcă {{title}}... ({{percentage}} complet) - Concluzie {{eta}} - {{speed}}",
"calculating_eta": "Se descarcă {{title}}... ({{percentage}} complet) - Calculare timp rămas..."
},
"catalogue": {
"next_page": "Pagina următoare",
"previous_page": "Pagina anterioară"
},
"catalogue": {},
"game_details": {
"open_download_options": "Deschide opțiunile de descărcare",
"download_options_zero": "Nicio opțiune de descărcare",

View File

@@ -4,11 +4,10 @@
"successfully_signed_in": "Успешный вход"
},
"home": {
"featured": "Рекомендации",
"surprise_me": "Удиви меня",
"no_results": "Ничего не найдено",
"hot": "Сейчас популярно",
"start_typing": "Начинаю вводить текст...",
"hot": "Сейчас популярно",
"weekly": "📅 Лучшие игры недели",
"achievements": "🏆 Игры с достижениями"
},
@@ -27,7 +26,69 @@
"sign_in": "Войти",
"friends": "Друзья",
"need_help": "Нужна помощь?",
"favorites": "Избранное"
"favorites": "Избранное",
"playable_button_title": "Показать только установленные игры.",
"add_custom_game_tooltip": "Добавить пользовательскую игру",
"show_playable_only_tooltip": "Показать только доступные для игры",
"custom_game_modal": "Добавить пользовательскую игру",
"custom_game_modal_description": "Добавьте пользовательскую игру в библиотеку, выбрав исполняемый файл",
"custom_game_modal_executable_path": "Путь к исполняемому файлу",
"custom_game_modal_select_executable": "Выберите исполняемый файл",
"custom_game_modal_title": "Название игры",
"custom_game_modal_enter_title": "Введите название игры",
"custom_game_modal_browse": "Обзор",
"custom_game_modal_cancel": "Отмена",
"custom_game_modal_add": "Добавить игру",
"custom_game_modal_adding": "Добавление игры...",
"custom_game_modal_success": "Пользовательская игра успешно добавлена",
"custom_game_modal_failed": "Не удалось добавить пользовательскую игру",
"custom_game_modal_executable": "Исполняемый файл",
"edit_game_modal": "Настроить ресурсы",
"edit_game_modal_description": "Настройте ресурсы и детали игры",
"edit_game_modal_title": "Название",
"edit_game_modal_enter_title": "Введите название",
"edit_game_modal_image": "Изображение",
"edit_game_modal_select_image": "Выберите изображение",
"edit_game_modal_browse": "Обзор",
"edit_game_modal_image_preview": "Предпросмотр изображения",
"edit_game_modal_icon": "Иконка",
"edit_game_modal_select_icon": "Выберите иконку",
"edit_game_modal_icon_preview": "Предпросмотр иконки",
"edit_game_modal_logo": "Логотип",
"edit_game_modal_select_logo": "Выберите логотип",
"edit_game_modal_logo_preview": "Предпросмотр логотипа",
"edit_game_modal_hero": "Изображение обложку игры",
"edit_game_modal_select_hero": "Выберите обложку игры",
"edit_game_modal_hero_preview": "Предпросмотр обложки игры",
"edit_game_modal_cancel": "Отмена",
"edit_game_modal_update": "Обновить",
"edit_game_modal_updating": "Обновление...",
"edit_game_modal_fill_required": "Пожалуйста, заполните все обязательные поля",
"edit_game_modal_success": "Ресурсы успешно обновлены",
"edit_game_modal_failed": "Не удалось обновить ресурсы",
"edit_game_modal_image_filter": "Изображение",
"edit_game_modal_icon_resolution": "Рекомендуемое разрешение: 256x256px",
"edit_game_modal_logo_resolution": "Рекомендуемое разрешение: 640x360px",
"edit_game_modal_hero_resolution": "Рекомендуемое разрешение: 1920x620px",
"edit_game_modal_assets": "Ресурсы",
"edit_game_modal_drop_icon_image_here": "Перетащите изображение иконки сюда",
"edit_game_modal_drop_logo_image_here": "Перетащите изображение логотипа сюда",
"edit_game_modal_drop_hero_image_here": "Перетащите изображение обложки сюда",
"edit_game_modal_drop_to_replace_icon": "Перетащите для замены иконки",
"edit_game_modal_drop_to_replace_logo": "Перетащите для замены логотипа",
"edit_game_modal_drop_to_replace_hero": "Перетащите для замены обложки",
"install_decky_plugin": "Установить плагин Decky",
"update_decky_plugin": "Обновить плагин Decky",
"decky_plugin_installed_version": "Плагин Decky (v{{version}})",
"install_decky_plugin_title": "Установить плагин Hydra Decky",
"install_decky_plugin_message": "Это загрузит и установит плагин Hydra для Decky Loader. Может потребоваться повышенные разрешения. Продолжить?",
"update_decky_plugin_title": "Обновить плагин Hydra Decky",
"update_decky_plugin_message": "Доступна новая версия плагина Hydra Decky. Хотите обновить его сейчас?",
"decky_plugin_installed": "Плагин Decky v{{version}} успешно установлен",
"decky_plugin_installation_failed": "Не удалось установить плагин Decky: {{error}}",
"decky_plugin_installation_error": "Ошибка установки плагина Decky: {{error}}",
"confirm": "Подтвердить",
"cancel": "Отмена"
},
"header": {
"search": "Поиск",
@@ -88,6 +149,7 @@
"amount_minutes": "{{amount}} минут",
"accuracy": "точность {{accuracy}}%",
"add_to_library": "Добавить в библиотеку",
"already_in_library": "Уже в библиотеке",
"remove_from_library": "Удалить из библиотеки",
"no_downloads": "Нет доступных источников",
"play_time": "Сыграно {{amount}}",
@@ -116,36 +178,91 @@
"open_folder": "Открыть папку",
"open_download_location": "Просмотреть папку загрузок",
"create_shortcut": "Создать ярлык на рабочем столе",
"create_shortcut_simple": "Создать ярлык",
"clear": "Очистить",
"remove_files": "Удалить файлы",
"remove_from_library_title": "Вы уверены?",
"remove_from_library_description": "{{game}} будет удалена из вашей библиотеки.",
"options": "Настройки",
"properties": "Свойства",
"executable_section_title": "Файл",
"executable_section_description": "Путь к файлу, который будет запущен при нажатии на \"Play\"",
"downloads_secion_title": "Загрузки",
"downloads_section_title": "Загрузки",
"downloads_section_description": "Проверить наличие обновлений или других версий игры",
"danger_zone_section_title": "Опасная зона",
"danger_zone_section_description": "Вы можете удалить эту игру из вашей библиотеки или файлы скачанные из Hydra",
"download_in_progress": "Идёт загрузка",
"download_paused": "Загрузка приостановлена",
"last_downloaded_option": "Последний вариант загрузки",
"create_steam_shortcut": "Создать ярлык Steam",
"create_shortcut_success": "Ярлык создан",
"you_might_need_to_restart_steam": "Возможно, вам потребуется перезапустить Steam, чтобы увидеть изменения",
"create_shortcut_error": "Не удалось создать ярлык",
"allow_nsfw_content": "Продолжить",
"download": "Скачать",
"download_count": "Загрузки",
"download_error": "Этот вариант загрузки недоступен",
"executable_path_in_use": "Исполняемый файл уже используется \"{{game}}\"",
"nsfw_content_description": "{{title}} содержит контент, который может не подходить для всех возрастов. \nВы уверены, что хотите продолжить?",
"add_to_favorites": "Добавить в избранное",
"remove_from_favorites": "Удалить из избранного",
"failed_update_favorites": "Не удалось обновить избранное",
"game_removed_from_library": "Игра удалена из библиотеки",
"failed_remove_from_library": "Не удалось удалить из библиотеки",
"files_removed_success": "Файлы успешно удалены",
"failed_remove_files": "Не удалось удалить файлы",
"nsfw_content_title": "Эта игра содержит неприемлемый контент",
"nsfw_content_description": "{{title}} содержит контент, который может не подходить для всех возрастов. \nВы уверены, что хотите продолжить?",
"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}}",
"show_more": "Показать больше",
"show_less": "Показать меньше",
"reviews": "Отзывы",
"leave_a_review": "Оставить отзыв",
"write_review_placeholder": "Поделитесь своими мыслями об этой игре...",
"sort_newest": "Сначала новые",
"no_reviews_yet": "Пока нет отзывов",
"be_first_to_review": "Станьте первым, кто поделится своими мыслями об этой игре!",
"sort_oldest": "Сначала старые",
"sort_highest_score": "Высший балл",
"sort_lowest_score": "Низший балл",
"sort_most_voted": "Самые популярные",
"rating": "Оценка",
"rating_stats": "Оценка",
"rating_very_negative": "Очень негативно",
"rating_negative": "Негативно",
"rating_neutral": "Нейтрально",
"rating_positive": "Позитивно",
"rating_very_positive": "Очень позитивно",
"submit_review": "Отправить",
"submitting": "Отправка...",
"review_submitted_successfully": "Отзыв успешно отправлен!",
"review_submission_failed": "Не удалось отправить отзыв. Пожалуйста, попробуйте снова.",
"review_cannot_be_empty": "Текстовое поле отзыва не может быть пустым.",
"review_deleted_successfully": "Отзыв успешно удален.",
"review_deletion_failed": "Не удалось удалить отзыв. Пожалуйста, попробуйте снова.",
"loading_reviews": "Загрузка отзывов...",
"loading_more_reviews": "Загрузка дополнительных отзывов...",
"load_more_reviews": "Загрузить больше отзывов",
"you_seemed_to_enjoy_this_game": "Похоже, вам понравилась эта игра",
"would_you_recommend_this_game": "Хотите оставить отзыв об этой игре?",
"yes": "Да",
"maybe_later": "Возможно позже",
"rating_count": "Оценка",
"delete_review": "Удалить отзыв",
"remove_review": "Удалить отзыв",
"delete_review_modal_title": "Вы уверены, что хотите удалить свой отзыв?",
"delete_review_modal_description": "Это действие нельзя отменить.",
"delete_review_modal_delete_button": "Удалить",
"delete_review_modal_cancel_button": "Отмена",
"show_original": "Показать оригинал",
"show_translation": "Показать перевод",
"show_original_translated_from": "Показать оригинал (переведено с {{language}})",
"hide_original": "Скрыть оригинал",
"cloud_save": "Облачное сохранение",
"cloud_save_description": "Сохраняйте ваш прогресс в облаке и продолжайте играть на любом устройстве",
"backups": "Резервные копии",
@@ -158,6 +275,7 @@
"uploading_backup": "Загрузка резервной копии…",
"no_backups": "Вы еще не создали резервных копий для этой игры",
"backup_uploaded": "Резервная копия загружена",
"backup_failed": "Ошибка резервного копирования",
"backup_deleted": "Резервная копия удалена",
"backup_restored": "Резервная копия восстановлена",
"see_all_achievements": "Просмотреть все достижения",
@@ -193,11 +311,56 @@
"reset_achievements_error": "Не удалось сбросить достижения",
"download_error_gofile_quota_exceeded": "Вы превысили месячную квоту Gofile. Пожалуйста, подождите, пока квота не будет восстановлена.",
"download_error_real_debrid_account_not_authorized": "Ваш аккаунт Real-Debrid не авторизован для осуществления новых загрузок. Пожалуйста, проверьте настройки учетной записи и повторите попытку.",
"download_error_not_cached_in_real_debrid": "Эта загрузка недоступна на Real-Debrid, и получение статуса загрузки с Real-Debrid пока недоступно.",
"download_error_not_cached_in_torbox": "Эта загрузка недоступна на Torbox, и получить статус загрузки с Torbox пока невозможно.",
"game_added_to_favorites": "Игра добавлена в избранное",
"download_error_not_cached_on_real_debrid": "Эта загрузка недоступна на Real-Debrid, и получение статуса загрузки с Real-Debrid пока недоступно.",
"update_playtime_title": "Обновить время игры",
"update_playtime_description": "Вручную обновите время игры для {{game}}",
"update_playtime": "Обновить время игры",
"update_playtime_success": "Время игры успешно обновлено",
"update_playtime_error": "Не удалось обновить время игры",
"update_game_playtime": "Обновить время игры",
"manual_playtime_warning": "Ваши часы будут отмечены как обновленные вручную. Это действие нельзя отменить.",
"manual_playtime_tooltip": "Это время игры было обновлено вручную",
"download_error_not_cached_on_torbox": "Эта загрузка недоступна на TorBox, и получить статус загрузки с TorBox пока невозможно.",
"download_error_not_cached_on_hydra": "Эта загрузка недоступна на Nimbus.",
"game_removed_from_favorites": "Игра удалена из избранного",
"automatically_extract_downloaded_files": "Автоматическая распаковка загруженных файлов"
"game_added_to_favorites": "Игра добавлена в избранное",
"game_removed_from_pinned": "Игра удалена из закрепленных",
"game_added_to_pinned": "Игра добавлена в закрепленные",
"automatically_extract_downloaded_files": "Автоматическая распаковка загруженных файлов",
"create_start_menu_shortcut": "Создать ярлык в меню «Пуск»",
"invalid_wine_prefix_path": "Недопустимый путь префикса Wine",
"invalid_wine_prefix_path_description": "Путь к префиксу Wine недействителен. Пожалуйста, проверьте путь и попробуйте снова.",
"missing_wine_prefix": "Префикс Wine необходим для создания резервной копии в Linux",
"artifact_renamed": "Резервная копия успешно переименована",
"rename_artifact": "Переименовать резервную копию",
"rename_artifact_description": "Переименуйте резервную копию, присвоив ей более описательное имя.",
"artifact_name_label": "Название резервной копии",
"artifact_name_placeholder": "Введите название для резервной копии",
"save_changes": "Сохранить изменения",
"required_field": "Это поле обязательно к заполнению",
"max_length_field": "Это поле должно содержать менее {{length}} символов",
"freeze_backup": "Закрепить, чтобы она не была перезаписана автоматическими резервными копиями",
"unfreeze_backup": "Открепить",
"backup_frozen": "Резервная копия закреплена",
"backup_unfrozen": "Резервная копия откреплена",
"backup_freeze_failed": "Не удалось закрепить резервную копию",
"backup_freeze_failed_description": "Вы должны оставить как минимум один свободный слот для автоматических резервных копий",
"edit_game_modal_button": "Изменить детали игры",
"game_details": "Детали игры",
"currency_symbol": "₽",
"currency_country": "ru",
"prices": "Цены",
"no_prices_found": "Цены не найдены",
"view_all_prices": "Нажмите, чтобы посмотреть все цены",
"retail_price": "Розничная цена",
"keyshop_price": "Цена в магазине ключей",
"historical_retail": "Исторические розничные цены",
"historical_keyshop": "Исторические цены в магазинах ключей",
"language": "Язык",
"caption": "Субтитры",
"audio": "Аудио",
"filter_by_source": "Фильтр по источнику",
"no_repacks_found": "Источники для этой игры не найдены"
},
"activation": {
"title": "Активировать Hydra",
@@ -243,13 +406,10 @@
"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": "Источники загрузки",
@@ -276,11 +436,11 @@
"download_source_errored": "Ошибка",
"sync_download_sources": "Обновить источники",
"removed_download_source": "Источник удален",
"removed_download_sources": "Источники удалены",
"cancel_button_confirmation_delete_all_sources": "Нет",
"confirm_button_confirmation_delete_all_sources": "Да, удалить все",
"description_confirmation_delete_all_sources": "Вы удалите все источники",
"title_confirmation_delete_all_sources": "Удалить все источники",
"removed_download_sources": "Источники удалены",
"description_confirmation_delete_all_sources": "Вы удалите все источники",
"button_delete_all_sources": "Удалить все источники",
"added_download_source": "Источник добавлен",
"download_sources_synced": "Все источники обновлены",
@@ -289,17 +449,21 @@
"found_download_option_one": "Найден {{countFormatted}} вариант загрузки",
"found_download_option_other": "Найдено {{countFormatted}} вариантов загрузки",
"import": "Импортировать",
"blocked_users": "Заблокированные пользователи",
"friends_only": "Только для друзей",
"must_be_valid_url": "У источника должен быть правильный URL",
"privacy": "Конфиденциальность",
"importing": "Импортируется...",
"public": "Публичный",
"private": "Частный",
"friends_only": "Только для друзей",
"privacy": "Конфиденциальность",
"profile_visibility": "Видимость профиля",
"profile_visibility_description": "Выберите, кто может видеть ваш профиль и библиотеку",
"public": "Публичный",
"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": "Аккаунт",
@@ -338,12 +502,14 @@
"delete_theme_description": "Это приведет к удалению темы {{theme}}",
"cancel": "Отменить",
"appearance": "Внешний вид",
"enable_torbox": "Включить Torbox",
"debrid": "Debrid",
"debrid_description": "Сервисы Debrid - это премиум-загрузчики без ограничений, которые позволяют быстро скачивать файлы с различных файлообменников, ограничиваясь только скоростью вашего интернета.",
"enable_torbox": "Включить TorBox",
"torbox_description": "TorBox - это ваш премиум-сервис, конкурирующий даже с лучшими серверами на рынке.",
"torbox_account_linked": "Аккаунт TorBox привязан",
"real_debrid_account_linked": "Аккаунт Real-Debrid привязан",
"create_real_debrid_account": "Нажмите здесь, если у вас еще нет аккаунта Real-Debrid",
"create_torbox_account": "Нажмите здесь, если у вас еще нет учетной записи TorBox",
"real_debrid_account_linked": "Аккаунт Real-Debrid привязан",
"name_min_length": "Название темы должно содержать не менее 3 символов",
"import_theme": "Импортировать тему",
"import_theme_description": "Вы импортируете {{theme}} из магазина тем",
@@ -355,7 +521,26 @@
"common_redist_description": "Для запуска некоторых игр требуются библиотеки. Во избежание проблем рекомендуется установить их.",
"install_common_redist": "Установить",
"installing_common_redist": "Установка…",
"show_download_speed_in_megabytes": "Показать скорость загрузки в мегабайтах в секунду"
"show_download_speed_in_megabytes": "Показать скорость загрузки в мегабайтах в секунду",
"extract_files_by_default": "Извлекать файлы по умолчанию после загрузки",
"enable_steam_achievements": "Включить поиск достижений Steam",
"achievement_custom_notification_position": "Позиция уведомлений достижений",
"top-left": "Верхний левый угол",
"top-center": "Верхний центр",
"top-right": "Верхний правый угол",
"bottom-left": "Нижний левый угол",
"bottom-center": "Нижний центр",
"bottom-right": "Нижний правый угол",
"enable_achievement_custom_notifications": "Включить уведомления о достижениях",
"alignment": "Выравнивание",
"variation": "Вариация",
"default": "По умолчанию",
"rare": "Редкое",
"platinum": "Платиновый",
"hidden": "Скрытый",
"test_notification": "Тестовое уведомление",
"notification_preview": "Предварительный просмотр уведомления о достижении",
"enable_friend_start_game_notifications": "Когда друг начинает играть в игру"
},
"notifications": {
"download_complete": "Загрузка завершена",
@@ -367,10 +552,13 @@
"restart_to_install_update": "Перезапустите Hydra для установки обновления",
"notification_achievement_unlocked_title": "Достижение разблокировано для {{game}}",
"notification_achievement_unlocked_body": "были разблокированы {{achievement}} и другие {{count}}",
"new_friend_request_description": "{{displayName}} отправил вам запрос в друзья",
"new_friend_request_title": "Новый запрос на добавление в друзья",
"new_friend_request_description": "Вы получили новый запрос на добавление в друзья",
"extraction_complete": "Распаковка завершена",
"game_extracted": "{{title}} успешно распакован"
"game_extracted": "{{title}} успешно распакован",
"friend_started_playing_game": "{{displayName}} начал играть в игру",
"test_achievement_notification_title": "Это тестовое уведомление",
"test_achievement_notification_description": "Довольно круто, да?"
},
"system_tray": {
"open": "Открыть Hydra",
@@ -379,7 +567,8 @@
"game_card": {
"available_one": "Доступный",
"available_other": "Доступный",
"no_downloads": "Нет доступных источников"
"no_downloads": "Нет доступных источников",
"calculating": "Вычисление"
},
"binary_not_found_modal": {
"title": "Программы не установлены",
@@ -395,10 +584,17 @@
"user_profile": {
"amount_hours": "{{amount}} часов",
"amount_minutes": "{{amount}} минут",
"amount_hours_short": "{{amount}}ч",
"amount_minutes_short": "{{amount}}м",
"last_time_played": "Последняя игра {{period}}",
"activity": "Недавняя активность",
"library": "Библиотека",
"pinned": "Закрепленные",
"achievements_earned": "Заработанные достижения",
"played_recently": "Недавно сыгранные",
"playtime": "Время игры",
"total_play_time": "Всего сыграно",
"manual_playtime_tooltip": "Время игры было обновлено вручную",
"no_recent_activity_title": "Хммм... Тут ничего нет",
"no_recent_activity_description": "Вы давно ни во что не играли. Пора это изменить!",
"display_name": "Отображаемое имя",
@@ -440,24 +636,24 @@
"no_pending_invites": "У вас нет запросов ожидающих ответа",
"no_blocked_users": "Вы не заблокировали ни одного пользователя",
"friend_code_copied": "Код друга скопирован",
"displayname_max_length": "Отображаемое имя должно содержать не более 50 символов.",
"displayname_min_length": "Отображаемое имя должно содержать не менее 3 символов.",
"image_process_failure": "Сбой при обработке изображения",
"locked_profile": "Этот профиль является частным",
"undo_friendship_modal_text": "Это отменит вашу дружбу с {{displayName}}.",
"privacy_hint": "Чтобы указать, кто может это видеть, перейдите в <0>Настройки</0>.",
"profile_reported": "Профиль сообщил",
"report": "Отчет",
"report_description": "Дополнительная информация",
"report_description_placeholder": "Дополнительная информация",
"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_other": "Другой",
"report_reason_sexual_content": "Сексуальный контент",
"report_reason_spam": "Спам",
"report_reason_violence": "Насилие",
"required_field": "Это поле обязательно к заполнению",
"undo_friendship_modal_text": "Это отменит вашу дружбу с {{displayName}}.",
"report_reason_spam": "Спам",
"report_reason_other": "Другое",
"profile_reported": "Жалоба на профиль отправлена",
"your_friend_code": "Код вашего друга:",
"upload_banner": "Загрузить баннер",
"uploading_banner": "Загрузка баннера...",
@@ -471,7 +667,14 @@
"achievements_unlocked": "Достижения разблокированы",
"earned_points": "Заработано очков:",
"show_achievements_on_profile": "Покажите свои достижения в профиле",
"show_points_on_profile": "Показывать заработанные очки в своем профиле"
"show_points_on_profile": "Показывать заработанные очки в своем профиле",
"error_adding_friend": "Не удалось отправить запрос в друзья. Пожалуйста, проверьте код друга",
"friend_code_length_error": "Код друга должен содержать 8 символов",
"game_removed_from_pinned": "Игра удалена из закрепленных",
"game_added_to_pinned": "Игра добавлена в закрепленные",
"karma": "Карма",
"karma_count": "карма",
"karma_description": "Заработана положительными оценками отзывов"
},
"achievement": {
"achievement_unlocked": "Достижение разблокировано",

View File

@@ -0,0 +1,532 @@
{
"language_name": "Svenska",
"app": {
"successfully_signed_in": "Inloggningen lyckades"
},
"home": {
"surprise_me": "Överraska mig",
"no_results": "Inga resultat hittades",
"start_typing": "Börja skriva för att söka...",
"hot": "Hetast just nu",
"weekly": "📅 Veckans topplista",
"achievements": "🏆 Spel att klara av"
},
"sidebar": {
"catalogue": "Katalog",
"downloads": "Nedladdningar",
"settings": "Inställningar",
"my_library": "Mitt bibliotek",
"downloading_metadata": "{{title}} (Hämtar metadata…)",
"paused": "{{title}} (Pausad)",
"downloading": "{{title}} ({{percentage}} - Hämtar…)",
"filter": "Filtrera bibliotek",
"home": "Hem",
"queued": "{{title}} (I kö)",
"game_has_no_executable": "Spelet har ingen vald körbar fil",
"sign_in": "Logga in",
"friends": "Vänner",
"need_help": "Behöver du hjälp?",
"favorites": "Favoriter"
},
"header": {
"search": "Sök spel",
"home": "Hem",
"catalogue": "Katalog",
"downloads": "Nedladdningar",
"search_results": "Sökresultat",
"settings": "Inställningar",
"version_available_install": "Version {{version}} är tillgänglig. Klicka här för att starta om och installera.",
"version_available_download": "Version {{version}} är tillgänglig. Klicka här för att ladda ner."
},
"bottom_panel": {
"no_downloads_in_progress": "Inga nedladdningar pågår",
"downloading_metadata": "Laddar ner metadata för {{title}}…",
"downloading": "Laddar ner {{title}}… ({{percentage}} klart) - Klart om {{eta}} - {{speed}}",
"calculating_eta": "Laddar ner {{title}}… ({{percentage}} klart) - Beräknar återstående tid…",
"checking_files": "Kontrollerar filer för {{title}}… ({{percentage}} klart)",
"installing_common_redist": "{{log}}…",
"installation_complete": "Installation klar",
"installation_complete_message": "Nödvändiga systemkomponenter installerade framgångsrikt"
},
"catalogue": {
"search": "Filter…",
"developers": "Utvecklare",
"genres": "Genrer",
"tags": "Taggar",
"publishers": "Utgivare",
"download_sources": "Nedladdningskällor",
"result_count": "{{resultCount}} resultat",
"filter_count": "{{filterCount}} tillgängliga",
"clear_filters": "Rensa {{filterCount}} valda"
},
"game_details": {
"open_download_options": "Öppna nedladdningsalternativ",
"download_options_zero": "Inget nedladdningsalternativ",
"download_options_one": "{{count}} nedladdningsalternativ",
"download_options_other": "{{count}} nedladdningsalternativ",
"updated_at": "Uppdaterad {{updated_at}}",
"install": "Installera",
"resume": "Återuppta",
"pause": "Pausa",
"cancel": "Avbryt",
"remove": "Ta bort",
"space_left_on_disk": "{{space}} ledigt på disken",
"eta": "Klart om {{eta}}",
"calculating_eta": "Beräknar återstående tid…",
"downloading_metadata": "Laddar ner metadata…",
"filter": "Filtrera repacks",
"requirements": "Systemkrav",
"minimum": "Minimum",
"recommended": "Rekommenderat",
"paused": "Pausat",
"release_date": "Släpptes den {{date}}",
"publisher": "Utgiven av {{publisher}}",
"hours": "timmar",
"minutes": "minuter",
"amount_hours": "{{amount}} timmar",
"amount_minutes": "{{amount}} minuter",
"accuracy": "{{accuracy}}% träffsäkerhet",
"add_to_library": "Lägg till i biblioteket",
"remove_from_library": "Ta bort från biblioteket",
"no_downloads": "Inga nedladdningar tillgängliga",
"play_time": "Spelad i {{amount}}",
"last_time_played": "Senast spelad {{period}}",
"not_played_yet": "Du har inte spelat {{title}} än",
"next_suggestion": "Nästa förslag",
"play": "Spela",
"deleting": "Tar bort installationsfil…",
"close": "Stäng",
"playing_now": "Spelar nu",
"change": "Byt",
"repacks_modal_description": "Välj den repack du vill ladda ner",
"select_folder_hint": "För att ändra standardmappen, gå till <0>Inställningar</0>",
"download_now": "Ladda ner nu",
"no_shop_details": "Kunde inte hämta butikens information.",
"download_options": "Nedladdningsalternativ",
"download_path": "Nedladdningsplats",
"previous_screenshot": "Föregående skärmdump",
"next_screenshot": "Nästa skärmdump",
"screenshot": "Skärmdump {{number}}",
"open_screenshot": "Öppna skärmdump {{number}}",
"download_settings": "Nedladdningsinställningar",
"downloader": "Nedladdare",
"select_executable": "Välj",
"no_executable_selected": "Ingen körbar fil vald",
"open_folder": "Öppna mapp",
"open_download_location": "Visa nedladdade filer",
"create_shortcut": "Skapa genväg på skrivbordet",
"clear": "Rensa",
"remove_files": "Ta bort filer",
"remove_from_library_title": "Är du säker?",
"remove_from_library_description": "Detta kommer ta bort {{game}} från ditt bibliotek",
"options": "Alternativ",
"executable_section_title": "Körbar fil",
"executable_section_description": "Sökväg till filen som körs när du klickar på \"Spela\"",
"downloads_section_title": "Nedladdningar",
"downloads_section_description": "Kolla uppdateringar eller andra versioner av detta spel",
"danger_zone_section_title": "Danger zone",
"danger_zone_section_description": "Ta bort detta spel från ditt bibliotek eller filer nedladdade av Hydra",
"download_in_progress": "Nedladdning pågår",
"download_paused": "Nedladdning pausad",
"last_downloaded_option": "Senast nedladdade alternativ",
"create_steam_shortcut": "Skapa Steam-genväg",
"create_shortcut_success": "Genväg skapad",
"you_might_need_to_restart_steam": "Du kan behöva starta om Steam för att se ändringarna",
"create_shortcut_error": "Fel vid skapande av genväg",
"nsfw_content_title": "Det här spelet innehåller olämpligt innehåll",
"nsfw_content_description": "{{title}} innehåller innehåll som kanske inte är lämpligt för alla åldrar. Vill du fortsätta?",
"allow_nsfw_content": "Fortsätt",
"refuse_nsfw_content": "Gå tillbaka",
"stats": "Statistik",
"download_count": "Nedladdningar",
"player_count": "Aktiva spelare",
"download_error": "Det här nedladdningsalternativet är inte tillgängligt",
"download": "Ladda ner",
"executable_path_in_use": "Körbar fil används redan av \"{{game}}\"",
"warning": "Varning:",
"hydra_needs_to_remain_open": "för denna nedladdning behöver Hydra vara öppen tills den är klar. Om Hydra stängs innan nedladdningen är klar förlorar du dina framsteg.",
"achievements": "Prestationer",
"achievements_count": "Prestationer {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Molnspara",
"cloud_save_description": "Spara dina framsteg i molnet och fortsätt spela på vilken enhet som helst",
"backups": "Säkerhetskopior",
"install_backup": "Installera",
"delete_backup": "Ta bort",
"create_backup": "Ny säkerhetskopia",
"last_backup_date": "Senaste säkerhetskopia {{date}}",
"no_backup_preview": "Inga sparfiler hittades för detta spel",
"restoring_backup": "Återställer säkerhetskopia ({{progress}} klart)…",
"uploading_backup": "Laddar upp säkerhetskopia…",
"no_backups": "Du har inte skapat några säkerhetskopior för detta spel än",
"backup_uploaded": "Säkerhetskopia uppladdad",
"backup_deleted": "Säkerhetskopia borttagen",
"backup_restored": "Säkerhetskopia återställd",
"see_all_achievements": "Se alla prestationer",
"sign_in_to_see_achievements": "Logga in för att se prestationer",
"mapping_method_automatic": "Automatisk",
"mapping_method_manual": "Manuell",
"mapping_method_label": "Kartläggningsmetod",
"files_automatically_mapped": "Filer kartlagda automatiskt",
"no_backups_created": "Inga säkerhetskopior skapade för detta spel",
"manage_files": "Hantera filer",
"loading_save_preview": "Söker efter sparfiler…",
"wine_prefix": "Wine-prefix",
"wine_prefix_description": "Wine-prefixet som används för att köra detta spel",
"launch_options": "Startalternativ",
"launch_options_description": "Avancerade användare kan lägga till modifieringar till sina startalternativ (experimentell funktion)",
"launch_options_placeholder": "Inga parametrar angivna",
"no_download_option_info": "Ingen information tillgänglig",
"backup_deletion_failed": "Misslyckades med att ta bort säkerhetskopian",
"max_number_of_artifacts_reached": "Maximalt antal säkerhetskopior nått för detta spel",
"achievements_not_sync": "Se hur du synkroniserar dina prestationer",
"manage_files_description": "Hantera vilka filer som ska säkerhetskopieras och återställas",
"select_folder": "Välj mapp",
"backup_from": "Säkerhetskopia från {{date}}",
"automatic_backup_from": "Automatisk säkerhetskopia från {{date}}",
"enable_automatic_cloud_sync": "Aktivera automatisk molnsynkronisering",
"custom_backup_location_set": "Anpassad plats för säkerhetskopior inställd",
"no_directory_selected": "Ingen mapp vald",
"no_write_permission": "Kan inte ladda ner till denna mapp. Klicka här för att läsa mer.",
"reset_achievements": "Återställ prestationer",
"reset_achievements_description": "Detta kommer att återställa alla prestationer för {{game}}",
"reset_achievements_title": "Är du säker?",
"reset_achievements_success": "Prestationer återställda",
"reset_achievements_error": "Misslyckades med att återställa prestationer",
"download_error_gofile_quota_exceeded": "Du har överskridit din månadsgräns för Gofile. Vänta tills kvoten återställs.",
"download_error_real_debrid_account_not_authorized": "Ditt Real-Debrid-konto är inte auktoriserat att göra nya nedladdningar. Kontrollera dina kontoinställningar och försök igen.",
"download_error_not_cached_on_real_debrid": "Denna nedladdning finns inte på Real-Debrid och statusövervakning från Real-Debrid är ännu inte tillgänglig.",
"download_error_not_cached_on_torbox": "Denna nedladdning finns inte på TorBox och statusövervakning från TorBox är ännu inte tillgänglig.",
"download_error_not_cached_on_hydra": "Denna nedladdning finns inte på Nimbus.",
"game_removed_from_favorites": "Spelet togs bort från favoriter",
"game_added_to_favorites": "Spelet lades till i favoriter",
"automatically_extract_downloaded_files": "Extrahera nedladdade filer automatiskt",
"create_start_menu_shortcut": "Skapa genväg i Startmenyn",
"invalid_wine_prefix_path": "Ogiltig sökväg för Wine-prefix",
"invalid_wine_prefix_path_description": "Sökvägen till Wine-prefixet är ogiltig. Kontrollera sökvägen och försök igen.",
"missing_wine_prefix": "Wine-prefix krävs för att skapa en säkerhetskopia på Linux"
},
"activation": {
"title": "Aktivera Hydra",
"installation_id": "Installations ID:",
"enter_activation_code": "Ange din aktiveringskod",
"message": "Om du inte vet var du ska fråga efter denna, borde du inte ha den.",
"activate": "Aktivera",
"loading": "Laddar…"
},
"downloads": {
"resume": "Fortsätt",
"pause": "Pausa",
"eta": "Slutförs {{eta}}",
"paused": "Pausad",
"verifying": "Verifierar…",
"completed": "Slutförd",
"removed": "Ej nedladdad",
"cancel": "Avbryt",
"filter": "Filtrera nedladdade spel",
"remove": "Ta bort",
"downloading_metadata": "Laddar metadata…",
"deleting": "Tar bort installationsfil…",
"delete": "Ta bort installationsfil",
"delete_modal_title": "Är du säker?",
"delete_modal_description": "Detta tar bort alla installationsfiler från din dator",
"install": "Installera",
"download_in_progress": "Pågår",
"queued_downloads": "Köade nedladdningar",
"downloads_completed": "Klart",
"queued": "I kö",
"no_downloads_title": "Så tomt",
"no_downloads_description": "Du har inte laddat ner något med Hydra än, men det är aldrig för sent att börja.",
"checking_files": "Kontrollerar filer…",
"seeding": "Seedar",
"stop_seeding": "Sluta seeda",
"resume_seeding": "Fortsätt seeda",
"options": "Hantera",
"extract": "Packa upp filer",
"extracting": "Packar upp filer…"
},
"settings": {
"downloads_path": "Nedladdningssökväg",
"change": "Uppdatera",
"notifications": "Aviseringar",
"enable_download_notifications": "När en nedladdning är klar",
"enable_repack_list_notifications": "När en ny repack läggs till",
"real_debrid_api_token_label": "Real-Debrid API-token",
"quit_app_instead_hiding": "Stäng Hydra istället för att minimera",
"launch_with_system": "Starta Hydra vid systemstart",
"general": "Allmänt",
"behavior": "Beteende",
"download_sources": "Nedladdningskällor",
"language": "Språk",
"api_token": "API-token",
"enable_real_debrid": "Aktivera Real-Debrid",
"real_debrid_description": "Real-Debrid är en obegränsad nedladdningstjänst som låter dig ladda ner filer snabbt, endast begränsad av din internetanslutning.",
"debrid_invalid_token": "Ogiltig API-token",
"debrid_api_token_hint": "Du kan hämta din API-token <0>här</0>",
"real_debrid_free_account_error": "Kontot \"{{username}}\" är ett gratiskonto. Prenumerera på Real-Debrid",
"debrid_linked_message": "Kontot \"{{username}}\" kopplat",
"save_changes": "Spara ändringar",
"changes_saved": "Ändringar sparades",
"download_sources_description": "Hydra hämtar nedladdningslänkar från dessa källor. Källans URL måste vara en direktlänk till en .json-fil med nedladdningslänkar.",
"validate_download_source": "Validera",
"remove_download_source": "Ta bort",
"add_download_source": "Lägg till källa",
"download_count_zero": "Inga nedladdningsalternativ",
"download_count_one": "{{countFormatted}} nedladdningsalternativ",
"download_count_other": "{{countFormatted}} nedladdningsalternativ",
"download_source_url": "URL till nedladdningskälla",
"add_download_source_description": "Ange URL:en till .json-filen",
"download_source_up_to_date": "Uppdaterad",
"download_source_errored": "Fel uppstod",
"sync_download_sources": "Synkronisera källor",
"removed_download_source": "Nedladdningskälla borttagen",
"removed_download_sources": "Nedladdningskällor borttagna",
"cancel_button_confirmation_delete_all_sources": "Nej",
"confirm_button_confirmation_delete_all_sources": "Ja, ta bort allt",
"title_confirmation_delete_all_sources": "Ta bort alla nedladdningskällor",
"description_confirmation_delete_all_sources": "Du kommer att ta bort alla nedladdningskällor",
"button_delete_all_sources": "Ta bort alla",
"added_download_source": "Nedladdningskälla tillagd",
"download_sources_synced": "Alla nedladdningskällor är synkroniserade",
"insert_valid_json_url": "Ange en giltig JSON-URL",
"found_download_option_zero": "Inga nedladdningsalternativ hittades",
"found_download_option_one": "Hittade {{countFormatted}} nedladdningsalternativ",
"found_download_option_other": "Hittade {{countFormatted}} nedladdningsalternativ",
"import": "Importera",
"public": "Offentlig",
"private": "Privat",
"friends_only": "Endast vänner",
"privacy": "Integritet",
"profile_visibility": "Profilens synlighet",
"profile_visibility_description": "Välj vem som kan se din profil och ditt bibliotek",
"required_field": "Detta fält är obligatoriskt",
"source_already_exists": "Denna källa har redan lagts till",
"must_be_valid_url": "Källan måste vara en giltig URL",
"blocked_users": "Blockerade användare",
"user_unblocked": "Användaren har avblockerats",
"enable_achievement_notifications": "När en prestation låses upp",
"launch_minimized": "Starta Hydra minimerad",
"disable_nsfw_alert": "Inaktivera NSFW-varning",
"seed_after_download_complete": "Seeda efter att nedladdningen är klar",
"show_hidden_achievement_description": "Visa beskrivning av dolda prestationer innan de låses upp",
"account": "Konto",
"no_users_blocked": "Du har inga blockerade användare",
"subscription_active_until": "Ditt Hydra Cloud är aktivt till {{date}}",
"manage_subscription": "Hantera prenumeration",
"update_email": "Uppdatera e-postadress",
"update_password": "Uppdatera lösenord",
"current_email": "Nuvarande e-postadress:",
"no_email_account": "Du har ännu inte angett någon e-postadress",
"account_data_updated_successfully": "Kontoinformationen har uppdaterats",
"renew_subscription": "Förnya Hydra Cloud",
"subscription_expired_at": "Din prenumeration gick ut den {{date}}",
"no_subscription": "Njut av Hydra på bästa möjliga sätt",
"become_subscriber": "Bli Hydra Cloud-prenumerant",
"subscription_renew_cancelled": "Automatisk förnyelse är inaktiverad",
"subscription_renews_on": "Din prenumeration förnyas den {{date}}",
"bill_sent_until": "Din nästa faktura skickas senast detta datum",
"no_themes": "Det verkar som att du inte har några teman ännu, men ingen fara klicka här för att skapa ditt första mästerverk.",
"editor_tab_code": "Kod",
"editor_tab_info": "Info",
"editor_tab_save": "Spara",
"web_store": "Webbutik",
"clear_themes": "Rensa",
"create_theme": "Skapa",
"create_theme_modal_title": "Skapa eget tema",
"create_theme_modal_description": "Skapa ett nytt tema för att anpassa Hydras utseende",
"theme_name": "Namn",
"insert_theme_name": "Ange temats namn",
"set_theme": "Aktivera tema",
"unset_theme": "Avaktivera tema",
"delete_theme": "Ta bort tema",
"edit_theme": "Redigera tema",
"delete_all_themes": "Ta bort alla teman",
"delete_all_themes_description": "Detta kommer att ta bort alla dina egna teman",
"delete_theme_description": "Detta kommer att ta bort temat {{theme}}",
"cancel": "Avbryt",
"appearance": "Utseende",
"enable_torbox": "Aktivera TorBox",
"torbox_description": "TorBox är din premium seedbox-tjänst som konkurrerar med de bästa servrarna på marknaden.",
"torbox_account_linked": "TorBox-konto kopplat",
"create_real_debrid_account": "Klicka här om du ännu inte har ett Real-Debrid-konto",
"create_torbox_account": "Klicka här om du ännu inte har ett TorBox-konto",
"real_debrid_account_linked": "Real-Debrid-konto kopplat",
"name_min_length": "Temanamnet måste innehålla minst 3 tecken",
"import_theme": "Importera tema",
"import_theme_description": "Du kommer att importera {{theme}} från temabutiken",
"error_importing_theme": "Fel vid import av tema",
"theme_imported": "Temat har importerats",
"enable_friend_request_notifications": "När en vänförfrågan tas emot",
"enable_auto_install": "Ladda ner uppdateringar automatiskt",
"common_redist": "Nödvändiga systemkomponenter",
"common_redist_description": "Nödvändiga systemkomponenter krävs för att vissa spel ska fungera. Det rekommenderas att installera dem för att undvika problem.",
"install_common_redist": "Installera",
"installing_common_redist": "Installerar…",
"show_download_speed_in_megabytes": "Visa nedladdningshastighet i megabyte per sekund",
"extract_files_by_default": "Extrahera filer automatiskt efter nedladdning",
"achievement_custom_notification_position": "Anpassad position för prestationmeddelande",
"top-left": "Övre vänster",
"top-center": "Övre mitten",
"top-right": "Övre höger",
"bottom-left": "Nedre vänster",
"bottom-center": "Nedre mitten",
"bottom-right": "Nedre höger",
"enable_achievement_custom_notifications": "Aktivera anpassade prestationmeddelanden",
"alignment": "Justering",
"variation": "Variation",
"default": "Standard",
"rare": "Sällsynt",
"platinum": "Platina",
"hidden": "Dold",
"test_notification": "Testa meddelande",
"notification_preview": "Förhandsvisning av prestationmeddelande",
"enable_friend_start_game_notifications": "När en vän börjar spela ett spel"
},
"notifications": {
"download_complete": "Nedladdning klar",
"game_ready_to_install": "{{title}} är redo att installeras",
"repack_list_updated": "Repack-listan har uppdaterats",
"repack_count_one": "{{count}} repack tillagd",
"repack_count_other": "{{count}} repacks tillagda",
"new_update_available": "Version {{version}} tillgänglig",
"restart_to_install_update": "Starta om Hydra för att installera uppdateringen",
"notification_achievement_unlocked_title": "Prestation upplåst för {{game}}",
"notification_achievement_unlocked_body": "{{achievement}} och {{count}} andra har låsts upp",
"new_friend_request_description": "{{displayName}} har skickat en vänförfrågan",
"new_friend_request_title": "Ny vänförfrågan",
"extraction_complete": "Extrahering slutförd",
"game_extracted": "{{title}} har extraherats",
"friend_started_playing_game": "{{displayName}} började spela ett spel",
"test_achievement_notification_title": "Detta är ett testmeddelande",
"test_achievement_notification_description": "Ganska coolt, eller hur?"
},
"system_tray": {
"open": "Öppna Hydra",
"quit": "Avsluta"
},
"game_card": {
"available_one": "Tillgänglig",
"available_other": "Tillgänglig",
"no_downloads": "Inga nedladdningar tillgängliga"
},
"binary_not_found_modal": {
"title": "Program inte installerade",
"description": "Wine- eller Lutris-körbara filer hittades inte på ditt system",
"instructions": "Kontrollera hur du installerar dem korrekt på din Linux-distribution så att spelet kan köras normalt"
},
"modal": {
"close": "Stäng-knapp"
},
"forms": {
"toggle_password_visibility": "Visa/dölj lösenord"
},
"user_profile": {
"amount_hours": "{{amount}} timmar",
"amount_minutes": "{{amount}} minuter",
"last_time_played": "Senast spelad {{period}}",
"activity": "Senaste aktivitet",
"library": "Bibliotek",
"total_play_time": "Total speltid",
"no_recent_activity_title": "Hmmm… ingenting här",
"no_recent_activity_description": "Du har inte spelat några spel nyligen. Dags att ändra på det!",
"display_name": "Visningsnamn",
"saving": "Sparar",
"save": "Spara",
"edit_profile": "Redigera profil",
"saved_successfully": "Sparat",
"try_again": "Försök igen",
"sign_out_modal_title": "Är du säker?",
"cancel": "Avbryt",
"successfully_signed_out": "Utloggningen lyckades",
"sign_out": "Logga ut",
"playing_for": "Spelar sedan {{amount}}",
"sign_out_modal_text": "Ditt bibliotek är kopplat till det aktuella kontot. När du loggar ut kommer biblioteket inte längre vara synligt, och framstegen kommer inte att sparas. Vill du fortsätta logga ut?",
"add_friends": "Lägg till vänner",
"add": "Lägg till",
"friend_code": "Vänkod",
"see_profile": "Visa profil",
"sending": "Skickar",
"friend_request_sent": "Vänförfrågan skickad",
"friends": "Vänner",
"friends_list": "Vänlista",
"user_not_found": "Användare hittades inte",
"block_user": "Blockera användare",
"add_friend": "Lägg till vän",
"request_sent": "Förfrågan skickad",
"request_received": "Förfrågan mottagen",
"accept_request": "Acceptera förfrågan",
"ignore_request": "Ignorera förfrågan",
"cancel_request": "Avbryt förfrågan",
"undo_friendship": "Ta bort vänskap",
"request_accepted": "Förfrågan accepterad",
"user_blocked_successfully": "Användaren har blockerats",
"user_block_modal_text": "Detta kommer att blockera {{displayName}}",
"blocked_users": "Blockerade användare",
"unblock": "Avblockera",
"no_friends_added": "Du har inte lagt till några vänner",
"pending": "Väntande",
"no_pending_invites": "Du har inga väntande inbjudningar",
"no_blocked_users": "Du har inga blockerade användare",
"friend_code_copied": "Vänkod kopierad",
"undo_friendship_modal_text": "Detta kommer att ta bort din vänskap med {{displayName}}",
"privacy_hint": "För att justera vem som kan se detta, gå till <0>Inställningar</0>",
"locked_profile": "Denna profil är privat",
"image_process_failure": "Fel vid bildbehandling",
"required_field": "Detta fält är obligatoriskt",
"displayname_min_length": "Visningsnamnet måste vara minst 3 tecken långt",
"displayname_max_length": "Visningsnamnet får vara högst 50 tecken långt",
"report_profile": "Anmäl denna profil",
"report_reason": "Varför anmäler du denna profil?",
"report_description": "Ytterligare information",
"report_description_placeholder": "Ytterligare information",
"report": "Anmäl",
"report_reason_hate": "Hatretorik",
"report_reason_sexual_content": "Sexuellt innehåll",
"report_reason_violence": "Våld",
"report_reason_spam": "Spam",
"report_reason_other": "Annat",
"profile_reported": "Profil anmäld",
"your_friend_code": "Din vänkod:",
"upload_banner": "Ladda upp banner",
"uploading_banner": "Laddar upp banner…",
"background_image_updated": "Bakgrundsbild uppdaterad",
"stats": "Statistik",
"achievements": "prestationer",
"games": "Spel",
"top_percentile": "Topp {{percentile}}%",
"ranking_updated_weekly": "Rankingen uppdateras varje vecka",
"playing": "Spelar {{game}}",
"achievements_unlocked": "Prestationer upplåsta",
"earned_points": "Intjänade poäng",
"show_achievements_on_profile": "Visa dina prestationer på profilen",
"show_points_on_profile": "Visa dina intjänade poäng på din profil"
},
"achievement": {
"achievement_unlocked": "Prestationer upplåst",
"user_achievements": "Prestationer för {{displayName}}",
"your_achievements": "Dina prestationer",
"unlocked_at": "Upplåst den: {{date}}",
"subscription_needed": "Ett Hydra Cloud-abonnemang krävs för att se detta innehåll",
"new_achievements_unlocked": "Upplåste {{achievementCount}} nya prestationer från {{gameCount}} spel",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} prestationer",
"achievements_unlocked_for_game": "Upplåste {{achievementCount}} nya prestationer för {{gameTitle}}",
"hidden_achievement_tooltip": "Detta är en dold prestation",
"achievement_earn_points": "Tjäna {{points}} poäng med denna prestation",
"earned_points": "Tjänade poäng:",
"available_points": "Tillgängliga poäng:",
"how_to_earn_achievements_points": "Hur tjänar man poäng på prestationer?"
},
"hydra_cloud": {
"subscription_tour_title": "Hydra Cloud-abonnemang",
"subscribe_now": "Prenumerera nu",
"cloud_saving": "Spara i molnet",
"cloud_achievements": "Spara dina prestationer i molnet",
"animated_profile_picture": "Animerade profilbilder",
"premium_support": "Premium-support",
"show_and_compare_achievements": "Visa och jämför dina prestationer med andra användare",
"animated_profile_banner": "Animerad profilbanner",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "Du har just upptäckt en Hydra Cloud-funktion!",
"learn_more": "Läs mer",
"debrid_description": "Ladda ner upp till 4x snabbare med Nimbus"
}
}

View File

@@ -4,50 +4,49 @@
"successfully_signed_in": "Başarıyla giriş yapıldı"
},
"home": {
"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"
"hot": "Şu anda Popüler",
"weekly": "📅 Haftanın En İyi Oyunları",
"achievements": "🏆 Bitirilecek Oyunlar"
},
"sidebar": {
"catalogue": "Katalog",
"downloads": "İndirilenler",
"settings": "Ayarlar",
"my_library": "Kütüphane",
"my_library": "Kütüphanem",
"downloading_metadata": "{{title}} (Meta verileri indiriliyor…)",
"paused": "{{title}} (Durduruldu)",
"downloading": "{{title}} ({{percentage}} - İndiriliyor…)",
"filter": "Kütüphaneyi filtrele",
"paused": "{{title}} (Duraklatıldı)",
"downloading": "{{title}} (%{{percentage}} - İndiriliyor…)",
"filter": "Kütüphanede filtrele",
"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",
"game_has_no_executable": "Bu oyun için çalıştırılabilir dosya seçilmedi",
"sign_in": "Giriş Yap",
"friends": "Arkadaşlar",
"need_help": "Yardıma mı ihtiyacınız var?",
"favorites": "Favoriler"
},
"header": {
"search": "Oyunları ara",
"search": "Oyunlarda Ara",
"home": "Ana Sayfa",
"catalogue": "Katalog",
"downloads": "İndirilenler",
"search_results": "Arama sonuçları",
"search_results": "Arama Sonuçları",
"settings": "Ayarlar",
"version_available_install": "{{version}} sürümü mevcut. Yüklemek ve yeniden başlatmak için buraya tıklayın.",
"version_available_download": "{{version}} sürümü mevcut. İndirmek için buraya tıklayın."
"version_available_install": "{{version}} sürümü mevcut. Yeniden başlatıp yüklemek için tıklayın.",
"version_available_download": "{{version}} sürümü mevcut. İndirmek için tıklayın."
},
"bottom_panel": {
"no_downloads_in_progress": "Devam eden indirme yok",
"downloading_metadata": "{{title}} meta verileri indiriliyor…",
"downloading": "{{title}} indiriliyor… ({{percentage}} tamamlandı) - Tamamlanma: {{eta}} - Hız: {{speed}}",
"calculating_eta": "{{title}} indiriliyor… ({{percentage}} tamamlandı) - Kalan süre hesaplanıyor…",
"checking_files": "{{title}} dosyaları kontrol ediliyor… ({{percentage}} tamamlandı)",
"downloading": "{{title}} indiriliyor… (%{{percentage}} tamamlandı) - Bitiş: {{eta}} - Hız: {{speed}}",
"calculating_eta": "{{title}} indiriliyor… (%{{percentage}} tamamlandı) - Kalan süre hesaplanıyor…",
"checking_files": "{{title}} dosyaları kontrol ediliyor… (%{{percentage}} tamamlandı)",
"installing_common_redist": "{{log}}…",
"installation_complete": "İndirme tamamlandı",
"installation_complete_message": "Genel bağımlılıklar başarıyla yüklendi."
"installation_complete": "Kurulum tamamlandı",
"installation_complete_message": "Gerekli paketler başarıyla yüklendi"
},
"catalogue": {
"search": "Filtrele…",
@@ -58,7 +57,7 @@
"download_sources": "İndirme kaynakları",
"result_count": "{{resultCount}} sonuç",
"filter_count": "{{filterCount}} mevcut",
"clear_filters": "{{filterCount}} seçili filtreyi temizle"
"clear_filters": "{{filterCount}} seçiliyi temizle"
},
"game_details": {
"open_download_options": "İndirme seçeneklerini aç",
@@ -67,32 +66,32 @@
"download_options_other": "{{count}} indirme seçeneği",
"updated_at": "{{updated_at}} tarihinde güncellendi",
"install": "Yükle",
"resume": "Devam et",
"pause": "Durdur",
"cancel": "İptal et",
"resume": "Devam Et",
"pause": "Duraklat",
"cancel": "İptal Et",
"remove": "Kaldır",
"space_left_on_disk": "Diskte {{space}} boş alan kaldı",
"eta": "{{eta}} tahmini bitiş",
"eta": "Bitiş: {{eta}}",
"calculating_eta": "Kalan süre hesaplanıyor…",
"downloading_metadata": "Meta veriler indiriliyor…",
"filter": "Paketleri filtrele",
"requirements": "Sistem gereksinimleri",
"requirements": "Sistem Gereksinimleri",
"minimum": "Minimum",
"recommended": "Önerilen",
"paused": "Durduruldu",
"paused": "Duraklatıldı",
"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": "İndirilebilir içerik yok",
"play_time": "{{amount}} süre oynandı",
"last_time_played": "Son oynama {{period}} önce",
"not_played_yet": "{{title}} henüz oynanmadı",
"no_downloads": "İndirme mevcut değil",
"play_time": "{{amount}} oynandı",
"last_time_played": "Son oynanma: {{period}}",
"not_played_yet": "{{title}} oyununu henüz oynamadınız",
"next_suggestion": "Sonraki öneri",
"play": "Oyna",
"deleting": "Yükleyici siliniyor…",
@@ -107,133 +106,140 @@
"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ç",
"screenshot": "Ekran görüntüsü {{number}}",
"open_screenshot": "Ekran görüntüsünü aç ({{number}})",
"download_settings": "İndirme ayarları",
"downloader": "İndirici",
"select_executable": "Seç",
"no_executable_selected": "Hiçbir çalıştırılabilir dosya seçilmedi",
"no_executable_selected": "Çalıştırılabilir dosya seçilmedi",
"open_folder": "Klasörü aç",
"open_download_location": "İndirilen dosyaları gör",
"open_download_location": "İndirilen dosyaları görüntüle",
"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 sonrasında {{game}} oyunu kütüphanenizden kaldıracaktır",
"remove_from_library_description": "{{game}} oyununu kütüphanenizden kaldıracaktır",
"options": "Seçenekler",
"executable_section_title": "Çalıştırılabilir dosya",
"executable_section_description": "\"Oyna\" butonuna 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 kaldırın veya Hydra tarafından indirilen dosyaları silin.",
"download_in_progress": "İndirme devam ediyor",
"download_paused": "İndirme durduruldu",
"executable_section_description": "\"Oyna\" seçildiğinde çalışacak dosyanın yolu",
"downloads_section_title": "İndirilenler",
"downloads_section_description": "Bu oyunun güncelleme veya diğer sürümlerine göz atın",
"danger_zone_section_title": "Tehlikeli Alan",
"danger_zone_section_description": "Bu oyunu kütüphanenizden veya Hydra tarafından indirilen dosyalardan kaldırın",
"download_in_progress": "İndirme sürüyor",
"download_paused": "İndirme duraklatıldı",
"last_downloaded_option": "Son indirilen seçenek",
"create_steam_shortcut": "Steam kısayolu oluştur",
"create_shortcut_success": "Kısayol başarıyla oluşturuldu",
"you_might_need_to_restart_steam": "Değişiklikleri görmek için Steam'i yeniden başlatmanız gerekebilir",
"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?",
"nsfw_content_title": "Bu oyun uygunsuz içerik barındırıyor",
"nsfw_content_description": "{{title}} bazı kullanıcılar için uygun olmayabilecek içerik barındırıyor. Devam etmek istediğinizden emin misiniz?",
"allow_nsfw_content": "Devam et",
"refuse_nsfw_content": "Geri dön",
"stats": "İstatistikler",
"download_count": "İndirme sayısı",
"download_count": "İndirme",
"player_count": "Aktif oyuncular",
"download_error": "Bu indirme seçeneği mevcut değil",
"download_error": "Bu indirme seçeneği kullanılamıyor",
"download": "İndir",
"executable_path_in_use": "\"{{game}}\" tarafından kullanılan çalıştırılabilir dosya",
"executable_path_in_use": "Çalıştırılabilir dosya zaten \"{{game}}\" tarafından kullanılıyor",
"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.",
"hydra_needs_to_remain_open": "Bu indirme için, Hydra programının tamamlanana kadar açık kalması gerekir. Hydra kapanırsa, ilerlemeniz kaybolacaktır.",
"achievements": "Başarımlar",
"achievements_count": "Başarımlar {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Bulut kaydı",
"cloud_save_description": "İlerlemenizi buluta kaydedin ve herhangi bir cihazda oynamaya devam edin",
"cloud_save": "Bulut Kaydı",
"cloud_save_description": "İlerlemenizi buluta kaydedin ve herhangi bir cihazdan 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 bir kayıt dosyası bulunamadı",
"restoring_backup": "Yedek geri yükleniyor ({{progress}} tamamlandı)…",
"create_backup": "Yeni Yedek",
"last_backup_date": "Son yedekleme: {{date}}",
"no_backup_preview": "Bu başlık 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",
"no_backups": "Bu oyun için henüz 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ımları gör",
"sign_in_to_see_achievements": "Başarımları görmek için oturum açın",
"see_all_achievements": "Tüm başarımları görüntüle",
"sign_in_to_see_achievements": "Başarımları 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ı",
"mapping_method_label": "Eşleme metodu",
"files_automatically_mapped": "Dosyalar otomatik eşlendi",
"no_backups_created": "Bu oyun için oluşturulmuş yedek yok",
"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",
"wine_prefix": "Wine Ön Ek",
"wine_prefix_description": "Bu oyunu çalıştırmak için kullanılan Wine ön eki",
"launch_options": "Başlatma Seçenekleri",
"launch_options_description": "İleri düzey kullanıcılar, başlatma seçeneklerine parametreler girebilir (deneysel özellik)",
"launch_options_placeholder": "Belirtilen bir parametre yok",
"launch_options_description": "Gelişmiş kullanıcılar için başlatma parametreleri tanımlayın (deneysel özellik)",
"launch_options_placeholder": "Parametre belirtilmedi",
"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ımlarınızı senkronize etmeyi öğrenin",
"manage_files_description": "Hangi dosyaların yedeklenip geri yükleneceğini yönetin",
"backup_deletion_failed": "Yedek silme işlemi başarısız oldu",
"max_number_of_artifacts_reached": "Bu oyun için azami yedekleme sayısına ulaşıldı",
"achievements_not_sync": "Başarımlarını eşitlemeyi öğren",
"manage_files_description": "Hangi dosyaların yedekleneceğini ve geri yükleneceğini yönetin",
"select_folder": "Klasör seç",
"backup_from": "{{date}} tarihinden yedek",
"automatic_backup_from": "{{date}} tarihinden otomatik kayıt",
"enable_automatic_cloud_sync": "Otomatik bulut kaydı senkronizasyonunu aktifleştir",
"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.",
"backup_from": "{{date}} tarihli yedek",
"automatic_backup_from": "{{date}} tarihli otomatik yedek",
"enable_automatic_cloud_sync": "Otomatik bulut eşitlemesini etkinleştir",
"custom_backup_location_set": "Özel yedekleme konumu belirlendi",
"no_directory_selected": "Klasör seçilmedi",
"no_write_permission": "Bu klasöre indirme yapılamıyor. Detaylar için buraya tıklayın.",
"reset_achievements": "Başarımları sıfırla",
"reset_achievements_description": "Bu işlem {{game}} için tüm başarımları sıfırlar",
"reset_achievements_description": "{{game}} için tüm başarımlar sıfırlanacak",
"reset_achievements_title": "Emin misiniz?",
"reset_achievements_success": "Başarımlar başarıyla sıfırlandı",
"reset_achievements_error": "Başarımlar sıfırlanamadı",
"download_error_gofile_quota_exceeded": "Gofile aylık kotanızı doldurdunuz. Kotanın yenilenmesini bekleyin.",
"download_error_real_debrid_account_not_authorized": "Real-Debrid hesabınız yeni indirme işlemleri yapmak için yetkilendirilmemiş. Lütfen hesap ayarlarınızı kontrol edip tekrar deneyin.",
"download_error_not_cached_in_real_debrid": "Bu indirme Real-Debrid üzerinde mevcut değil ve Real-Debrid'den indirme durumu henüz sorgulanamıyor.",
"download_error_not_cached_in_torbox": "Bu indirme Torbox'ta mevcut değil ve Torbox'tan indirme durumu henüz sorgulanamıyor.",
"game_removed_from_favorites": "Oyun favorilerden silindi",
"download_error_gofile_quota_exceeded": "Gofile aylık kotanızı aştınız. Lütfen kotanın sıfırlanmasını bekleyin.",
"download_error_real_debrid_account_not_authorized": "Real-Debrid hesabınız yeni indirmeler için yetkili değil. Hesap ayarlarınızı kontrol edip tekrar deneyin.",
"download_error_not_cached_on_real_debrid": "Bu indirme Real-Debrid üzerinde mevcut değil ve durum sorgulanamıyor.",
"download_error_not_cached_on_torbox": "Bu indirme TorBox üzerinde mevcut değil ve durum sorgulanamıyor.",
"download_error_not_cached_on_hydra": "Bu indirme Nimbus üzerinde mevcut değil.",
"game_removed_from_favorites": "Oyun favorilerden kaldırıldı",
"game_added_to_favorites": "Oyun favorilere eklendi",
"automatically_extract_downloaded_files": "Yüklenmiş dosyaları otomatik olarak çıkart"
"automatically_extract_downloaded_files": "İndirilen dosyaları otomatik çıkart",
"create_start_menu_shortcut": "Başlat Menüsüne kısayol oluştur",
"invalid_wine_prefix_path": "Geçersiz Wine ön ek yolu",
"invalid_wine_prefix_path_description": "Wine ön ek yolu hatalı. Lütfen yolu kontrol edin ve tekrar deneyin.",
"missing_wine_prefix": "Linux'ta yedekleme oluşturmak için Wine ön eki gereklidir"
},
"activation": {
"title": "Hydra'yı Aktive Et",
"installation_id": "Kurulum Kimliği:",
"enter_activation_code": "Aktivasyon kodunuzu girin",
"message": "Bunu nasıl edineceğini bilmiyorsan, buna sahip olmamalısın.",
"activate": "Aktive Et",
"title": "Hydra'yı Etkinleştir",
"installation_id": "Kurulum ID:",
"enter_activation_code": "Etkinleştirme kodunu girin",
"message": "Bu kodun nereden alınacağını bilmiyorsanız, zaten bu kodu kullanmamanız gerekir.",
"activate": "Etkinleştir",
"loading": "Yükleniyor…"
},
"downloads": {
"resume": "Devam Et",
"pause": "Duraklat",
"eta": "Tamamlama {{eta}}",
"eta": "Bitiş: {{eta}}",
"paused": "Duraklatıldı",
"verifying": "Doğrulanıyor…",
"completed": "Tamamlandı",
"removed": "İndirilmedi",
"cancel": "İptal Et",
"filter": "İndirilen oyunları filtrele",
"filter": "İndirilen oyunlarda filtrele",
"remove": "Kaldır",
"downloading_metadata": "Meta verileri indiriliyor…",
"deleting": "Yükleyici siliniyor…",
"delete": "Yükleyiciyi kaldır",
"delete_modal_title": "Emin misiniz?",
"delete_modal_description": "Bu işlem, tüm kurulum dosyalarını bilgisayarınızdan kaldıracaktır",
"install": "Kur",
"delete_modal_description": "Tüm kurulum dosyaları bilgisayarınızdan kaldırılacaktır",
"install": "Yükle",
"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 hbir şey indirmediniz, ancak başlamak için asla geç değil.",
"no_downloads_title": "Çok boş görünüyor",
"no_downloads_description": "Hydra ile henüz bir şey indirmediniz, başlamak için asla geç değildir.",
"checking_files": "Dosyalar kontrol ediliyor…",
"seeding": "Paylaşılıyor",
"stop_seeding": "Paylaşımı durdur",
"resume_seeding": "Paylaşımı sürdür",
"seeding": "Seed yapılıyor",
"stop_seeding": "Seed yapmayı durdur",
"resume_seeding": "Seed yapmaya devam et",
"options": "Yönet",
"extract": "Dosyaları çıkart",
"extracting": "Dosyalar çıkartılıyor…"
@@ -242,180 +248,202 @@
"downloads_path": "İndirme yolu",
"change": "Güncelle",
"notifications": "Bildirimler",
"enable_download_notifications": "Bir indirme tamamlandığında",
"enable_repack_list_notifications": "Yeni bir repack eklendiğinde",
"enable_download_notifications": "İndirme tamamlandığında",
"enable_repack_list_notifications": "Yeni bir paket eklendiğinde",
"real_debrid_api_token_label": "Real-Debrid API anahtarı",
"quit_app_instead_hiding": "Hydra'yı kapatınca sistem tepsisine gitmesin",
"launch_with_system": "Hydra'yı sistem başlatıldığında çalıştır",
"quit_app_instead_hiding": "Hydra kapatıldığında gizleme",
"launch_with_system": "Sistem başlatıldığında Hydra'yı",
"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.",
"enable_real_debrid": "Real-Debridi etkinleştir",
"real_debrid_description": "Real-Debrid, yalnızca internet hızınızla sınırlı olarak dosyaları hızlı indirmenizi sağlayan sınırsız bir indirme servisidir.",
"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",
"real_debrid_free_account_error": "\"{{username}}\" hesabı ücretsizdir. Lütfen Real-Debride abone 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.",
"download_sources_description": "Hydra, indirme bağlantılarını bu kaynaklardan alacaktır. Kaynak URLsi, bağlantıların bulunduğu bir .json dosyasına doğrudan bağlantı olmalıdır.",
"validate_download_source": "Doğrula",
"remove_download_source": "Kaldır",
"add_download_source": "Kaynak ekle",
"cancel_button_confirmation_delete_all_sources": "Hayır",
"confirm_button_confirmation_delete_all_sources": "Evet, her şeyi sil",
"description_confirmation_delete_all_sources": "Tüm indirme kaynaklarını sileceksiniz",
"title_confirmation_delete_all_sources": "Tüm indirme kaynaklarını sil",
"removed_download_sources": "Yazı tipleri kaldırıldı",
"button_delete_all_sources": "Tüm indirme kaynaklarını kaldır",
"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",
"add_download_source_description": ".json dosyasının URLsini girin",
"download_source_up_to_date": "Güncel",
"download_source_errored": "Hatalı",
"sync_download_sources": "Kaynakları senkronize et",
"sync_download_sources": "Kaynakları eşitle",
"removed_download_source": "İndirme kaynağı kaldırıldı",
"removed_download_sources": "İndirme kaynakları kaldırıldı",
"cancel_button_confirmation_delete_all_sources": "Hayır",
"confirm_button_confirmation_delete_all_sources": "Evet, hepsini sil",
"title_confirmation_delete_all_sources": "Tüm indirme kaynaklarını sil",
"description_confirmation_delete_all_sources": "Tüm indirme kaynaklarını sileceksiniz",
"button_delete_all_sources": "Tümünü kaldır",
"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ı",
"download_sources_synced": "Tüm indirme kaynakları eşitlendi",
"insert_valid_json_url": "Geçerli bir JSON URLsi girin",
"found_download_option_zero": "İndirme 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",
"import": "İçe Aktar",
"public": "Herkese Açık",
"private": "Gizli",
"friends_only": "Sadece arkadaşlar",
"friends_only": "Yalnızca Arkadaşlar",
"privacy": "Gizlilik",
"profile_visibility": "Profil görünürlüğü",
"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",
"source_already_exists": "Bu kaynak zaten eklendi",
"must_be_valid_url": "Kaynak geçerli bir URL olmalı",
"blocked_users": "Engellenen kullanıcılar",
"user_unblocked": "Kullanıcının engeli kaldırıldı",
"enable_achievement_notifications": "Bir başarım kilidiıldığında",
"launch_minimized": "Hydra'yı küçültülmüş başlat",
"user_unblocked": "Kullanıcı engeli kaldırıldı",
"enable_achievement_notifications": "Bir başarııldığında",
"launch_minimized": "Hydra'yı küçük aç",
"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ımıklamalarını kilitlenmeden önce göster",
"seed_after_download_complete": "İndirme sonrası seed yap",
"show_hidden_achievement_description": "ılmadan önce gizli başarııklamasını göster",
"account": "Hesap",
"no_users_blocked": "Hiçbir kullanıcıyı engellemediniz",
"subscription_active_until": "Hydra Cloud'unuz {{date}} tarihine kadar aktif",
"subscription_active_until": "Hydra Cloud üyeliğiniz {{date}} tarihine kadar aktif",
"manage_subscription": "Aboneliği yönet",
"update_email": "E-posta'yı güncelle",
"update_email": "E-postayı güncelle",
"update_password": "Şifreyi güncelle",
"current_email": "Aktif e-posta'nız",
"no_email_account": "Henüz ayarlanmış bir e-postanız yok",
"account_data_updated_successfully": "Hesap bilgileri başarıyla güncellendi",
"current_email": "Mevcut e-posta:",
"no_email_account": "Henüz bir e-posta tanımlanmadı",
"account_data_updated_successfully": "Hesap verileri başarıyla güncellendi",
"renew_subscription": "Hydra Cloud'u yenile",
"subscription_expired_at": "Aboneliğiniz {{date}} tarihinde sona erdi",
"no_subscription": "Hydra'yı en iyi şekilde deneyimleyin",
"become_subscriber": "Hydra Cloud'lu ol",
"subscription_renew_cancelled": "Otomatik yenileme devre dışı",
"no_subscription": "Hydra'yı en iyi şekilde kullanın",
"become_subscriber": "Hydra Cloud Ol",
"subscription_renew_cancelled": "Otomatik yenileme devre dışı bırakıldı",
"subscription_renews_on": "Aboneliğiniz {{date}} tarihinde yenilenecek",
"bill_sent_until": "Bir sonraki faturanız bu tarihe kadar gönderilecek",
"no_themes": "Henüz bir temanız yok gibi görünüyor, ama endişelenmeyin, ilk şaheserinizi oluşturmak için buraya tıklayın.",
"bill_sent_until": "Sonraki fatura bu güne kadar gönderilecek",
"no_themes": "Henüz bir temanız yok gibi görünüyor, endişelenmeyin, ilk şaheserinizi oluşturmak için buraya tıklayın.",
"editor_tab_code": "Kod",
"editor_tab_info": "Bilgi",
"editor_tab_save": "Kaydet",
"web_store": "İnternet mağazası",
"web_store": "Web Mağaza",
"clear_themes": "Temizle",
"create_theme": "Oluştur",
"create_theme_modal_title": "Tema oluştur",
"create_theme_modal_description": "Hydra'nın görünümünü özelleştirmek için yeni bir tema oluştur",
"theme_name": "İsim",
"insert_theme_name": "Tema ismini gir",
"set_theme": "Temayı seç",
"unset_theme": "Tema seçimini kaldır",
"create_theme_modal_title": "Özel tema oluştur",
"create_theme_modal_description": "Hydranın görünümünü özelleştirmek için yeni bir tema oluşturun",
"theme_name": "Tema adı",
"insert_theme_name": "Tema adı girin",
"set_theme": "Temayı ayarla",
"unset_theme": "Temayı kaldır",
"delete_theme": "Temayı sil",
"edit_theme": "Temayı düzenle",
"delete_all_themes": "Tüm temaları sil",
"delete_all_themes_description": "Bu tüm temalarınızı silecektir",
"delete_theme_description": "Bu {{theme}} temasını silecektir",
"delete_all_themes_description": "Tüm özel temalarınız silinecek",
"delete_theme_description": "{{theme}} teması silinecek",
"cancel": "İptal",
"appearance": "Görünüm",
"enable_torbox": "Torbox'u etkinleştir",
"torbox_description": "TorBox, piyasadaki en iyi sunucularla bile rekabet edebilen premium seedbox hizmetinizdir.",
"enable_torbox": "TorBox'u Etkinleştir",
"torbox_description": "TorBox, piyasadaki en iyi sunucularla yarışan premium seedbox hizmetinizdir.",
"torbox_account_linked": "TorBox hesabı bağlandı",
"create_real_debrid_account": "Henüz bir Real-Debrid hesabınız yoksa buraya tıklayın",
"create_torbox_account": "Henüz bir TorBox hesabınız yoksa buraya tıklayın",
"create_real_debrid_account": "Henüz Real Debrid hesabınız yoksa buraya tıklayın",
"create_torbox_account": "Henüz TorBox hesabınız yoksa buraya tıklayın",
"real_debrid_account_linked": "Real-Debrid hesabı bağlandı",
"name_min_length": "Tema ismi en az 3 karakter uzunluğunda olmalıdır",
"import_theme": "Temayı içe aktar",
"import_theme_description": "{{theme}} teması, tema mağazasından içeri aktarılacak",
"error_importing_theme": "Temayı içe aktarmada bir sorun oluştu",
"name_min_length": "Tema adı en az 3 karakter olmalıdır",
"import_theme": "Tema içe aktar",
"import_theme_description": "{{theme}} temasını tema mağazasından içe aktaracaksınız",
"error_importing_theme": "Tema içe aktarılırken hata oluştu",
"theme_imported": "Tema başarıyla içe aktarıldı",
"enable_friend_request_notifications": "Bir arkadaşlık isteği alındığında",
"enable_auto_install": "Güncellemeleri otomatik yükle",
"common_redist": "Ortak bağımlılıklar",
"common_redist_description": "Bazı oyunların çalışabilmesi için genel bağımlılıklar gereklidir. Sorun yaşamamak için bunların yüklenmesi önerilir.",
"install_common_redist": "Yükle",
"installing_common_redist": "Yükleniyor…"
"enable_auto_install": "Güncellemeleri otomatik indir",
"common_redist": "Gereksinim Paketleri",
"common_redist_description": "Bazı oyunların çalışması için gereksinim paketleri gerekir. Sorun yaşamamak için kurulması önerilir.",
"install_common_redist": "Kur",
"installing_common_redist": "Kuruluyor…",
"show_download_speed_in_megabytes": "İndirme hızını megabayt cinsinden göster",
"extract_files_by_default": "İndirme sonrası varsayılan olarak dosyaları çıkar",
"achievement_custom_notification_position": "Başarı özel bildirim konumu",
"top-left": "Sol üst",
"top-center": "Üst orta",
"top-right": "Sağ üst",
"bottom-left": "Sol alt",
"bottom-center": "Alt orta",
"bottom-right": "Sağ alt",
"enable_achievement_custom_notifications": "Başarı özel bildirimlerini etkinleştir",
"alignment": "Hizalama",
"variation": "Çeşit",
"default": "Varsayılan",
"rare": "Nadir",
"platinum": "Platin",
"hidden": "Gizli",
"test_notification": "Test bildirimi",
"notification_preview": "Başarı Bildirimi Önizlemesi",
"enable_friend_start_game_notifications": "Bir arkadaşınız oyun oynamaya başladığında"
},
"notifications": {
"download_complete": "İndirme tamamlandı",
"game_ready_to_install": "{{title}} kurulmaya hazır",
"repack_list_updated": "Repack listesi güncellendi",
"repack_count_one": "{{count}} repack eklendi",
"repack_count_other": "{{count}} repack eklendi",
"game_ready_to_install": "{{title}} yüklenmeye hazır",
"repack_list_updated": "Paket listesi güncellendi",
"repack_count_one": "{{count}} paket eklendi",
"repack_count_other": "{{count}} paket eklendi",
"new_update_available": "{{version}} sürümü 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ım kilidiıldı",
"notification_achievement_unlocked_body": "{{achievement}} ve diğer {{count}} başarımıldı",
"new_friend_request_description": "Yeni bir arkadaşlık isteğin var",
"restart_to_install_update": "Güncellemeyi yüklemek için Hydrayı yeniden başlatın",
"notification_achievement_unlocked_title": "{{game}} için başarııldı",
"notification_achievement_unlocked_body": "{{achievement}} ve {{count}} diğer başarııldı",
"new_friend_request_description": "{{displayName}} size bir arkadaşlık isteği gönderdi",
"new_friend_request_title": "Yeni arkadaşlık isteği",
"extraction_complete": ıkartma tamamlandı",
"game_extracted": "{{title}} başarıyla çıkartıldı"
"extraction_complete": ıkarma tamamlandı",
"game_extracted": "{{title}} başarıyla çıkarıldı",
"friend_started_playing_game": "{{displayName}} bir oyun oynamaya başladı",
"test_achievement_notification_title": "Bu bir test bildirimi",
"test_achievement_notification_description": "Oldukça havalı, değil mi?"
},
"system_tray": {
"open": "Hydra'yı Aç",
"quit": ık"
},
"game_card": {
"no_downloads": "İndirilebilir içerik bulunmuyor",
"available_one": "Mevcut",
"available_other": "Mevcut"
"available_other": "Mevcut",
"no_downloads": "İndirme mevcut değil"
},
"binary_not_found_modal": {
"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"
"description": "Sisteminizde Wine veya Lutris çalıştırılabilir dosyaları bulunamadı",
"instructions": "Oyunun sorunsuz çalışması için Linux dağıtımınızda bunların nasıl kurulacağını kontrol edin"
},
"modal": {
"close": "Kapat düğmesi"
},
"forms": {
"toggle_password_visibility": "Şifre görünürlüğünü değiştir"
"toggle_password_visibility": "Şifreyister/gizle"
},
"user_profile": {
"amount_hours": "{{amount}} saat",
"amount_minutes": "{{amount}} dakika",
"last_time_played": "Son oynanma {{period}}",
"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",
"no_recent_activity_description": "Son zamanlarda hiç oyun oynamadınız. Bunu değiştirmenin zamanı geldi!",
"display_name": "Kullanıcı adı",
"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?",
"sign_out_modal_title": "Çıkmak istediğinizden 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ı. Oturumu kapattığınızda kütüphaneniz görünür olmayacak ve herhangi bir ilerleme kaydedilmeyecek. Oturumu kapatmaya devam etmek istiyor musunuz?",
"sign_out_modal_text": "Kütüphaneniz mevcut hesabınıza bağlı. Çıkış yaparsanız, kütüphaneniz görünmeyecek ve ilerlemeniz kaydedilmeyecek. Yine de çıkış yapılsın mı?",
"add_friends": "Arkadaş Ekle",
"add": "Ekle",
"friend_code": "Arkadaş kodu",
"see_profile": "Profili gör",
"see_profile": "Profili Görüntüle",
"sending": "Gönderiliyor",
"friend_request_sent": "Arkadaşlık isteği gönderildi",
"friends": "Arkadaşlar",
@@ -426,78 +454,79 @@
"request_sent": "İstek gönderildi",
"request_received": "İstek alındı",
"accept_request": "İsteği kabul et",
"ignore_request": "İsteği yok say",
"ignore_request": "İsteği görmezden gel",
"cancel_request": "İsteği iptal et",
"undo_friendship": "Arkadaşlığı sonlandır",
"undo_friendship": "Arkadaşlığı kaldı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",
"user_block_modal_text": "{{displayName}} engellenecek",
"blocked_users": "Engellenen kullanıcılar",
"unblock": "Engeli kaldır",
"no_friends_added": "Hiç arkadaş eklemediniz",
"pending": "Bekliyor",
"no_friends_added": "Hiç arkadaşınız yok",
"pending": "Bekleyen",
"no_pending_invites": "Bekleyen davetiniz yok",
"no_blocked_users": "Engellenmiş kullanıcı yok",
"no_blocked_users": "Engellenen 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",
"undo_friendship_modal_text": "Bu işlemle {{displayName}} ile arkadaşlığınız kaldırılacak",
"privacy_hint": "Bunu kimlerin görebileceğini <0>Ayarlar</0> bölümünden değiştirebilirsiniz",
"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?",
"image_process_failure": "Resim işlenirken hata oluştu",
"required_field": "Bu alan gereklidir",
"displayname_min_length": "Kullanıcı adı en az 3 karakter olmalıdır",
"displayname_max_length": "Kullanıcı adı en fazla 50 karakter olmalıdır",
"report_profile": "Bu profili şikayet et",
"report_reason": "Bu profili neden şikayet ediyorsunuz?",
"report_description": "Ek bilgi",
"report_description_placeholder": "Ek bilgi",
"report": "Bildir",
"report": "Şikayet et",
"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",
"profile_reported": "Profil şikayet edildi",
"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",
"upload_banner": "Banner yükle",
"uploading_banner": "Banner yükleniyor…",
"background_image_updated": "Arka plan resmi güncellendi",
"stats": "İstatistikler",
"achievements": "Başarımlar",
"games": "Oyunlar",
"top_percentile": "En üst {{percentile}}%",
"ranking_updated_weekly": "Sıralama haftalık olarak güncellenir",
"top_percentile": "En iyi %{{percentile}}",
"ranking_updated_weekly": "Sıralama haftalık güncellenir",
"playing": "{{game}} oynanıyor",
"achievements_unlocked": "Başarımlarıldı",
"achievements_unlocked": "ılan başarımlar",
"earned_points": "Kazanılan puanlar",
"show_achievements_on_profile": "Başarımlarınızı profilinizde gösterin",
"show_points_on_profile": "Kazandığınız puanları profilinizde gösterin"
"show_achievements_on_profile": "Başarımlarını profilinde göster",
"show_points_on_profile": "Kazanılan puanlarını profilinde göster"
},
"achievement": {
"achievement_unlocked": "Başarım açıldı",
"user_achievements": "{{displayName}} oyununun Başarımları",
"user_achievements": "{{displayName}}'nın Başarımları",
"your_achievements": "Başarımları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ımıldı",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} başarım",
"achievements_unlocked_for_game": "{{gameTitle}} oyunu için {{achievementCount}} yeni başarımıldı",
"hidden_achievement_tooltip": "Bu gizli bir başarımdır",
"achievement_earn_points": "Bu başarım ile {{points}} puan kazanın",
"unlocked_at": "Açıldığı tarih: {{date}}",
"subscription_needed": "Bu içeriği görmek için Hydra Cloud aboneliği gereklidir",
"new_achievements_unlocked": "{{gameCount}} oyunda {{achievementCount}} yeni başarııldı",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} başarı",
"achievements_unlocked_for_game": "{{gameTitle}} 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",
"earned_points": "Kazanılan puanlar:",
"available_points": "Mevcut puanlar:",
"how_to_earn_achievements_points": "Başarım puanları nasıl kazanılır?"
"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ımlarınızı buluta kaydedin",
"subscribe_now": "Şimdi abone ol",
"cloud_saving": "Bulut kaydı",
"cloud_achievements": "Başarımlarınızı bulutta saklayın",
"animated_profile_picture": "Animasyonlu profil resimleri",
"premium_support": "Premium Destek",
"premium_support": "Öncelikli Destek",
"show_and_compare_achievements": "Başarımları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"
"hydra_cloud_feature_found": "Bir Hydra Cloud özelliğini keşfettiniz!",
"learn_more": "Daha fazla bilgi al",
"debrid_description": "Nimbus ile 4 kata kadar daha hızlı indirin"
}
}

View File

@@ -4,9 +4,12 @@
"successfully_signed_in": "Успішний вхід в систему"
},
"home": {
"featured": "Рекомендоване",
"surprise_me": "Здивуй мене",
"no_results": "Результатів не знайдено"
"no_results": "Результатів не знайдено",
"start_typing": "Почніть набирати текст для пошуку...",
"hot": "Гарячі новинки",
"weekly": "📅 Найкращі ігри цього тижня",
"achievements": "🏆 Ігри на проходження"
},
"sidebar": {
"catalogue": "Каталог",
@@ -21,11 +24,74 @@
"game_has_no_executable": "Не було вибрано файл для запуску гри",
"queued": "{{title}} в черзі",
"sign_in": "Увійти",
"favorites": "Улюблені"
"favorites": "Улюблені",
"friends": "Друзі",
"need_help": "Потрібна допомога?",
"playable_button_title": "Показати лише ігри, які можна грати зараз",
"add_custom_game_tooltip": "Додати власну гру",
"show_playable_only_tooltip": "Показати лише доступні для гри",
"custom_game_modal": "Додати власну гру",
"custom_game_modal_description": "Додайте власну гру до бібліотеки, вибравши виконуваний файл",
"custom_game_modal_executable_path": "Шлях до виконуваного файлу",
"custom_game_modal_select_executable": "Виберіть виконуваний файл",
"custom_game_modal_title": "Назва гри",
"custom_game_modal_enter_title": "Введіть назву гри",
"custom_game_modal_browse": "Огляд",
"custom_game_modal_cancel": "Скасувати",
"custom_game_modal_add": "Додати гру",
"custom_game_modal_adding": "Додавання гри...",
"custom_game_modal_success": "Власну гру успішно додано",
"custom_game_modal_failed": "Не вдалося додати власну гру",
"custom_game_modal_executable": "Виконуваний файл",
"edit_game_modal": "Налаштувати ресурси",
"edit_game_modal_description": "Налаштуйте ресурси та деталі гри",
"edit_game_modal_title": "Назва",
"edit_game_modal_enter_title": "Введіть назву",
"edit_game_modal_image": "Зображення",
"edit_game_modal_select_image": "Виберіть зображення",
"edit_game_modal_browse": "Огляд",
"edit_game_modal_image_preview": "Попередній перегляд зображення",
"edit_game_modal_icon": "Іконка",
"edit_game_modal_select_icon": "Виберіть іконку",
"edit_game_modal_icon_preview": "Попередній перегляд іконки",
"edit_game_modal_logo": "Логотип",
"edit_game_modal_select_logo": "Виберіть логотип",
"edit_game_modal_logo_preview": "Попередній перегляд логотипу",
"edit_game_modal_hero": "Зображення обкладинки гри",
"edit_game_modal_select_hero": "Виберіть обкладинку гри",
"edit_game_modal_hero_preview": "Попередній перегляд обкладинки гри",
"edit_game_modal_cancel": "Скасувати",
"edit_game_modal_update": "Оновити",
"edit_game_modal_updating": "Оновлення...",
"edit_game_modal_fill_required": "Будь ласка, заповніть всі обов'язкові поля",
"edit_game_modal_success": "Ресурси успішно оновлено",
"edit_game_modal_failed": "Не вдалося оновити ресурси",
"edit_game_modal_image_filter": "Зображення",
"edit_game_modal_icon_resolution": "Рекомендована роздільна здатність: 256x256px",
"edit_game_modal_logo_resolution": "Рекомендована роздільна здатність: 640x360px",
"edit_game_modal_hero_resolution": "Рекомендована роздільна здатність: 1920x620px",
"edit_game_modal_assets": "Ресурси",
"edit_game_modal_drop_icon_image_here": "Перетягніть зображення іконки сюди",
"edit_game_modal_drop_logo_image_here": "Перетягніть зображення логотипу сюди",
"edit_game_modal_drop_hero_image_here": "Перетягніть зображення обкладинки сюди",
"edit_game_modal_drop_to_replace_icon": "Перетягніть для заміни іконки",
"edit_game_modal_drop_to_replace_logo": "Перетягніть для заміни логотипу",
"edit_game_modal_drop_to_replace_hero": "Перетягніть для заміни обкладинки",
"install_decky_plugin": "Встановити плагін Decky",
"update_decky_plugin": "Оновити плагін Decky",
"decky_plugin_installed_version": "Плагін Decky (v{{version}})",
"install_decky_plugin_title": "Встановити плагін Hydra Decky",
"install_decky_plugin_message": "Це завантажить і встановить плагін Hydra для Decky Loader. Можуть знадобитися підвищені дозволи. Продовжити?",
"update_decky_plugin_title": "Оновити плагін Hydra Decky",
"update_decky_plugin_message": "Доступна нова версія плагіна Hydra Decky. Бажаєте оновити його зараз?",
"decky_plugin_installed": "Плагін Decky v{{version}} успішно встановлено",
"decky_plugin_installation_failed": "Не вдалося встановити плагін Decky: {{error}}",
"decky_plugin_installation_error": "Помилка встановлення плагіна Decky: {{error}}",
"confirm": "Підтвердити",
"cancel": "Скасувати"
},
"header": {
"search": "Пошук",
"home": "Головна",
"catalogue": "Каталог",
"downloads": "Завантаження",
@@ -38,11 +104,22 @@
"no_downloads_in_progress": "Немає активних завантажень",
"downloading_metadata": "Завантаження метаданих {{title}}…",
"downloading": "Завантаження {{title}}… ({{percentage}} завершено) - Закінчення {{eta}} - {{speed}}",
"calculating_eta": "Завантаження {{title}}… ({{percentage}} завершено) - Обчислення залишкового часу…"
"calculating_eta": "Завантаження {{title}}… ({{percentage}} завершено) - Обчислення залишкового часу…",
"checking_files": "Перевірка файлів {{title}} ({{percentage}} виповнено)",
"installing_common_redist": "{{log}}…",
"installation_complete": "Встановлення завершено",
"installation_complete_message": "Загальні розповсюджувані файли успішно встановлено"
},
"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": "Відкрити варіанти завантаження",
@@ -70,6 +147,7 @@
"amount_minutes": "{{amount}} хвилин",
"accuracy": "{{accuracy}}% точність",
"add_to_library": "Додати до бібліотеки",
"already_in_library": "Вже в бібліотеці",
"remove_from_library": "Видалити з бібліотеки",
"no_downloads": "Немає доступних завантажень",
"play_time": "Час гри: {{amount}}",
@@ -86,18 +164,32 @@
"download_now": "Завантажити зараз",
"calculating_eta": "Обчислення залишкового часу…",
"create_shortcut": "Створити ярлик на робочому столі",
"create_shortcut_simple": "Створити ярлик",
"create_shortcut_success": "Ярлик успішно створено",
"create_shortcut_error": "Виникла помилка під час створення ярлику",
"nsfw_content_title": "Ця гра містить неприйнятний контент",
"nsfw_content_description": "{{title}} містить вміст, який може бути непридатним для всіх вікових груп. Ви впевнені, що хочете продовжити?",
"allow_nsfw_content": "Продовжити",
"refuse_nsfw_content": "Вернутись назад",
"stats": "Статистика",
"clear": "Очистити",
"danger_zone_section_description": "Видалити цю гру з вашої бібліотеки або файли скачані Hydra",
"danger_zone_section_title": "Небезпечна зона",
"player_count": "Грають зараз",
"download": "Завантажити",
"download_count": "Завантажень",
"download_in_progress": "Триває завантаження.",
"download_options": "Варіантів завантаження",
"download_path": "Тека для завантажень",
"download_paused": "Завантаження призупинено",
"download_settings": "Налаштування завантаження",
"download_error": "Цей варіант завантаження не доступний",
"downloader": "Завантажувач",
"downloads_secion_title": "Завантаження",
"downloads_section_title": "Завантаження",
"downloads_section_description": "Перевірити наявність оновлень або інших версій гри",
"executable_section_description": "Шлях до файлу, який буде запущений при натисканні на кнопку \"Play\"",
"executable_section_title": "Файл",
"executable_path_in_use": "Виконуваний файл наразі використовується \"{{game}}\"",
"last_downloaded_option": "Останній варіант завантаження",
"next_screenshot": "Наступний скрішнот",
"no_executable_selected": "Файл не вибрано",
@@ -106,17 +198,169 @@
"open_folder": "Відкрити папку",
"open_screenshot": "Відкрити скріншот",
"options": "Налаштування",
"properties": "Властивості",
"paused": "Призупинено",
"previous_screenshot": "Попередній скріншот",
"remove_files": "Видалити файли",
"remove_from_library_description": "{{game}} буде видалено з вашої бібліотеки",
"remove_from_library_title": "Ви впевнені?",
"screenshot": "Скріншот",
"select_executable": "Обрати"
"select_executable": "Обрати",
"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": "Hydra автоматично вибере файли для резервного копіювання",
"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}}",
"automatic_backup_from": "Автоматична резервна копія від {{date}}",
"enable_automatic_cloud_sync": "Увімкнути автоматичну синхронізацію з хмарою",
"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": "Не вдалося скинути досягнення",
"download_error_gofile_quota_exceeded": "Ви перевищили місячну квоту Gofile. Будь ласка, дочекайтесь, поки квота скинеться.",
"download_error_real_debrid_account_not_authorized": "Ваш обліковий запис Real-Debrid не авторизований для нових завантажень. Будь ласка, перевірте налаштування облікового запису та спробуйте ще раз.",
"download_error_not_cached_on_real_debrid": "Це завантаження недоступне на Real-Debrid, і перевірка статусу завантаження з Real-Debrid наразі недоступна.",
"download_error_not_cached_on_torbox": "Це завантаження недоступне на TorBox, і перевірка статусу завантаження з TorBox наразі недоступна.",
"download_error_not_cached_on_hydra": "Це завантаження недоступне через Nimbus.",
"game_removed_from_favorites": "Гра видалена з улюбленних",
"game_added_to_favorites": "Гра була добавлена у улюблені",
"automatically_extract_downloaded_files": "Автоматично розархівувати завантаженні файли",
"create_steam_shortcut": "Створити ярлик Steam",
"you_might_need_to_restart_steam": "Можливо, вам знадобиться перезапустити Steam, щоб побачити зміни",
"add_to_favorites": "Додати до улюбленого",
"remove_from_favorites": "Видалити з улюбленого",
"failed_update_favorites": "Не вдалося оновити улюблене",
"game_removed_from_library": "Гру видалено з бібліотеки",
"failed_remove_from_library": "Не вдалося видалити з бібліотеки",
"files_removed_success": "Файли успішно видалено",
"failed_remove_files": "Не вдалося видалити файли",
"show_more": "Показати більше",
"show_less": "Показати менше",
"reviews": "Відгуки",
"leave_a_review": "Залишити відгук",
"write_review_placeholder": "Поділіться своїми думками про цю гру...",
"sort_newest": "Спочатку нові",
"no_reviews_yet": "Поки що немає відгуків",
"be_first_to_review": "Станьте першим, хто поділиться своїми думками про цю гру!",
"sort_oldest": "Спочатку старі",
"sort_highest_score": "Найвища оцінка",
"sort_lowest_score": "Найнижча оцінка",
"sort_most_voted": "Найпопулярніші",
"rating": "Оцінка",
"rating_stats": "Оцінка",
"rating_very_negative": "Дуже негативно",
"rating_negative": "Негативно",
"rating_neutral": "Нейтрально",
"rating_positive": "Позитивно",
"rating_very_positive": "Дуже позитивно",
"submit_review": "Відправити",
"submitting": "Відправка...",
"review_submitted_successfully": "Відгук успішно відправлено!",
"review_submission_failed": "Не вдалося відправити відгук. Будь ласка, спробуйте ще раз.",
"review_cannot_be_empty": "Текстове поле відгуку не може бути порожнім.",
"review_deleted_successfully": "Відгук успішно видалено.",
"review_deletion_failed": "Не вдалося видалити відгук. Будь ласка, спробуйте ще раз.",
"loading_reviews": "Завантаження відгуків...",
"loading_more_reviews": "Завантаження додаткових відгуків...",
"load_more_reviews": "Завантажити більше відгуків",
"you_seemed_to_enjoy_this_game": "Схоже, вам сподобалася ця гра",
"would_you_recommend_this_game": "Бажаєте залишити відгук про цю гру?",
"yes": "Так",
"maybe_later": "Можливо пізніше",
"rating_count": "Оцінка",
"delete_review": "Видалити відгук",
"remove_review": "Видалити відгук",
"delete_review_modal_title": "Ви впевнені, що хочете видалити свій відгук?",
"delete_review_modal_description": "Цю дію не можна скасувати.",
"delete_review_modal_delete_button": "Видалити",
"delete_review_modal_cancel_button": "Скасувати",
"backup_failed": "Помилка резервного копіювання",
"update_playtime_title": "Оновити час гри",
"update_playtime_description": "Вручну оновіть час гри для {{game}}",
"update_playtime": "Оновити час гри",
"update_playtime_success": "Час гри успішно оновлено",
"update_playtime_error": "Не вдалося оновити час гри",
"update_game_playtime": "Оновити час гри",
"manual_playtime_warning": "Ваші години будуть позначені як оновлені вручну. Цю дію не можна скасувати.",
"manual_playtime_tooltip": "Цей час гри було оновлено вручну",
"game_removed_from_pinned": "Гру видалено із закріплених",
"game_added_to_pinned": "Гру додано до закріплених",
"create_start_menu_shortcut": "Створити ярлик у меню «Пуск»",
"invalid_wine_prefix_path": "Недійсний шлях префікса Wine",
"invalid_wine_prefix_path_description": "Шлях до префікса Wine недійсний. Будь ласка, перевірте шлях і спробуйте знову.",
"missing_wine_prefix": "Префікс Wine необхідний для створення резервної копії в Linux",
"artifact_renamed": "Резервну копію успішно перейменовано",
"rename_artifact": "Перейменувати резервну копію",
"rename_artifact_description": "Перейменуйте резервну копію, надавши їй більш описову назву.",
"artifact_name_label": "Назва резервної копії",
"artifact_name_placeholder": "Введіть назву для резервної копії",
"save_changes": "Зберегти зміни",
"required_field": "Це поле обов'язкове",
"max_length_field": "Це поле має містити менше ніж {{length}} символів",
"freeze_backup": "Закріпити, щоб вона не була перезаписана автоматичними резервними копіями",
"unfreeze_backup": "Відкріпити",
"backup_frozen": "Резервну копію закріплено",
"backup_unfrozen": "Резервну копію відкріплено",
"backup_freeze_failed": "Не вдалося закріпити резервну копію",
"backup_freeze_failed_description": "Ви повинні залишити принаймні один вільний слот для автоматичних резервних копій",
"edit_game_modal_button": "Змінити деталі гри",
"game_details": "Деталі гри",
"currency_symbol": "₴",
"currency_country": "ua",
"prices": "Ціни",
"no_prices_found": "Ціни не знайдено",
"view_all_prices": "Натисніть, щоб переглянути всі ціни",
"retail_price": "Роздрібна ціна",
"keyshop_price": "Ціна в магазині ключів",
"historical_retail": "Історичні роздрібні ціни",
"historical_keyshop": "Історичні ціни в магазинах ключів",
"language": "Мова",
"caption": "Субтитри",
"audio": "Аудіо",
"filter_by_source": "Фільтр за джерелом",
"no_repacks_found": "Джерела для цієї гри не знайдено"
},
"activation": {
"title": "Активувати Hydra",
"installation_id": "ID установки:",
"installation_id": "ID встановлення:",
"enter_activation_code": "Введіть ваш активаційний код",
"message": "Якщо ви не знаєте, де його запросити, то не повинні мати його.",
"activate": "Активувати",
@@ -140,11 +384,18 @@
"install": "Встановити",
"download_in_progress": "В процесі",
"downloads_completed": "Завершено",
"no_downloads_description": "Ви ще нічого не завантажили через Hydra, але ніколи не пізно почати.",
"no_downloads_description": "Ви ще нічого не завантажили через Hydra, але ніколи не пізно почати",
"no_downloads_title": "Тут так пусто...",
"queued": "В черзі",
"queued_downloads": "Завантаження в черзі",
"removed": "Не завантажено"
"removed": "Не завантажено",
"checking_files": "Перевірка файлів…",
"seeding": "Сідінг",
"stop_seeding": "Зупинити сідінг",
"resume_seeding": "Продовжити сідінг",
"options": "Налаштування",
"extract": "Розархівувати файли",
"extracting": "Розархівовування файлів…"
},
"settings": {
"downloads_path": "Тека завантажень",
@@ -181,7 +432,7 @@
"description_confirmation_delete_all_sources": "Ви видалите всі джерела завантаження",
"title_confirmation_delete_all_sources": "Видалити всі джерела завантаження",
"removed_download_sources": "Джерела завантажень видалено",
"button_delete_all_sources": "Видаліть усі джерела завантаження",
"button_delete_all_sources": "Видалити усі джерела завантаження",
"api_token": "API-токен",
"debrid_api_token_hint": "API токен можливо отримати <0>тут</0>",
"real_debrid_api_token_label": "Real-Debrid API-токен",
@@ -193,21 +444,126 @@
"removed_download_source": "Джерело завантажень було видалено",
"save_changes": "Зберегти зміни",
"sync_download_sources": "Синхронізувати джерела",
"validate_download_source": "Перевірити"
"validate_download_source": "Перевірити",
"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",
"seed_after_download_complete": "Cідувати по завершенню завантажень",
"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": "Ваш наступний рахунок буде надіслано до цього дня",
"no_themes": "Схоже, у вас ще немає тем, але не хвилюйтеся, натисніть тут, щоб створити свій перший шедевр.",
"editor_tab_code": "Код",
"editor_tab_info": "Інформація",
"editor_tab_save": "Зберегти",
"web_store": "Інтернет-магазин тем",
"clear_themes": "Очистити",
"create_theme": "Створити",
"create_theme_modal_title": "Створити користувацьку тему",
"create_theme_modal_description": "Створіть нову тему для налаштування зовнішнього вигляду Hydra",
"theme_name": "Назва",
"insert_theme_name": "Введіть назву теми",
"set_theme": "Застосувати тему",
"unset_theme": "Виключити тему",
"delete_theme": "Видалити тему",
"edit_theme": "Редагувати тему",
"delete_all_themes": "Видалити усі теми",
"delete_all_themes_description": "Це видалить усі ваші користувацькі теми",
"delete_theme_description": "Це видалить тему {{theme}}",
"cancel": "Відмінити",
"appearance": "Вигляд",
"debrid": "Debrid",
"debrid_description": "Сервіси Debrid - це преміум-завантажувачі без обмежень, які дозволяють швидко завантажувати файли з різних файлообмінників, обмежуючись лише швидкістю вашого інтернету.",
"enable_torbox": "Включити TorBox",
"torbox_description": "TorBox — це ваш преміум-сервіс для сідінгу, що конкурує навіть з найкращими серверами на ринку.",
"torbox_account_linked": "TorBox акаунт прив'язано",
"create_real_debrid_account": "Натисніть тут, якщо у вас ще немає облікового запису Real-Debrid",
"create_torbox_account": "Натисніть тут, якщо у вас ще немає облікового запису TorBox",
"real_debrid_account_linked": "Real-Debrid акаунт прив'язано",
"name_min_length": "Назва теми повинна містити не менше 3 символів",
"import_theme": "Імпортувати тему",
"import_theme_description": "Ви імпортуєте {{theme}} з магазину тем",
"error_importing_theme": "Помилка при імпорті теми",
"theme_imported": "Тема успішно імпортована",
"enable_friend_request_notifications": "При отриманні запиту на дружбу",
"enable_auto_install": "Автоматично завантажувати оновлення",
"common_redist": "Загальні розповсюджувані компоненти",
"common_redist_description": "Загальні розповсюджувані компоненти необхідні для запуску деяких ігор. Рекомендується їх встановити, щоб уникнути проблем.",
"install_common_redist": "Встановити",
"installing_common_redist": "Встановлюється…",
"show_download_speed_in_megabytes": "Показувати швидкість завантаження в мегабайтах на секунду",
"extract_files_by_default": "Розпаковувати файли після завантаження",
"enable_steam_achievements": "Увімкнути пошук досягнень Steam",
"achievement_custom_notification_position": "Позиція сповіщень про досягнення",
"top-left": "Верхній лівий кут",
"top-center": "Верхній центр",
"top-right": "Верхній правий кут",
"bottom-left": "Нижній лівий кут",
"bottom-center": "Нижній центр",
"bottom-right": "Нижній правий кут",
"enable_achievement_custom_notifications": "Увімкнути сповіщення про досягнення",
"alignment": "Вирівнювання",
"variation": "Варіація",
"default": "За замовчуванням",
"rare": "Рідкісне",
"platinum": "Платиновий",
"hidden": "Прихований",
"test_notification": "Тестове сповіщення",
"notification_preview": "Попередній перегляд сповіщення про досягнення",
"enable_friend_start_game_notifications": "Коли друг починає грати в гру"
},
"notifications": {
"download_complete": "Завантаження завершено",
"game_ready_to_install": "{{title}} готова до встановлення",
"repack_list_updated": "Список репаків оновлено",
"repack_count_one": "{{count}} репак додано",
"repack_count_other": "{{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}} було розблоковано",
"new_friend_request_description": "Ви отримали новий запит на дружбу",
"new_friend_request_title": "Новий запит на дружбу",
"extraction_complete": "Витягування завершено",
"game_extracted": "{{title}} успішно витягнуто",
"friend_started_playing_game": "{{displayName}} почав грати в гру",
"test_achievement_notification_title": "Це тестове сповіщення",
"test_achievement_notification_description": "Досить круто, чи не так?"
},
"system_tray": {
"open": "Відкрити Hydra",
"quit": "Вийти"
},
"game_card": {
"no_downloads": "Немає доступних завантажень"
"no_downloads": "Немає доступних завантажень",
"available_one": "Доступний",
"available_other": "Доступні",
"calculating": "Обчислення"
},
"binary_not_found_modal": {
"title": "Програми не встановлені",
@@ -224,11 +580,17 @@
"activity": "Остання активність",
"amount_hours": "{{amount}} годин",
"amount_minutes": "{{amount}} хвилин",
"amount_hours_short": "{{amount}}год",
"amount_minutes_short": "{{amount}}хв",
"cancel": "Скасувати",
"display_name": "Відображуване ім'я",
"edit_profile": "Редагувати профіль",
"last_time_played": "Остання гра {{period}}",
"library": "Бібліотека",
"pinned": "Закріплені",
"achievements_earned": "Зароблені досягнення",
"played_recently": "Недавно зіграні",
"playtime": "Час гри",
"no_recent_activity_description": "Ви давно не грали в ігри. Пора це змінити!",
"no_recent_activity_title": "Хммм... Тут нічого немає",
"playing_for": "Зіграно {{amount}}",
@@ -240,6 +602,102 @@
"sign_out_modal_title": "Ви впевнені?",
"successfully_signed_out": "Успішний вихід з акаунту",
"total_play_time": "Всього зіграно",
"try_again": "Будь ласка, попробуйте ще раз"
"manual_playtime_tooltip": "Час гри було оновлено вручну",
"try_again": "Будь ласка, попробуйте ще раз",
"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>Settings</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": "Покажіть ваші отриманні бали у своєму профілі",
"error_adding_friend": "Не вдалося відправити запит на дружбу. Будь ласка, перевірте код друга",
"friend_code_length_error": "Код друга має містити 8 символів",
"game_removed_from_pinned": "Гру видалено із закріплених",
"game_added_to_pinned": "Гру додано до закріплених",
"karma": "Карма",
"karma_count": "карма",
"karma_description": "Зароблена позитивними оцінками на відгуках"
},
"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": "Дізнатися більше",
"debrid_description": "Завантажуйте до 4 разів швидше з Nimbus"
}
}

View File

@@ -0,0 +1,475 @@
{
"language_name": "Uzbek",
"app": {
"successfully_signed_in": "Kirish muvaffaqiyatli amalga oshirildi"
},
"home": {
"surprise_me": "Hayratda qoldir",
"no_results": "Natijalar topilmadi",
"hot": "Eng mashhur",
"start_typing": "Yozishni boshlayapman ...",
"weekly": "📅 Haftaning eng yaxshi o'yinlari",
"achievements": "🏆 Yutuqlar bilan o'yinlar"
},
"sidebar": {
"catalogue": "Katalog",
"downloads": "Yuklab olishlar",
"settings": "Sozlamalar",
"my_library": "Mening kutubxonam",
"downloading_metadata": "{{title}} (Metamaʼlumotlar yuklanmoqda…)",
"paused": "{{title}} (To'xtatildi)",
"downloading": "{{title}} ({{percentage}} - Yuklanmoqda…)",
"filter": "Qidiruv",
"home": "Asosiy",
"queued": "{{title}} (Navbatda)",
"game_has_no_executable": "Oʻyinni ishga tushirish fayli tanlanmagan",
"sign_in": "Kirish",
"friends": "Do'stlar",
"need_help": "Yordam kerakmi?",
"favorites": "Sevimlilar"
},
"header": {
"search": "Qidirish",
"home": "Asosiy",
"catalogue": "Katalog",
"downloads": "Yuklab olishlar",
"search_results": "Qidiruv natijalari",
"settings": "Sozlamalar",
"version_available_install": "{{version}} versiyasi mavjud. Oʻrnatish uchun shu yerni bosing.",
"version_available_download": "{{version}} versiyasi mavjud. Yuklab olish uchun shu yerni bosing."
},
"bottom_panel": {
"no_downloads_in_progress": "Faol yuklab olishlar yo'q",
"downloading_metadata": "Metamaʼlumotlar yuklanmoqda {{title}}…",
"downloading": "Yuklanmoqda {{title}}… ({{percentage}} yakunlandi) - Tugash vaqti {{eta}} - {{speed}}",
"calculating_eta": "Yuklanmoqda {{title}}… ({{percentage}} yakunlandi) - Qolgan vaqt hisoblanmoqda…",
"checking_files": "Fayllar tekshirilmoqda {{title}}… ({{percentage}} yakunlandi)",
"installing_common_redist": "{{log}}…",
"installation_complete": "O'rnatish yakunlandi",
"installation_complete_message": "Kutubxonalar muvaffaqiyatli o'rnatildi"
},
"catalogue": {
"search": "Filter…",
"developers": "Ishlab chiquvchilar",
"genres": "Janrlar",
"tags": "Teglar",
"publishers": "Nashriyotlar",
"download_sources": "Yuklab olish manbalari",
"result_count": "{{resultCount}} natija",
"filter_count": "{{filterCount}} mavjud",
"clear_filters": "{{filterCount}} tanlangan filtrni tozalash"
},
"game_details": {
"play_time": "O'ynalgan vaqt {{amount}}",
"last_time_played": "Oxirgi ishga tushirilgan {{period}}",
"not_played_yet": "Siz hali {{title}}ni o'ynamagansiz",
"next_suggestion": "Keyingi taklif",
"play": "O'ynash",
"deleting": "O'rnatuvchi o'chirilmoqda…",
"close": "Yopish",
"playing_now": "Hozir o'ynalmoqda",
"change": "O'zgartirish",
"repacks_modal_description": "Yuklab olish uchun repakni tanlang",
"select_folder_hint": "Standart yuklab olish jildini o'zgartirish uchun <0>Sozlamalar</0>ni oching",
"download_now": "Hozir yuklab olish",
"no_shop_details": "Tavsif olib bo'lmadi",
"download_options": "Manbalar",
"download_path": "Yuklab olish yo'li",
"previous_screenshot": "Oldingi skrinshot",
"next_screenshot": "Keyingi skrinshot",
"screenshot": "Skrinshot {{number}}",
"open_screenshot": "{{number}}-skrinshotni ochish",
"download_settings": "Yuklab olish sozlamalari",
"downloader": "Yuklovchi",
"select_executable": "Tanlash",
"no_executable_selected": "Fayl tanlanmagan",
"open_folder": "Jildni ochish",
"open_download_location": "Yuklab olish jildini ko'rish",
"create_shortcut": "Ish stoliga yorliq yaratish",
"clear": "Tozalash",
"remove_files": "Fayllarni o'chirish",
"remove_from_library_title": "Ishonchingiz komilmi?",
"remove_from_library_description": "{{game}} kutubxonangizdan o'chiriladi.",
"options": "Sozlamalar",
"executable_section_title": "Fayl",
"executable_section_description": "\"O'ynash\" tugmasi bosilganda ishga tushiriladigan fayl yo'li",
"downloads_section_title": "Yuklab olishlar",
"downloads_section_description": "Yangilanishlar yoki o'yinning boshqa versiyalarini tekshirish",
"danger_zone_section_title": "Xavfli zona",
"danger_zone_section_description": "Bu o'yinni kutubxonangizdan yoki Hydradan yuklab olingan fayllarni o'chirishingiz mumkin",
"download_in_progress": "Yuklab olish davom etmoqda",
"download_paused": "Yuklab olish to'xtatilgan",
"last_downloaded_option": "Oxirgi yuklab olish varianti",
"create_shortcut_success": "Yorliq yaratildi",
"create_shortcut_error": "Yorliq yaratib bo'lmadi",
"allow_nsfw_content": "Davom etish",
"download": "Yuklab olish",
"download_count": "Yuklab olishlar",
"download_error": "Bu yuklab olish varianti mavjud emas",
"executable_path_in_use": "Bajarish fayli allaqachon \"{{game}}\" tomonidan ishlatilmoqda",
"nsfw_content_description": "{{title}} barcha yoshdagilar uchun mos bo'lmasligi mumkin bo'lgan tarkibni o'z ichiga oladi. \nDavom etishni xohlaysizmi?",
"nsfw_content_title": "Bu o'yin nomunosib tarkibga ega",
"refuse_nsfw_content": "Orqaga",
"stats": "Statistika",
"player_count": "Faol o'yinchilar",
"warning": "Ogohlantirish:",
"hydra_needs_to_remain_open": "Bu yuklab olish uchun Hydra tugaguncha ochiq qolishi kerak. Agar Hydra tugashidan oldin yopilsa, jarayonni yo'qotasiz.",
"achievements": "Yutuqlar",
"achievements_count": "Yutuqlar {{unlockedCount}}/{{achievementsCount}}",
"cloud_save": "Bulutli saqlash",
"cloud_save_description": "O'yin jarayoningizni bulutda saqlang va istalgan qurilmada o'ynashni davom ettiring",
"backups": "Zaxira nusxalar",
"install_backup": "O'rnatish",
"delete_backup": "O'chirish",
"create_backup": "Yangi zaxira nusxa yaratish",
"last_backup_date": "Oxirgi zaxira nusxa {{date}} dan",
"no_backup_preview": "Bu sarlavha uchun saqlashlar topilmadi",
"restoring_backup": "Zaxira nusxa tiklanmoqda ({{progress}} yakunlandi)…",
"uploading_backup": "Zaxira nusxa yuklanmoqda…",
"no_backups": "Siz hali bu o'yin uchun zaxira nusxa yaratmagansiz",
"backup_uploaded": "Zaxira nusxa yuklandi",
"backup_deleted": "Zaxira nusxa o'chirildi",
"backup_restored": "Zaxira nusxa tiklandi",
"see_all_achievements": "Barcha yutuqlarni ko'rish",
"sign_in_to_see_achievements": "Yutuqlarni ko'rish uchun tizimga kiring",
"mapping_method_automatic": "Avtomatik",
"mapping_method_manual": "Qo'lda",
"mapping_method_label": "Moslashtirish usuli",
"files_automatically_mapped": "Fayllar avtomatik moslashtirildi",
"no_backups_created": "Bu o'yin uchun zaxira nusxalar yaratilmagan",
"manage_files": "Fayllarni boshqarish",
"loading_save_preview": "Saqlashlar qidirilmoqda…",
"wine_prefix": "Wine prefiksi",
"wine_prefix_description": "Bu o'yinni ishga tushirish uchun ishlatiladigan Wine prefiksi",
"launch_options": "Ishga tushirish parametrlari",
"launch_options_description": "Tajribali foydalanuvchilar ishga tushirish parametrlarini o'zgartirishi mumkin",
"launch_options_placeholder": "Parametr ko'rsatilmagan",
"no_download_option_info": "Ma'lumot mavjud emas",
"backup_deletion_failed": "Zaxira nusxani o'chirib bo'lmadi",
"max_number_of_artifacts_reached": "Bu o'yin uchun maksimal zaxira nusxalar soniga yetildi",
"achievements_not_sync": "Yutuqlaringiz sinxronlanmagan",
"manage_files_description": "Saqlanishi va tiklanishi kerak bo'lgan fayllarni boshqaring",
"select_folder": "Jildni tanlash",
"backup_from": "{{date}} dan zaxira nusxa",
"automatic_backup_from": "{{date}} dan avtomatik zaxira nusxa",
"enable_automatic_cloud_sync": "Avtomatik bulutli sinxronlashni yoqish",
"custom_backup_location_set": "Maxsus zaxira nusxa joylashuvi o'rnatildi",
"no_directory_selected": "Katalog tanlanmagan",
"no_write_permission": "Bu katalogga yuklab bo'lmaydi. Ko'proq ma'lumot olish uchun bu yerga bosing.",
"reset_achievements": "Yutuqlarni tiklash",
"reset_achievements_description": "Bu {{game}} uchun barcha yutuqlarni tiklaydi",
"reset_achievements_title": "Ishonchingiz komilmi?",
"reset_achievements_success": "Yutuqlar muvaffaqiyatli tiklandi",
"reset_achievements_error": "Yutuqlarni tiklab bo'lmadi",
"download_error_gofile_quota_exceeded": "Siz Gofile oylik kvotangizni oshirib yubordingiz. Iltimos, kvota tiklanguncha kuting.",
"download_error_real_debrid_account_not_authorized": "Sizning Real-Debrid hisobingiz yangi yuklab olishlar uchun avtorizatsiya qilinmagan. Iltimos, hisob sozlamalarini tekshiring va qaytadan urinib ko'ring.",
"download_error_not_cached_on_real_debrid": "Bu yuklab olish Real-Debrid'da mavjud emas, va Real-Debrid'dan yuklab olish holatini olish hozircha mavjud emas.",
"download_error_not_cached_on_torbox": "Bu yuklab olish TorBox'da mavjud emas, va TorBox'dan yuklab olish holatini olish hozircha mumkin emas.",
"game_added_to_favorites": "O'yin sevimlilarga qo'shildi",
"game_removed_from_favorites": "O'yin sevimlilardan olib tashlandi",
"automatically_extract_downloaded_files": "Yuklab olingan fayllarni avtomatik chiqarish"
},
"activation": {
"title": "Hydra'ni faollashtirish",
"installation_id": "O'rnatish ID'si:",
"enter_activation_code": "Faollashtirish kodini kiriting",
"message": "Agar qayerdan so'rash kerakligini bilmasangiz, u sizda bo'lmasligi kerak.",
"activate": "Faollashtirish",
"loading": "Yuklanmoqda…"
},
"downloads": {
"resume": "Davom ettirish",
"pause": "To'xtatib turish",
"eta": "Tugash vaqti {{eta}}",
"paused": "To'xtatilgan",
"verifying": "Tekshirilmoqda…",
"completed": "Yakunlandi",
"removed": "Yuklab olinmagan",
"cancel": "Bekor qilish",
"filter": "Yuklab olingan o'yinlarni qidirish",
"remove": "O'chirish",
"downloading_metadata": "Metamaʼlumotlar yuklanmoqda…",
"deleting": "O'rnatuvchi o'chirilmoqda…",
"delete": "O'rnatuvchini o'chirish",
"delete_modal_title": "Ishonchingiz komilmi?",
"delete_modal_description": "Bu kompyuteringizdan barcha o'rnatuvchilarni o'chiradi",
"install": "O'rnatish",
"download_in_progress": "Jarayonda",
"queued_downloads": "Navbatdagi yuklab olishlar",
"downloads_completed": "Yakunlangan",
"queued": "Navbatda",
"no_downloads_title": "Bu yer juda bo'sh...",
"no_downloads_description": "Siz hali Hydra orqali hech narsa yuklab olmadingiz, lekin boshlash uchun hech qachon kech emas.",
"checking_files": "Fayllar tekshirilmoqda…",
"seeding": "Ulashish",
"stop_seeding": "Ulashishni to'xtatish",
"resume_seeding": "Ulashishni davom ettirish",
"options": "Boshqarish",
"extract": "Fayllarni chiqarish",
"extracting": "Fayllar chiqarilmoqda…"
},
"settings": {
"downloads_path": "Yuklab olish yo'li",
"change": "O'zgartirish",
"notifications": "Bildirishnomalar",
"enable_download_notifications": "Yuklab olish tugaganda",
"enable_achievement_notifications": "Yutuq ochilganda",
"enable_repack_list_notifications": "Yangi repak qo'shilganda",
"real_debrid_api_token_label": "Real-Debrid API-tokeni",
"quit_app_instead_hiding": "Ilovani trayga yig'ish o'rniga yopish",
"launch_with_system": "Hydra'ni tizim bilan birga ishga tushirish",
"launch_minimized": "Hydra'ni yig'ilgan holda ishga tushirish",
"disable_nsfw_alert": "Noqulay kontent haqida ogohlantirishni o'chirish",
"general": "Asosiy",
"behavior": "Xatti-harakat",
"download_sources": "Yuklab olish manbalari",
"language": "Til",
"api_token": "API kalit",
"enable_real_debrid": "Real-Debrid'ni yoqish",
"real_debrid_description": "Real-Debrid - bu cheksiz yuklab oluvchi bo'lib, internetda joylashtirilgan fayllarni tezda yuklab olishga yoki ularni xususiy tarmoq orqali pleerga zudlik bilan o'tkazishga imkon beradi, bu esa har qanday blokirovkalarni chetlab o'tishga imkon beradi.",
"debrid_invalid_token": "Noto'g'ri API kalit",
"debrid_api_token_hint": "API kalitni <0>bu yerda</0> olish mumkin",
"real_debrid_free_account_error": "\"{{username}}\" hisobi - obunaga ega emas. Iltimos, Real-Debrid obunasini rasmiylashtiring",
"debrid_linked_message": "\"{{username}}\" hisobi bog'langan",
"save_changes": "O'zgarishlarni saqlash",
"changes_saved": "O'zgarishlar muvaffaqiyatli saqlandi",
"download_sources_description": "Hydra yuklab olish havolalarini ushbu manbalardan oladi. URL yuklab olish uchun havolalar bilan .json-fayliga to'g'ridan-to'g'ri havolani o'z ichiga olishi kerak.",
"validate_download_source": "Tekshirish",
"remove_download_source": "O'chirish",
"add_download_source": "Manba qo'shish",
"download_count_zero": "Ro'yxatda yuklab olishlar yo'q",
"download_count_one": "Ro'yxatda {{countFormatted}} ta yuklab olish",
"download_count_other": "Ro'yxatda {{countFormatted}} ta yuklab olish",
"download_source_url": "Manba havolasi",
"add_download_source_description": ".json-fayliga havolani joylang",
"download_source_up_to_date": "Yangilangan",
"download_source_errored": "Xato",
"sync_download_sources": "Manbalarni yangilash",
"removed_download_source": "Manba o'chirildi",
"cancel_button_confirmation_delete_all_sources": "Yo'q",
"confirm_button_confirmation_delete_all_sources": "Ha, barchasini o'chirish",
"description_confirmation_delete_all_sources": "Siz barcha manbalarni o'chirasiz",
"title_confirmation_delete_all_sources": "Barcha manbalarni o'chirish",
"removed_download_sources": "Manbalar o'chirildi",
"button_delete_all_sources": "Barcha manbalarni o'chirish",
"added_download_source": "Manba qo'shildi",
"download_sources_synced": "Barcha manbalar yangilandi",
"insert_valid_json_url": "Amaldagi JSON-fayl URL'ini kiriting",
"found_download_option_zero": "Yuklab olish variantlari topilmadi",
"found_download_option_one": "{{countFormatted}} yuklab olish varianti topildi",
"found_download_option_other": "{{countFormatted}} yuklab olish varianti topildi",
"import": "Import qilish",
"blocked_users": "Bloklangan foydalanuvchilar",
"friends_only": "Faqat do'stlar uchun",
"must_be_valid_url": "Manbada to'g'ri URL bo'lishi kerak",
"privacy": "Maxfiylik",
"private": "Shaxsiy",
"profile_visibility": "Profil ko'rinuvchanligi",
"profile_visibility_description": "Kim sizning profilingiz va kutubxonangizni ko'ra olishini tanlang",
"public": "Ommaviy",
"required_field": "Bu maydon to'ldirilishi shart",
"source_already_exists": "Bu manba allaqachon qo'shilgan",
"user_unblocked": "Foydalanuvchi blokdan chiqarildi",
"seed_after_download_complete": "Yuklab olish tugagandan so'ng ulashish",
"show_hidden_achievement_description": "Yashirin yutuqlarning tavsifini ularni olishdan oldin ko'rsatish",
"account": "Hisob",
"no_users_blocked": "Sizda bloklangan foydalanuvchilar yo'q",
"subscription_active_until": "Hydra Cloud obunangiz {{date}} ga qadar faol",
"manage_subscription": "Obunani boshqarish",
"update_email": "Elektron pochtani yangilash",
"update_password": "Parolni yangilash",
"current_email": "Joriy elektron pochta:",
"no_email_account": "Siz hali elektron pochta o'rnatmagansiz",
"account_data_updated_successfully": "Hisob ma'lumotlari muvaffaqiyatli yangilandi",
"renew_subscription": "Hydra Cloud obunasini yangilash",
"subscription_expired_at": "Obunangiz muddati {{date}} da tugagan",
"no_subscription": "Hydra'dan maksimal darajada bahramand bo'ling",
"become_subscriber": "Hydra Cloud egasiga aylaning",
"subscription_renew_cancelled": "Avtomatik yangilash o'chirilgan",
"subscription_renews_on": "Obunangiz {{date}} da yangilanadi",
"bill_sent_until": "Keyingi hisobingiz shu kungacha yuboriladi",
"no_themes": "Sizda hali mavzular yo'qqa o'xshaydi, lekin tashvishlanmang, birinchi shoh asaringizni yaratish uchun shu yerni bosing",
"editor_tab_code": "Kod",
"editor_tab_info": "Ma'lumot",
"editor_tab_save": "Saqlash",
"web_store": "Veb-do'kon",
"clear_themes": "Tozalash",
"create_theme": "Yaratish",
"create_theme_modal_title": "Maxsus mavzu yaratish",
"create_theme_modal_description": "Hydra ko'rinishini sozlash uchun yangi mavzu yaratish",
"theme_name": "Nomi",
"insert_theme_name": "Mavzu nomini kiriting",
"set_theme": "Mavzuni o'rnatish",
"unset_theme": "Mavzuni olib tashlash",
"delete_theme": "Mavzuni o'chirish",
"edit_theme": "Mavzuni tahrirlash",
"delete_all_themes": "Barcha mavzularni o'chirish",
"delete_all_themes_description": "Bu barcha maxsus mavzularingizni o'chiradi",
"delete_theme_description": "Bu {{theme}} mavzusini o'chirishga olib keladi",
"cancel": "Bekor qilish",
"appearance": "Tashqi ko'rinish",
"enable_torbox": "TorBox'ni yoqish",
"torbox_description": "TorBox - bu bozordagi eng yaxshi serverlar bilan ham raqobatlashadigan premium xizmatingiz.",
"torbox_account_linked": "TorBox hisobi bog'langan",
"real_debrid_account_linked": "Real-Debrid hisobi bog'langan",
"create_real_debrid_account": "Agar sizda hali Real-Debrid hisobi bo'lmasa, shu yerni bosing",
"create_torbox_account": "Agar sizda hali TorBox hisobi bo'lmasa, shu yerni bosing",
"name_min_length": "Mavzu nomi kamida 3 ta belgi bo'lishi kerak",
"import_theme": "Mavzuni import qilish",
"import_theme_description": "Siz {{theme}} mavzusini mavzular do'konidan import qilmoqdasiz",
"error_importing_theme": "Mavzuni import qilishda xato",
"theme_imported": "Mavzu muvaffaqiyatli import qilindi",
"enable_friend_request_notifications": "Do'stlar so'rovi olinganda",
"enable_auto_install": "Yangilanishlarni avtomatik yuklab olish",
"common_redist": "Kutubxonalar",
"common_redist_description": "Ba'zi o'yinlarni ishga tushirish uchun kutubxonalar talab qilinadi. Muammolarning oldini olish uchun ularni o'rnatish tavsiya etiladi.",
"install_common_redist": "O'rnatish",
"installing_common_redist": "O'rnatilmoqda…",
"show_download_speed_in_megabytes": "Yuklab olish tezligini sekundiga megabaytlarda ko'rsatish"
},
"notifications": {
"download_complete": "Yuklab olish yakunlandi",
"game_ready_to_install": "{{title}} o'rnatishga tayyor",
"repack_list_updated": "Repaklar ro'yxati yangilandi",
"repack_count_one": "{{count}} repak qo'shildi",
"repack_count_other": "{{count}} repak qo'shildi",
"new_update_available": "Yangi {{version}} versiyasi mavjud",
"restart_to_install_update": "Yangilanishni o'rnatish uchun Hydra'ni qayta ishga tushiring",
"notification_achievement_unlocked_title": "{{game}} uchun yutuq ochildi",
"notification_achievement_unlocked_body": "{{achievement}} va boshqa {{count}} ta yutuq ochildi",
"new_friend_request_title": "Yangi do'stlik so'rovi",
"new_friend_request_description": "Siz yangi do'stlik so'rovini oldingiz",
"extraction_complete": "Arxivdan chiqarish yakunlandi",
"game_extracted": "{{title}} muvaffaqiyatli arxivdan chiqarildi"
},
"system_tray": {
"open": "Hydra'ni ochish",
"quit": "Chiqish"
},
"game_card": {
"available_one": "Mavjud",
"available_other": "Mavjud",
"no_downloads": "Mavjud manbalar yo'q"
},
"binary_not_found_modal": {
"title": "Dasturlar o'rnatilmagan",
"description": "Wine yoki Lutris topilmadi",
"instructions": "O'yin to'g'ri ishlashi uchun Linux distributivingizga ulardan birini o'rnatishning to'g'ri usulini bilib oling"
},
"modal": {
"close": "Yopish"
},
"forms": {
"toggle_password_visibility": "Parolni ko'rsatish"
},
"user_profile": {
"amount_hours": "{{amount}} soat",
"amount_minutes": "{{amount}} daqiqa",
"last_time_played": "Oxirgi o'yin {{period}}",
"activity": "So'nggi faollik",
"library": "Kutubxona",
"total_play_time": "Jami o'ynalgan vaqt",
"no_recent_activity_title": "Hmm... Bu yerda hech narsa yo'q",
"no_recent_activity_description": "Siz uzoq vaqtdan beri o'ynamagansiz. Buni o'zgartirish vaqti keldi!",
"display_name": "Ko'rsatiladigan ism",
"saving": "Saqlanmoqda",
"save": "Saqlash",
"edit_profile": "Profilni tahrirlash",
"saved_successfully": "Muvaffaqiyatli saqlandi",
"try_again": "Iltimos, qayta urinib ko'ring",
"sign_out_modal_title": "Ishonchingiz komilmi?",
"cancel": "Bekor qilish",
"successfully_signed_out": "Tizimdan muvaffaqiyatli chiqdingiz",
"sign_out": "Chiqish",
"playing_for": "{{amount}} o'ynalgan",
"sign_out_modal_text": "Sizning kutubxonangiz joriy hisob qaydnomangizga bog'langan. Tizimdan chiqsangiz, kutubxonangiz mavjud bo'lmaydi va progress saqlanmaydi. Chiqasizmi?",
"add_friends": "Do'stlar qo'shish",
"add": "Qo'shish",
"friend_code": "Do'st kodi",
"see_profile": "Profilni ko'rish",
"sending": "Yuborilmoqda",
"friend_request_sent": "Do'stlik so'rovi yuborildi",
"friends": "Do'stlar",
"friends_list": "Do'stlar ro'yxati",
"user_not_found": "Foydalanuvchi topilmadi",
"block_user": "Foydalanuvchini bloklash",
"add_friend": "Do'st qo'shish",
"request_sent": "So'rov yuborildi",
"request_received": "So'rov qabul qilindi",
"accept_request": "So'rovni qabul qilish",
"ignore_request": "So'rovni e'tiborsiz qoldirish",
"cancel_request": "So'rovni bekor qilish",
"undo_friendship": "Do'stni o'chirish",
"request_accepted": "So'rov qabul qilindi",
"user_blocked_successfully": "Foydalanuvchi muvaffaqiyatli bloklandi",
"user_block_modal_text": "{{displayName}} bloklanadi",
"blocked_users": "Bloklangan foydalanuvchilar",
"unblock": "Blokdan chiqarish",
"no_friends_added": "Siz hali hech qanday do'st qo'shmagansiz",
"pending": "Kutilmoqda",
"no_pending_invites": "Sizda javob kutayotgan so'rovlar yo'q",
"no_blocked_users": "Siz hech kimni bloklamagansiz",
"friend_code_copied": "Do'st kodi nusxalandi",
"displayname_max_length": "Ko'rsatiladigan ism 50 ta belgidan oshmasligi kerak",
"displayname_min_length": "Ko'rsatiladigan ism kamida 3 ta belgidan iborat bo'lishi kerak",
"image_process_failure": "Rasmni qayta ishlashda xatolik yuz berdi",
"locked_profile": "Bu profil shaxsiy",
"privacy_hint": "Uni kimlar ko'rishi mumkinligini belgilash uchun <0>Sozlamalar</0>ga o'ting",
"profile_reported": "Profil haqida xabar berildi",
"report": "Xabar berish",
"report_description": "Qo'shimcha ma'lumot",
"report_description_placeholder": "Qo'shimcha ma'lumot",
"report_profile": "Bu profil haqida shikoyat qilish",
"report_reason": "Nega bu profil haqida shikoyat qilyapsiz?",
"report_reason_hate": "Nafrat qo'zg'atish",
"report_reason_other": "Boshqa",
"report_reason_sexual_content": "Jinsiy tarkib",
"report_reason_spam": "Spam",
"report_reason_violence": "Zo'ravonlik",
"required_field": "Bu maydon to'ldirilishi shart",
"undo_friendship_modal_text": "Bu {{displayName}} bilan do'stligingizni bekor qiladi",
"your_friend_code": "Sizning do'st kodingiz:",
"upload_banner": "Banner yuklash",
"uploading_banner": "Banner yuklanmoqda...",
"background_image_updated": "Fon rasmi yangilandi",
"stats": "Statistika",
"achievements": "Yutuqlar",
"games": "O'yinlar",
"top_percentile": "Yuqori {{percentile}}%",
"ranking_updated_weekly": "Reyting har hafta yangilanadi",
"playing": "{{game}}ni o'ynayapti",
"achievements_unlocked": "Yutuqlar ochildi",
"earned_points": "To'plangan ballar:",
"show_achievements_on_profile": "Yutuqlaringizni profilingizda ko'rsating",
"show_points_on_profile": "To'plangan ballarni profilingizda ko'rsating"
},
"achievement": {
"achievement_unlocked": "Yutuq ochildi",
"user_achievements": "{{displayName}}ning yutuqlari",
"your_achievements": "Sizning yutuqlaringiz",
"unlocked_at": "Ochilgan sana: {{date}}",
"subscription_needed": "Bu kontentni ko'rish uchun Hydra Cloud obunasi kerak",
"new_achievements_unlocked": "{{gameCount}} o'yindan {{achievementCount}} ta yangi yutuq ochildi",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} yutuq",
"achievements_unlocked_for_game": "{{gameTitle}} uchun {{achievementCount}} ta yangi yutuq ochildi",
"hidden_achievement_tooltip": "Bu yashirin yutuq",
"achievement_earn_points": "Bu yutuq bilan {{points}} ball to'plang",
"earned_points": "To'plangan ballar:",
"available_points": "Mavjud ballar:",
"how_to_earn_achievements_points": "Yutuq ballarini qanday to'plash mumkin?"
},
"hydra_cloud": {
"subscription_tour_title": "Hydra Cloud obunasi",
"subscribe_now": "Hoziroq obuna bo'ling",
"cloud_saving": "Bulutli saqlash",
"cloud_achievements": "Yutuqlaringizni bulutda saqlang",
"animated_profile_picture": "Animatsiyali profil rasmi",
"premium_support": "Premium qo'llab-quvvatlash",
"show_and_compare_achievements": "Yutuqlaringizni boshqa foydalanuvchilarning yutuqlari bilan solishtiring va ko'rsating",
"animated_profile_banner": "Animatsiyali profil banneri",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "Siz hozirgina Hydra Cloud funksiyasini kashf etdingiz!",
"learn_more": "Batafsil ma'lumot",
"debrid_description": "Nimbus bilan 4 barobar tezroq yuklab oling"
}
}

View File

@@ -1,10 +1,9 @@
{
"language_name": "中文",
"language_name": "简体中文",
"app": {
"successfully_signed_in": "已成功登录"
},
"home": {
"featured": "特色推荐",
"surprise_me": "向我推荐",
"no_results": "没有找到结果",
"start_typing": "键入以开始搜素...",
@@ -26,7 +25,9 @@
"game_has_no_executable": "未选择游戏的可执行文件",
"sign_in": "登入",
"friends": "好友",
"favorites": "收藏"
"favorites": "收藏",
"need_help": "需要帮助?",
"playable_button_title": "仅显示现在可以游玩的游戏"
},
"header": {
"search": "搜索游戏",
@@ -43,11 +44,21 @@
"downloading_metadata": "正在下载{{title}}的元数据…",
"downloading": "正在下载{{title}}… ({{percentage}}完成) - 剩余时间{{eta}} - 速度{{speed}}",
"calculating_eta": "正在下载 {{title}}… (已完成{{percentage}}.) - 正在计算剩余时间...",
"checking_files": "正在校验 {{title}} 的文件... ({{percentage}} 已完成)"
"checking_files": "正在校验 {{title}} 的文件... ({{percentage}} 已完成)",
"installation_complete": "安装完成",
"installation_complete_message": "通用可再发行组件安装成功",
"installing_common_redist": "{{log}}…"
},
"catalogue": {
"next_page": "下一页",
"previous_page": "上一页"
"clear_filters": "清除已选的 {{filterCount}} 项",
"developers": "开发商",
"download_sources": "下载源",
"filter_count": "{{filterCount}} 项可用",
"genres": "类型",
"publishers": "发行商",
"result_count": "{{resultCount}} 个结果",
"search": "筛选…",
"tags": "标签"
},
"game_details": {
"open_download_options": "打开下载菜单",
@@ -111,7 +122,7 @@
"options": "选项",
"executable_section_title": "可执行文件",
"executable_section_description": "点击 \"Play\" 时将执行的文件的路径",
"downloads_secion_title": "下载",
"downloads_section_title": "下载",
"downloads_section_description": "查看此游戏的更新或其他版本",
"danger_zone_section_title": "危险操作",
"danger_zone_section_description": "从您的库或Hydra下载的文件中删除此游戏",
@@ -166,7 +177,48 @@
"manage_files_description": "管理哪些文件要备份和恢复",
"select_folder": "选择文件夹",
"backup_from": "{{date}} 时备份",
"custom_backup_location_set": "自定义备份文件位置"
"custom_backup_location_set": "自定义备份文件位置",
"artifact_name_label": "备份名称",
"artifact_name_placeholder": "为备份输入名称",
"artifact_renamed": "备份重命名成功",
"automatic_backup_from": "{{date}} 的自动备份",
"automatically_extract_downloaded_files": "自动解压下载的文件",
"backup_freeze_failed": "固定备份失败",
"backup_freeze_failed_description": "您必须至少保留一个空位用于自动备份",
"backup_frozen": "备份已固定",
"backup_unfrozen": "备份已取消固定",
"clear": "清除",
"create_start_menu_shortcut": "创建开始菜单快捷方式",
"create_steam_shortcut": "创建Steam快捷方式",
"download_error_gofile_quota_exceeded": "您已超出Gofile的月度配额。请等待配额重置。",
"download_error_not_cached_on_hydra": "此下载在Nimbus上不可用。",
"download_error_not_cached_on_real_debrid": "此下载在Real-Debrid上不可用且暂不支持从Real-Debrid轮询下载状态。",
"download_error_not_cached_on_torbox": "此下载在TorBox上不可用且暂不支持从TorBox轮询下载状态。",
"download_error_real_debrid_account_not_authorized": "您的Real-Debrid账户未被授权进行新下载。请检查您的账户设置并重试。",
"enable_automatic_cloud_sync": "启用自动云同步",
"freeze_backup": "固定以免被自动备份覆盖",
"game_added_to_favorites": "游戏已添加到收藏",
"game_removed_from_favorites": "游戏已从收藏中移除",
"invalid_wine_prefix_path": "无效的Wine前置路径",
"invalid_wine_prefix_path_description": "Wine前置的路径无效。请检查路径并重试。",
"launch_options": "启动选项",
"launch_options_description": "高级用户可以选择修改启动选项(实验性功能)",
"launch_options_placeholder": "未指定参数",
"max_length_field": "此字段必须少于 {{length}} 个字符",
"missing_wine_prefix": "在Linux上创建备份需要Wine前置",
"no_directory_selected": "未选择目录",
"no_write_permission": "无法下载到此目录。点击此处了解更多。",
"rename_artifact": "重命名备份",
"rename_artifact_description": "将备份重命名为更具描述性的名称",
"required_field": "此字段为必填项",
"reset_achievements": "重置成就",
"reset_achievements_description": "这将重置 {{game}} 的所有成就",
"reset_achievements_error": "重置成就失败",
"reset_achievements_success": "成就重置成功",
"reset_achievements_title": "您确定吗?",
"save_changes": "保存更改",
"unfreeze_backup": "取消固定",
"you_might_need_to_restart_steam": "您可能需要重启Steam才能看到更改"
},
"activation": {
"title": "激活 Hydra",
@@ -199,7 +251,13 @@
"queued": "下载列表",
"no_downloads_title": "空空如也",
"no_downloads_description": "你还未使用Hydra下载任何游戏,但什么时候开始,都为时不晚。",
"checking_files": "正在校验文件…"
"checking_files": "正在校验文件…",
"extract": "解压文件",
"extracting": "正在解压文件…",
"options": "管理",
"resume_seeding": "恢复做种",
"seeding": "做种中",
"stop_seeding": "停止做种"
},
"settings": {
"downloads_path": "下载路径",
@@ -260,7 +318,83 @@
"must_be_valid_url": "来源必须是有效的 URL",
"blocked_users": "已屏蔽用户",
"user_unblocked": "用户已经被屏蔽",
"enable_achievement_notifications": "当成就解锁时"
"enable_achievement_notifications": "当成就解锁时",
"account": "账户",
"account_data_updated_successfully": "账户数据更新成功",
"achievement_custom_notification_position": "成就自定义通知位置",
"alignment": "对齐",
"appearance": "外观",
"become_subscriber": "成为Hydra Cloud用户",
"bill_sent_until": "您的下一张账单将在此日期前发送",
"bottom-center": "底部中央",
"bottom-left": "底部左侧",
"bottom-right": "底部右侧",
"cancel": "取消",
"clear_themes": "清除",
"common_redist": "通用可再发行组件",
"common_redist_description": "运行某些游戏需要通用可再发行组件。建议安装以避免问题。",
"create_real_debrid_account": "如果您还没有Real-Debrid账户请点击此处",
"create_theme": "创建",
"create_theme_modal_description": "创建新主题以自定义Hydra的外观",
"create_theme_modal_title": "创建自定义主题",
"create_torbox_account": "如果您还没有TorBox账户请点击此处",
"current_email": "当前邮箱:",
"default": "默认",
"delete_all_themes": "删除所有主题",
"delete_all_themes_description": "这将删除所有您的自定义主题",
"delete_theme": "删除主题",
"delete_theme_description": "这将删除主题 {{theme}}",
"disable_nsfw_alert": "禁用NSFW警告",
"edit_theme": "编辑主题",
"editor_tab_code": "代码",
"editor_tab_info": "信息",
"editor_tab_save": "保存",
"enable_achievement_custom_notifications": "启用成就自定义通知",
"enable_auto_install": "自动下载更新",
"enable_friend_request_notifications": "当收到好友请求时",
"enable_friend_start_game_notifications": "当好友开始游戏时",
"enable_torbox": "启用TorBox",
"error_importing_theme": "导入主题时出错",
"extract_files_by_default": "下载后默认解压文件",
"hidden": "隐藏",
"import_theme": "导入主题",
"import_theme_description": "您将从主题商店导入 {{theme}}",
"insert_theme_name": "输入主题名称",
"install_common_redist": "安装",
"installing_common_redist": "正在安装…",
"launch_minimized": "最小化启动Hydra",
"manage_subscription": "管理订阅",
"name_min_length": "主题名称必须至少3个字符长",
"no_email_account": "您尚未设置邮箱",
"no_subscription": "以最佳方式享受Hydra",
"no_themes": "看起来您还没有任何主题,但别担心,点击这里创建您的第一个杰作。",
"no_users_blocked": "您没有屏蔽任何用户",
"notification_preview": "成就通知预览",
"platinum": "白金",
"rare": "稀有",
"real_debrid_account_linked": "Real-Debrid账户已连接",
"renew_subscription": "续费Hydra Cloud",
"seed_after_download_complete": "下载完成后做种",
"set_theme": "设置主题",
"show_download_speed_in_megabytes": "以兆字节每秒显示下载速度",
"show_hidden_achievement_description": "在解锁前显示隐藏成就描述",
"subscription_active_until": "您的Hydra Cloud活跃至 {{date}}",
"subscription_expired_at": "您的订阅已于 {{date}} 到期",
"subscription_renew_cancelled": "自动续费已禁用",
"subscription_renews_on": "您的订阅将于 {{date}} 续费",
"test_notification": "测试通知",
"theme_imported": "主题导入成功",
"theme_name": "名称",
"top-center": "顶部中央",
"top-left": "顶部左侧",
"top-right": "顶部右侧",
"torbox_account_linked": "TorBox账户已连接",
"torbox_description": "TorBox是您的高级种子盒服务甚至可与市场上最好的服务器相媲美。",
"unset_theme": "取消设置主题",
"update_email": "更新邮箱",
"update_password": "更新密码",
"variation": "变体",
"web_store": "网络商店"
},
"notifications": {
"download_complete": "下载完成",
@@ -271,14 +405,23 @@
"new_update_available": "版本 {{version}} 可用",
"restart_to_install_update": "重启 Hydra 以安装更新",
"notification_achievement_unlocked_title": "{{game}} 的成绩已解锁",
"notification_achievement_unlocked_body": "{{achievement}} 和其他 {{count}} 已解锁"
"notification_achievement_unlocked_body": "{{achievement}} 和其他 {{count}} 已解锁",
"extraction_complete": "解压完成",
"friend_started_playing_game": "{{displayName}} 开始玩游戏",
"game_extracted": "{{title}} 解压成功",
"new_friend_request_description": "{{displayName}} 向您发送了好友请求",
"new_friend_request_title": "新好友请求",
"test_achievement_notification_description": "非常酷,对吧?",
"test_achievement_notification_title": "这是一个测试通知"
},
"system_tray": {
"open": "打开 Hydra",
"quit": "退出"
},
"game_card": {
"no_downloads": "无可用下载选项"
"no_downloads": "无可用下载选项",
"available_one": "可用",
"available_other": "可用"
},
"binary_not_found_modal": {
"title": "程序未安装",
@@ -351,7 +494,7 @@
"report_description": "额外信息",
"report_description_placeholder": "额外信息",
"report": "举报",
"report_reason_hate": "Hate speech",
"report_reason_hate": "仇恨言论",
"report_reason_sexual_content": "色情内容",
"report_reason_violence": "暴力",
"report_reason_spam": "骚扰",
@@ -360,7 +503,19 @@
"your_friend_code": "你的好友代码:",
"upload_banner": "上传横幅",
"uploading_banner": "上传横幅中…",
"background_image_updated": "背景图片已更新"
"background_image_updated": "背景图片已更新",
"achievements": "成就",
"achievements_unlocked": "成就已解锁",
"earned_points": "获得积分",
"error_adding_friend": "无法发送好友请求。请检查好友代码",
"friend_code_length_error": "好友代码必须为8个字符",
"games": "游戏",
"playing": "正在玩 {{game}}",
"ranking_updated_weekly": "排名每周更新",
"show_achievements_on_profile": "在您的个人资料上显示成就",
"show_points_on_profile": "在您的个人资料上显示获得的积分",
"stats": "统计",
"top_percentile": "前 {{percentile}}%"
},
"achievement": {
"achievement_unlocked": "成就已解锁",
@@ -368,7 +523,14 @@
"your_achievements": "你的成就",
"unlocked_at": "解锁于: {{date}}",
"subscription_needed": "需要订阅 Hydra Cloud 才能看到此内容",
"new_achievements_unlocked": "从 {{gameCount}} 游戏中解锁 {{achievementCount}} 新成就"
"new_achievements_unlocked": "从 {{gameCount}} 游戏中解锁 {{achievementCount}} 新成就",
"achievement_earn_points": "通过此成就获得 {{points}} 积分",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} 成就",
"achievements_unlocked_for_game": "为 {{gameTitle}} 解锁了 {{achievementCount}} 个新成就",
"available_points": "可用积分:",
"earned_points": "获得积分:",
"hidden_achievement_tooltip": "这是一个隐藏成就",
"how_to_earn_achievements_points": "如何获得成就积分?"
},
"hydra_cloud": {
"subscription_tour_title": "Hydra 云订阅",
@@ -378,6 +540,10 @@
"animated_profile_picture": "动画头像",
"premium_support": "高级技术支持",
"show_and_compare_achievements": "展示并与其他用户比较您的成就",
"animated_profile_banner": "动态个人简介横幅"
"animated_profile_banner": "动态个人简介横幅",
"debrid_description": "使用Nimbus下载速度提升4倍",
"hydra_cloud": "Hydra Cloud",
"hydra_cloud_feature_found": "您刚刚发现了一个Hydra Cloud功能",
"learn_more": "了解更多"
}
}

View File

@@ -1,34 +1,55 @@
import { app } from "electron";
import path from "node:path";
import { SystemPath } from "./services/system-path";
export const LUDUSAVI_MANIFEST_URL = "https://cdn.losbroxas.org/manifest.yaml";
export const defaultDownloadsPath = app.getPath("downloads");
export const defaultDownloadsPath = SystemPath.getPath("downloads");
export const isStaging = import.meta.env.MAIN_VITE_API_URL.includes("staging");
export const windowsStartMenuPath = path.join(
SystemPath.getPath("appData"),
"Microsoft",
"Windows",
"Start Menu",
"Programs"
);
export const publicProfilePath = "C:/Users/Public";
export const levelDatabasePath = path.join(
app.getPath("userData"),
SystemPath.getPath("userData"),
`hydra-db${isStaging ? "-staging" : ""}`
);
export const commonRedistPath = path.join(
app.getPath("userData"),
SystemPath.getPath("userData"),
"CommonRedist"
);
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 logsPath = path.join(
SystemPath.getPath("userData"),
`logs${isStaging ? "-staging" : ""}`
);
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 backupsPath = path.join(SystemPath.getPath("userData"), "Backups");
export const appVersion = app.getVersion() + (isStaging ? "-staging" : "");
export const MAIN_LOOP_INTERVAL = 1500;
export const ASSETS_PATH = path.join(SystemPath.getPath("userData"), "Assets");
export const MAIN_LOOP_INTERVAL = 2000;
export const DECKY_PLUGINS_LOCATION = path.join(
SystemPath.getPath("home"),
"homebrew",
"plugins"
);
export const HYDRA_DECKY_PLUGIN_LOCATION = path.join(
DECKY_PLUGINS_LOCATION,
"Hydra"
);

View File

@@ -1,5 +1,10 @@
import { registerEvent } from "../register-event";
import { DownloadManager, HydraApi, gamesPlaytime } from "@main/services";
import {
DownloadManager,
HydraApi,
WSClient,
gamesPlaytime,
} from "@main/services";
import { db, downloadsSublevel, gamesSublevel, levelKeys } from "@main/level";
const signOut = async (_event: Electron.IpcMainInvokeEvent) => {
@@ -30,6 +35,8 @@ const signOut = async (_event: Electron.IpcMainInvokeEvent) => {
databaseOperations,
HydraApi.post("/auth/logout").catch(() => {}),
]);
WSClient.close();
};
registerEvent("signOut", signOut);

View File

@@ -1,21 +0,0 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
import { CatalogueCategory } from "@shared";
const getCatalogue = async (
_event: Electron.IpcMainInvokeEvent,
category: CatalogueCategory
) => {
const params = new URLSearchParams({
take: "12",
skip: "0",
});
return HydraApi.get(
`/catalogue/${category}?${params.toString()}`,
{},
{ needsAuth: false }
);
};
registerEvent("getCatalogue", getCatalogue);

View File

@@ -1,10 +0,0 @@
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

@@ -0,0 +1,51 @@
import type { GameShop, ShopAssets } from "@types";
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
import { gamesShopAssetsSublevel, levelKeys } from "@main/level";
const LOCAL_CACHE_EXPIRATION = 1000 * 60 * 60 * 8; // 8 hours
export const getGameAssets = async (objectId: string, shop: GameShop) => {
const cachedAssets = await gamesShopAssetsSublevel.get(
levelKeys.game(shop, objectId)
);
if (
cachedAssets &&
cachedAssets.updatedAt + LOCAL_CACHE_EXPIRATION > Date.now()
) {
return cachedAssets;
}
return HydraApi.get<ShopAssets | null>(
`/games/${shop}/${objectId}/assets`,
null,
{
needsAuth: false,
}
).then(async (assets) => {
if (!assets) return null;
// Preserve existing title if it differs from the incoming title (indicating it was customized)
const shouldPreserveTitle =
cachedAssets?.title && cachedAssets.title !== assets.title;
await gamesShopAssetsSublevel.put(levelKeys.game(shop, objectId), {
...assets,
title: shouldPreserveTitle ? cachedAssets.title : assets.title,
updatedAt: Date.now(),
});
return assets;
});
};
const getGameAssetsEvent = async (
_event: Electron.IpcMainInvokeEvent,
objectId: string,
shop: GameShop
) => {
return getGameAssets(objectId, shop);
};
registerEvent("getGameAssets", getGameAssetsEvent);

View File

@@ -1,10 +1,13 @@
import { getSteamAppDetails, logger } from "@main/services";
import type { ShopDetails, GameShop } from "@types";
import type { ShopDetails, GameShop, ShopDetailsWithAssets } from "@types";
import { registerEvent } from "../register-event";
import { steamGamesWorker } from "@main/workers";
import { gamesShopCacheSublevel, levelKeys } from "@main/level";
import {
gamesShopAssetsSublevel,
gamesShopCacheSublevel,
levelKeys,
} from "@main/level";
const getLocalizedSteamAppDetails = async (
objectId: string,
@@ -14,22 +17,7 @@ const getLocalizedSteamAppDetails = async (
return getSteamAppDetails(objectId, language);
}
return getSteamAppDetails(objectId, language).then(
async (localizedAppDetails) => {
const steamGame = await steamGamesWorker.run(Number(objectId), {
name: "getById",
});
if (steamGame && localizedAppDetails) {
return {
...localizedAppDetails,
name: steamGame.name,
};
}
return null;
}
);
return getSteamAppDetails(objectId, language);
};
const getGameShopDetails = async (
@@ -37,34 +25,44 @@ const getGameShopDetails = async (
objectId: string,
shop: GameShop,
language: string
): Promise<ShopDetails | null> => {
): Promise<ShopDetailsWithAssets | null> => {
if (shop === "steam") {
const cachedData = await gamesShopCacheSublevel.get(
levelKeys.gameShopCacheItem(shop, objectId, language)
);
const [cachedData, cachedAssets] = await Promise.all([
gamesShopCacheSublevel.get(
levelKeys.gameShopCacheItem(shop, objectId, language)
),
gamesShopAssetsSublevel.get(levelKeys.game(shop, objectId)),
]);
const appDetails = getLocalizedSteamAppDetails(objectId, language).then(
(result) => {
if (result) {
result.name = cachedAssets?.title ?? result.name;
gamesShopCacheSublevel
.put(levelKeys.gameShopCacheItem(shop, objectId, language), result)
.catch((err) => {
logger.error("Could not cache game details", err);
});
return {
...result,
assets: cachedAssets ?? null,
};
}
return result;
return null;
}
);
if (cachedData) {
return {
...cachedData,
objectId,
} as ShopDetails;
assets: cachedAssets ?? null,
};
}
return Promise.resolve(appDetails);
return appDetails;
}
throw new Error("Not implemented");

View File

@@ -1,17 +1,36 @@
import type { GameShop, GameStats } from "@types";
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
import { gamesStatsCacheSublevel, levelKeys } from "@main/level";
const LOCAL_CACHE_EXPIRATION = 1000 * 60 * 30; // 30 minutes
const getGameStats = async (
_event: Electron.IpcMainInvokeEvent,
objectId: string,
shop: GameShop
) => {
return HydraApi.get<GameStats>(
`/games/stats`,
{ objectId, shop },
{ needsAuth: false }
const cachedStats = await gamesStatsCacheSublevel.get(
levelKeys.game(shop, objectId)
);
if (
cachedStats &&
cachedStats.updatedAt + LOCAL_CACHE_EXPIRATION > Date.now()
) {
return cachedStats;
}
return HydraApi.get<GameStats>(`/games/${shop}/${objectId}/stats`, null, {
needsAuth: false,
}).then(async (data) => {
await gamesStatsCacheSublevel.put(levelKeys.game(shop, objectId), {
...data,
updatedAt: Date.now(),
});
return data;
});
};
registerEvent("getGameStats", getGameStats);

View File

@@ -1,21 +0,0 @@
import type { GameShop, HowLongToBeatCategory } from "@types";
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
const getHowLongToBeat = async (
_event: Electron.IpcMainInvokeEvent,
objectId: string,
shop: GameShop
): Promise<HowLongToBeatCategory[] | null> => {
const params = new URLSearchParams({
objectId,
shop,
});
return HydraApi.get(`/games/how-long-to-beat?${params.toString()}`, null, {
needsAuth: false,
});
};
registerEvent("getHowLongToBeat", getHowLongToBeat);

View File

@@ -1,10 +0,0 @@
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

@@ -1,22 +0,0 @@
import { db, levelKeys } from "@main/level";
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
import type { TrendingGame } from "@types";
const getTrendingGames = async (_event: Electron.IpcMainInvokeEvent) => {
const language = await db
.get<string, string>(levelKeys.language, {
valueEncoding: "utf-8",
})
.then((language) => language || "en");
const trendingGames = await HydraApi.get<TrendingGame[]>(
"/games/trending",
{ language },
{ needsAuth: false }
).catch(() => []);
return trendingGames;
};
registerEvent("getTrendingGames", getTrendingGames);

View File

@@ -1,18 +0,0 @@
import type { CatalogueSearchPayload } from "@types";
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
const searchGames = async (
_event: Electron.IpcMainInvokeEvent,
payload: CatalogueSearchPayload,
take: number,
skip: number
) => {
return HydraApi.post(
"/catalogue/search",
{ ...payload, take, skip },
{ needsAuth: false }
);
};
registerEvent("searchGames", searchGames);

View File

@@ -1,12 +0,0 @@
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

@@ -1,74 +1,93 @@
import { HydraApi, logger, Ludusavi, WindowManager } from "@main/services";
import { CloudSync, HydraApi, logger, 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 { backupsPath, publicProfilePath } from "@main/constants";
import type { GameShop, LudusaviBackupMapping } from "@types";
import YAML from "yaml";
import { normalizePath } from "@main/helpers";
import { addTrailingSlash, normalizePath } from "@main/helpers";
import { SystemPath } from "@main/services/system-path";
import { gamesSublevel, levelKeys } from "@main/level";
export interface LudusaviBackup {
files: {
[key: string]: {
hash: string;
size: number;
};
};
}
export const transformLudusaviBackupPathIntoWindowsPath = (
backupPath: string,
winePrefixPath?: string | null
) => {
return backupPath
.replace(winePrefixPath ? addTrailingSlash(winePrefixPath) : "", "")
.replace("drive_c", "C:");
};
const replaceLudusaviBackupWithCurrentUser = (
export const addWinePrefixToWindowsPath = (
windowsPath: string,
winePrefixPath?: string | null
) => {
if (!winePrefixPath) {
return windowsPath;
}
return path.join(winePrefixPath, windowsPath.replace("C:", "drive_c"));
};
const restoreLudusaviBackup = (
backupPath: string,
title: string,
homeDir: string
homeDir: string,
winePrefixPath?: string | null,
artifactWinePrefixPath?: string | null
) => {
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[];
backups: LudusaviBackupMapping[];
drives: Record<string, string>;
};
const currentHomeDir = normalizePath(app.getPath("home"));
const userProfilePath =
CloudSync.getWindowsLikeUserProfilePath(winePrefixPath);
/* 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:", ""))
manifest.backups.forEach((backup) => {
Object.keys(backup.files).forEach((key) => {
const sourcePathWithDrives = Object.entries(manifest.drives).reduce(
(prev, [driveKey, driveValue]) => {
return prev.replace(driveValue, driveKey);
},
key
);
}
}
const backups = manifest.backups.map((backup: LudusaviBackup) => {
const files = Object.entries(backup.files).reduce((prev, [key, value]) => {
const updatedKey = key.replace(homeDir, currentHomeDir);
const sourcePath = path.join(gameBackupPath, sourcePathWithDrives);
return {
...prev,
[updatedKey]: value,
};
}, {});
logger.info(`Source path: ${sourcePath}`);
return {
...backup,
files,
};
const destinationPath = transformLudusaviBackupPathIntoWindowsPath(
key,
artifactWinePrefixPath
)
.replace(
homeDir,
addWinePrefixToWindowsPath(userProfilePath, winePrefixPath)
)
.replace(
publicProfilePath,
addWinePrefixToWindowsPath(publicProfilePath, winePrefixPath)
);
logger.info(`Moving ${sourcePath} to ${destinationPath}`);
fs.mkdirSync(path.dirname(destinationPath), { recursive: true });
if (fs.existsSync(destinationPath)) {
fs.unlinkSync(destinationPath);
}
fs.renameSync(sourcePath, destinationPath);
});
});
fs.writeFileSync(mappingYamlPath, YAML.stringify({ ...manifest, backups }));
};
const downloadGameArtifact = async (
@@ -78,13 +97,21 @@ const downloadGameArtifact = async (
gameArtifactId: string
) => {
try {
const { downloadUrl, objectKey, homeDir } = await HydraApi.post<{
const game = await gamesSublevel.get(levelKeys.game(shop, objectId));
const {
downloadUrl,
objectKey,
homeDir,
winePrefixPath: artifactWinePrefixPath,
} = await HydraApi.post<{
downloadUrl: string;
objectKey: string;
homeDir: string;
winePrefixPath: string | null;
}>(`/profile/games/artifacts/${gameArtifactId}/download`);
const zipLocation = path.join(app.getPath("userData"), objectKey);
const zipLocation = path.join(SystemPath.getPath("userData"), objectKey);
const backupPath = path.join(backupsPath, `${shop}-${objectId}`);
if (fs.existsSync(backupPath)) {
@@ -109,34 +136,34 @@ const downloadGameArtifact = async (
response.data.pipe(writer);
writer.on("error", (err) => {
logger.error("Failed to write zip", err);
logger.error("Failed to write tar file", err);
throw err;
});
fs.mkdirSync(backupPath, { recursive: true });
writer.on("close", () => {
tar
.x({
file: zipLocation,
cwd: backupPath,
})
.then(async () => {
replaceLudusaviBackupWithCurrentUser(
backupPath,
objectId,
normalizePath(homeDir)
);
writer.on("close", async () => {
await tar.x({
file: zipLocation,
cwd: backupPath,
});
Ludusavi.restoreBackup(backupPath).then(() => {
WindowManager.mainWindow?.webContents.send(
`on-backup-download-complete-${objectId}-${shop}`,
true
);
});
});
restoreLudusaviBackup(
backupPath,
objectId,
normalizePath(homeDir),
game?.winePrefixPath,
artifactWinePrefixPath
);
WindowManager.mainWindow?.webContents.send(
`on-backup-download-complete-${objectId}-${shop}`,
true
);
});
} catch (err) {
logger.error("Failed to download game artifact", err);
WindowManager.mainWindow?.webContents.send(
`on-backup-download-complete-${objectId}-${shop}`,
false

View File

@@ -1,33 +0,0 @@
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);

View File

@@ -1,8 +1,6 @@
import { CloudSync } from "@main/services";
import { registerEvent } from "../register-event";
import type { GameShop } from "@types";
import i18next, { t } from "i18next";
import { formatDate } from "date-fns";
const uploadSaveGame = async (
_event: Electron.IpcMainInvokeEvent,
@@ -10,16 +8,11 @@ const uploadSaveGame = async (
shop: GameShop,
downloadOptionTitle: string | null
) => {
const { language } = i18next;
return CloudSync.uploadSaveGame(
objectId,
shop,
downloadOptionTitle,
t("backup_from", {
ns: "game_details",
date: formatDate(new Date(), language),
})
CloudSync.getBackupLabel(false)
);
};

View File

@@ -0,0 +1,76 @@
import { registerEvent } from "../register-event";
import { downloadSourcesSublevel, repacksSublevel } from "@main/level";
import { HydraApi, logger } from "@main/services";
import { importDownloadSourceToLocal } from "./helpers";
const addDownloadSource = async (
_event: Electron.IpcMainInvokeEvent,
url: string
) => {
const result = await importDownloadSourceToLocal(url, true);
if (!result) {
throw new Error("Failed to import download source");
}
// Verify that repacks were actually written to the database (read-after-write)
// This ensures all async operations are complete before proceeding
let repackCount = 0;
for await (const [, repack] of repacksSublevel.iterator()) {
if (repack.downloadSourceId === result.id) {
repackCount++;
}
}
await HydraApi.post("/profile/download-sources", {
urls: [url],
});
const { fingerprint } = await HydraApi.put<{ fingerprint: string }>(
"/download-sources",
{
objectIds: result.objectIds,
},
{ needsAuth: false }
);
// Update the source with fingerprint
const updatedSource = await downloadSourcesSublevel.get(`${result.id}`);
if (updatedSource) {
await downloadSourcesSublevel.put(`${result.id}`, {
...updatedSource,
fingerprint,
updatedAt: new Date(),
});
}
// Final verification: ensure the source with fingerprint is persisted
const finalSource = await downloadSourcesSublevel.get(`${result.id}`);
if (!finalSource || !finalSource.fingerprint) {
throw new Error("Failed to persist download source with fingerprint");
}
// Verify repacks still exist after fingerprint update
let finalRepackCount = 0;
for await (const [, repack] of repacksSublevel.iterator()) {
if (repack.downloadSourceId === result.id) {
finalRepackCount++;
}
}
if (finalRepackCount !== repackCount) {
logger.warn(
`Repack count mismatch! Before: ${repackCount}, After: ${finalRepackCount}`
);
} else {
logger.info(
`Final verification passed: ${finalRepackCount} repacks confirmed`
);
}
return {
...result,
fingerprint,
};
};
registerEvent("addDownloadSource", addDownloadSource);

View File

@@ -0,0 +1,17 @@
import { registerEvent } from "../register-event";
import { downloadSourcesSublevel } from "@main/level";
const checkDownloadSourceExists = async (
_event: Electron.IpcMainInvokeEvent,
url: string
): Promise<boolean> => {
for await (const [, source] of downloadSourcesSublevel.iterator()) {
if (source.url === url) {
return true;
}
}
return false;
};
registerEvent("checkDownloadSourceExists", checkDownloadSourceExists);

View File

@@ -1,13 +0,0 @@
import { HydraApi } from "@main/services";
import { registerEvent } from "../register-event";
const createDownloadSources = async (
_event: Electron.IpcMainInvokeEvent,
urls: string[]
) => {
await HydraApi.post("/profile/download-sources", {
urls,
});
};
registerEvent("createDownloadSources", createDownloadSources);

View File

@@ -0,0 +1,13 @@
import { registerEvent } from "../register-event";
import { downloadSourcesSublevel, repacksSublevel } from "@main/level";
import { invalidateIdCaches } from "./helpers";
const deleteAllDownloadSources = async (
_event: Electron.IpcMainInvokeEvent
) => {
await Promise.all([repacksSublevel.clear(), downloadSourcesSublevel.clear()]);
invalidateIdCaches();
};
registerEvent("deleteAllDownloadSources", deleteAllDownloadSources);

View File

@@ -0,0 +1,28 @@
import { registerEvent } from "../register-event";
import { downloadSourcesSublevel, repacksSublevel } from "@main/level";
import { invalidateIdCaches } from "./helpers";
const deleteDownloadSource = async (
_event: Electron.IpcMainInvokeEvent,
id: number
) => {
const repacksToDelete: string[] = [];
for await (const [key, repack] of repacksSublevel.iterator()) {
if (repack.downloadSourceId === id) {
repacksToDelete.push(key);
}
}
const batch = repacksSublevel.batch();
for (const key of repacksToDelete) {
batch.del(key);
}
await batch.write();
await downloadSourcesSublevel.del(`${id}`);
invalidateIdCaches();
};
registerEvent("deleteDownloadSource", deleteDownloadSource);

View File

@@ -0,0 +1,19 @@
import { registerEvent } from "../register-event";
import { downloadSourcesSublevel, DownloadSource } from "@main/level";
const getDownloadSourcesList = async (_event: Electron.IpcMainInvokeEvent) => {
const sources: DownloadSource[] = [];
for await (const [, source] of downloadSourcesSublevel.iterator()) {
sources.push(source);
}
// Sort by createdAt descending
sources.sort(
(a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()
);
return sources;
};
registerEvent("getDownloadSourcesList", getDownloadSourcesList);

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