mirror of
https://github.com/hydralauncher/hydra.git
synced 2026-01-11 13:56:16 +00:00
Compare commits
1113 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e77991ea16 | ||
|
|
5e55c05bd7 | ||
|
|
81e74f068f | ||
|
|
d5a510175f | ||
|
|
2b2f29da61 | ||
|
|
79e2eb042a | ||
|
|
f9ad26c836 | ||
|
|
f6fbfe33e0 | ||
|
|
18d6ca630a | ||
|
|
c7afcff0b4 | ||
|
|
a3bdfe7641 | ||
|
|
e7b4f8e1c8 | ||
|
|
e526c0f650 | ||
|
|
9791c311f1 | ||
|
|
b1ea9cbfaa | ||
|
|
74d2ec8238 | ||
|
|
613898b32d | ||
|
|
2bc98317e9 | ||
|
|
2e87ae8486 | ||
|
|
df5f34119f | ||
|
|
2271368199 | ||
|
|
e139423b52 | ||
|
|
aa2ecfad96 | ||
|
|
b76441a763 | ||
|
|
2d160ba8ee | ||
|
|
5863b15b12 | ||
|
|
bc175e635f | ||
|
|
f7f89cb778 | ||
|
|
16c45692da | ||
|
|
30aa3f5470 | ||
|
|
ef16732c0a | ||
|
|
84c472a3fa | ||
|
|
2610f8b17b | ||
|
|
705b12019f | ||
|
|
39be8fdf53 | ||
|
|
cc7c3455fa | ||
|
|
d1f4bc7207 | ||
|
|
aa4ca25653 | ||
|
|
405ea0a824 | ||
|
|
43bc0cb08f | ||
|
|
3c200aa2eb | ||
|
|
cc5967814b | ||
|
|
ec16efed2f | ||
|
|
09d0e5b4ef | ||
|
|
5b18aba2b8 | ||
|
|
192008c76c | ||
|
|
1de3a9836c | ||
|
|
ee02811aea | ||
|
|
c21ebe1ce2 | ||
|
|
214e39adda | ||
|
|
8258127616 | ||
|
|
f9906bfe95 | ||
|
|
ff91284a91 | ||
|
|
b4f99418e9 | ||
|
|
3d132de860 | ||
|
|
8af91c1375 | ||
|
|
449ca2adc3 | ||
|
|
1ef7e58bb5 | ||
|
|
5757ec8b40 | ||
|
|
aa8b685108 | ||
|
|
09b0bfe832 | ||
|
|
d92a9ab410 | ||
|
|
5432ef311a | ||
|
|
9621702e19 | ||
|
|
19cb7c0627 | ||
|
|
91cfb42ff5 | ||
|
|
06d5ed4491 | ||
|
|
8799378bf2 | ||
|
|
b0876b93ed | ||
|
|
f2211ec6ce | ||
|
|
e3fa401667 | ||
|
|
939133fcc3 | ||
|
|
fcc24d6b94 | ||
|
|
00528b6ca1 | ||
|
|
806b086c7f | ||
|
|
268ac3d5a4 | ||
|
|
b122489b34 | ||
|
|
8037101a2b | ||
|
|
15e86338d9 | ||
|
|
92e43b90a2 | ||
|
|
378ad74b43 | ||
|
|
702b141f7b | ||
|
|
dbb7cac308 | ||
|
|
14b204b1c3 | ||
|
|
88a94bbb82 | ||
|
|
d15ca88714 | ||
|
|
f21c6848c6 | ||
|
|
608a53e8df | ||
|
|
f439b6809c | ||
|
|
7846ecbd4f | ||
|
|
6368bd66d3 | ||
|
|
6e543fecb4 | ||
|
|
3d5b41821c | ||
|
|
2b2b5afd79 | ||
|
|
2ea6285744 | ||
|
|
863a3b7d1f | ||
|
|
a03ac26b80 | ||
|
|
e8515e1990 | ||
|
|
797a09f583 | ||
|
|
a295003ad4 | ||
|
|
123812ad81 | ||
|
|
383578bca2 | ||
|
|
02ca506079 | ||
|
|
d9a7672113 | ||
|
|
b0bc754ffc | ||
|
|
813a46bf3e | ||
|
|
3199e56661 | ||
|
|
8f0003298f | ||
|
|
2304e19558 | ||
|
|
87cacdf16c | ||
|
|
ad3c2df024 | ||
|
|
b0164b6948 | ||
|
|
0fce444df8 | ||
|
|
5c363810c8 | ||
|
|
b8c8e534b4 | ||
|
|
2e82c29f4c | ||
|
|
262e95e4db | ||
|
|
ada7b452a0 | ||
|
|
4da116150f | ||
|
|
d2c7780b13 | ||
|
|
43ca4764bb | ||
|
|
53e5124521 | ||
|
|
83cba67c24 | ||
|
|
ba3001bc88 | ||
|
|
6caa9825bd | ||
|
|
59fd5f0347 | ||
|
|
69c39fe6c4 | ||
|
|
46ee202b7c | ||
|
|
57a43c6358 | ||
|
|
c311cc3fb6 | ||
|
|
f6f304ef6f | ||
|
|
ffdbf755f9 | ||
|
|
ae9111975b | ||
|
|
692e38cd7e | ||
|
|
5733f8ae6b | ||
|
|
4dd80bfc6b | ||
|
|
68051c76af | ||
|
|
0a3921bacf | ||
|
|
7e848a1869 | ||
|
|
5b7c9bf9c1 | ||
|
|
cc7738cf1b | ||
|
|
276a6d5c65 | ||
|
|
5b7bdbf4e7 | ||
|
|
1aa741f661 | ||
|
|
b87f1c1248 | ||
|
|
5e5585e7eb | ||
|
|
07913713fc | ||
|
|
1b9f763012 | ||
|
|
ebb17ea829 | ||
|
|
987cd2bf99 | ||
|
|
dc4aa0f608 | ||
|
|
40f4bbc124 | ||
|
|
5c5c9faf00 | ||
|
|
a05cd87542 | ||
|
|
6e60ab3c90 | ||
|
|
0617dfbb62 | ||
|
|
26f1839752 | ||
|
|
0abdeca93a | ||
|
|
8c874fc5a1 | ||
|
|
da0894e2b8 | ||
|
|
8f9eec124d | ||
|
|
44dab630f1 | ||
|
|
02907d84e1 | ||
|
|
6464cea576 | ||
|
|
74d3aa10cb | ||
|
|
6273ca1376 | ||
|
|
453378020b | ||
|
|
ff43f827b9 | ||
|
|
6b3d3c8f5b | ||
|
|
2dcfccedce | ||
|
|
88737cf80d | ||
|
|
158b878883 | ||
|
|
567d9f540d | ||
|
|
7659c9094b | ||
|
|
d4d94dfc4c | ||
|
|
40d2b36a20 | ||
|
|
70f120a62c | ||
|
|
f4cf33d369 | ||
|
|
15c21164e4 | ||
|
|
dab12cb316 | ||
|
|
d2d00516a8 | ||
|
|
f2c4598351 | ||
|
|
9e6484ad11 | ||
|
|
629f204714 | ||
|
|
7c08668a03 | ||
|
|
563e56e54d | ||
|
|
e4917c1a07 | ||
|
|
a809c84151 | ||
|
|
f4e4f7a61c | ||
|
|
5b493d8050 | ||
|
|
e6f296aba3 | ||
|
|
0b54a33084 | ||
|
|
75bc386048 | ||
|
|
7867b7c838 | ||
|
|
84c6951d30 | ||
|
|
89399a6da4 | ||
|
|
cc10186ec3 | ||
|
|
c553697df9 | ||
|
|
0bedb7c9b7 | ||
|
|
3293320926 | ||
|
|
9e02504e14 | ||
|
|
fb60c91c83 | ||
|
|
a608e11be2 | ||
|
|
c0babcfdca | ||
|
|
31adb77d9e | ||
|
|
c6e313f5ad | ||
|
|
f9979a38da | ||
|
|
5fcca9888d | ||
|
|
81aa25fa52 | ||
|
|
1542b346af | ||
|
|
52069f7036 | ||
|
|
cc9d254a32 | ||
|
|
54516c1a5a | ||
|
|
c72fa08d40 | ||
|
|
7e7c4dae1d | ||
|
|
24689cad5a | ||
|
|
aaf20b2aac | ||
|
|
ac6ff04e69 | ||
|
|
bab041b5f7 | ||
|
|
856a4c706a | ||
|
|
629b005ea4 | ||
|
|
bde396c7db | ||
|
|
5369274c6e | ||
|
|
5101684154 | ||
|
|
c1bd1d30d7 | ||
|
|
6c24a523b7 | ||
|
|
76d3fead66 | ||
|
|
73a12488cd | ||
|
|
c76ef630e1 | ||
|
|
7a9247278d | ||
|
|
42ea35441c | ||
|
|
c218070463 | ||
|
|
dd7229dc59 | ||
|
|
f7027f4319 | ||
|
|
bbe68a0aff | ||
|
|
3a3b7b908c | ||
|
|
3febe9b418 | ||
|
|
e31655a96e | ||
|
|
515a08a3a6 | ||
|
|
b1e263814c | ||
|
|
f3276dd8fe | ||
|
|
d809317d62 | ||
|
|
5cb57bd5b3 | ||
|
|
b4c260233f | ||
|
|
d098887c51 | ||
|
|
baf4eafa68 | ||
|
|
a99058805b | ||
|
|
80123d67e1 | ||
|
|
c549d53492 | ||
|
|
68b361e605 | ||
|
|
fbe3c1973a | ||
|
|
7e6b9ca825 | ||
|
|
fffea84ef7 | ||
|
|
51e86819c1 | ||
|
|
6806787ca0 | ||
|
|
1dcf746fa4 | ||
|
|
42a78802a6 | ||
|
|
e44c15e9e1 | ||
|
|
4a149aa62d | ||
|
|
f3f78248ef | ||
|
|
4b7a0ff402 | ||
|
|
4d60317475 | ||
|
|
19b1d29713 | ||
|
|
fab248de99 | ||
|
|
e1ef8a9193 | ||
|
|
070340b34f | ||
|
|
55635878a5 | ||
|
|
e851600814 | ||
|
|
c1454bfbe9 | ||
|
|
f75378a271 | ||
|
|
77280788a7 | ||
|
|
49ed55abfc | ||
|
|
78dfda0c93 | ||
|
|
a6d291a741 | ||
|
|
ba8201daba | ||
|
|
ae45547c17 | ||
|
|
d9c140b2ab | ||
|
|
f631cd3013 | ||
|
|
4dcd97bce8 | ||
|
|
c38422f635 | ||
|
|
d60242a62c | ||
|
|
b188e93343 | ||
|
|
c0198b49ef | ||
|
|
10d7e0e8aa | ||
|
|
15269f3908 | ||
|
|
00c46bc981 | ||
|
|
edf920fed3 | ||
|
|
304aa011ad | ||
|
|
102299e42f | ||
|
|
94bd691209 | ||
|
|
abdc9f6e98 | ||
|
|
a196b91cb9 | ||
|
|
010f07373d | ||
|
|
380143c780 | ||
|
|
4d001cca36 | ||
|
|
11c29355e3 | ||
|
|
e642bf71b1 | ||
|
|
6b8f2e6978 | ||
|
|
27610aa8cf | ||
|
|
91862cd2fe | ||
|
|
d350aa950d | ||
|
|
909e288bec | ||
|
|
6c5d3793ae | ||
|
|
43c5fdbab9 | ||
|
|
3952f106fc | ||
|
|
8a1931f75c | ||
|
|
2e386528a4 | ||
|
|
b6727be3cf | ||
|
|
05f9703c25 | ||
|
|
3d8c63bc40 | ||
|
|
8c0c3e617b | ||
|
|
929be48495 | ||
|
|
8c67dda84e | ||
|
|
6d277cd1d8 | ||
|
|
d4902a5ab1 | ||
|
|
004ccd0db5 | ||
|
|
e55dc20c7d | ||
|
|
7f3d7a56c3 | ||
|
|
d0406282ce | ||
|
|
c6e99f8599 | ||
|
|
5aec973882 | ||
|
|
49fd34c3c0 | ||
|
|
198a283752 | ||
|
|
46b12f2bc2 | ||
|
|
cb93fbcb72 | ||
|
|
22b66149b3 | ||
|
|
6f70b529a2 | ||
|
|
a81b016500 | ||
|
|
ef0699dbea | ||
|
|
b3f87d5662 | ||
|
|
6ff48605da | ||
|
|
0f0a1e98a3 | ||
|
|
007da03837 | ||
|
|
6cc8e8f5fe | ||
|
|
6ccbff0160 | ||
|
|
202f5b60de | ||
|
|
b9558907ec | ||
|
|
8a01352eab | ||
|
|
35879c7afe | ||
|
|
1366ca0087 | ||
|
|
e008478e53 | ||
|
|
6a195eb566 | ||
|
|
781e0f4102 | ||
|
|
b5b7fe31ae | ||
|
|
e2b089e0f8 | ||
|
|
b5af73cec4 | ||
|
|
d8e4eef107 | ||
|
|
2d09ea18a7 | ||
|
|
6c6fff71fe | ||
|
|
a9b92f3fc1 | ||
|
|
6822ed8447 | ||
|
|
5683a0ba49 | ||
|
|
18488490c1 | ||
|
|
2ee3fdc223 | ||
|
|
6fce60f9f7 | ||
|
|
c8aa9fd681 | ||
|
|
0f12dfae88 | ||
|
|
be48306ca2 | ||
|
|
ab81e21341 | ||
|
|
b7f94102da | ||
|
|
9e7b27afe6 | ||
|
|
c24523e8e6 | ||
|
|
b58330ed35 | ||
|
|
dde40f39e9 | ||
|
|
d2b3017de9 | ||
|
|
64f4dad7cc | ||
|
|
154d211b21 | ||
|
|
7905ef6c10 | ||
|
|
b09f2c055f | ||
|
|
2c5b3b4ffa | ||
|
|
fdefc0c165 | ||
|
|
47ca2535e3 | ||
|
|
f706836a43 | ||
|
|
d8158bb80e | ||
|
|
4e422bdf91 | ||
|
|
4be3db8007 | ||
|
|
29b64237ed | ||
|
|
d481164bf3 | ||
|
|
138f33e0c3 | ||
|
|
be3c78f584 | ||
|
|
be1d9825d3 | ||
|
|
981116f221 | ||
|
|
26aad178ee | ||
|
|
56c8349899 | ||
|
|
0b2c407770 | ||
|
|
d2e3d48ef8 | ||
|
|
153291f89f | ||
|
|
ae3daa4c79 | ||
|
|
1397e3932d | ||
|
|
0f5db4f34e | ||
|
|
75c8f69e81 | ||
|
|
aa253466a3 | ||
|
|
b8bd786c45 | ||
|
|
c9c585f820 | ||
|
|
9e11d6c098 | ||
|
|
2f83c2c9da | ||
|
|
dc94a886e6 | ||
|
|
7deabc4889 | ||
|
|
e57200d024 | ||
|
|
7a13739d49 | ||
|
|
f8cbbc64f0 | ||
|
|
9096eb5e0e | ||
|
|
eebb5fec61 | ||
|
|
88cfd0d095 | ||
|
|
a43768ce67 | ||
|
|
16a8c28935 | ||
|
|
1cc5a5b209 | ||
|
|
a39082d326 | ||
|
|
0c1a75eedd | ||
|
|
dd23358a95 | ||
|
|
8f00254dc2 | ||
|
|
449b34d3dd | ||
|
|
9870213fff | ||
|
|
de237b7c39 | ||
|
|
8a5d4e38b6 | ||
|
|
77152a32ab | ||
|
|
c57c8dc477 | ||
|
|
455d80da3e | ||
|
|
d61c535c6f | ||
|
|
23308a7780 | ||
|
|
05ec01178b | ||
|
|
84e279cc14 | ||
|
|
8eca067aed | ||
|
|
05e4934f9f | ||
|
|
ec0439e41b | ||
|
|
b61fd1e61a | ||
|
|
6d4f47df38 | ||
|
|
0eaf629d37 | ||
|
|
c12f16f59e | ||
|
|
ac27438a35 | ||
|
|
d3787b4525 | ||
|
|
ec8a0f75ac | ||
|
|
7e85ac5b43 | ||
|
|
a4644e7501 | ||
|
|
ed978af3ae | ||
|
|
4bd2174bf3 | ||
|
|
c27182c618 | ||
|
|
1ceabb00be | ||
|
|
2a44313d84 | ||
|
|
e0dca85825 | ||
|
|
ec8ccf7728 | ||
|
|
e88088cca4 | ||
|
|
75b69f38fc | ||
|
|
50a1ba1dea | ||
|
|
2229151795 | ||
|
|
041fce027e | ||
|
|
1d5004ecb4 | ||
|
|
363bcf16a4 | ||
|
|
b1532a52c8 | ||
|
|
a3f7d3c59e | ||
|
|
f1fecb684b | ||
|
|
9c99e56b70 | ||
|
|
7be626b3dd | ||
|
|
96e96cd8aa | ||
|
|
13644c60e8 | ||
|
|
a1e41ea464 | ||
|
|
41dc504660 | ||
|
|
a0cc15b5d8 | ||
|
|
7cd121cb80 | ||
|
|
ccaea88a88 | ||
|
|
d90888c7ba | ||
|
|
9f9ea6ee88 | ||
|
|
c26315219e | ||
|
|
c1c06c2d20 | ||
|
|
328b7cb137 | ||
|
|
82f72071f9 | ||
|
|
d9ed2403ed | ||
|
|
d447942f84 | ||
|
|
05cfdefc84 | ||
|
|
e4020d5b6a | ||
|
|
1a047547fc | ||
|
|
47ab35421c | ||
|
|
e08aa9c299 | ||
|
|
e44049ff63 | ||
|
|
7aa02f9d64 | ||
|
|
3fe6ab469b | ||
|
|
ccd1d18981 | ||
|
|
906e801036 | ||
|
|
63c13e17cb | ||
|
|
c1297530f6 | ||
|
|
ac10e755b8 | ||
|
|
1f17dda2f8 | ||
|
|
94284a427f | ||
|
|
7fe8a6425b | ||
|
|
2e1eb9e9b7 | ||
|
|
fe33045b9e | ||
|
|
2020663ee5 | ||
|
|
2b51b82d03 | ||
|
|
13b691aaad | ||
|
|
e10f9f829c | ||
|
|
936881e570 | ||
|
|
0c826cb6f7 | ||
|
|
2a27c37a25 | ||
|
|
3fd9776987 | ||
|
|
e93b0a786e | ||
|
|
7a6d8ece63 | ||
|
|
51c56f7536 | ||
|
|
87f5e7eb26 | ||
|
|
2a3fda90b3 | ||
|
|
9d11cac680 | ||
|
|
42209b51a6 | ||
|
|
170826ad5d | ||
|
|
11dffd1b7a | ||
|
|
37eddbaeeb | ||
|
|
66d03197f4 | ||
|
|
d62d73e04a | ||
|
|
c055dcfeb4 | ||
|
|
22c8fdfe66 | ||
|
|
16a4680029 | ||
|
|
2e66e88609 | ||
|
|
c8482b3852 | ||
|
|
9bef2341be | ||
|
|
f219634b78 | ||
|
|
6d3b04fc3c | ||
|
|
1b2b8c8218 | ||
|
|
be5f045a06 | ||
|
|
c31935de0b | ||
|
|
fbcacd7c39 | ||
|
|
dcdc6a7114 | ||
|
|
9da67920b6 | ||
|
|
9a1b42a29f | ||
|
|
37b9eca0e1 | ||
|
|
92a3061f8d | ||
|
|
edc90d9ebe | ||
|
|
ebda8eccc6 | ||
|
|
6e2136e155 | ||
|
|
ac9df910f8 | ||
|
|
a615ff35cb | ||
|
|
d4cb3ef857 | ||
|
|
9ef6329799 | ||
|
|
458acb0b70 | ||
|
|
cee6f373eb | ||
|
|
519022525e | ||
|
|
fb416b6483 | ||
|
|
2f4d1396a9 | ||
|
|
8afb3c27dc | ||
|
|
b115bf632a | ||
|
|
9e9fb26deb | ||
|
|
0ac17e95ff | ||
|
|
93298f0bc2 | ||
|
|
4ab54780e0 | ||
|
|
92e6dfabff | ||
|
|
5bd8e35b9e | ||
|
|
68227278f5 | ||
|
|
beba2cf3e5 | ||
|
|
7a7afef799 | ||
|
|
98bef62a2f | ||
|
|
9eff4010d7 | ||
|
|
57de748ad3 | ||
|
|
7b453852b6 | ||
|
|
48a6b6e31d | ||
|
|
abe9e3099f | ||
|
|
adcb505ab7 | ||
|
|
468af807b0 | ||
|
|
c928d6fd4b | ||
|
|
8aa02e33f5 | ||
|
|
9de7d4a61e | ||
|
|
633bb7820b | ||
|
|
67f8b609ba | ||
|
|
a02eac4ecb | ||
|
|
973db98090 | ||
|
|
4744d1ed52 | ||
|
|
48e05dcaa5 | ||
|
|
f019820458 | ||
|
|
e092d701b4 | ||
|
|
d347991e0b | ||
|
|
b3ca63c62a | ||
|
|
6b6b472315 | ||
|
|
0fe57fbc3b | ||
|
|
570259c5c7 | ||
|
|
94a25a2383 | ||
|
|
b1b48e2ec0 | ||
|
|
8a9892bdbe | ||
|
|
71d79a4a15 | ||
|
|
b60d9aa4db | ||
|
|
e4f1abaa5a | ||
|
|
c01c589f2a | ||
|
|
678f63fdef | ||
|
|
6b31586734 | ||
|
|
188fe4537a | ||
|
|
884ba47b9b | ||
|
|
33c827d6ec | ||
|
|
5944fc5c4b | ||
|
|
54c419804c | ||
|
|
571947cd23 | ||
|
|
800e99fda0 | ||
|
|
4f32043966 | ||
|
|
fc8e62cdea | ||
|
|
b337fd8d64 | ||
|
|
c6da57995d | ||
|
|
56c3607400 | ||
|
|
4a59a52174 | ||
|
|
e933cec888 | ||
|
|
e56a8209e1 | ||
|
|
0805728a79 | ||
|
|
93c6ef8510 | ||
|
|
335ae5b3dc | ||
|
|
887d97fd20 | ||
|
|
17cfc7bb02 | ||
|
|
6b03705d54 | ||
|
|
4dd0e43611 | ||
|
|
dc662b1c7d | ||
|
|
ee094dd7af | ||
|
|
61c5fc3957 | ||
|
|
1fb1c9e81a | ||
|
|
1ef8e3fce3 | ||
|
|
e42ba4d527 | ||
|
|
411a08247f | ||
|
|
191023ac38 | ||
|
|
50d9b9f022 | ||
|
|
c1d1dec49d | ||
|
|
aa33635912 | ||
|
|
3b2b78dc7c | ||
|
|
2e5a324669 | ||
|
|
dce2f1b333 | ||
|
|
2c9129c7b6 | ||
|
|
944f3891bf | ||
|
|
634fc61c09 | ||
|
|
ca81281f1f | ||
|
|
b07451e91d | ||
|
|
ab4cf23f97 | ||
|
|
6179fb9cf6 | ||
|
|
cf84bf56b3 | ||
|
|
1eef86a40c | ||
|
|
a8624058e4 | ||
|
|
eea19d43c2 | ||
|
|
9c37711bbf | ||
|
|
30fb588d3c | ||
|
|
27ef85f653 | ||
|
|
e467bbff66 | ||
|
|
59b2096d06 | ||
|
|
3b40413257 | ||
|
|
af69509c61 | ||
|
|
19c45644d6 | ||
|
|
7eb69f6e16 | ||
|
|
c01ed86071 | ||
|
|
7fc376b47f | ||
|
|
da5cc11bff | ||
|
|
79ca354da1 | ||
|
|
b3e2346808 | ||
|
|
2ae10decf7 | ||
|
|
e14e49cdcc | ||
|
|
ce13f6aa21 | ||
|
|
15176a12de | ||
|
|
16f862d389 | ||
|
|
e7ba7b87b6 | ||
|
|
524bfe91ef | ||
|
|
63e74648c4 | ||
|
|
d048d562a3 | ||
|
|
05cb66f2a4 | ||
|
|
8b8494ee64 | ||
|
|
ab5e6c1f7a | ||
|
|
54d137e3ae | ||
|
|
38e6f010d6 | ||
|
|
16c4460011 | ||
|
|
1bf2c8faf9 | ||
|
|
1f72bb6138 | ||
|
|
32566e5dfc | ||
|
|
55c214eae6 | ||
|
|
3ac06fbce5 | ||
|
|
76259c2b54 | ||
|
|
aeaeb1f086 | ||
|
|
1997dbcd5d | ||
|
|
e8a1aa0616 | ||
|
|
ca21d8afe6 | ||
|
|
fa2a92d5ed | ||
|
|
d05150a078 | ||
|
|
6b2549ed13 | ||
|
|
c8fa8f99d2 | ||
|
|
ee7b139093 | ||
|
|
3f0a1207e9 | ||
|
|
56f0439aaf | ||
|
|
83122bb864 | ||
|
|
4e73009997 | ||
|
|
b8895afc0a | ||
|
|
a974141360 | ||
|
|
8fad9b05e6 | ||
|
|
1797abb2da | ||
|
|
9e5118d1dc | ||
|
|
7bbaae91c9 | ||
|
|
ba08e0b112 | ||
|
|
f21a8bf784 | ||
|
|
81f2e509c5 | ||
|
|
d31d056e5e | ||
|
|
aa21f7815d | ||
|
|
e5a261e75f | ||
|
|
a8f9478815 | ||
|
|
50665b4472 | ||
|
|
42eff5e906 | ||
|
|
0b8cc4e335 | ||
|
|
55d1bfb34d | ||
|
|
713a3f4c50 | ||
|
|
95ce191533 | ||
|
|
33e9caf614 | ||
|
|
5cd497d0c9 | ||
|
|
9840418257 | ||
|
|
c68cb3211d | ||
|
|
4d37dddcab | ||
|
|
d29f266ca1 | ||
|
|
abd33d737d | ||
|
|
bc82cf2539 | ||
|
|
8c1851bb4c | ||
|
|
bcef86fd94 | ||
|
|
d2aef7ca98 | ||
|
|
4b97639972 | ||
|
|
bf33fa7ed9 | ||
|
|
53f4394a49 | ||
|
|
2af875fc51 | ||
|
|
9e2e317938 | ||
|
|
ac5ad7e962 | ||
|
|
4a194b3be5 | ||
|
|
d700e2706c | ||
|
|
80a25bf409 | ||
|
|
ca73316ee9 | ||
|
|
cc9a38acf8 | ||
|
|
dc8276bb34 | ||
|
|
e3d0ef598b | ||
|
|
c7d72b0adc | ||
|
|
2e427b33e2 | ||
|
|
f1b30eb969 | ||
|
|
d8446263eb | ||
|
|
9eef445b1a | ||
|
|
163b17324e | ||
|
|
97abef740c | ||
|
|
6946fd3bd0 | ||
|
|
8669c1d660 | ||
|
|
ceb8f164b7 | ||
|
|
08eda5573d | ||
|
|
cead92d900 | ||
|
|
3a86e3569a | ||
|
|
c6105bcdfd | ||
|
|
81a3ede4bd | ||
|
|
b51b185323 | ||
|
|
f5055c42aa | ||
|
|
7013f7c65d | ||
|
|
b7a61f4567 | ||
|
|
0faca5c9a1 | ||
|
|
06d2733fc5 | ||
|
|
4f4ada8d54 | ||
|
|
58dff75f64 | ||
|
|
1494d64da4 | ||
|
|
95a7922806 | ||
|
|
de178d672e | ||
|
|
e8b28ccf90 | ||
|
|
45d8923561 | ||
|
|
086ee8ac04 | ||
|
|
6dfd7279dc | ||
|
|
4a4a800b07 | ||
|
|
366cb1ac2f | ||
|
|
87eaf021b4 | ||
|
|
6b8ab895e3 | ||
|
|
d123f63095 | ||
|
|
9eb90bac62 | ||
|
|
ef036d6f57 | ||
|
|
5b85a9f2b7 | ||
|
|
038cc377ec | ||
|
|
13a4708a02 | ||
|
|
42864a4bea | ||
|
|
581f7983aa | ||
|
|
48b6d1c941 | ||
|
|
2c26fed478 | ||
|
|
7ac7d92a28 | ||
|
|
3f50738e37 | ||
|
|
d6e57c20c7 | ||
|
|
1290d25ae5 | ||
|
|
c7ae4db79d | ||
|
|
4f34743f94 | ||
|
|
76fc992d65 | ||
|
|
588cb983c2 | ||
|
|
73b4b2c13c | ||
|
|
d70b46d475 | ||
|
|
0b68ddda78 | ||
|
|
34e6947a6a | ||
|
|
ea923d5082 | ||
|
|
4559e23610 | ||
|
|
5afe78467e | ||
|
|
0ea2cd39db | ||
|
|
7ec082be23 | ||
|
|
3da751a67b | ||
|
|
b32f1f9210 | ||
|
|
6eed76268b | ||
|
|
c6242fa3e1 | ||
|
|
467ea29ec2 | ||
|
|
4b1248b865 | ||
|
|
577c2da6e5 | ||
|
|
8fccbb6d81 | ||
|
|
3aa20aa7d9 | ||
|
|
0722868c35 | ||
|
|
1dd13303d5 | ||
|
|
485ee11449 | ||
|
|
5a85033486 | ||
|
|
eb3eb88f23 | ||
|
|
3a16eb2913 | ||
|
|
59066117c9 | ||
|
|
28de50b244 | ||
|
|
48e07370e4 | ||
|
|
299cf801ea | ||
|
|
a9e2996e90 | ||
|
|
334d487be6 | ||
|
|
8a1c3ac642 | ||
|
|
062bc6cf19 | ||
|
|
d505ccb4c5 | ||
|
|
8bdd70e7d3 | ||
|
|
7ebd91a652 | ||
|
|
b742a464c9 | ||
|
|
5f08fd0f5e | ||
|
|
fc9990bb72 | ||
|
|
4ea04b3dbc | ||
|
|
e45991cb7c | ||
|
|
078d18c75e | ||
|
|
5528330265 | ||
|
|
89464f4d3e | ||
|
|
a29562641c | ||
|
|
227eb6ff2d | ||
|
|
2038bd1fbe | ||
|
|
4ba82d3e82 | ||
|
|
95a0d55426 | ||
|
|
45f30a9208 | ||
|
|
81f453d60f | ||
|
|
f88cd61a23 | ||
|
|
0cdb25e705 | ||
|
|
2138aa9711 | ||
|
|
fdd7f753b3 | ||
|
|
a354d76652 | ||
|
|
521921d90e | ||
|
|
e93f02ca76 | ||
|
|
e83e7dc680 | ||
|
|
a9edb5a9cf | ||
|
|
257d331343 | ||
|
|
6b4e0108f1 | ||
|
|
290f305ee0 | ||
|
|
61580d5765 | ||
|
|
5f292bc53a | ||
|
|
2a02936648 | ||
|
|
eaa5b46b1f | ||
|
|
8705efc9b6 | ||
|
|
1bfb90f1a0 | ||
|
|
2de142dd73 | ||
|
|
2e41d16afe | ||
|
|
b66f58d120 | ||
|
|
42d36a01ea | ||
|
|
bbd11bb0b7 | ||
|
|
d62039fba1 | ||
|
|
5e019c41f4 | ||
|
|
8543aecda8 | ||
|
|
9308982eaa | ||
|
|
3690154cb6 | ||
|
|
37b5cb6b60 | ||
|
|
08bdad8bfd | ||
|
|
ddd9ea69df | ||
|
|
244db861a4 | ||
|
|
94a517bdfb | ||
|
|
9980e2f737 | ||
|
|
c9cb279213 | ||
|
|
e6829ca39b | ||
|
|
1171e95b87 | ||
|
|
84c746ef35 | ||
|
|
50c3503e37 | ||
|
|
a34a774fb7 | ||
|
|
4d61b8586d | ||
|
|
077f78c252 | ||
|
|
0a7ebc5c78 | ||
|
|
0751d6093f | ||
|
|
34a44e7fa9 | ||
|
|
d353002eab | ||
|
|
ffb3d79954 | ||
|
|
85516c1744 | ||
|
|
08a336b392 | ||
|
|
183b85d66a | ||
|
|
3dcd60d675 | ||
|
|
8b580ab789 | ||
|
|
ab14eb4bea | ||
|
|
aaedfb13f2 | ||
|
|
f14b4d25aa | ||
|
|
15d95a1ff2 | ||
|
|
7300d6383a | ||
|
|
a71958b550 | ||
|
|
0c97deaa48 | ||
|
|
7c1d9565ba | ||
|
|
d6ea0d817e | ||
|
|
2db32f270c | ||
|
|
f9996d0646 | ||
|
|
05bef7f80c | ||
|
|
85cb2a4cc8 | ||
|
|
f252abc7a7 | ||
|
|
bd9b4d3385 | ||
|
|
1299eecc12 | ||
|
|
cdd18a8ce2 | ||
|
|
179db348e1 | ||
|
|
016f47d17f | ||
|
|
dda8791f6d | ||
|
|
21305d3e39 | ||
|
|
965046db27 | ||
|
|
35e3339519 | ||
|
|
cbb48fbea6 | ||
|
|
c648ce3d59 | ||
|
|
b105dbfb77 | ||
|
|
8f6175b319 | ||
|
|
ff948016ea | ||
|
|
008f91f05a | ||
|
|
41d8f06112 | ||
|
|
67c39af6db | ||
|
|
b6e2b8e00c | ||
|
|
9aa106a63f | ||
|
|
2cf20332f4 | ||
|
|
0809104052 | ||
|
|
1e84a1558f | ||
|
|
5d9d4e5985 | ||
|
|
cd6a21d4f3 | ||
|
|
f859d51717 | ||
|
|
de2f61b592 | ||
|
|
06686c8a9b | ||
|
|
b16acd181d | ||
|
|
bbb4b8d16b | ||
|
|
1a2b415a27 | ||
|
|
7469c005d4 | ||
|
|
f68ce9248f | ||
|
|
5dfdbbe3e2 | ||
|
|
e9561080f3 | ||
|
|
4d72392f1d | ||
|
|
ee17b5106c | ||
|
|
e5cffbe598 | ||
|
|
43197ee153 | ||
|
|
d0b5fe54eb | ||
|
|
797a2ed456 | ||
|
|
86816dc3c3 | ||
|
|
d431c01d1b | ||
|
|
83c32de0c2 | ||
|
|
00ba2e01d1 | ||
|
|
274377f119 | ||
|
|
9af2e69b58 | ||
|
|
38255eb41d | ||
|
|
cf5710e461 | ||
|
|
5f8a5a857e | ||
|
|
36f1fc1242 | ||
|
|
b5f2650704 | ||
|
|
8572b02315 | ||
|
|
3b35d3fc52 | ||
|
|
0d43dcec8e | ||
|
|
952b10fb06 | ||
|
|
8f63bc5f15 | ||
|
|
676da22690 | ||
|
|
d8e8dceadf | ||
|
|
48cebe729e | ||
|
|
19e26cba28 | ||
|
|
cdb876fa72 | ||
|
|
a921887271 | ||
|
|
2099d72840 | ||
|
|
8924f25d7c | ||
|
|
7c9e15e75c | ||
|
|
5031ee47ca | ||
|
|
a240c3ae24 | ||
|
|
a21a381e2a | ||
|
|
0162ebd133 | ||
|
|
bffe74f0c7 | ||
|
|
bf97d744e2 | ||
|
|
d4bebd18e8 | ||
|
|
b3480eb70b | ||
|
|
e3da07141c | ||
|
|
7280429162 | ||
|
|
0b0d2d6b10 | ||
|
|
551b0b3c91 | ||
|
|
d20d3d0b77 | ||
|
|
a5dc101e6b | ||
|
|
8957b1b1dd | ||
|
|
42626efd05 | ||
|
|
69828e6926 | ||
|
|
9c28a6e9d0 | ||
|
|
a817a26be1 | ||
|
|
0b33cb339c | ||
|
|
41908433c5 | ||
|
|
fab15ccded | ||
|
|
5667c813d9 | ||
|
|
39ceb38ecd | ||
|
|
06f58291f7 | ||
|
|
07cfbab77f | ||
|
|
3670c4f0ff | ||
|
|
485d396b91 | ||
|
|
5aa6c72594 | ||
|
|
6fdb591784 | ||
|
|
ae6edaa058 | ||
|
|
3062b88f4a | ||
|
|
f90dd82cbd | ||
|
|
a8f072dd1b | ||
|
|
05a1cf9343 | ||
|
|
da607fe741 | ||
|
|
399d47ca9d | ||
|
|
317fe48927 | ||
|
|
4941709296 | ||
|
|
20bf7009e5 | ||
|
|
a01a105afa | ||
|
|
33c6203f29 | ||
|
|
b9f5baef34 | ||
|
|
811878e364 | ||
|
|
3b17953a82 | ||
|
|
484e79dba3 | ||
|
|
7eee942dcb | ||
|
|
a89e6760da | ||
|
|
e2257d7ca5 | ||
|
|
be13ecc5aa | ||
|
|
5b864367e8 | ||
|
|
0ccaed8d55 | ||
|
|
0491124a7d | ||
|
|
ac4956c25b | ||
|
|
c7920fe9f7 | ||
|
|
f31ae47ab2 | ||
|
|
3f305eaca0 | ||
|
|
9290d94e2a | ||
|
|
756cf19c23 | ||
|
|
7a13ecd2b7 | ||
|
|
19f022e0f6 | ||
|
|
026729e8c9 | ||
|
|
7f918aaaca | ||
|
|
d98a01df2f | ||
|
|
2cb76a9ad4 | ||
|
|
250c6901b7 | ||
|
|
e5fec91062 | ||
|
|
6fd38df79e | ||
|
|
d924c64710 | ||
|
|
6ae5f92ba9 | ||
|
|
4e1927a7eb | ||
|
|
1d4547c2c8 | ||
|
|
10943408e9 | ||
|
|
cdad2f5554 | ||
|
|
b0bf42f754 | ||
|
|
7e321ea9d1 | ||
|
|
01c3ddf167 | ||
|
|
f8770a03f7 | ||
|
|
3b7725d774 | ||
|
|
2679b143ed | ||
|
|
2b0f57f967 | ||
|
|
622107a6f1 | ||
|
|
5908544602 | ||
|
|
b330c94dca | ||
|
|
4b0f998830 | ||
|
|
d3d9315102 | ||
|
|
689fe5715e | ||
|
|
6a52c26874 | ||
|
|
60907cdc4b | ||
|
|
1b00e2ed57 | ||
|
|
6479049256 | ||
|
|
e739f3a483 | ||
|
|
d8937b3672 | ||
|
|
18f27e76d7 | ||
|
|
47018ace60 | ||
|
|
a8332c858e | ||
|
|
d93e580d0f | ||
|
|
0e7e62d596 | ||
|
|
1d05551f4e | ||
|
|
4908d07ef2 | ||
|
|
be4d13533c | ||
|
|
7231848bd8 | ||
|
|
fb5ed9aae3 | ||
|
|
e908cc6273 | ||
|
|
5e670aab24 | ||
|
|
75a9d56624 | ||
|
|
28bd70e745 | ||
|
|
38d652c507 | ||
|
|
539f444ab5 | ||
|
|
3cbbb71768 | ||
|
|
2034e0a157 | ||
|
|
653afa7210 | ||
|
|
72aa822655 | ||
|
|
4e8f260b33 | ||
|
|
7a2b693397 | ||
|
|
04a5dbb71d | ||
|
|
20dab9c4c1 | ||
|
|
7bdf7f8c2d | ||
|
|
8f3306fd87 | ||
|
|
95e802372f | ||
|
|
9c261551c3 | ||
|
|
4e9e9deec1 | ||
|
|
1c56227fa3 | ||
|
|
81ea790d73 | ||
|
|
3560295416 | ||
|
|
0d089bb5c4 | ||
|
|
d99bb7e46b | ||
|
|
ec77de5e1d | ||
|
|
82edc6d438 | ||
|
|
26db88966f | ||
|
|
f2af65d4cd | ||
|
|
e6b62399f7 | ||
|
|
713392ee29 | ||
|
|
c7da83cae1 | ||
|
|
f9343ca0c2 | ||
|
|
6053b7cd67 | ||
|
|
0333282915 | ||
|
|
23ab98294a | ||
|
|
27bff9d2e6 | ||
|
|
6b9f902b2c | ||
|
|
a65ec67820 | ||
|
|
4616f69a29 | ||
|
|
02417dda40 | ||
|
|
5f468d5b2e | ||
|
|
0aa36c5a57 | ||
|
|
2f0cd24fb8 | ||
|
|
dce700b189 | ||
|
|
e55d41889d | ||
|
|
ac18b5388a | ||
|
|
de4307e2a5 | ||
|
|
8f6922fc8a | ||
|
|
ff6a204686 | ||
|
|
92f35bad9f | ||
|
|
b84df28f39 | ||
|
|
09bd7dcc36 | ||
|
|
06ed5e07bf | ||
|
|
ada218cea1 | ||
|
|
2662ba3875 | ||
|
|
58693fdb00 | ||
|
|
1872ff1d24 | ||
|
|
08c4906465 | ||
|
|
a0344ea491 | ||
|
|
02c4f0a0e6 |
@@ -1,4 +1,5 @@
|
||||
MAIN_VITE_API_URL=API_URL
|
||||
MAIN_VITE_AUTH_URL=AUTH_URL
|
||||
MAIN_VITE_STEAMGRIDDB_API_KEY=YOUR_API_KEY
|
||||
MAIN_VITE_ONLINEFIX_USERNAME=YOUR_USERNAME
|
||||
MAIN_VITE_ONLINEFIX_PASSWORD=YOUR_PASSWORD
|
||||
|
||||
MAIN_VITE_SENTRY_DSN=YOUR_SENTRY_DSN
|
||||
SENTRY_AUTH_TOKEN=
|
||||
|
||||
@@ -2,3 +2,4 @@ node_modules
|
||||
dist
|
||||
out
|
||||
.gitignore
|
||||
migration.stub
|
||||
|
||||
33
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
33
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -1,6 +1,6 @@
|
||||
name: Bug Report
|
||||
description: Create a report to help us improve. Write in English, please.
|
||||
title: "[BUG] "
|
||||
title: "[BUG] Write a title for your bug"
|
||||
labels: ["bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
@@ -26,15 +26,18 @@ body:
|
||||
attributes:
|
||||
label: Expected behavior
|
||||
description: A clear and concise description of what you expected to happen.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: screenshots
|
||||
attributes:
|
||||
label: Screenshots
|
||||
description: If applicable, add screenshots to help explain your problem.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: additional-info
|
||||
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/"
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: OS
|
||||
attributes:
|
||||
@@ -49,10 +52,12 @@ body:
|
||||
description: Please provide the version of Hydra you are using.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional-info
|
||||
- type: checkboxes
|
||||
id: terms
|
||||
attributes:
|
||||
label: Additional Information
|
||||
description: Please provide any additional information and context about your problem.
|
||||
validations:
|
||||
required: false
|
||||
label: Before opening this Issue
|
||||
options:
|
||||
- label: I have searched the issues of this repository and believe that this is not a duplicate.
|
||||
required: true
|
||||
- label: I am aware that Hydra team does not offer any support or help regarding the downloaded games.
|
||||
required: true
|
||||
|
||||
45
.github/workflows/build.yml
vendored
45
.github/workflows/build.yml
vendored
@@ -1,8 +1,6 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: main
|
||||
on: pull_request
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -37,20 +35,25 @@ jobs:
|
||||
|
||||
- name: Build Linux
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: yarn build:linux
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libarchive-tools
|
||||
yarn build:linux
|
||||
env:
|
||||
MAIN_VITE_STEAMGRIDDB_API_KEY: ${{ secrets.STEAMGRIDDB_API_KEY }}
|
||||
MAIN_VITE_ONLINEFIX_USERNAME: ${{ secrets.ONLINEFIX_USERNAME }}
|
||||
MAIN_VITE_ONLINEFIX_PASSWORD: ${{ secrets.ONLINEFIX_PASSWORD }}
|
||||
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }}
|
||||
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_AUTH_URL }}
|
||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build Windows
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: yarn build:win
|
||||
env:
|
||||
MAIN_VITE_STEAMGRIDDB_API_KEY: ${{ secrets.STEAMGRIDDB_API_KEY }}
|
||||
MAIN_VITE_ONLINEFIX_USERNAME: ${{ secrets.ONLINEFIX_USERNAME }}
|
||||
MAIN_VITE_ONLINEFIX_PASSWORD: ${{ secrets.ONLINEFIX_PASSWORD }}
|
||||
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }}
|
||||
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_AUTH_URL }}
|
||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Create artifact
|
||||
@@ -58,7 +61,8 @@ jobs:
|
||||
with:
|
||||
name: Build-${{ matrix.os }}
|
||||
path: |
|
||||
dist/*.exe
|
||||
dist/win-unpacked/**
|
||||
dist/*-portable.exe
|
||||
dist/*.zip
|
||||
dist/*.dmg
|
||||
dist/*.deb
|
||||
@@ -66,21 +70,4 @@ jobs:
|
||||
dist/*.tar.gz
|
||||
dist/*.yml
|
||||
dist/*.blockmap
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
draft: true
|
||||
files: |
|
||||
dist/*.exe
|
||||
dist/*.zip
|
||||
dist/*.dmg
|
||||
dist/*.AppImage
|
||||
dist/*.snap
|
||||
dist/*.deb
|
||||
dist/*.rpm
|
||||
dist/*.tar.gz
|
||||
dist/*.yml
|
||||
dist/*.blockmap
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
dist/*.pacman
|
||||
|
||||
2
.github/workflows/lint.yml
vendored
2
.github/workflows/lint.yml
vendored
@@ -1,6 +1,6 @@
|
||||
name: Lint
|
||||
|
||||
on: [pull_request]
|
||||
on: pull_request
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
|
||||
78
.github/workflows/release.yml
vendored
Normal file
78
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: main
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [windows-latest, ubuntu-latest]
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- name: Check out Git repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20.11.1
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn
|
||||
|
||||
- name: Install Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3.9
|
||||
|
||||
- name: Install dependencies
|
||||
run: pip install -r requirements.txt
|
||||
|
||||
- name: Build with cx_Freeze
|
||||
run: python torrent-client/setup.py build
|
||||
|
||||
- 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 }}
|
||||
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_AUTH_URL }}
|
||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build Windows
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: yarn build:win
|
||||
env:
|
||||
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }}
|
||||
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_AUTH_URL }}
|
||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
draft: true
|
||||
files: |
|
||||
dist/*.exe
|
||||
dist/*.zip
|
||||
dist/*.dmg
|
||||
dist/*.AppImage
|
||||
dist/*.snap
|
||||
dist/*.deb
|
||||
dist/*.rpm
|
||||
dist/*.tar.gz
|
||||
dist/*.yml
|
||||
dist/*.blockmap
|
||||
dist/*.pacman
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,6 +1,6 @@
|
||||
.vscode
|
||||
node_modules
|
||||
hydra-download-manager
|
||||
hydra-download-manager/
|
||||
fastlist.exe
|
||||
__pycache__
|
||||
dist
|
||||
@@ -9,4 +9,4 @@ out
|
||||
*.log*
|
||||
.env
|
||||
.vite
|
||||
|
||||
sentry.properties
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
yarn lint
|
||||
yarn typecheck
|
||||
yarn format
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
yarn format
|
||||
yarn lint
|
||||
yarn typecheck
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
out
|
||||
dist
|
||||
seeds
|
||||
pnpm-lock.yaml
|
||||
LICENSE.md
|
||||
tsconfig.json
|
||||
|
||||
16
README.be.md
16
README.be.md
@@ -5,7 +5,7 @@
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra - гэта гульнявы лаўнчар з уласным убудаваным кліентам BitTorrent і самастойным scraper`ам для рэпакаў.</strong>
|
||||
</p>
|
||||
@@ -18,6 +18,12 @@
|
||||
[](README.ru.md)
|
||||
[](README.uk-UA.md)
|
||||
[](README.be.md)
|
||||
[](README.es.md)
|
||||
[](README.fr.md)
|
||||
[](README.de.md)
|
||||
[](README.it.md)
|
||||
[](README.cs.md)
|
||||
[](README.nb.md)
|
||||
|
||||

|
||||
|
||||
@@ -25,11 +31,12 @@
|
||||
|
||||
## Змест
|
||||
|
||||
- [Змест](#змест)
|
||||
- [Апісанне](#апісанне)
|
||||
- [Асаблівасці](#асаблівасці)
|
||||
- [Усталёўка](#усталёўка)
|
||||
- [Уклад](#contributing)
|
||||
- [Далучайцеся да нашага Telegram](#join-our-telegram)
|
||||
- [Уклад](#-уклад)
|
||||
- [Далучайцеся да нашага Telegram](#-далучайцеся-да-нашага-telegram)
|
||||
- [Форк і кланаванне рэпазітара](#форк-і-кланаванне-рэпазітара)
|
||||
- [Спосабы ўнесці свой уклад](#спосабы-ўнесці-свой-уклад)
|
||||
- [Структура праекту](#структура-праекту)
|
||||
@@ -45,6 +52,7 @@
|
||||
- [Зборка кліента BitTorrent](#зборка-кліента-bittorrent)
|
||||
- [Зборка прыкладання Electron](#зборка-прыкладання-electron)
|
||||
- [Удзельнікі](#удзельнікі)
|
||||
- [Ліцэнзія](#ліцэнзія)
|
||||
|
||||
## Апісанне
|
||||
|
||||
@@ -119,7 +127,7 @@ yarn
|
||||
|
||||
### Усталёўка Python 3.9
|
||||
|
||||
Упэўніцеся, што ў вас усталяваны Python 3.9 на вашым кампутары. Вы можаце загрузіць і ўсталяваць яго з [python.org](https://www.python.org/downloads/release/python-3919/).
|
||||
Упэўніцеся, што ў вас усталяваны Python 3.9 на вашым кампутары. Вы можаце загрузіць і ўсталяваць яго з [python.org](https://www.python.org/downloads/release/python-3913/).
|
||||
|
||||
### Усталёўка залежнасцяў Python
|
||||
|
||||
|
||||
186
README.cs.md
Normal file
186
README.cs.md
Normal file
@@ -0,0 +1,186 @@
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra je herní launcher s vlastním vestavěným Bittorrent klientem.</strong>
|
||||
</p>
|
||||
|
||||
[](https://github.com/hydralauncher/hydra/actions)
|
||||
[](https://github.com/hydralauncher/hydra/releases)
|
||||
|
||||
[](README.pt-BR.md)
|
||||
[](README.md)
|
||||
[](README.ru.md)
|
||||
[](README.uk-UA.md)
|
||||
[](README.be.md)
|
||||
[](README.es.md)
|
||||
[](README.fr.md)
|
||||
[](README.de.md)
|
||||
[](README.it.md)
|
||||
[](README.cs.md)
|
||||
[](README.nb.md)
|
||||
|
||||

|
||||
|
||||
</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).
|
||||
184
README.de.md
Normal file
184
README.de.md
Normal file
@@ -0,0 +1,184 @@
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<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>
|
||||
|
||||
[](https://github.com/hydralauncher/hydra/actions)
|
||||
[](https://github.com/hydralauncher/hydra/releases)
|
||||
|
||||
[](README.md)
|
||||
[](README.be.md)
|
||||
[](README.pl.md)
|
||||
[](README.pt-BR.md)
|
||||
[](README.ru.md)
|
||||
[](README.uk-UA.md)
|
||||
[](README.es.md)
|
||||
[](README.fr.md)
|
||||
[](README.de.md)
|
||||
[](README.cs.md)
|
||||
[](README.nb.md)
|
||||
|
||||

|
||||
|
||||
</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.
|
||||
189
README.es.md
Normal file
189
README.es.md
Normal file
@@ -0,0 +1,189 @@
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra es un launcher de juegos con su propio cliente de bittorrent y gestor propio de repacks.</strong>
|
||||
</p>
|
||||
|
||||
[](https://github.com/hydralauncher/hydra/actions)
|
||||
[](https://github.com/hydralauncher/hydra/releases)
|
||||
|
||||
[](README.pt-BR.md)
|
||||
[](README.md)
|
||||
[](README.ru.md)
|
||||
[](README.uk-UA.md)
|
||||
[](README.be.md)
|
||||
[](README.es.md)
|
||||
[](README.fr.md)
|
||||
[](README.de.md)
|
||||
[](README.it.md)
|
||||
[](README.cs.md)
|
||||
[](README.nb.md)
|
||||
|
||||

|
||||
|
||||
</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** y **autogestor de Repacks**.
|
||||
<br>
|
||||
El launcher está escrito en TypeScript (Electron) y Python, el cuál se encarga del sistema de torrent usando libtorrent.
|
||||
|
||||
## Caracteristicas
|
||||
|
||||
- Buscador e instalador autogestionado de repacks a través de las páginas más confiables en él [Megahilo](https://www.reddit.com/r/Piracy/wiki/megathread/)
|
||||
- Cliente propio de bittorrent integrado
|
||||
- Integración de How Long To Beat (HLTB) en la página del juego
|
||||
- Customización de rutas de descargas
|
||||
- Notificaciones en actualizaciones a listas de repacks
|
||||
- Soporte a Windows y Linux
|
||||
- En constante actualización
|
||||
- Y mucho más ...
|
||||
|
||||
## 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.
|
||||
Si quieres también tener los repacks de onlinefix, necesitarás añadir tus credenciales al .env
|
||||
|
||||
Una vez que los tengas, puedes copiar o renombrar el archivo `.env.example` cómo `.env` y colocarlo en `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
|
||||
|
||||
## 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).
|
||||
189
README.fr.md
Normal file
189
README.fr.md
Normal file
@@ -0,0 +1,189 @@
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra est un lanceur de jeux avec son propre client bittorrent intégré et un scraper de repack auto-géré.</strong>
|
||||
</p>
|
||||
|
||||
[](https://github.com/hydralauncher/hydra/actions)
|
||||
[](https://github.com/hydralauncher/hydra/releases)
|
||||
|
||||
[](README.pt-BR.md)
|
||||
[](README.md)
|
||||
[](README.ru.md)
|
||||
[](README.uk-UA.md)
|
||||
[](README.be.md)
|
||||
[](README.es.md)
|
||||
[](README.fr.md)
|
||||
[](README.de.md)
|
||||
[](README.it.md)
|
||||
[](README.cs.md)
|
||||
[](README.nb.md)
|
||||
|
||||

|
||||
|
||||
</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é et un **scraper de repack auto-géré**.
|
||||
<br>
|
||||
Le lanceur est écrit en TypeScript (Electron) et Python, qui gère le système de torrent en utilisant libtorrent.
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
- Scraper de repack auto-géré parmi tous les sites les plus fiables sur le [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/")
|
||||
- Client bittorrent intégré
|
||||
- Intégration How Long To Beat (HLTB) sur la page du jeu
|
||||
- Personnalisation des chemins de téléchargement
|
||||
- Notifications de mise à jour de la liste de repack
|
||||
- Support pour Windows et Linux
|
||||
- Constamment mis à jour
|
||||
- Et plus encore ...
|
||||
|
||||
## 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.
|
||||
Si vous voulez avoir onlinefix comme repacker, vous devrez ajouter vos identifiants au fichier .env.
|
||||
|
||||
Une fois que vous l'avez, vous pouvez copier ou renommer le fichier `.env.example` en `.env` et y mettre `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
|
||||
|
||||
## 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).
|
||||
189
README.it.md
Normal file
189
README.it.md
Normal file
@@ -0,0 +1,189 @@
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra è un game launcher con il proprio client bittorrent e autogestore di repacks.</strong>
|
||||
</p>
|
||||
|
||||
[](https://github.com/hydralauncher/hydra/actions)
|
||||
[](https://github.com/hydralauncher/hydra/releases)
|
||||
|
||||
[](README.pt-BR.md)
|
||||
[](README.md)
|
||||
[](README.ru.md)
|
||||
[](README.uk-UA.md)
|
||||
[](README.be.md)
|
||||
[](README.es.md)
|
||||
[](README.fr.md)
|
||||
[](README.de.md)
|
||||
[](README.it.md)
|
||||
[](README.cs.md)
|
||||
[](README.nb.md)
|
||||
|
||||

|
||||
|
||||
</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** e **autogestore di repack**.
|
||||
<br>
|
||||
Il launcher è scritto in TypeScript (Electron) and Python, che gestisce il sistema di torrenting appoggiandosi a libtorrent.
|
||||
|
||||
## Caratteristiche
|
||||
|
||||
- Motore di ricerca automatizzato sulle fonti di repack dal [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/")
|
||||
- Client Bittorrent integrato
|
||||
- Integrazione How Long To Beat (HLTB) nella pagina del gioco
|
||||
- Percorso del download Personalizzato
|
||||
- Notifiche di aggiornamenti sulla list dei repacks
|
||||
- Supporto Windows e Linux
|
||||
- Costantemente Aggiornato
|
||||
- E molto altro ...
|
||||
|
||||
## 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.
|
||||
Se intendi avere onlinefix come repacker dovrai aggiungere le tue credenziali al file .env
|
||||
|
||||
Una volta ottenuta, puoi copiare e rinominare il file `.env.example` a `.env` e metterlo in `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
|
||||
|
||||
## 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).
|
||||
25
README.md
25
README.md
@@ -5,9 +5,9 @@
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra is a game launcher with its own embedded bittorrent client and a self-managed repack scraper.</strong>
|
||||
<strong>Hydra is a game launcher with its own embedded bittorrent client.</strong>
|
||||
</p>
|
||||
|
||||
[](https://github.com/hydralauncher/hydra/actions)
|
||||
@@ -18,6 +18,12 @@
|
||||
[](README.ru.md)
|
||||
[](README.uk-UA.md)
|
||||
[](README.be.md)
|
||||
[](README.es.md)
|
||||
[](README.fr.md)
|
||||
[](README.de.md)
|
||||
[](README.it.md)
|
||||
[](README.cs.md)
|
||||
[](README.nb.md)
|
||||
|
||||

|
||||
|
||||
@@ -25,11 +31,12 @@
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [About](#about)
|
||||
- [Features](#features)
|
||||
- [Installation](#installation)
|
||||
- [Contributing](#contributing)
|
||||
- [Join our Telegram](#join-our-telegram)
|
||||
- [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)
|
||||
@@ -45,20 +52,19 @@
|
||||
- [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** and a **self-managed repack scraper**.
|
||||
**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
|
||||
|
||||
- Self-Managed repack scraper among all the most reliable websites on the [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/")
|
||||
- Own embedded bittorrent client
|
||||
- How Long To Beat (HLTB) integration on game page
|
||||
- Downloads path customization
|
||||
- Repack list update notifications
|
||||
- Windows and Linux support
|
||||
- Constantly updated
|
||||
- And more ...
|
||||
@@ -119,7 +125,7 @@ yarn
|
||||
|
||||
### 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-3919/).
|
||||
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
|
||||
|
||||
@@ -132,9 +138,8 @@ pip install -r requirements.txt
|
||||
## Environment variables
|
||||
|
||||
You'll need an SteamGridDB API Key in order to fetch the game icons on installation.
|
||||
If you want to have onlinefix as a repacker you'll need to add your credentials to the .env
|
||||
|
||||
Once you have it, you can copy or rename the `.env.example` file to `.env`and put it on`STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
|
||||
Once you have it, you can copy or rename the `.env.example` file to `.env` and put it on`STEAMGRIDDB_API_KEY`.
|
||||
|
||||
## Running
|
||||
|
||||
|
||||
187
README.nb.md
Normal file
187
README.nb.md
Normal file
@@ -0,0 +1,187 @@
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra er en spill launcher sin egen innebygt bittorrent klient.</strong>
|
||||
</p>
|
||||
|
||||
[](https://github.com/hydralauncher/hydra/actions)
|
||||
[](https://github.com/hydralauncher/hydra/releases)
|
||||
|
||||
[](README.pt-BR.md)
|
||||
[](README.md)
|
||||
[](README.ru.md)
|
||||
[](README.uk-UA.md)
|
||||
[](README.be.md)
|
||||
[](README.es.md)
|
||||
[](README.fr.md)
|
||||
[](README.de.md)
|
||||
[](README.it.md)
|
||||
[](README.cs.md)
|
||||
[](README.nb.md)
|
||||
|
||||

|
||||
|
||||
</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).
|
||||
193
README.pl.md
Normal file
193
README.pl.md
Normal file
@@ -0,0 +1,193 @@
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra - to program uruchamiający gry z własnym wbudowanym klientem bittorrent i samodzielnie zarządzanym repackagerem..</strong>
|
||||
</p>
|
||||
|
||||
[](https://github.com/hydralauncher/hydra/actions)
|
||||
[](https://github.com/hydralauncher/hydra/releases)
|
||||
|
||||
[](README.pt-BR.md)
|
||||
[](README.md)
|
||||
[](README.ru.md)
|
||||
[](README.uk-UA.md)
|
||||
[](README.be.md)
|
||||
[](README.es.md)
|
||||
[](README.fr.md)
|
||||
[](README.de.md)
|
||||
[](README.it.md)
|
||||
[](README.cs.md)
|
||||
[](README.nb.md)
|
||||
|
||||

|
||||
|
||||
</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** i **samozarządzającym się repackagerem**.
|
||||
<br>
|
||||
Ten launcher jest napisany w TypeScript (Electron) i Pythonie, który współpracuje z systemem torrent przy użyciu libtorrent.
|
||||
|
||||
## Cechy
|
||||
|
||||
- Samodzielnie zarządzany repackager wśród wszystkich najbardziej zaufanych stron na [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/").
|
||||
- Własny wbudowany klient bittorrent
|
||||
- Integracja funkcji How Long To Beat (HLTB) na stronie gry
|
||||
- Personalizacja folderu pobierania
|
||||
- Powiadomienia o aktualizacjach listy repacków
|
||||
- Wsparcie dla systemów Windows i Linux
|
||||
- Stała aktualizacja
|
||||
- I nie tylko ...
|
||||
|
||||
## 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.
|
||||
Jeśli chcesz użyć onlinefix jako repackagera, musisz dodać swoje dane uwierzytelniające do .env
|
||||
|
||||
Po jego uzyskaniu można skopiować plik lub zmienić jego nazwę `.env.example` na `.env` i umieść go na`STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
|
||||
|
||||
## 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).
|
||||
@@ -5,7 +5,7 @@
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra é um Launcher de Jogos com seu próprio cliente de bittorrent integrado e um wrapper autogerenciado para busca de repacks.</strong>
|
||||
</p>
|
||||
@@ -18,6 +18,12 @@
|
||||
[](README.ru.md)
|
||||
[](README.uk-UA.md)
|
||||
[](README.be.md)
|
||||
[](README.es.md)
|
||||
[](README.fr.md)
|
||||
[](README.de.md)
|
||||
[](README.it.md)
|
||||
[](README.cs.md)
|
||||
[](README.nb.md)
|
||||
|
||||

|
||||
|
||||
@@ -25,26 +31,28 @@
|
||||
|
||||
## Índice
|
||||
|
||||
- [Sobre](#about)
|
||||
- [Recursos](#features)
|
||||
- [Instalação](#installation)
|
||||
- [Contribuindo](#contributing)
|
||||
- [Junte-se ao nosso Telegram](#join-our-telegram)
|
||||
- [Fork e clone seu repositorio](#fork-and-clone-your-repository)
|
||||
- [Como contribuir](#ways-you-can-contribute)
|
||||
- [Estrutura do projeto](#project-structure)
|
||||
- [Compile a partir do código-fonte](#build-from-source)
|
||||
- [Instale Node.js](#install-nodejs)
|
||||
- [Instale Yarn](#install-yarn)
|
||||
- [Instale Node Dependencies](#install-node-dependencies)
|
||||
- [Instale Python 3.9](#install-python-39)
|
||||
- [Instale Python Dependencies](#install-python-dependencies)
|
||||
- [variaveis de ambiente](#environment-variables)
|
||||
- [Rodando o programa](#running)
|
||||
- [Compilando](#build)
|
||||
- [Compile o client bittorrent](#build-the-bittorrent-client)
|
||||
- [Compile a aplicação Electron](#build-the-electron-application)
|
||||
- [Contribuidores](#contributors)
|
||||
- [Í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)
|
||||
- [Build the bittorrent client](#-build-the-bittorrent-client)
|
||||
- [Build the Electron application](#-build-the-electron-application)
|
||||
- [Contributors](#-contributors)
|
||||
- [Licença](#-licença)
|
||||
|
||||
## <a name="about"> Sobre
|
||||
|
||||
@@ -119,7 +127,7 @@ yarn
|
||||
|
||||
### <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-3919/).
|
||||
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
|
||||
|
||||
|
||||
16
README.ru.md
16
README.ru.md
@@ -5,7 +5,7 @@
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra - это игровой лаунчер с собственным встроенным клиентом BitTorrent и самостоятельным scraper`ом для репаков.</strong>
|
||||
</p>
|
||||
@@ -18,6 +18,12 @@
|
||||
[](README.ru.md)
|
||||
[](README.uk-UA.md)
|
||||
[](README.be.md)
|
||||
[](README.es.md)
|
||||
[](README.fr.md)
|
||||
[](README.de.md)
|
||||
[](README.it.md)
|
||||
[](README.cs.md)
|
||||
[](README.nb.md)
|
||||
|
||||

|
||||
|
||||
@@ -25,11 +31,12 @@
|
||||
|
||||
## Содержание
|
||||
|
||||
- [Содержание](#содержание)
|
||||
- [Описание](#описание)
|
||||
- [Особенности](#особенности)
|
||||
- [Установка](#установка)
|
||||
- [Вклад](#contributing)
|
||||
- [Присоединяйтесь к нашему Telegram](#join-our-telegram)
|
||||
- [Вклад](#-вклад)
|
||||
- [Присоединяйтесь к нашему Telegram](#-присоединяйтесь-к-нашему-telegram)
|
||||
- [Форк и клонирование репозитория](#форк-и-клонирование-репозитория)
|
||||
- [Способы внести свой вклад](#способы-внести-свой-вклад)
|
||||
- [Структура проекта](#структура-проекта)
|
||||
@@ -45,6 +52,7 @@
|
||||
- [Сборка клиента BitTorrent](#сборка-клиента-bittorrent)
|
||||
- [Сборка приложения Electron](#сборка-приложения-electron)
|
||||
- [Участники](#участники)
|
||||
- [License](#license)
|
||||
|
||||
## Описание
|
||||
|
||||
@@ -119,7 +127,7 @@ yarn
|
||||
|
||||
### Установка Python 3.9
|
||||
|
||||
Убедитесь, что у вас установлен Python 3.9 на вашем компьютере. Вы можете загрузить и установить его с [python.org](https://www.python.org/downloads/release/python-3919/).
|
||||
Убедитесь, что у вас установлен Python 3.9 на вашем компьютере. Вы можете загрузить и установить его с [python.org](https://www.python.org/downloads/release/python-3913/).
|
||||
|
||||
### Установка зависимостей Python
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra - це ігровий лаунчер з власним вбудованим bittorrent-клієнтом і самокерованим збирачем репаків.</strong>
|
||||
</p>
|
||||
@@ -18,6 +18,12 @@
|
||||
[](README.ru.md)
|
||||
[](README.uk-UA.md)
|
||||
[](README.be.md)
|
||||
[](README.es.md)
|
||||
[](README.fr.md)
|
||||
[](README.de.md)
|
||||
[](README.it.md)
|
||||
[](README.cs.md)
|
||||
[](README.nb.md)
|
||||
|
||||

|
||||
|
||||
@@ -25,11 +31,12 @@
|
||||
|
||||
## Зміст
|
||||
|
||||
- [Зміст](#зміст)
|
||||
- [Про нас](#про-нас)
|
||||
- [Функції](#функції)
|
||||
- [Встановлення](#встановлення)
|
||||
- [Зробити свій внесок](#contributing)
|
||||
- [Приєднуйтесь до нашого Telegram](#join-our-telegram)
|
||||
- [Зробити свій внесок](#-зробити-свій-внесок)
|
||||
- [Приєднуйтесь до нашого Telegram](#-приєднуйтесь-до-нашого-telegram)
|
||||
- [Форк і клонування вашого репозиторію](#форк-і-клонування-вашого-репозиторію)
|
||||
- [Як ви можете зробити свій внесок](#як-ви-можете-зробити-свій-внесок)
|
||||
- [Структура проекту](#структура-проекту)
|
||||
@@ -45,6 +52,7 @@
|
||||
- [Зробіть білд bittorrent client](#зробіть-білд-bittorrent-client)
|
||||
- [Зробіть білд Electron застосунку](#зробіть-білд-electron-застосунку)
|
||||
- [Контриб'ютори](#контрибютори)
|
||||
- [License](#license)
|
||||
|
||||
## Про нас
|
||||
|
||||
@@ -123,7 +131,7 @@ yarn
|
||||
|
||||
### Встановіть Python 3.9
|
||||
|
||||
Переконайтеся, що на вашому комп'ютері встановлено Python 3.9. Ви можете завантажити та встановити його з [python.org](https://www.python.org/downloads/release/python-3919/).
|
||||
Переконайтеся, що на вашому комп'ютері встановлено Python 3.9. Ви можете завантажити та встановити його з [python.org](https://www.python.org/downloads/release/python-3913/).
|
||||
|
||||
### Встановіть Python залежності
|
||||
|
||||
|
||||
68
SECURITY.md
Normal file
68
SECURITY.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# Security Policy
|
||||
|
||||
## Purpose of the Policy
|
||||
|
||||
The purpose of this Security Policy is to ensure the security of our project and maintain the trust of the community.
|
||||
|
||||
## Who is Affected by the Policy
|
||||
|
||||
This policy applies to all members of our project community, including developers, testers, repository administrators, and users.
|
||||
|
||||
## Supported Versions
|
||||
|
||||
Use this section to tell people about which versions of your project are
|
||||
currently being supported with security updates.
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 2.0.x | :white_check_mark: |
|
||||
| < 1.2.0 | :x: |
|
||||
|
||||
## Development Recommendations
|
||||
|
||||
### Best Practices
|
||||
|
||||
- Follow secure coding principles.
|
||||
- Use well-established libraries and frameworks.
|
||||
- Regularly update dependencies.
|
||||
- Conduct thorough testing, including security-related tests.
|
||||
|
||||
### Unrecommended Practices
|
||||
|
||||
- Do not use known vulnerabilities that have not been patched.
|
||||
- Do not publish sensitive information such as API keys or passwords.
|
||||
- Do not vote for changes that degrade the security of the project.
|
||||
|
||||
### User-Generated Content
|
||||
|
||||
- Ensure that user-generated content does not contain hidden threats.
|
||||
- Be cautious when handling user data.
|
||||
|
||||
### Community Interaction
|
||||
|
||||
- Treat each other with respect and politeness.
|
||||
- Do not spread spam or spam bots.
|
||||
- Follow community guidelines.
|
||||
|
||||
### Vulnerability Discovery and Reporting
|
||||
|
||||
- If you discover a vulnerability, report it as an issue on GitHub.
|
||||
- Your report should contain detailed information about the vulnerability, including steps to resolve it.
|
||||
|
||||
### Reporting Method
|
||||
|
||||
To report a vulnerability, create a new issue on GitHub and use branch isolation to provide details about the vulnerability.
|
||||
|
||||
### Details to Provide
|
||||
|
||||
Please provide the following information about the vulnerability:
|
||||
|
||||
- Description of the vulnerability
|
||||
- Steps to resolve the vulnerability
|
||||
- Versions on which the vulnerability was found
|
||||
- Code examples illustrating the vulnerability (if it is safe to do so)
|
||||
|
||||
### Expected Behavior
|
||||
|
||||
- If we accept the reported vulnerability, we will release a patch and update the security information on GitHub.
|
||||
- If we reject the reported vulnerability, we will provide an explanation.
|
||||
BIN
build/icon.icns
BIN
build/icon.icns
Binary file not shown.
BIN
build/icons/512x512.png
Normal file
BIN
build/icons/512x512.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 188 KiB |
7
build/installer.nsh
Normal file
7
build/installer.nsh
Normal file
@@ -0,0 +1,7 @@
|
||||
!macro customUnInstall
|
||||
${ifNot} ${isUpdated}
|
||||
RMDir /r "$APPDATA\${APP_PACKAGE_NAME}"
|
||||
RMDir /r "$APPDATA\hydra"
|
||||
RMDir /r "$LOCALAPPDATA\hydralauncher-updater"
|
||||
${endIf}
|
||||
!macroend
|
||||
@@ -4,8 +4,8 @@ directories:
|
||||
buildResources: build
|
||||
extraResources:
|
||||
- hydra-download-manager
|
||||
- hydra.db
|
||||
- fastlist.exe
|
||||
- seeds
|
||||
- from: node_modules/create-desktop-shortcuts/src/windows.vbs
|
||||
files:
|
||||
- "!**/.vscode/*"
|
||||
- "!src/*"
|
||||
@@ -17,13 +17,19 @@ asarUnpack:
|
||||
- resources/**
|
||||
win:
|
||||
executableName: Hydra
|
||||
requestedExecutionLevel: requireAdministrator
|
||||
target:
|
||||
- nsis
|
||||
- portable
|
||||
nsis:
|
||||
artifactName: ${name}-${version}-setup.${ext}
|
||||
shortcutName: ${productName}
|
||||
uninstallDisplayName: ${productName}
|
||||
createDesktopShortcut: always
|
||||
oneClick: false
|
||||
allowToChangeInstallationDirectory: true
|
||||
include: installer.nsh
|
||||
portable:
|
||||
artifactName: ${name}-${version}-portable.${ext}
|
||||
mac:
|
||||
entitlementsInherit: build/entitlements.mac.plist
|
||||
extendInfo:
|
||||
@@ -39,8 +45,12 @@ linux:
|
||||
- AppImage
|
||||
- snap
|
||||
- deb
|
||||
- pacman
|
||||
- rpm
|
||||
maintainer: electronjs.org
|
||||
category: Utility
|
||||
category: Game
|
||||
mimeTypes:
|
||||
- x-scheme-handler/hydralauncher
|
||||
appImage:
|
||||
artifactName: ${name}-${version}.${ext}
|
||||
npmRebuild: false
|
||||
|
||||
@@ -6,8 +6,16 @@ import {
|
||||
externalizeDepsPlugin,
|
||||
} from "electron-vite";
|
||||
import react from "@vitejs/plugin-react";
|
||||
import { sentryVitePlugin } from "@sentry/vite-plugin";
|
||||
import { vanillaExtractPlugin } from "@vanilla-extract/vite-plugin";
|
||||
import svgr from "vite-plugin-svgr";
|
||||
|
||||
const sentryPlugin = sentryVitePlugin({
|
||||
authToken: process.env.SENTRY_AUTH_TOKEN,
|
||||
org: "hydra-launcher",
|
||||
project: "hydra-launcher",
|
||||
});
|
||||
|
||||
export default defineConfig(({ mode }) => {
|
||||
loadEnv(mode);
|
||||
|
||||
@@ -27,7 +35,7 @@ export default defineConfig(({ mode }) => {
|
||||
"@shared": resolve("src/shared"),
|
||||
},
|
||||
},
|
||||
plugins: [externalizeDepsPlugin(), swcPlugin()],
|
||||
plugins: [externalizeDepsPlugin(), swcPlugin(), sentryPlugin],
|
||||
},
|
||||
preload: {
|
||||
plugins: [externalizeDepsPlugin()],
|
||||
@@ -43,7 +51,7 @@ export default defineConfig(({ mode }) => {
|
||||
"@shared": resolve("src/shared"),
|
||||
},
|
||||
},
|
||||
plugins: [svgr(), react(), vanillaExtractPlugin()],
|
||||
plugins: [svgr(), react(), vanillaExtractPlugin(), sentryPlugin],
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
47
package.json
47
package.json
@@ -1,15 +1,18 @@
|
||||
{
|
||||
"name": "hydra",
|
||||
"version": "1.2.1",
|
||||
"name": "hydralauncher",
|
||||
"version": "2.1.7",
|
||||
"description": "Hydra",
|
||||
"main": "./out/main/index.js",
|
||||
"author": "Los Broxas",
|
||||
"homepage": "https://hydralauncher.site",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/hydralauncher/hydra.git"
|
||||
},
|
||||
"type": "module",
|
||||
"engines": {
|
||||
"npm": "please-use-yarn",
|
||||
"yarn": ">= 1.19.1"
|
||||
},
|
||||
"scripts": {
|
||||
"format": "prettier --write .",
|
||||
"format-check": "prettier --check .",
|
||||
@@ -20,50 +23,59 @@
|
||||
"start": "electron-vite preview",
|
||||
"dev": "electron-vite dev",
|
||||
"build": "npm run typecheck && electron-vite build",
|
||||
"postinstall": "electron-builder install-app-deps && node ./postinstall.cjs",
|
||||
"postinstall": "electron-builder install-app-deps",
|
||||
"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",
|
||||
"knex:migrate:make": "knex --knexfile src/main/knexfile.ts migrate:make --esm"
|
||||
},
|
||||
"dependencies": {
|
||||
"@electron-toolkit/preload": "^3.0.0",
|
||||
"@electron-toolkit/utils": "^3.0.0",
|
||||
"@fontsource/fira-mono": "^5.0.13",
|
||||
"@fontsource/fira-sans": "^5.0.20",
|
||||
"@fontsource/noto-sans": "^5.0.22",
|
||||
"@hookform/resolvers": "^3.9.0",
|
||||
"@primer/octicons-react": "^19.9.0",
|
||||
"@reduxjs/toolkit": "^2.2.3",
|
||||
"@sentry/electron": "^5.1.0",
|
||||
"@vanilla-extract/css": "^1.14.2",
|
||||
"@vanilla-extract/dynamic": "^2.1.1",
|
||||
"@vanilla-extract/recipes": "^0.5.2",
|
||||
"auto-launch": "^5.0.6",
|
||||
"axios": "^1.6.8",
|
||||
"better-sqlite3": "^9.5.0",
|
||||
"axios": "^1.7.7",
|
||||
"better-sqlite3": "^11.2.1",
|
||||
"check-disk-space": "^3.4.0",
|
||||
"classnames": "^2.5.1",
|
||||
"color": "^4.2.3",
|
||||
"color.js": "^1.2.0",
|
||||
"create-desktop-shortcuts": "^1.11.0",
|
||||
"date-fns": "^3.6.0",
|
||||
"easydl": "^1.1.1",
|
||||
"electron-log": "^5.1.4",
|
||||
"electron-updater": "^6.1.8",
|
||||
"fetch-cookie": "^3.0.1",
|
||||
"flexsearch": "^0.7.43",
|
||||
"i18next": "^23.11.2",
|
||||
"i18next-browser-languagedetector": "^7.2.1",
|
||||
"icojs": "^0.19.3",
|
||||
"jsdom": "^24.0.0",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
"knex": "^3.1.0",
|
||||
"lodash-es": "^4.17.21",
|
||||
"lottie-react": "^2.4.0",
|
||||
"node-7z-archive": "^1.1.7",
|
||||
"parse-torrent": "^11.0.16",
|
||||
"ps-list": "^8.1.1",
|
||||
"piscina": "^4.5.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",
|
||||
"sudo-prompt": "^9.2.1",
|
||||
"typeorm": "^0.3.20",
|
||||
"user-agents": "^1.1.193",
|
||||
"winston": "^3.13.0",
|
||||
"yaml": "^2.4.1"
|
||||
"yaml": "^2.4.1",
|
||||
"yup": "^1.4.0",
|
||||
"zod": "^3.23.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^19.3.0",
|
||||
@@ -71,17 +83,21 @@
|
||||
"@electron-toolkit/eslint-config-prettier": "^2.0.0",
|
||||
"@electron-toolkit/eslint-config-ts": "^1.0.1",
|
||||
"@electron-toolkit/tsconfig": "^1.0.1",
|
||||
"@sentry/vite-plugin": "^2.20.1",
|
||||
"@swc/core": "^1.4.16",
|
||||
"@types/auto-launch": "^5.0.5",
|
||||
"@types/color": "^3.0.6",
|
||||
"@types/jsdom": "^21.1.6",
|
||||
"@types/jsonwebtoken": "^9.0.6",
|
||||
"@types/lodash-es": "^4.17.12",
|
||||
"@types/node": "^20.12.7",
|
||||
"@types/parse-torrent": "^5.8.7",
|
||||
"@types/react": "^18.2.48",
|
||||
"@types/react-dom": "^18.2.18",
|
||||
"@types/user-agents": "^1.0.4",
|
||||
"@vanilla-extract/vite-plugin": "^4.0.7",
|
||||
"@vitejs/plugin-react": "^4.2.1",
|
||||
"electron": "^28.2.0",
|
||||
"electron": "^30.3.0",
|
||||
"electron-builder": "^24.9.1",
|
||||
"electron-vite": "^2.0.0",
|
||||
"eslint": "^8.56.0",
|
||||
@@ -92,6 +108,7 @@
|
||||
"prettier": "^3.2.4",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "^5.3.3",
|
||||
"vite": "^5.0.12",
|
||||
"vite-plugin-svgr": "^4.2.0"
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
const fs = require("fs");
|
||||
|
||||
if (process.platform === "win32") {
|
||||
fs.copyFileSync(
|
||||
"node_modules/ps-list/vendor/fastlist-0.3.0-x64.exe",
|
||||
"fastlist.exe"
|
||||
);
|
||||
}
|
||||
@@ -3,3 +3,5 @@ cx_Freeze
|
||||
cx_Logging; sys_platform == 'win32'
|
||||
lief; sys_platform == 'win32'
|
||||
pywin32; sys_platform == 'win32'
|
||||
psutil
|
||||
Pillow
|
||||
|
||||
1
seeds/steam-games.json
Normal file
1
seeds/steam-games.json
Normal file
File diff suppressed because one or more lines are too long
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"language_name": "اَلْعَرَبِيَّةُ",
|
||||
"home": {
|
||||
"featured": "مميّز",
|
||||
"recently_added": "مضاف مؤخراً",
|
||||
"trending": "شائع",
|
||||
"surprise_me": "فاجئني",
|
||||
"no_results": "لم يتم العثور على نتائج"
|
||||
@@ -12,16 +12,10 @@
|
||||
"settings": "إعدادات",
|
||||
"my_library": "مكتبتي",
|
||||
"downloading_metadata": "{{title}} (جارٍ تنزيل البيانات الوصفية...)",
|
||||
"checking_files": "{{title}} ({{percentage}} - جارٍ التحقق من الملفات...)",
|
||||
"paused": "{{title}} (متوقف)",
|
||||
"downloading": "{{title}} ({{percentage}} - جارٍ التنزيل...)",
|
||||
"filter": "بحث في المكتبة",
|
||||
"follow_us": "تابعنا",
|
||||
"home": "الرئيسية",
|
||||
"discord": "انضم إلى الـDiscord الخاص بنا",
|
||||
"telegram": "انضم إلى قناة Telegram الخاصة بنا",
|
||||
"x": "تابعنا على X",
|
||||
"github": "ساهم في مشروعنا على GitHub"
|
||||
"home": "الرئيسية"
|
||||
},
|
||||
"header": {
|
||||
"search": "ابحث عن الألعاب",
|
||||
@@ -34,7 +28,6 @@
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "لا يوجد تنزيلات جارية",
|
||||
"downloading_metadata": "جارٍ تنزيل بيانات وصف {{title}}",
|
||||
"checking_files": "جارٍ التحقق من ملفات {{title}}… ({{percentage}} مكتملة)",
|
||||
"downloading": "جارٍ تنزيل {{title}}… ({{percentage}} مكتملة) - الانتهاء {{eta}} - {{speed}}"
|
||||
},
|
||||
"catalogue": {
|
||||
@@ -52,22 +45,15 @@
|
||||
"pause": "إيقاف",
|
||||
"cancel": "إلغاء",
|
||||
"remove": "إزالة",
|
||||
"remove_from_list": "إزالة",
|
||||
"space_left_on_disk": "{{space}} متبقية على القرص",
|
||||
"eta": "الوقت المتبقي {{eta}}",
|
||||
"downloading_metadata": "جاري تنزيل البيانات الوصفية...",
|
||||
"checking_files": "جاري التحقق من الملفات...",
|
||||
"filter": "تصفية حزم إعادة التجميع",
|
||||
"requirements": "متطلبات النظام",
|
||||
"minimum": "الحد الأدنى",
|
||||
"recommended": "موصى به",
|
||||
"no_minimum_requirements": "{{title}} لا تتوفر معلومات عن الحد الأدنى للمتطلبات",
|
||||
"no_recommended_requirements": "{{title}} لا تتوفر معلومات عن المتطلبات الموصى بها",
|
||||
"paused_progress": "{{progress}} (متوقف)",
|
||||
"release_date": "تم الإصدار في {{date}}",
|
||||
"publisher": "نشر بواسطة {{publisher}}",
|
||||
"copy_link_to_clipboard": "نسخ الرابط",
|
||||
"copied_link_to_clipboard": "تم نسخ الرابط",
|
||||
"hours": "ساعات",
|
||||
"minutes": "دقائق",
|
||||
"amount_hours": "{{amount}} ساعات",
|
||||
@@ -88,14 +74,6 @@
|
||||
"repacks_modal_description": "اختر الحزمة التي تريد تنزيلها",
|
||||
"select_folder_hint": "لتغيير المجلد الافتراضي، انتقل إلى الإعدادات",
|
||||
"download_now": "تنزيل الآن",
|
||||
"installation_instructions": "إرشادات التثبيت",
|
||||
"installation_instructions_description": "هناك خطوات إضافية مطلوبة لتثبيت هذه اللعبة",
|
||||
"online_fix_instruction": "تتطلب ألعاب OnlineFix كلمة مرور لاستخراجها. عند الحاجة، استخدم كلمة المرور التالية:",
|
||||
"dodi_installation_instruction": "عند فتح مثبت DODI، اضغط على مفتاح التشغيل لأعلى <0 /> لبدء عملية التثبيت:",
|
||||
"dont_show_it_again": "لا تعرضها مرة أخرى",
|
||||
"copy_to_clipboard": "نسخ",
|
||||
"copied_to_clipboard": "تم النسخ",
|
||||
"got_it": "حسنأ",
|
||||
"no_shop_details": "لم يتم استرداد تفاصيل المتجر.",
|
||||
"download_options": "خيارات التنزيل",
|
||||
"download_path": "مسار التنزيل",
|
||||
@@ -118,24 +96,16 @@
|
||||
"eta": "الوقت المتبقي {{eta}}",
|
||||
"paused": "متوقفة مؤقتًا",
|
||||
"verifying": "جار التحقق…",
|
||||
"completed_at": "اكتمل في {{date}}",
|
||||
"completed": "اكتمل",
|
||||
"cancelled": "ملغي",
|
||||
"download_again": "تحميل مرة أخرى",
|
||||
"cancel": "إلغاء",
|
||||
"filter": "تصفية الألعاب التي تم تنزيلها",
|
||||
"remove": "إزالة",
|
||||
"downloading_metadata": "جار تنزيل البيانات الوصفية…",
|
||||
"checking_files": "جار التحقق من الملفات…",
|
||||
"starting_download": "يبدأ التنزيل…",
|
||||
"deleting": "جار حذف المثبت…",
|
||||
"delete": "إزالة المثبت",
|
||||
"remove_from_list": "إزالة",
|
||||
"delete_modal_title": "هل أنت متأكد؟",
|
||||
"delete_modal_description": "سيؤدي هذا إلى إزالة جميع ملفات التثبيت من جهاز الكمبيوتر الخاص بك",
|
||||
"install": "تثبيت",
|
||||
"real_debrid": "Real Debrid",
|
||||
"torrent": "تورنت"
|
||||
"install": "تثبيت"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "مسار التنزيلات",
|
||||
@@ -143,16 +113,13 @@
|
||||
"notifications": "الإشعارات",
|
||||
"enable_download_notifications": "عند اكتمال التنزيل",
|
||||
"enable_repack_list_notifications": "عند إضافة حزمة جديدة",
|
||||
"telemetry": "القياس عن بعد",
|
||||
"telemetry_description": "تفعيل إحصائيات الاستخدام مجهولة المصدر",
|
||||
"real_debrid_api_token_label": "رمز واجهة برمجة التطبيقات (API) لـReal Debrid ",
|
||||
"real_debrid_api_token_label": "رمز واجهة برمجة التطبيقات (API) لـReal-Debrid ",
|
||||
"quit_app_instead_hiding": "إنهاء هايدرا بدلاً من التصغير الى شريط الحالة",
|
||||
"launch_with_system": "تشغيل هايدرا عند بدء تشغيل النظام",
|
||||
"general": "عام",
|
||||
"behavior": "السلوك",
|
||||
"enable_real_debrid": "تفعيل Real Debrid ",
|
||||
"real_debrid": "Real Debrid",
|
||||
"real_debrid_api_token_hint": "يمكنك الحصول على مفتاح API الخاص بك هنا.",
|
||||
"enable_real_debrid": "تفعيل Real-Debrid ",
|
||||
"real_debrid_api_token_hint": "يمكنك الحصول على مفتاح API الخاص بك هنا",
|
||||
"save_changes": "حفظ التغييرات"
|
||||
},
|
||||
"notifications": {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"language_name": "беларуская мова",
|
||||
"home": {
|
||||
"featured": "Рэкамэндаванае",
|
||||
"recently_added": "Нядаўна дададзенае",
|
||||
"trending": "Актуальнае",
|
||||
"surprise_me": "Здзіві мяне",
|
||||
"no_results": "Няма вынікаў"
|
||||
@@ -12,16 +12,10 @@
|
||||
"settings": "Налады",
|
||||
"my_library": "Мая бібліятэка",
|
||||
"downloading_metadata": "{{title}} (Сцягванне мэтаданых…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Праверка файлаў…)",
|
||||
"paused": "{{title}} (Спынена)",
|
||||
"downloading": "{{title}} ({{percentage}} - Сцягванне…)",
|
||||
"filter": "Фільтар бібліятэкі",
|
||||
"follow_us": "Падпісвайцеся на нас",
|
||||
"home": "Галоўная",
|
||||
"discord": "Далучайцеся да Discord",
|
||||
"telegram": "Далучайцеся да Telegram",
|
||||
"x": "Падпісвайцеся на X",
|
||||
"github": "Зрабіць свой унёсак на GitHub"
|
||||
"home": "Галоўная"
|
||||
},
|
||||
"header": {
|
||||
"search": "Пошук",
|
||||
@@ -34,7 +28,6 @@
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Няма актыўных сцягванняў",
|
||||
"downloading_metadata": "Сцягванне мэтаданых {{title}}…",
|
||||
"checking_files": "Праверка файлаў {{title}}… ({{percentage}} скончана)",
|
||||
"downloading": "Сцягванне {{title}}… ({{percentage}} скончана) - Канчатак {{eta}} - {{speed}}"
|
||||
},
|
||||
"catalogue": {
|
||||
@@ -52,22 +45,15 @@
|
||||
"pause": "Спыніць",
|
||||
"cancel": "Скасаваць",
|
||||
"remove": "Выдаліць",
|
||||
"remove_from_list": "Выдаліць",
|
||||
"space_left_on_disk": "{{space}} засталося на дыску",
|
||||
"eta": "Канчатак {{eta}}",
|
||||
"downloading_metadata": "Сцягванне мэтаданых…",
|
||||
"checking_files": "Праверка файлаў…",
|
||||
"filter": "Фільтар рэпакаў",
|
||||
"requirements": "Сістэмныя патрэбаванни",
|
||||
"minimum": "Мінімальныя",
|
||||
"recommended": "Рэкамендуемыя",
|
||||
"no_minimum_requirements": "{{title}} ня ўтрымлівае інфармацыі пра мінімальныя патрабаванні",
|
||||
"no_recommended_requirements": "{{title}} ня ўтрымлівае інфармацыі пра рэкамендуемыя патрабаванні",
|
||||
"paused_progress": "{{progress}} (Спынена)",
|
||||
"release_date": "Выпушчана {{date}}",
|
||||
"publisher": "Выдана {{publisher}}",
|
||||
"copy_link_to_clipboard": "Скапіяваць спасылку",
|
||||
"copied_link_to_clipboard": "Спасылка скапіявана",
|
||||
"hours": "гадзін",
|
||||
"minutes": "хвілін",
|
||||
"amount_hours": "{{amount}} гадзін",
|
||||
@@ -86,17 +72,8 @@
|
||||
"playing_now": "Зараз гуляе",
|
||||
"change": "Змяніць",
|
||||
"repacks_modal_description": "Абярыце рэпак, які хочаце сцягнуць",
|
||||
"downloads_path": "Шлях сцягвання",
|
||||
"select_folder_hint": "Каб змяніць папку па змоўчанні, адкрыйце",
|
||||
"download_now": "Сцягнуць зараз",
|
||||
"installation_instructions": "Інструкцыя ўсталёўкі",
|
||||
"installation_instructions_description": "Усталёўка гэтай гульні патрабуе дадатковых крокаў",
|
||||
"online_fix_instruction": "Гульні з OnlineFix патрабуюць пароль для вымання. Калі неабходна, выкарыстоўвайце наступны пароль:",
|
||||
"dodi_installation_instruction": "Калі вы адкрыеце ўсталёўшчык DODI, націсніце на клявіятуры клявішу 'уверх' <0 />, каб пачаць працэс усталёўкі:",
|
||||
"dont_show_it_again": "Не паказваць зноў",
|
||||
"copy_to_clipboard": "Капіяваць",
|
||||
"copied_to_clipboard": "Скапіявана",
|
||||
"got_it": "Зразумела"
|
||||
"download_now": "Сцягнуць зараз"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Актываваць Hydra",
|
||||
@@ -112,19 +89,13 @@
|
||||
"eta": "Канчатак {{eta}}",
|
||||
"paused": "Спынена",
|
||||
"verifying": "Праверка…",
|
||||
"completed_at": "Скончана а {{date}}",
|
||||
"completed": "Скончана",
|
||||
"cancelled": "Скасавана",
|
||||
"download_again": "Сцягнуць зноў",
|
||||
"cancel": "Скасаваць",
|
||||
"filter": "Фільтар сцягнутых гульняў",
|
||||
"remove": "Выдаліць",
|
||||
"downloading_metadata": "Сцягванне мэтаданых…",
|
||||
"checking_files": "Праверка файлаў…",
|
||||
"starting_download": "Пачатак сцягвання…",
|
||||
"deleting": "Выдаленне ўсталёўшчыка…",
|
||||
"delete": "Выдаліць усталёўшчык",
|
||||
"remove_from_list": "Выдаліць",
|
||||
"delete_modal_title": "Вы ўпэўнены?",
|
||||
"delete_modal_description": "Гэта выдаліць усе файлы ўсталёвак з вашага кампутара",
|
||||
"install": "Усталяваць"
|
||||
@@ -135,8 +106,6 @@
|
||||
"notifications": "Апавяшчэнні",
|
||||
"enable_download_notifications": "Па сканчэнні сцягванні",
|
||||
"enable_repack_list_notifications": "Пры даданні новага рэпака",
|
||||
"telemetry": "Тэлеметрыя",
|
||||
"telemetry_description": "Уключыць ананімную статыстыку выкарыстання",
|
||||
"behavior": "Паводзіны",
|
||||
"quit_app_instead_hiding": "Закрываць праграму замест таго, каб хаваць яе ў трэй",
|
||||
"launch_with_system": "Запускаць праграму пры запуску сыстэмы"
|
||||
|
||||
256
src/locales/ca/translation.json
Normal file
256
src/locales/ca/translation.json
Normal file
@@ -0,0 +1,256 @@
|
||||
{
|
||||
"language_name": "Català",
|
||||
"app": {
|
||||
"successfully_signed_in": "Has entrat correctament"
|
||||
},
|
||||
"home": {
|
||||
"featured": "Destacats",
|
||||
"trending": "Populars",
|
||||
"surprise_me": "Sorprèn-me",
|
||||
"no_results": "No s'ha trobat res"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Catàleg",
|
||||
"downloads": "Baixades",
|
||||
"settings": "Configuració",
|
||||
"my_library": "Biblioteca",
|
||||
"downloading_metadata": "{{title}} (S'estan baixant les metadades…)",
|
||||
"paused": "{{title}} (Pausat)",
|
||||
"downloading": "{{title}} ({{percentage}} - S'està baixant…)",
|
||||
"filter": "Filtra la biblioteca",
|
||||
"home": "Inici",
|
||||
"queued": "{{title}} (En espera)",
|
||||
"game_has_no_executable": "El joc encara no té un executable seleccionat",
|
||||
"sign_in": "Entra"
|
||||
},
|
||||
"header": {
|
||||
"search": "Cerca jocs",
|
||||
"home": "Inici",
|
||||
"catalogue": "Catàleg",
|
||||
"downloads": "Baixades",
|
||||
"search_results": "Resultats de la cerca",
|
||||
"settings": "Configuració",
|
||||
"version_available_install": "Hi ha disponible la versió {{version}}. Feu clic aquí per a reiniciar i instal·lar-la.",
|
||||
"version_available_download": "Hi ha disponible la versió {{version}}. Feu clic aquí per a baixar-la."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Cap baixada en curs",
|
||||
"downloading_metadata": "S'estan baixant les metadades de: {{title}}…",
|
||||
"downloading": "S'està baixant: {{title}}… ({{percentage}} complet) - Finalització: {{eta}} - {{speed}}",
|
||||
"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"
|
||||
},
|
||||
"game_details": {
|
||||
"open_download_options": "Obre les opcions de baixada",
|
||||
"download_options_zero": "No hi ha opcions de baixada",
|
||||
"download_options_one": "{{count}} opció de baixada",
|
||||
"download_options_other": "{{count}} opcions de baixada",
|
||||
"updated_at": "Actualitzat: {{updated_at}}",
|
||||
"install": "Instal·la",
|
||||
"resume": "Reprèn",
|
||||
"pause": "Pausa",
|
||||
"cancel": "Cancel·la",
|
||||
"remove": "Elimina",
|
||||
"space_left_on_disk": "{{space}} lliures al disc",
|
||||
"eta": "Finalitza en: {{eta}}",
|
||||
"calculating_eta": "Calculant temps estimat…",
|
||||
"downloading_metadata": "S'estan baixant les metadades…",
|
||||
"filter": "Filtra els reempaquetats",
|
||||
"requirements": "Requisits del sistema",
|
||||
"minimum": "Mínims",
|
||||
"recommended": "Recomanats",
|
||||
"paused": "Paused",
|
||||
"release_date": "Publicat el {{date}}",
|
||||
"publisher": "Publicat per {{publisher}}",
|
||||
"hours": "hores",
|
||||
"minutes": "minuts",
|
||||
"amount_hours": "{{amount}} hores",
|
||||
"amount_minutes": "{{amount}} minuts",
|
||||
"accuracy": "{{accuracy}}% de precisió",
|
||||
"add_to_library": "Afegeix a la biblioteca",
|
||||
"remove_from_library": "Elimina de la biblioteca",
|
||||
"no_downloads": "No hi ha baixades disponibles",
|
||||
"play_time": "Jugat durant {{amount}}",
|
||||
"last_time_played": "Última partida: {{period}}",
|
||||
"not_played_yet": "Encara no has jugat al {{title}}",
|
||||
"next_suggestion": "Suggeriment següent",
|
||||
"play": "Inicia",
|
||||
"deleting": "S'està eliminant l'instal·lador…",
|
||||
"close": "Tanca",
|
||||
"playing_now": "S'està jugant",
|
||||
"change": "Canvia",
|
||||
"repacks_modal_description": "Tria quin reempaquetat vols baixar",
|
||||
"select_folder_hint": "Per a canviar la carpeta predefinida, vés a la <0>Configuració</0>",
|
||||
"download_now": "Baixa ara",
|
||||
"no_shop_details": "No s'han pogut recuperar els detalls de la tenda.",
|
||||
"download_options": "Opcions de baixada",
|
||||
"download_path": "Ruta de baixada",
|
||||
"previous_screenshot": "Captura anterior",
|
||||
"next_screenshot": "Captura següent",
|
||||
"screenshot": "Captura {{number}}",
|
||||
"open_screenshot": "Obre la captura {{number}}",
|
||||
"download_settings": "Configuració de descàrrega",
|
||||
"downloader": "Descarregador",
|
||||
"select_executable": "Selecciona",
|
||||
"no_executable_selected": "No hi ha executable selccionat",
|
||||
"open_folder": "Obre carpeta",
|
||||
"open_download_location": "Visualitzar fitxers descarregats",
|
||||
"create_shortcut": "Crear accés directe a l'escriptori",
|
||||
"remove_files": "Elimina fitxers",
|
||||
"remove_from_library_title": "Segur?",
|
||||
"remove_from_library_description": "Això eliminarà el videojoc {{game}} del teu catàleg",
|
||||
"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_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",
|
||||
"download_in_progress": "Descàrrega en progrés",
|
||||
"download_paused": "Descàrrega en pausa",
|
||||
"last_downloaded_option": "Opció de l'última descàrrega",
|
||||
"create_shortcut_success": "Accés directe creat satisfactòriament",
|
||||
"create_shortcut_error": "Error al crear l'accés directe"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Activa l'Hydra",
|
||||
"installation_id": "ID d'instal·lació:",
|
||||
"enter_activation_code": "Introdueix el codi d'activació",
|
||||
"message": "Si no saps on demanar-ho, no ho hauries de tenir.",
|
||||
"activate": "Activa",
|
||||
"loading": "S'està carregant…"
|
||||
},
|
||||
"downloads": {
|
||||
"resume": "Reprèn",
|
||||
"pause": "Pausa",
|
||||
"eta": "Finalització {{eta}}",
|
||||
"paused": "Pausada",
|
||||
"verifying": "S'està verificant…",
|
||||
"completed": "Completada",
|
||||
"removed": "No descarregat",
|
||||
"cancel": "Cancel·la",
|
||||
"filter": "Filtra els jocs baixats",
|
||||
"remove": "Elimina",
|
||||
"downloading_metadata": "S'estan baixant les metadades…",
|
||||
"deleting": "S'està eliminant l'instal·lador…",
|
||||
"delete": "Elimina l'instal·lador",
|
||||
"delete_modal_title": "N'estàs segur?",
|
||||
"delete_modal_description": "S'eliminaran de l'ordinador tots els fitxers d'instal·lació",
|
||||
"install": "Instal·la",
|
||||
"download_in_progress": "En progrés",
|
||||
"queued_downloads": "Descàrregues en espera",
|
||||
"downloads_completed": "Completat",
|
||||
"queued": "En espera",
|
||||
"no_downloads_title": "Buit",
|
||||
"no_downloads_description": "No has descarregat res amb Hydra encara, però mai és tard per començar a fer-ho.",
|
||||
"checking_files": "Comprovant fitxers…"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Ruta de baixades",
|
||||
"change": "Actualitza",
|
||||
"notifications": "Notificacions",
|
||||
"enable_download_notifications": "Quan finalitzi una baixada",
|
||||
"enable_repack_list_notifications": "Quan s'afegeixi un nou reempaquetat",
|
||||
"real_debrid_api_token_label": "Testimoni de l'API de Real Debrid",
|
||||
"quit_app_instead_hiding": "Tanca l'Hydra en compte de minimitzar-la a la safata",
|
||||
"launch_with_system": "Inicia l'Hydra quan s'iniciï el sistema",
|
||||
"general": "General",
|
||||
"behavior": "Comportament",
|
||||
"download_sources": "Fonts de descàrrega",
|
||||
"language": "Idioma",
|
||||
"real_debrid_api_token": "Testimoni API",
|
||||
"enable_real_debrid": "Activa el Real Debrid",
|
||||
"real_debrid_description": "Real-Debrid és un programa de descàrrega sense restriccions que us permet descarregar fitxers a l'instant i al màxim de la vostra velocitat d'Internet.",
|
||||
"real_debrid_invalid_token": "Invalida el testimoni de l'API",
|
||||
"real_debrid_api_token_hint": "Pots obtenir la teva clau de l'API <0>aquí</0>.",
|
||||
"real_debrid_free_account_error": "L'usuari \"{{username}}\" és un compte gratuït. Si us plau subscriu-te a Real-Debrid",
|
||||
"real_debrid_linked_message": "Compte \"{{username}}\" vinculat",
|
||||
"save_changes": "Desa els canvis",
|
||||
"changes_saved": "Els canvis s'han desat correctament",
|
||||
"download_sources_description": "Hydra buscarà els enllaços de descàrrega d'aquestes fonts. L'URL d'origen ha de ser un enllaç directe a un fitxer .json que contingui els enllaços de descàrrega.",
|
||||
"validate_download_source": "Valida",
|
||||
"remove_download_source": "Elimina",
|
||||
"add_download_source": "Afegeix font",
|
||||
"download_count_zero": "No hi ha baixades a la llista",
|
||||
"download_count_one": "{{countFormatted}} a la llista de baixades",
|
||||
"download_count_other": "{{countFormatted}} baixades a la llista",
|
||||
"download_options_zero": "No hi ha cap descàrrega disponible",
|
||||
"download_options_one": "{{countFormatted}} descàrrega disponible",
|
||||
"download_options_other": "{{countFormatted}} baixades disponibles",
|
||||
"download_source_url": "Descarrega l'URL de la font",
|
||||
"add_download_source_description": "Inseriu la URL que conté el fitxer .json",
|
||||
"download_source_up_to_date": "Actualitzat",
|
||||
"download_source_errored": "S'ha produït un error",
|
||||
"sync_download_sources": "Sincronitza fonts",
|
||||
"removed_download_source": "S'ha eliminat la font de descàrrega",
|
||||
"added_download_source": "Added download source",
|
||||
"download_sources_synced": "Totes les fonts de descàrrega estan sincronitzades",
|
||||
"insert_valid_json_url": "Insereix una URL JSON vàlida",
|
||||
"found_download_option_zero": "No s'ha trobat cap opció de descàrrega",
|
||||
"found_download_option_one": "S'ha trobat l'opció de baixada de {{countFormatted}}",
|
||||
"found_download_option_other": "S'han trobat {{countFormatted}} opcions de baixada",
|
||||
"import": "Import"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "La baixada ha finalitzat",
|
||||
"game_ready_to_install": "{{title}} ja es pot instal·lar",
|
||||
"repack_list_updated": "S'ha actualitzat la llista de reempaquetats",
|
||||
"repack_count_one": "S'ha afegit {{count}} reempaquetat",
|
||||
"repack_count_other": "S'han afegit {{count}} reempaquetats",
|
||||
"new_update_available": "Versió {{version}} disponible",
|
||||
"restart_to_install_update": "Reinicieu Hydra per instal·lar l'actualització"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Obre l'Hydra",
|
||||
"quit": "Tanca"
|
||||
},
|
||||
"game_card": {
|
||||
"no_downloads": "No hi ha baixades disponibles"
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Programes no instal·lats",
|
||||
"description": "No s'ha trobat els executables del Wine o el Lutris al sistema.",
|
||||
"instructions": "Comprova quina és la manera correcta d'instal·lar qualsevol d'ells en la teva distribució de Linux perquè el joc pugui executar-se amb normalitat."
|
||||
},
|
||||
"modal": {
|
||||
"close": "Botó de tancar"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "Commuta la visibilitat de la contrasenya"
|
||||
},
|
||||
"user_profile": {
|
||||
"amount_hours": "{{amount}} hores",
|
||||
"amount_minutes": "{{amount}} minuts",
|
||||
"last_time_played": "Última partida {{period}}",
|
||||
"activity": "Activitat recent",
|
||||
"library": "Biblioteca",
|
||||
"total_play_time": "Temps total de joc:{{amount}}",
|
||||
"no_recent_activity_title": "Hmmm… encara no res",
|
||||
"no_recent_activity_description": "No has jugat a cap joc recentment. És el moment de canviar-ho!",
|
||||
"display_name": "Nom de visualització",
|
||||
"saving": "Desant",
|
||||
"save": "Desa",
|
||||
"edit_profile": "Edita el Perfil",
|
||||
"saved_successfully": "S'ha desat correctament",
|
||||
"try_again": "Siusplau torna-ho a provar",
|
||||
"sign_out_modal_title": "Segur?",
|
||||
"cancel": "Cancel·la",
|
||||
"successfully_signed_out": "S'ha tancat la sessió correctament",
|
||||
"sign_out": "Tanca sessió",
|
||||
"playing_for": "Jugant per {{amount}}",
|
||||
"sign_out_modal_text": "La vostra biblioteca està enllaçada amb el vostre compte actual. Quan tanqueu la sessió, la vostra biblioteca ja no serà visible i cap progrés no es desarà. Voleu continuar amb tancar la sessió?",
|
||||
"add_friends": "Afegeix amics",
|
||||
"add": "Afegeix",
|
||||
"friend_code": "Codi de l'amic",
|
||||
"see_profile": "Veure Perfil",
|
||||
"sending": "Enviant",
|
||||
"friend_request_sent": "Sol·licitud d'amistat enviada",
|
||||
"friends": "Amistats",
|
||||
"friends_list": "Llista d'amistats",
|
||||
"user_not_found": "Usuari no trobat"
|
||||
}
|
||||
}
|
||||
272
src/locales/cs/translation.json
Normal file
272
src/locales/cs/translation.json
Normal file
@@ -0,0 +1,272 @@
|
||||
{
|
||||
"language_name": "Čeština",
|
||||
"app": {
|
||||
"successfully_signed_in": "Úspěšně přihlášen"
|
||||
},
|
||||
"home": {
|
||||
"featured": "Doporučené",
|
||||
"trending": "Trendy",
|
||||
"surprise_me": "Překvap mě",
|
||||
"no_results": "Výsledek nenalezen"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Katalog",
|
||||
"downloads": "Stažené",
|
||||
"settings": "Nastavení",
|
||||
"my_library": "Moje knihovna",
|
||||
"downloading_metadata": "{{title}} (Stahuji metadata…)",
|
||||
"paused": "{{title}} (Pozastaveno)",
|
||||
"downloading": "{{title}} ({{percentage}} - Stahuji…)",
|
||||
"filter": "Filtrovat knihovnu",
|
||||
"home": "Domov",
|
||||
"queued": "{{title}} (V řadě)",
|
||||
"game_has_no_executable": "Hra nemá zvolen žádný spustitelný soubor",
|
||||
"sign_in": "Přihlásit se"
|
||||
},
|
||||
"header": {
|
||||
"search": "Vyhledat hry",
|
||||
"home": "Domov",
|
||||
"catalogue": "Katalog",
|
||||
"downloads": "Stažené",
|
||||
"search_results": "Výsledky vyhledávání",
|
||||
"settings": "Nastavení",
|
||||
"version_available_install": "Je dostupná nová verze: {{version}}. Klikni sem pro restart a instalaci.",
|
||||
"version_available_download": "Je dostupná nová verze: {{version}}. Klikni sem pro stažení."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Neprobíhá žádné stahování",
|
||||
"downloading_metadata": "Stahuji metadata: {{title}}…",
|
||||
"downloading": "Stahuji {{title}}… ({{percentage}} staženo) - Odhadovaný čas {{eta}} - {{speed}}",
|
||||
"calculating_eta": "Stahuji {{title}}… ({{percentage}} staženo) - Počítám zbývající čas…",
|
||||
"checking_files": "Kontroluji soubory: {{title}}… ({{percentage}} ověřeno)"
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "Další strana",
|
||||
"previous_page": "Předchozí strana"
|
||||
},
|
||||
"game_details": {
|
||||
"open_download_options": "Otevřít možnosti stahování",
|
||||
"download_options_zero": "Žádné možnosti stahování",
|
||||
"download_options_one": "{{count}} možnost stažení",
|
||||
"download_options_other": "{{count}} možnosti stažení",
|
||||
"updated_at": "Aktualizováno {{updated_at}}",
|
||||
"install": "Instalovat",
|
||||
"resume": "Obnovit",
|
||||
"pause": "Pozastavit",
|
||||
"cancel": "Zrušit",
|
||||
"remove": "Odebrat",
|
||||
"space_left_on_disk": "{{space}} zbývá na disku",
|
||||
"eta": "Odhadovaný čas: {{eta}}",
|
||||
"calculating_eta": "Počítám zbývající čas…",
|
||||
"downloading_metadata": "Stahuji metadata…",
|
||||
"filter": "Filtrovat repacky",
|
||||
"requirements": "Systémové požadavky",
|
||||
"minimum": "Minimální",
|
||||
"recommended": "Doporučené",
|
||||
"paused": "Pozastaveno",
|
||||
"release_date": "Datum vydání: {{date}}",
|
||||
"publisher": "Publikováno: {{publisher}}",
|
||||
"hours": "hodiny",
|
||||
"minutes": "minuty",
|
||||
"amount_hours": "{{amount}} hodin",
|
||||
"amount_minutes": "{{amount}} minut",
|
||||
"accuracy": "Přesnost {{accuracy}}%",
|
||||
"add_to_library": "Přidat do knihovny",
|
||||
"remove_from_library": "Odebrat z knihovny",
|
||||
"no_downloads": "Žádné možnosti stahování nejsou dostupné",
|
||||
"play_time": "Odehraný čas: {{amount}}",
|
||||
"last_time_played": "Naposledy hráno {{period}}",
|
||||
"not_played_yet": "Ješte jste nehráli {{title}}",
|
||||
"next_suggestion": "Další doporučení",
|
||||
"play": "Hrát",
|
||||
"deleting": "Odstraňuji instalační program…",
|
||||
"close": "Zavřít",
|
||||
"playing_now": "Právě hraje",
|
||||
"change": "Změnit",
|
||||
"repacks_modal_description": "Vyber repack který chceš stáhnout",
|
||||
"select_folder_hint": "Pro změnu základní složky, jdi do <0>Nastavení</0>",
|
||||
"download_now": "Stáhnout",
|
||||
"no_shop_details": "Nepodařilo se mi načíst informace o obchodu.",
|
||||
"download_options": "Možnosti stahování",
|
||||
"download_path": "Umístění stahování",
|
||||
"previous_screenshot": "Předchozí snímek obrazovky",
|
||||
"next_screenshot": "Následující snímek obrazovky",
|
||||
"screenshot": "Snímek obrazovky {{number}}",
|
||||
"open_screenshot": "Otevřít snímek obrazovky {{number}}",
|
||||
"download_settings": "Nastavení stahování",
|
||||
"downloader": "Správce stahování",
|
||||
"select_executable": "Vybrat",
|
||||
"no_executable_selected": "Nebyl vybrán spustitelný soubor",
|
||||
"open_folder": "Otevřít složku",
|
||||
"open_download_location": "Zobrazit stažené soubory",
|
||||
"create_shortcut": "Vytvořit zástupce na ploše",
|
||||
"remove_files": "Odebrat soubory",
|
||||
"remove_from_library_title": "Jste si jisti?",
|
||||
"remove_from_library_description": "Tohle odstraní {{game}} z vaší knihovny",
|
||||
"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_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",
|
||||
"download_in_progress": "Probíhá stahování",
|
||||
"download_paused": "Stahování pozastaveno",
|
||||
"last_downloaded_option": "Poslední stažená možnost",
|
||||
"create_shortcut_success": "Zástupce vytvořen úspěšně",
|
||||
"create_shortcut_error": "Chyba při pokusu vytvořit zástupce"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Aktivovat hydru",
|
||||
"installation_id": "ID instalace:",
|
||||
"enter_activation_code": "Zadej svůj aktivační kód",
|
||||
"message": "Pokud nevíš, kde ten kód sehnat, tak by jsi k tomuhle neměl mít přístup.",
|
||||
"activate": "Aktivovat",
|
||||
"loading": "Načítání…"
|
||||
},
|
||||
"downloads": {
|
||||
"resume": "Pokračovat",
|
||||
"pause": "Pozastavit",
|
||||
"eta": "Odhadovaný čas: {{eta}}",
|
||||
"paused": "Pozastaveno",
|
||||
"verifying": "Ověřuji…",
|
||||
"completed": "Hotovo",
|
||||
"removed": "Není staženo",
|
||||
"cancel": "Zrušit",
|
||||
"filter": "Filtrovat stažené hry",
|
||||
"remove": "Odebrat",
|
||||
"downloading_metadata": "Stahuji metadata…",
|
||||
"deleting": "Odstraňuji instalační program…",
|
||||
"delete": "Odebrat instalační program",
|
||||
"delete_modal_title": "Jste si jisti?",
|
||||
"delete_modal_description": "Tohle odstraní všechny instalační soubory",
|
||||
"install": "Instalovat",
|
||||
"download_in_progress": "Probíhá stahování",
|
||||
"queued_downloads": "Stahování v řadě",
|
||||
"downloads_completed": "Dokončeno",
|
||||
"queued": "V řadě",
|
||||
"no_downloads_title": "Prázdno..",
|
||||
"no_downloads_description": "Ještě jsi zatím nic nestáhl přes Hydru, ale furt není pozdě začít.",
|
||||
"checking_files": "Kontroluji soubory…"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Umístění stahování",
|
||||
"change": "Aktualizovat",
|
||||
"notifications": "Upozornění",
|
||||
"enable_download_notifications": "Až bude stahování dokončeno",
|
||||
"enable_repack_list_notifications": "Když bude přidán nový repack",
|
||||
"real_debrid_api_token_label": "Real-Debrid API token",
|
||||
"quit_app_instead_hiding": "Nezavírat Hydru při zavření okna",
|
||||
"launch_with_system": "Spustit Hydru při startu systému",
|
||||
"general": "Hlavní",
|
||||
"behavior": "Chování",
|
||||
"download_sources": "Zdroje stahování",
|
||||
"language": "Jazyk",
|
||||
"real_debrid_api_token": "API Token",
|
||||
"enable_real_debrid": "Povolit Real-Debrid",
|
||||
"real_debrid_description": "Real-Debrid je neomezený správce stahování, který umožňuje stahovat soubory v nejvyšší rychlosti vašeho internetu.",
|
||||
"real_debrid_invalid_token": "Neplatný API token",
|
||||
"real_debrid_api_token_hint": "API token můžeš sehnat <0>zde</0>",
|
||||
"real_debrid_free_account_error": "Účet \"{{username}}\" má základní úroveň. Prosím předplaťte si Real-Debrid",
|
||||
"real_debrid_linked_message": "Účet \"{{username}}\" je propojen",
|
||||
"save_changes": "Uložit změny",
|
||||
"changes_saved": "Změny úspěšně uloženy",
|
||||
"download_sources_description": "Hydra bude odsud sbírat soubory. Zdrojový odkaz musí být .json soubor obsahující odkazy na soubory.",
|
||||
"validate_download_source": "Ověřit",
|
||||
"remove_download_source": "Odebrat",
|
||||
"add_download_source": "Přidat zdroj",
|
||||
"download_count_zero": "Žádná možnost stažení",
|
||||
"download_count_one": "{{countFormatted}} možnost stažení",
|
||||
"download_count_other": "{{countFormatted}} možnosti stažení",
|
||||
"download_source_url": "Stáhnout zdrojový odkaz",
|
||||
"add_download_source_description": "Zadej odkaz odkazující na .json soubor",
|
||||
"download_source_up_to_date": "Aktuální",
|
||||
"download_source_errored": "Chyba",
|
||||
"sync_download_sources": "Synchronizovat zdroje",
|
||||
"removed_download_source": "Zdroj odebrán",
|
||||
"added_download_source": "Zdroj přidán",
|
||||
"download_sources_synced": "Všechny zdroje jsou synchronizovány",
|
||||
"insert_valid_json_url": "Zadej platnou JSON adresu",
|
||||
"found_download_option_zero": "Nenalezena žádná možnost stahování",
|
||||
"found_download_option_one": "Nalezena {{countFormatted}} možnost stahování",
|
||||
"found_download_option_other": "Nalezeny {{countFormatted}} možnosti stahování",
|
||||
"import": "Importovat"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Stahování dokončeno",
|
||||
"game_ready_to_install": "{{title}} je připraveno k instalaci",
|
||||
"repack_list_updated": "Seznam repacků byl aktualizován",
|
||||
"repack_count_one": "{{count}} repack přidán",
|
||||
"repack_count_other": "{{count}} repacky přidány",
|
||||
"new_update_available": "Version {{version}} je dostupná",
|
||||
"restart_to_install_update": "Restartuj Hydru pro aktualizaci"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Otevřít Hydru",
|
||||
"quit": "Odejít"
|
||||
},
|
||||
"game_card": {
|
||||
"no_downloads": "Žádné možnosti stahování nenalezeny"
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Programy nenainstalovány",
|
||||
"description": "Spustitelné soubory Wine nebo Lutris nebyly nalezeny ve vašem systému",
|
||||
"instructions": "Zkonstroluj oficiální cestu jak je nainstalovat na tvoji Linux Distribuci, aby hry mohly běžet normálně"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Tlačítko zavřít"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "Přepnout viditelnost hesla"
|
||||
},
|
||||
"user_profile": {
|
||||
"amount_hours": "{{amount}} hodin",
|
||||
"amount_minutes": "{{amount}} minut",
|
||||
"last_time_played": "Naposledy hráno {{period}}",
|
||||
"activity": "Nedávná aktivita",
|
||||
"library": "Knihovna",
|
||||
"total_play_time": "Celkový odehraný čas: {{amount}}",
|
||||
"no_recent_activity_title": "Hmmm… nic tu není",
|
||||
"no_recent_activity_description": "V poslední době si nehrál žádnout hru, můžeš to ale napravit!",
|
||||
"display_name": "Zobrazované jméno",
|
||||
"saving": "Ukládání",
|
||||
"save": "Uložit",
|
||||
"edit_profile": "Upravit profil",
|
||||
"saved_successfully": "Úspěšně uloženo",
|
||||
"try_again": "Prosím, zkuste to znovu",
|
||||
"sign_out_modal_title": "Jste si jisti?",
|
||||
"cancel": "Zrušit",
|
||||
"successfully_signed_out": "Úspěšně odhlášeno",
|
||||
"sign_out": "Odhlásit se",
|
||||
"playing_for": "Hraje po: {{amount}}",
|
||||
"sign_out_modal_text": "Vaše knihovna je propojena s vaším současným účtem. Po odhlášení vaše knihovna již nebude vidět, a postup nebude uložen. Pokračovat?",
|
||||
"add_friends": "Přidat přátele",
|
||||
"add": "Přidat",
|
||||
"friend_code": "Kód přítele",
|
||||
"see_profile": "Zobrazit profil",
|
||||
"sending": "Odesílání",
|
||||
"friend_request_sent": "Žádost odeslána",
|
||||
"friends": "Přátelé",
|
||||
"friends_list": "Seznam přátel",
|
||||
"user_not_found": "Uživatel nenalezen",
|
||||
"block_user": "Zablokovat uživatele",
|
||||
"add_friend": "Přidat přítele",
|
||||
"request_sent": "Žádost odeslána",
|
||||
"request_received": "Žádost obdržena",
|
||||
"accept_request": "Přijmout žádost",
|
||||
"ignore_request": "Ignorovat žádost",
|
||||
"cancel_request": "Zrušit žádost",
|
||||
"undo_friendship": "Odvolat přátelství",
|
||||
"request_accepted": "Žádost přijata",
|
||||
"user_blocked_successfully": "Uživatel úspěšně zablokován",
|
||||
"user_block_modal_text": "Tohle zablokuje {{displayName}}",
|
||||
"blocked_users": "Zablokovaní uživatelé",
|
||||
"unblock": "Odblokovat",
|
||||
"no_friends_added": "Nemáš přidané žádné přátele",
|
||||
"pending": "Odchozí",
|
||||
"no_pending_invites": "Nemáte žádné příchozí žádosti",
|
||||
"no_blocked_users": "Nemáte nikoho zablokovaného",
|
||||
"friend_code_copied": "Kód přítele zkopírován",
|
||||
"undo_friendship_modal_text": "Tímto zrušíte své přátelství s {{displayName}}"
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,16 @@
|
||||
{
|
||||
"language_name": "Dansk",
|
||||
"app": {
|
||||
"successfully_signed_in": "Loggede ind successfuldt"
|
||||
},
|
||||
"home": {
|
||||
"featured": "Anbefalet",
|
||||
"recently_added": "Nyligt tilføjet",
|
||||
"trending": "Trender",
|
||||
"surprise_me": "Overrask mig",
|
||||
"no_results": "Ingen resultater fundet"
|
||||
"no_results": "Ingen resultater fundet",
|
||||
"start_typing": "Begynd at skrive for at søge...",
|
||||
"hot": "Populært lige nu",
|
||||
"weekly": "📅 Mest populære spil denne uge"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Katalog",
|
||||
@@ -12,34 +18,35 @@
|
||||
"settings": "Indstillinger",
|
||||
"my_library": "Mit bibliotek",
|
||||
"downloading_metadata": "{{title}} (Downloader metadata…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Tjekker filer…)",
|
||||
"paused": "{{title}} (Paused)",
|
||||
"downloading": "{{title}} ({{percentage}} - Downloading…)",
|
||||
"filter": "Filtrer bibliotek",
|
||||
"follow_us": "Følg os",
|
||||
"paused": "{{title}} (Sat på pause)",
|
||||
"downloading": "{{title}} ({{percentage}} - Downloader…)",
|
||||
"filter": "Filtrér bibliotek",
|
||||
"home": "Hjem",
|
||||
"discord": "Tilslut dig vores Discord",
|
||||
"telegram": "Tilslut dig vores Telegram",
|
||||
"x": "Følg på X",
|
||||
"github": "Bidrag på GitHub"
|
||||
"queued": "{{title}} (I køen)",
|
||||
"game_has_no_executable": "Spillet har ikke nogen eksekverbar fil valgt",
|
||||
"sign_in": "Log ind",
|
||||
"friends": "Venner"
|
||||
},
|
||||
"header": {
|
||||
"search": "Søg spil",
|
||||
"search": "Søg efter spil",
|
||||
"home": "Hjem",
|
||||
"catalogue": "Katalog",
|
||||
"downloads": "Downloads",
|
||||
"search_results": "Søge resultater",
|
||||
"settings": "Indstillinger"
|
||||
"settings": "Indstillinger",
|
||||
"version_available_install": "Version {{version}} tilgængelig. Klik her for at genstarte og installere.",
|
||||
"version_available_download": "Version {{version}} tilgængelig. Klik her for at downloade."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Ingen downloads igang",
|
||||
"downloading_metadata": "Downloader {{title}} metadata…",
|
||||
"checking_files": "Tjekker {{title}} filer… ({{percentage}} færdig)",
|
||||
"downloading": "Downloader {{title}}… ({{percentage}} færdig) - Konklusion {{eta}} - {{speed}}"
|
||||
"downloading": "Downloader {{title}}… ({{percentage}} færdig) - Fuldt downloadet {{eta}} - {{speed}}",
|
||||
"calculating_eta": "Downloader {{title}}… ({{percentage}} færdig) - Udregner resterende tid…",
|
||||
"checking_files": "Checker {{title}} filer… ({{percentage}} færdig)"
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "Næste side",
|
||||
"previous_page": "Tidligere side"
|
||||
"previous_page": "Forrige side"
|
||||
},
|
||||
"game_details": {
|
||||
"open_download_options": "Åben download muligheder",
|
||||
@@ -52,22 +59,17 @@
|
||||
"pause": "Pause",
|
||||
"cancel": "Annullér",
|
||||
"remove": "Fjern",
|
||||
"remove_from_list": "Fjern",
|
||||
"space_left_on_disk": "{{space}} tilbage på harddisken",
|
||||
"eta": "Konklusion {{eta}}",
|
||||
"calculating_eta": "Udregner resterende tid…",
|
||||
"downloading_metadata": "Downloader metadata…",
|
||||
"checking_files": "Tjekker filer…",
|
||||
"filter": "Filtrer repacks",
|
||||
"filter": "Filtrér repacks",
|
||||
"requirements": "System behov",
|
||||
"minimum": "Mindste",
|
||||
"recommended": "Anbefalet",
|
||||
"no_minimum_requirements": "{{title}} angiver ikke mindste behov informationer",
|
||||
"no_recommended_requirements": "{{title}} angiver ikke anbefalet behov informationer",
|
||||
"paused_progress": "{{progress}} (Pauset)",
|
||||
"paused": "Sat på pause",
|
||||
"release_date": "Offentliggjort den {{date}}",
|
||||
"publisher": "Udgivet af {{publisher}}",
|
||||
"copy_link_to_clipboard": "Kopier link",
|
||||
"copied_link_to_clipboard": "Link kopieret",
|
||||
"hours": "timer",
|
||||
"minutes": "minutter",
|
||||
"amount_hours": "{{amount}} timer",
|
||||
@@ -84,19 +86,51 @@
|
||||
"deleting": "Sletter installatør…",
|
||||
"close": "Luk",
|
||||
"playing_now": "Spiller nu",
|
||||
"change": "Ændré",
|
||||
"change": "Ændre",
|
||||
"repacks_modal_description": "Vælg den repack du vil downloade",
|
||||
"downloads_path": "Downloads sti",
|
||||
"select_folder_hint": "For at ændre standard mappen, gå til <0>Instillingerne</0>",
|
||||
"download_now": "Download nu",
|
||||
"installation_instructions": "Installations Instrukser",
|
||||
"installation_instructions_description": "Yderligere skridt er krævet for at installere dette spil",
|
||||
"online_fix_instruction": "OnlineFix spil kræver et kodeord for at kunne blive udpakket. Når krævet, brug det følgende kodeord:",
|
||||
"dodi_installation_instruction": "Når du åbner DODI installatør, tryk på op-knappen på dit tastatur <0 /> for at starte installations processen:",
|
||||
"dont_show_it_again": "Vis ikke igen",
|
||||
"copy_to_clipboard": "Kopier",
|
||||
"copied_to_clipboard": "Kopieret",
|
||||
"got_it": "Forstået"
|
||||
"no_shop_details": "Kunne ikke modtage butiks detaljerne.",
|
||||
"download_options": "Download muligheder",
|
||||
"download_path": "Download sti",
|
||||
"previous_screenshot": "Forrige skærmbillede",
|
||||
"next_screenshot": "Næste skærmbillede",
|
||||
"screenshot": "Skærmbillede {{number}}",
|
||||
"open_screenshot": "Åben skærmbillede {{number}}",
|
||||
"download_settings": "Download indstillinger",
|
||||
"downloader": "Downloader",
|
||||
"select_executable": "Vælg",
|
||||
"no_executable_selected": "Ingen eksekverbar fil valgt",
|
||||
"open_folder": "Åben mappe",
|
||||
"open_download_location": "Se downloadede filer",
|
||||
"create_shortcut": "Lav skrivebords genvej",
|
||||
"remove_files": "Fjern filer",
|
||||
"remove_from_library_title": "Er du sikker?",
|
||||
"remove_from_library_description": "Dette vil fjerne {{game}} fra dit bibliotek",
|
||||
"options": "Valgmuligheder",
|
||||
"executable_section_title": "Eksekverbar fil",
|
||||
"executable_section_description": "Sti til filen som skal bruges når \"Spil\" bliver klikket",
|
||||
"downloads_secion_title": "Downloads",
|
||||
"downloads_section_description": "Undersøg opdateringer eller andre versioner af dette spil",
|
||||
"danger_zone_section_title": "Farezonen",
|
||||
"danger_zone_section_description": "Fjern dette spil fra dit bibliotek eller filerne der er blevet downloadet af Hydra",
|
||||
"download_in_progress": "Download undervejs",
|
||||
"download_paused": "Download sat på pause",
|
||||
"last_downloaded_option": "Sidste download mulighed",
|
||||
"create_shortcut_success": "Genvej lavet successfuldt",
|
||||
"create_shortcut_error": "Fejl under skabelsen af genvej",
|
||||
"nsfw_content_title": "Dette spil indeholder upassende indhold",
|
||||
"nsfw_content_description": "{{title}} indeholder indhold der ikke egner sig til alle aldre. Er du sikker på at du vil fortsætte?",
|
||||
"allow_nsfw_content": "Fortsæt",
|
||||
"refuse_nsfw_content": "Gå tilbage",
|
||||
"stats": "Statistik",
|
||||
"download_count": "Downloads",
|
||||
"player_count": "Aktive spillere",
|
||||
"download_error": "Denne download mulighed er ikke tilgængelig",
|
||||
"download": "Download",
|
||||
"executable_path_in_use": "Eksekverbar allerede i brug af \"{{game}}\"",
|
||||
"warning": "Advarsel:",
|
||||
"hydra_needs_to_remain_open": "Hydra skal forblive åbent for at denne download kan gennemføres. I tilfælde af at Hydra lukker før downloaden er færdig, mister du dit fremskridt."
|
||||
},
|
||||
"activation": {
|
||||
"title": "Aktivér Hydra",
|
||||
@@ -104,57 +138,95 @@
|
||||
"enter_activation_code": "Indtast din aktiverings kode",
|
||||
"message": "Hvis du ikke ved hvor du skal spørge om dette, burde du ikke have dette.",
|
||||
"activate": "Aktivér",
|
||||
"loading": "Loader…"
|
||||
"loading": "Indlæser…"
|
||||
},
|
||||
"downloads": {
|
||||
"resume": "Fortsæt",
|
||||
"pause": "Pause",
|
||||
"eta": "Konklusion {{eta}}",
|
||||
"paused": "Pauset",
|
||||
"paused": "Sat på pause",
|
||||
"verifying": "Verificerer…",
|
||||
"completed_at": "Færdiggjort på {{date}}",
|
||||
"completed": "Færdigt",
|
||||
"cancelled": "Annulleret",
|
||||
"download_again": "Download igen",
|
||||
"removed": "Ikke downloadet",
|
||||
"cancel": "Annullér",
|
||||
"filter": "Filtrer downloadet spil",
|
||||
"filter": "Filtrér downloadet spil",
|
||||
"remove": "Fjern",
|
||||
"downloading_metadata": "Downloader metadata…",
|
||||
"checking_files": "Tjekker filer…",
|
||||
"starting_download": "Starter download…",
|
||||
"deleting": "Sletter installatør…",
|
||||
"delete": "Fjern installatør",
|
||||
"remove_from_list": "Fjern",
|
||||
"delete_modal_title": "Er du sikker?",
|
||||
"delete_modal_description": "Dette vil fjerne alle installations filerne fra din computer",
|
||||
"install": "Installér",
|
||||
"real_debrid": "Real Debrid",
|
||||
"torrent": "Torrent"
|
||||
"download_in_progress": "Undervejs",
|
||||
"queued_downloads": "Downloadkø",
|
||||
"downloads_completed": "Gennemførte",
|
||||
"queued": "I kø",
|
||||
"no_downloads_title": "Rimelig tomt",
|
||||
"no_downloads_description": "Du har ikke downloadet noget med Hydra endnu, men det er aldrig for sent at begynde.",
|
||||
"checking_files": "Undersøger filer…"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Downloads sti",
|
||||
"change": "Opdatering",
|
||||
"change": "Opdatér",
|
||||
"notifications": "Notifikationer",
|
||||
"enable_download_notifications": "Når et download bliver færdigt",
|
||||
"enable_download_notifications": "Når en download bliver færdigt",
|
||||
"enable_repack_list_notifications": "Når en ny repack bliver tilføjet",
|
||||
"telemetry": "Telemetri",
|
||||
"telemetry_description": "Slå anonymt brugs statistik til",
|
||||
"real_debrid_api_token_description": "Real Debrid API token",
|
||||
"real_debrid_api_token_label": "Real-Debrid API nøgle",
|
||||
"quit_app_instead_hiding": "Afslut Hydra instedet for at minimere til processlinjen",
|
||||
"launch_with_system": "Åben Hydra ved start af systemet",
|
||||
"general": "Generelt",
|
||||
"behavior": "Opførsel",
|
||||
"enable_real_debrid": "Slå Real Debrid til",
|
||||
"real_debrid": "Real Debrid",
|
||||
"real_debrid_api_token_hint": "Du kan få din API nøgle <0>her</0>.",
|
||||
"save_changes": "Gem ændringer"
|
||||
"download_sources": "Download kilder",
|
||||
"language": "Sprog",
|
||||
"real_debrid_api_token": "API nøgle",
|
||||
"enable_real_debrid": "Slå Real-Debrid til",
|
||||
"real_debrid_description": "Real-Debrid er en ubegrænset downloader der gør det muligt for dig at downloade filer med det samme og med den bedste udnyttelse af din internet hastighed.",
|
||||
"real_debrid_invalid_token": "Ugyldig API nøgle",
|
||||
"real_debrid_api_token_hint": "Du kan få din API nøgle <0>her</0>",
|
||||
"real_debrid_free_account_error": "Brugeren \"{{username}}\" er en gratis bruger. Venligst abbonér på Real-Debrid",
|
||||
"real_debrid_linked_message": "Brugeren \"{{username}}\" er forbundet",
|
||||
"save_changes": "Gem ændringer",
|
||||
"changes_saved": "Ændringer gemt successfuldt",
|
||||
"download_sources_description": "Hydra vil hente download links fra disse kilder. Kilde URLen skal være et direkte link til en .json fil der indeholder download linkene.",
|
||||
"validate_download_source": "Validér",
|
||||
"remove_download_source": "Fjern",
|
||||
"add_download_source": "Tilføj kilde",
|
||||
"download_count_zero": "Ingen download muligheder",
|
||||
"download_count_one": "{{countFormatted}} download mulighed",
|
||||
"download_count_other": "{{countFormatted}} download muligheder",
|
||||
"download_source_url": "Download kilde URL",
|
||||
"add_download_source_description": "Indsæt URLen der indeholder .json filen",
|
||||
"download_source_up_to_date": "Op til dato",
|
||||
"download_source_errored": "Fejlede",
|
||||
"sync_download_sources": "Synkronisér kilder",
|
||||
"removed_download_source": "Download kilde fjernet",
|
||||
"added_download_source": "Tilføjede download kilde",
|
||||
"download_sources_synced": "Alle download kilder er synkroniserede",
|
||||
"insert_valid_json_url": "Indsæt en gyldig JSON url",
|
||||
"found_download_option_zero": "Ingen download mulighed fundet",
|
||||
"found_download_option_one": "Fandt {{countFormatted}} download mulighed",
|
||||
"found_download_option_other": "Fandt {{countFormatted}} download mulighed",
|
||||
"import": "Importér",
|
||||
"public": "Offentlig",
|
||||
"private": "Privat",
|
||||
"friends_only": "Kun blandt venner",
|
||||
"privacy": "Privatliv",
|
||||
"profile_visibility": "Synlighed af profil",
|
||||
"profile_visibility_description": "Vælg hvem der kan se din profil og dit bibliotek",
|
||||
"required_field": "Dette felt er påkrævet",
|
||||
"source_already_exists": "Denne kilde er allerede blevet tilføjet",
|
||||
"must_be_valid_url": "Kilden skal være en gyldig URL",
|
||||
"blocked_users": "Blokerede brugere",
|
||||
"user_unblocked": "Brugeren er blevet afblokeret"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Download færdig",
|
||||
"game_ready_to_install": "{{title}} er klar til at installeret",
|
||||
"repack_list_updated": "Repack liste opdateret",
|
||||
"repack_count_one": "{{count}} repack tilføjet",
|
||||
"repack_count_other": "{{count}} repacks tilføjet"
|
||||
"repack_count_other": "{{count}} repacks tilføjet",
|
||||
"new_update_available": "Version {{version}} tilgængelig",
|
||||
"restart_to_install_update": "Genstart Hydra for at installere opdateringen"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Åben Hydra",
|
||||
@@ -165,10 +237,80 @@
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Programmer ikke installeret",
|
||||
"description": "Wine eller Lutris eksekverbare blev ikke fundet på dit system",
|
||||
"description": "Wine eller Lutris eksekverbar blev ikke fundet på dit system",
|
||||
"instructions": "Tjek den korrekte måde at installere nogle af dem, på din Linux distribution, så spillet kan køre normalt"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Luk knap"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "Skift synlighed af kodeord"
|
||||
},
|
||||
"user_profile": {
|
||||
"amount_hours": "{{amount}} timer",
|
||||
"amount_minutes": "{{amount}} minuter",
|
||||
"last_time_played": "Sidst spillet {{period}}",
|
||||
"activity": "Seneste aktivitet",
|
||||
"library": "Bibliotek",
|
||||
"total_play_time": "Samlet spiltid: {{amount}}",
|
||||
"no_recent_activity_title": "Hmmm… ikke noget her",
|
||||
"no_recent_activity_description": "Du har ikke spillet nogen spil for nyligt. Dét er det på tide at lave om på!",
|
||||
"display_name": "Brugernavn",
|
||||
"saving": "Gemmer",
|
||||
"save": "Gem",
|
||||
"edit_profile": "Redigér Profil",
|
||||
"saved_successfully": "Gemt successfuldt",
|
||||
"try_again": "Venligst, prøv igen",
|
||||
"sign_out_modal_title": "Er du sikker?",
|
||||
"cancel": "Annullér",
|
||||
"successfully_signed_out": "Loggede ud successfuldt",
|
||||
"sign_out": "Log ud",
|
||||
"playing_for": "Spiller i {{amount}}",
|
||||
"sign_out_modal_text": "Dit bibliotek er koblet sammen med din nuværende bruger. Når du logger ud er dit bibliotek ikke synligt længere, og nogen som helst form for fremskridt bliver ikke gemt. Vil du fortsætte med at logge ud?",
|
||||
"add_friends": "Tilføj venner",
|
||||
"add": "Tilføj",
|
||||
"friend_code": "Venne kode",
|
||||
"see_profile": "Se profil",
|
||||
"sending": "Sender",
|
||||
"friend_request_sent": "Venne anmodning sendt",
|
||||
"friends": "Venner",
|
||||
"friends_list": "Venne liste",
|
||||
"user_not_found": "Bruger ikke fundet",
|
||||
"block_user": "Blokér bruger",
|
||||
"add_friend": "Tilføj ven",
|
||||
"request_sent": "Anmodning sendt",
|
||||
"request_received": "Anmodning modtaget",
|
||||
"accept_request": "Acceptér anmodning",
|
||||
"ignore_request": "Ignorér anmodning",
|
||||
"cancel_request": "Annullér anmodning",
|
||||
"undo_friendship": "Fortryd venskab",
|
||||
"request_accepted": "Anmodning accepteret",
|
||||
"user_blocked_successfully": "Bruger blokeret successfuldt",
|
||||
"user_block_modal_text": "Dette blokerer {{displayName}}",
|
||||
"blocked_users": "Blokerede brugere",
|
||||
"unblock": "Afblokér",
|
||||
"no_friends_added": "Du har stadig ikke tilføjet nogen venner",
|
||||
"pending": "Afventer",
|
||||
"no_pending_invites": "Du har ingen afventende invitationer",
|
||||
"no_blocked_users": "Du har ingen blokerede brugere",
|
||||
"friend_code_copied": "Venne kode kopieret",
|
||||
"undo_friendship_modal_text": "Dette vil fortryde dit venskab med {{displayName}}",
|
||||
"privacy_hint": "For at justere hvem der kan se dette, gå til <0>Indstillingerne</0>",
|
||||
"locked_profile": "Denne profil er privat",
|
||||
"image_process_failure": "Fejlede under håndteringen af billedet",
|
||||
"required_field": "Dette felt er påkrævet",
|
||||
"displayname_min_length": "Brugernavnet skal være mindst 3 karakterer langt",
|
||||
"displayname_max_length": "Brugernavnet skal være højest 50 karakterer langt",
|
||||
"report_profile": "Rapportér denne profil",
|
||||
"report_reason": "Hvorfor rapportérer du denne profil?",
|
||||
"report_description": "Yderligere information",
|
||||
"report_description_placeholder": "Yderligere information",
|
||||
"report": "Rapportér",
|
||||
"report_reason_hate": "Hadefuld tale",
|
||||
"report_reason_sexual_content": "Seksuelt indhold",
|
||||
"report_reason_violence": "Vold",
|
||||
"report_reason_spam": "Spam",
|
||||
"report_reason_other": "Andet",
|
||||
"profile_reported": "Profil rapporteret"
|
||||
}
|
||||
}
|
||||
|
||||
272
src/locales/de/translation.json
Normal file
272
src/locales/de/translation.json
Normal file
@@ -0,0 +1,272 @@
|
||||
{
|
||||
"language_name": "Deutsch",
|
||||
"app": {
|
||||
"successfully_signed_in": "Erfolgreich angemeldet"
|
||||
},
|
||||
"home": {
|
||||
"featured": "Empfohlen",
|
||||
"trending": "Beliebt",
|
||||
"surprise_me": "Überrasche mich",
|
||||
"no_results": "Keine Ergebnisse gefunden"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Katalog",
|
||||
"downloads": "Downloads",
|
||||
"settings": "Einstellungen",
|
||||
"my_library": "Meine Bibliothek",
|
||||
"downloading_metadata": "{{title}} (Metadaten werden heruntergeladen…)",
|
||||
"paused": "{{title}} (Pausiert)",
|
||||
"downloading": "{{title}} ({{percentage}} - Wird heruntergeladen…)",
|
||||
"filter": "Bibliothek filtern",
|
||||
"home": "Home",
|
||||
"queued": "{{title}} (In Warteschlange)",
|
||||
"game_has_no_executable": "Spiel hat keine ausführbare Datei gewählt",
|
||||
"sign_in": "Anmelden"
|
||||
},
|
||||
"header": {
|
||||
"search": "Spiele suchen",
|
||||
"home": "Home",
|
||||
"catalogue": "Katalog",
|
||||
"downloads": "Downloads",
|
||||
"search_results": "Suchergebnisse",
|
||||
"settings": "Einstellungen",
|
||||
"version_available_install": "Version {{version}} verfügbar. Klicke hier, um neuzustarten und sie zu installieren.",
|
||||
"version_available_download": "Version {{version}} verfügbar. Klicke hier, um sie herunterzuladen."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Keine aktive Downloads",
|
||||
"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)"
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "Nächste Seite",
|
||||
"previous_page": "Vorherige Seite"
|
||||
},
|
||||
"game_details": {
|
||||
"open_download_options": "Download-Optionen öffnen",
|
||||
"download_options_zero": "Keine Download-Optionen",
|
||||
"download_options_one": "{{count}} Download-Option",
|
||||
"download_options_other": "{{count}} Download-Optionen",
|
||||
"updated_at": "Aktualisiert {{updated_at}}",
|
||||
"install": "Installieren",
|
||||
"resume": "Fortfahren",
|
||||
"pause": "Pausieren",
|
||||
"cancel": "Abbrechen",
|
||||
"remove": "Entfernen",
|
||||
"space_left_on_disk": "{{space}} auf Festplatte verfügbar",
|
||||
"eta": "Abschluss {{eta}}",
|
||||
"calculating_eta": "Verbleibende Zeit wird berechnet…",
|
||||
"downloading_metadata": "Metadaten werden heruntergeladen…",
|
||||
"filter": "Repacks filtern",
|
||||
"requirements": "Systemanforderungen",
|
||||
"minimum": "Minimum",
|
||||
"recommended": "Empfohlen",
|
||||
"paused": "Pausiert",
|
||||
"release_date": "Veröffentlicht am {{date}}",
|
||||
"publisher": "Veröffentlicht von {{publisher}}",
|
||||
"hours": "Stunden",
|
||||
"minutes": "Minuten",
|
||||
"amount_hours": "{{amount}} Stunden",
|
||||
"amount_minutes": "{{amount}} Minuten",
|
||||
"accuracy": "{{accuracy}}% Genauigkeit",
|
||||
"add_to_library": "Zu Bibliothek hinzufügen",
|
||||
"remove_from_library": "Von Bibliothek entfernen",
|
||||
"no_downloads": "Keine Downloads verfügbar",
|
||||
"play_time": "{{amount}} lang gespielt",
|
||||
"last_time_played": "Zuletzt gespielt {{period}}",
|
||||
"not_played_yet": "{{title}} wurde noch nicht gespielt",
|
||||
"next_suggestion": "Nächste Empfehlung",
|
||||
"play": "Spielen",
|
||||
"deleting": "Installer wird gelöscht…",
|
||||
"close": "Schließen",
|
||||
"playing_now": "Spielt jetzt",
|
||||
"change": "Ändern",
|
||||
"repacks_modal_description": "Wähle das Repack, das du herunterladen möchtest",
|
||||
"select_folder_hint": "Um das Standardverzeichnis zu ändern, gehe zu den <0>Einstellungen</0>",
|
||||
"download_now": "Jetzt herunterladen",
|
||||
"no_shop_details": "Shop-Details konnten nicht abgerufen werden.",
|
||||
"download_options": "Download-Optionen",
|
||||
"download_path": "Download-Verzeichnis",
|
||||
"previous_screenshot": "Vorheriger Screenshot",
|
||||
"next_screenshot": "Nächster Screenshot",
|
||||
"screenshot": "Screenshot {{number}}",
|
||||
"open_screenshot": "Screenshot {{number}} öffnen",
|
||||
"download_settings": "Download-Einstellungen",
|
||||
"downloader": "Downloader",
|
||||
"select_executable": "Auswählen",
|
||||
"no_executable_selected": "Keine ausführbare Datei gewählt",
|
||||
"open_folder": "Verzeichnis öffnen",
|
||||
"open_download_location": "Heruntergeladene Dateien anzeigen",
|
||||
"create_shortcut": "Desktop-Verknüpfung erstellen",
|
||||
"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_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_shortcut_success": "Verknüpfung erfolgreich erstellt",
|
||||
"create_shortcut_error": "Fehler bei Erstellung von Verknüpfung"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Hydra aktivieren",
|
||||
"installation_id": "Installations ID:",
|
||||
"enter_activation_code": "Aktivierungscode eingeben",
|
||||
"message": "Wenn du nicht weißt wo du fragen musst, solltest du dies nicht haben.",
|
||||
"activate": "Aktivieren",
|
||||
"loading": "Lädt…"
|
||||
},
|
||||
"downloads": {
|
||||
"resume": "Fortfahren",
|
||||
"pause": "Pause",
|
||||
"eta": "Abschluss {{eta}}",
|
||||
"paused": "Pausiert",
|
||||
"verifying": "Verifiziere…",
|
||||
"completed": "Abgeschlossen",
|
||||
"removed": "Nicht heruntergeladen",
|
||||
"cancel": "Abbrechen",
|
||||
"filter": "Heruntergeladene Spiele filtern",
|
||||
"remove": "Entfernen",
|
||||
"downloading_metadata": "Metadaten werden heruntergeladen…",
|
||||
"deleting": "Installer wird entfernt…",
|
||||
"delete": "Installer entfernen",
|
||||
"delete_modal_title": "Bist du dir sicher?",
|
||||
"delete_modal_description": "Dies wird alle Installationsdateien von deinem Computer entfernen",
|
||||
"install": "Installieren",
|
||||
"download_in_progress": "Läuft",
|
||||
"queued_downloads": "Downloads in Warteschlange",
|
||||
"downloads_completed": "Abgeschlossen",
|
||||
"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…"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Download-Pfad",
|
||||
"change": "Aktualisieren",
|
||||
"notifications": "Benachrichtigungen",
|
||||
"enable_download_notifications": "Wenn ein Download abgeschlossen wird",
|
||||
"enable_repack_list_notifications": "Wenn ein neues Repack hinzugefügt wird",
|
||||
"real_debrid_api_token_label": "Real-Debrid API Token",
|
||||
"quit_app_instead_hiding": "Hydra verlassen statt minimieren beim Schließen",
|
||||
"launch_with_system": "Hydra bei Systemstart starten",
|
||||
"general": "Allgemein",
|
||||
"behavior": "Verhalten",
|
||||
"download_sources": "Download-Quellen",
|
||||
"language": "Sprache",
|
||||
"real_debrid_api_token": "API Token",
|
||||
"enable_real_debrid": "Real-Debrid aktivieren",
|
||||
"real_debrid_description": "Real-Debrid ist ein unrestriktiver Downloader, der es dir ermöglicht Dateien sofort und mit deiner maximalen Internetgeschwindigkeit herunterzuladen.",
|
||||
"real_debrid_invalid_token": "API token nicht gültig",
|
||||
"real_debrid_api_token_hint": "<0>Hier</0> kannst du dir deinen API Token holen",
|
||||
"real_debrid_free_account_error": "Das Konto \"{{username}}\" ist ein gratis account. Bitte abonniere Real-Debrid",
|
||||
"real_debrid_linked_message": "Konto \"{{username}}\" verknüpft",
|
||||
"save_changes": "Änderungen speichern",
|
||||
"changes_saved": "Änderungen erfolgreich gespeichert",
|
||||
"download_sources_description": "Hydra wird die Download-Links von diesen Quellen abrufen. Die Quell-URL muss ein direkter Link zu einer .json Datei, welche die Download-Links enthält, sein.",
|
||||
"validate_download_source": "Validieren",
|
||||
"remove_download_source": "Entfernen",
|
||||
"add_download_source": "Quelle hinzufügen",
|
||||
"download_count_zero": "Keine Download-Option",
|
||||
"download_count_one": "{{countFormatted}} Download-Option",
|
||||
"download_count_other": "{{countFormatted}} Download-Optionen",
|
||||
"download_source_url": "Download Quell-URL",
|
||||
"add_download_source_description": "Füge die URL, welche die .json Datei enthält, ein",
|
||||
"download_source_up_to_date": "Auf aktuellem Stand",
|
||||
"download_source_errored": "Fehlgeschlagen",
|
||||
"sync_download_sources": "Quellen synchronisieren",
|
||||
"removed_download_source": "Download-Quelle entfernt",
|
||||
"added_download_source": "Download-Quelle hinzugefügt",
|
||||
"download_sources_synced": "Alle Download-Quellen sind synchronisiert",
|
||||
"insert_valid_json_url": "Füge eine gültige JSON URL ein",
|
||||
"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"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Download abgeschlossen",
|
||||
"game_ready_to_install": "{{title}} ist bereit zur Installation",
|
||||
"repack_list_updated": "Repack-Liste aktualisiert",
|
||||
"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"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Hydra öffnen",
|
||||
"quit": "Schließen"
|
||||
},
|
||||
"game_card": {
|
||||
"no_downloads": "Keine Downloads verfügbar"
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Programme nicht installiert",
|
||||
"description": "Ausführbare Dateien für Wine oder Lutris wurden auf deinem System nicht gefunden",
|
||||
"instructions": "Überprüfe die korrekte Installation dieser für deine Linux-Distro, damit das Spiel normal laufen kann"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Knopf schließen"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "Sichtbarkeit des Passworts umschalten"
|
||||
},
|
||||
"user_profile": {
|
||||
"amount_hours": "{{amount}} Stunden",
|
||||
"amount_minutes": "{{amount}} Minuten",
|
||||
"last_time_played": "Zuletzt gespielt {{period}}",
|
||||
"activity": "Letzte Aktivität",
|
||||
"library": "Bibliothek",
|
||||
"total_play_time": "Gesamtspielzeit: {{amount}}",
|
||||
"no_recent_activity_title": "Hmmm… hier ist nichts",
|
||||
"no_recent_activity_description": "Du hast in letzter Zeit keine Spiele gespielt. Es wird Zeit das zu ändern!",
|
||||
"display_name": "Anzeigename",
|
||||
"saving": "Speichert",
|
||||
"save": "Speichern",
|
||||
"edit_profile": "Profil Bearbeiten",
|
||||
"saved_successfully": "Erfolgreich gespeichert",
|
||||
"try_again": "Bitte versuche es erneut",
|
||||
"sign_out_modal_title": "Bist du dir sicher?",
|
||||
"cancel": "Abbrechen",
|
||||
"successfully_signed_out": "Erfolgreich abgemeldet",
|
||||
"sign_out": "Abmelden",
|
||||
"playing_for": "Spielt {{amount}} lang",
|
||||
"sign_out_modal_text": "Deine Bibliothek ist mit deinem aktuellen Konto verknüpft. Wenn du dich abmeldest, wird deine Bibliothek nicht mehr sichtbar sein und jeglicher Fortschritt wird nicht gespeichert. Abmelden fortführen?",
|
||||
"add_friends": "Freunde hinzufügen",
|
||||
"add": "Hinzufügen",
|
||||
"friend_code": "Freundescode",
|
||||
"see_profile": "Profil anzeigen",
|
||||
"sending": "Sendet",
|
||||
"friend_request_sent": "Freundschaftsanfrage versendet",
|
||||
"friends": "Freunde",
|
||||
"friends_list": "Freundesliste",
|
||||
"user_not_found": "Nutzer nicht gefunden",
|
||||
"block_user": "Nutzer blockieren",
|
||||
"add_friend": "Freund hinzufügen",
|
||||
"request_sent": "Anfrage versendet",
|
||||
"request_received": "Anfrage erhalten",
|
||||
"accept_request": "Anfrage annehmen",
|
||||
"ignore_request": "Anfrage ignorieren",
|
||||
"cancel_request": "Anfrage zurückziehen",
|
||||
"undo_friendship": "Freundschaft kündigen",
|
||||
"request_accepted": "Anfrage akzeptiert",
|
||||
"user_blocked_successfully": "Nutzer erfolgreich blockiert",
|
||||
"user_block_modal_text": "{{displayName}} wird dadurch blockiert",
|
||||
"blocked_users": "Blockierte Nutzer",
|
||||
"unblock": "Freigeben",
|
||||
"no_friends_added": "Du hast noch keine Freunde hinzugefügt",
|
||||
"pending": "Ausstehend",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,16 @@
|
||||
{
|
||||
"language_name": "English",
|
||||
"app": {
|
||||
"successfully_signed_in": "Successfully signed in"
|
||||
},
|
||||
"home": {
|
||||
"featured": "Featured",
|
||||
"recently_added": "Recently added",
|
||||
"trending": "Trending",
|
||||
"surprise_me": "Surprise me",
|
||||
"no_results": "No results found"
|
||||
"no_results": "No results found",
|
||||
"start_typing": "Starting typing to search...",
|
||||
"hot": "Hot now",
|
||||
"weekly": "📅 Top games of the week"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Catalogue",
|
||||
@@ -12,16 +18,14 @@
|
||||
"settings": "Settings",
|
||||
"my_library": "My library",
|
||||
"downloading_metadata": "{{title}} (Downloading metadata…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Checking files…)",
|
||||
"paused": "{{title}} (Paused)",
|
||||
"downloading": "{{title}} ({{percentage}} - Downloading…)",
|
||||
"filter": "Filter library",
|
||||
"follow_us": "Follow us",
|
||||
"home": "Home",
|
||||
"discord": "Join our Discord",
|
||||
"telegram": "Join our Telegram",
|
||||
"x": "Follow on X",
|
||||
"github": "Contribute on GitHub"
|
||||
"queued": "{{title}} (Queued)",
|
||||
"game_has_no_executable": "Game has no executable selected",
|
||||
"sign_in": "Sign in",
|
||||
"friends": "Friends"
|
||||
},
|
||||
"header": {
|
||||
"search": "Search games",
|
||||
@@ -29,13 +33,16 @@
|
||||
"catalogue": "Catalogue",
|
||||
"downloads": "Downloads",
|
||||
"search_results": "Search results",
|
||||
"settings": "Settings"
|
||||
"settings": "Settings",
|
||||
"version_available_install": "Version {{version}} available. Click here to restart and install.",
|
||||
"version_available_download": "Version {{version}} available. Click here to download."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "No downloads in progress",
|
||||
"downloading_metadata": "Downloading {{title}} metadata…",
|
||||
"checking_files": "Checking {{title}} files… ({{percentage}} complete)",
|
||||
"downloading": "Downloading {{title}}… ({{percentage}} complete) - Conclusion {{eta}} - {{speed}}"
|
||||
"downloading": "Downloading {{title}}… ({{percentage}} complete) - Conclusion {{eta}} - {{speed}}",
|
||||
"calculating_eta": "Downloading {{title}}… ({{percentage}} complete) - Calculating remaining time…",
|
||||
"checking_files": "Checking {{title}} files… ({{percentage}} complete)"
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "Next page",
|
||||
@@ -52,22 +59,17 @@
|
||||
"pause": "Pause",
|
||||
"cancel": "Cancel",
|
||||
"remove": "Remove",
|
||||
"remove_from_list": "Remove",
|
||||
"space_left_on_disk": "{{space}} left on disk",
|
||||
"eta": "Conclusion {{eta}}",
|
||||
"calculating_eta": "Calculating remaining time…",
|
||||
"downloading_metadata": "Downloading metadata…",
|
||||
"checking_files": "Checking files…",
|
||||
"filter": "Filter repacks",
|
||||
"requirements": "System requirements",
|
||||
"minimum": "Minimum",
|
||||
"recommended": "Recommended",
|
||||
"no_minimum_requirements": "{{title}} doesn't provide minimum requirements information",
|
||||
"no_recommended_requirements": "{{title}} doesn't provide recommended requirements information",
|
||||
"paused_progress": "{{progress}} (Paused)",
|
||||
"paused": "Paused",
|
||||
"release_date": "Released on {{date}}",
|
||||
"publisher": "Published by {{publisher}}",
|
||||
"copy_link_to_clipboard": "Copy link",
|
||||
"copied_link_to_clipboard": "Link copied",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"amount_hours": "{{amount}} hours",
|
||||
@@ -88,21 +90,47 @@
|
||||
"repacks_modal_description": "Choose the repack you want to download",
|
||||
"select_folder_hint": "To change the default folder, go to the <0>Settings</0>",
|
||||
"download_now": "Download now",
|
||||
"installation_instructions": "Installation Instructions",
|
||||
"installation_instructions_description": "Additional steps are required to install this game",
|
||||
"online_fix_instruction": "OnlineFix games requires a password to be extracted. When required, use the following password:",
|
||||
"dodi_installation_instruction": "When you open DODI installer, press your keyboard up key <0 /> to start the installation process:",
|
||||
"dont_show_it_again": "Don't show it again",
|
||||
"copy_to_clipboard": "Copy",
|
||||
"copied_to_clipboard": "Copied",
|
||||
"got_it": "Got it",
|
||||
"no_shop_details": "Could not retrieve shop details.",
|
||||
"download_options": "Download options",
|
||||
"download_path": "Download path",
|
||||
"previous_screenshot": "Previous screenshot",
|
||||
"next_screenshot": "Next screenshot",
|
||||
"screenshot": "Screenshot {{number}}",
|
||||
"open_screenshot": "Open screenshot {{number}}"
|
||||
"open_screenshot": "Open screenshot {{number}}",
|
||||
"download_settings": "Download settings",
|
||||
"downloader": "Downloader",
|
||||
"select_executable": "Select",
|
||||
"no_executable_selected": "No executable selected",
|
||||
"open_folder": "Open folder",
|
||||
"open_download_location": "See downloaded files",
|
||||
"create_shortcut": "Create desktop shortcut",
|
||||
"remove_files": "Remove files",
|
||||
"remove_from_library_title": "Are you sure?",
|
||||
"remove_from_library_description": "This will remove {{game}} from your library",
|
||||
"options": "Options",
|
||||
"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_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_shortcut_success": "Shortcut created successfully",
|
||||
"create_shortcut_error": "Error creating shortcut",
|
||||
"nsfw_content_title": "This game contains innapropriate 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",
|
||||
"download_error": "This download option is not available",
|
||||
"download": "Download",
|
||||
"executable_path_in_use": "Executable already in use by \"{{game}}\"",
|
||||
"warning": "Warning:",
|
||||
"hydra_needs_to_remain_open": "for this download, Hydra needs to remain open util its conclusion. In case Hydra closes before the conclusion, you will lose your progress."
|
||||
},
|
||||
"activation": {
|
||||
"title": "Activate Hydra",
|
||||
@@ -118,24 +146,24 @@
|
||||
"eta": "Conclusion {{eta}}",
|
||||
"paused": "Paused",
|
||||
"verifying": "Verifying…",
|
||||
"completed_at": "Completed in {{date}}",
|
||||
"completed": "Completed",
|
||||
"cancelled": "Cancelled",
|
||||
"download_again": "Download again",
|
||||
"removed": "Not downloaded",
|
||||
"cancel": "Cancel",
|
||||
"filter": "Filter downloaded games",
|
||||
"remove": "Remove",
|
||||
"downloading_metadata": "Downloading metadata…",
|
||||
"checking_files": "Checking files…",
|
||||
"starting_download": "Starting download…",
|
||||
"deleting": "Deleting installer…",
|
||||
"delete": "Remove installer",
|
||||
"remove_from_list": "Remove",
|
||||
"delete_modal_title": "Are you sure?",
|
||||
"delete_modal_description": "This will remove all the installation files from your computer",
|
||||
"install": "Install",
|
||||
"real_debrid": "Real Debrid",
|
||||
"torrent": "Torrent"
|
||||
"download_in_progress": "In progress",
|
||||
"queued_downloads": "Queued downloads",
|
||||
"downloads_completed": "Completed",
|
||||
"queued": "Queued",
|
||||
"no_downloads_title": "Such empty",
|
||||
"no_downloads_description": "You haven't downloaded anything with Hydra yet, but it's never too late to start.",
|
||||
"checking_files": "Checking files…"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Downloads path",
|
||||
@@ -143,24 +171,62 @@
|
||||
"notifications": "Notifications",
|
||||
"enable_download_notifications": "When a download is complete",
|
||||
"enable_repack_list_notifications": "When a new repack is added",
|
||||
"telemetry": "Telemetry",
|
||||
"telemetry_description": "Enable anonymous usage statistics",
|
||||
"real_debrid_api_token_label": "Real Debrid API token",
|
||||
"quit_app_instead_hiding": "Quit Hydra instead of minimizing to tray",
|
||||
"real_debrid_api_token_label": "Real-Debrid API token",
|
||||
"quit_app_instead_hiding": "Don't hide Hydra when closing",
|
||||
"launch_with_system": "Launch Hydra on system start-up",
|
||||
"general": "General",
|
||||
"behavior": "Behavior",
|
||||
"enable_real_debrid": "Enable Real Debrid",
|
||||
"real_debrid": "Real Debrid",
|
||||
"real_debrid_api_token_hint": "You can get your API key <0>here</0>.",
|
||||
"save_changes": "Save changes"
|
||||
"download_sources": "Download sources",
|
||||
"language": "Language",
|
||||
"real_debrid_api_token": "API Token",
|
||||
"enable_real_debrid": "Enable Real-Debrid",
|
||||
"real_debrid_description": "Real-Debrid is an unrestricted downloader that allows you to download files instantly and at the best of your Internet speed.",
|
||||
"real_debrid_invalid_token": "Invalid API token",
|
||||
"real_debrid_api_token_hint": "You can get your API token <0>here</0>",
|
||||
"real_debrid_free_account_error": "The account \"{{username}}\" is a free account. Please subscribe to Real-Debrid",
|
||||
"real_debrid_linked_message": "Account \"{{username}}\" linked",
|
||||
"save_changes": "Save changes",
|
||||
"changes_saved": "Changes successfully saved",
|
||||
"download_sources_description": "Hydra will fetch the download links from these sources. The source URL must be a direct link to a .json file containing the download links.",
|
||||
"validate_download_source": "Validate",
|
||||
"remove_download_source": "Remove",
|
||||
"add_download_source": "Add source",
|
||||
"download_count_zero": "No download options",
|
||||
"download_count_one": "{{countFormatted}} download option",
|
||||
"download_count_other": "{{countFormatted}} download options",
|
||||
"download_source_url": "Download source URL",
|
||||
"add_download_source_description": "Insert the URL containing the .json file",
|
||||
"download_source_up_to_date": "Up-to-date",
|
||||
"download_source_errored": "Errored",
|
||||
"sync_download_sources": "Sync sources",
|
||||
"removed_download_source": "Download source removed",
|
||||
"added_download_source": "Added download source",
|
||||
"download_sources_synced": "All download sources are synced",
|
||||
"insert_valid_json_url": "Insert a valid JSON url",
|
||||
"found_download_option_zero": "No download option found",
|
||||
"found_download_option_one": "Found {{countFormatted}} download option",
|
||||
"found_download_option_other": "Found {{countFormatted}} download options",
|
||||
"import": "Import",
|
||||
"public": "Public",
|
||||
"private": "Private",
|
||||
"friends_only": "Friends only",
|
||||
"privacy": "Privacy",
|
||||
"profile_visibility": "Profile visibility",
|
||||
"profile_visibility_description": "Choose who can see your profile and library",
|
||||
"required_field": "This field is required",
|
||||
"source_already_exists": "This source has been already added",
|
||||
"must_be_valid_url": "The source must be a valid URL",
|
||||
"blocked_users": "Blocked users",
|
||||
"user_unblocked": "User has been unblocked"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Download complete",
|
||||
"game_ready_to_install": "{{title}} is ready to install",
|
||||
"repack_list_updated": "Repack list updated",
|
||||
"repack_count_one": "{{count}} repack added",
|
||||
"repack_count_other": "{{count}} repacks added"
|
||||
"repack_count_other": "{{count}} repacks added",
|
||||
"new_update_available": "Version {{version}} available",
|
||||
"restart_to_install_update": "Restart Hydra to install the update"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Open Hydra",
|
||||
@@ -176,5 +242,76 @@
|
||||
},
|
||||
"modal": {
|
||||
"close": "Close button"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "Toggle password visibility"
|
||||
},
|
||||
"user_profile": {
|
||||
"amount_hours": "{{amount}} hours",
|
||||
"amount_minutes": "{{amount}} minutes",
|
||||
"last_time_played": "Last played {{period}}",
|
||||
"activity": "Recent activity",
|
||||
"library": "Library",
|
||||
"total_play_time": "Total playtime: {{amount}}",
|
||||
"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",
|
||||
"saving": "Saving",
|
||||
"save": "Save",
|
||||
"edit_profile": "Edit Profile",
|
||||
"saved_successfully": "Saved successfully",
|
||||
"try_again": "Please, try again",
|
||||
"sign_out_modal_title": "Are you sure?",
|
||||
"cancel": "Cancel",
|
||||
"successfully_signed_out": "Successfully signed out",
|
||||
"sign_out": "Sign out",
|
||||
"playing_for": "Playing for {{amount}}",
|
||||
"sign_out_modal_text": "Your library is linked with your current account. When signing out, your library will not be visible anymore, and any progress will not be saved. Continue with sign out?",
|
||||
"add_friends": "Add Friends",
|
||||
"add": "Add",
|
||||
"friend_code": "Friend code",
|
||||
"see_profile": "See profile",
|
||||
"sending": "Sending",
|
||||
"friend_request_sent": "Friend request sent",
|
||||
"friends": "Friends",
|
||||
"friends_list": "Friends list",
|
||||
"user_not_found": "User not found",
|
||||
"block_user": "Block user",
|
||||
"add_friend": "Add friend",
|
||||
"request_sent": "Request sent",
|
||||
"request_received": "Request received",
|
||||
"accept_request": "Accept request",
|
||||
"ignore_request": "Ignore request",
|
||||
"cancel_request": "Cancel request",
|
||||
"undo_friendship": "Undo friendship",
|
||||
"request_accepted": "Request accepted",
|
||||
"user_blocked_successfully": "User blocked successfully",
|
||||
"user_block_modal_text": "This will block {{displayName}}",
|
||||
"blocked_users": "Blocked users",
|
||||
"unblock": "Unblock",
|
||||
"no_friends_added": "You still don't have added friends",
|
||||
"pending": "Pending",
|
||||
"no_pending_invites": "You have no pending invites",
|
||||
"no_blocked_users": "You have no blocked users",
|
||||
"friend_code_copied": "Friend code copied",
|
||||
"undo_friendship_modal_text": "This will undo your friendship with {{displayName}}",
|
||||
"privacy_hint": "To adjust who can see this, go to the <0>Settings</0>",
|
||||
"locked_profile": "This profile is private",
|
||||
"image_process_failure": "Failure while processing the image",
|
||||
"required_field": "This field is required",
|
||||
"displayname_min_length": "Display name must be at least 3 characters long",
|
||||
"displayname_max_length": "Display name must be at most 50 characters long",
|
||||
"report_profile": "Report this profile",
|
||||
"report_reason": "Why are you reporting this profile?",
|
||||
"report_description": "Additional information",
|
||||
"report_description_placeholder": "Additional information",
|
||||
"report": "Report",
|
||||
"report_reason_hate": "Hate speech",
|
||||
"report_reason_sexual_content": "Sexual content",
|
||||
"report_reason_violence": "Violence",
|
||||
"report_reason_spam": "Spam",
|
||||
"report_reason_other": "Other",
|
||||
"profile_reported": "Profile reported",
|
||||
"your_friend_code": "Your friend code:"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
{
|
||||
"language_name": "Español",
|
||||
"app": {
|
||||
"successfully_signed_in": "Sesión iniciada correctamente"
|
||||
},
|
||||
"home": {
|
||||
"featured": "Destacado",
|
||||
"recently_added": "Recién Añadidos",
|
||||
"trending": "Tendencias",
|
||||
"surprise_me": "¡Sorpréndeme!",
|
||||
"no_results": "No se encontraron resultados"
|
||||
"no_results": "No se encontraron resultados",
|
||||
"hot": "Caliente ahora",
|
||||
"weekly": "📅 Los mejores juegos de la semana",
|
||||
"start_typing": "Empieza a escribir para buscar..."
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Catálogo",
|
||||
@@ -12,16 +18,14 @@
|
||||
"settings": "Ajustes",
|
||||
"my_library": "Mi biblioteca",
|
||||
"downloading_metadata": "{{title}} (Descargando metadatos…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Analizando archivos…)",
|
||||
"paused": "{{title}} (Pausado)",
|
||||
"downloading": "{{title}} ({{percentage}} - Descargando…)",
|
||||
"filter": "Buscar en la biblioteca",
|
||||
"follow_us": "Síguenos",
|
||||
"home": "Inicio",
|
||||
"discord": "Únete a nuestro Discord",
|
||||
"telegram": "Únete a nuestro Telegram",
|
||||
"x": "Síguenos en X",
|
||||
"github": "Contribuye en GitHub"
|
||||
"queued": "{{title}} (En Cola)",
|
||||
"game_has_no_executable": "El juego no tiene un ejecutable",
|
||||
"sign_in": "Iniciar sesión",
|
||||
"friends": "Amigos"
|
||||
},
|
||||
"header": {
|
||||
"search": "Buscar juegos",
|
||||
@@ -29,13 +33,16 @@
|
||||
"catalogue": "Catálogo",
|
||||
"downloads": "Descargas",
|
||||
"search_results": "Resultados de búsqueda",
|
||||
"settings": "Ajustes"
|
||||
"settings": "Ajustes",
|
||||
"version_available_install": "Version {{version}} disponible. Haz clic aquí para reiniciar e instalar.",
|
||||
"version_available_download": "Version {{version}} disponible. Haz clic aquí para descargar."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Sin descargas en progreso",
|
||||
"downloading_metadata": "Descargando metadatos de {{title}}…",
|
||||
"checking_files": "Analizando archivos de {{title}} - ({{percentage}} completado)",
|
||||
"downloading": "Descargando {{title}}… ({{percentage}} completado) - Finalizando {{eta}} - {{speed}}"
|
||||
"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)"
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "Siguiente página",
|
||||
@@ -46,28 +53,23 @@
|
||||
"download_options_zero": "No hay opciones de descargas disponibles",
|
||||
"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",
|
||||
"cancel": "Cancelar",
|
||||
"remove": "Eliminar",
|
||||
"remove_from_list": "Quitar",
|
||||
"space_left_on_disk": "{{space}} restantes en el disco",
|
||||
"eta": "Finalizando en {{eta}}",
|
||||
"eta": "Tiempo restante: {{eta}}",
|
||||
"calculating_eta": "Calculando tiempo restante…",
|
||||
"downloading_metadata": "Descargando metadatos…",
|
||||
"checking_files": "Analizando archivos…",
|
||||
"filter": "Buscar repacks",
|
||||
"requirements": "Requisitos del Sistema",
|
||||
"minimum": "Mínimos",
|
||||
"recommended": "Recomendados",
|
||||
"no_minimum_requirements": "Sin requisitos mínimos para {{title}}",
|
||||
"no_recommended_requirements": "{{title}} no tiene requisitos recomendados",
|
||||
"paused_progress": "{{progress}} (Pausado)",
|
||||
"paused": "Pausado",
|
||||
"release_date": "Fecha de lanzamiento: {{date}}",
|
||||
"publisher": "Publicado por: {{publisher}}",
|
||||
"copy_link_to_clipboard": "Copiar enlace",
|
||||
"copied_link_to_clipboard": "Enlace copiado",
|
||||
"hours": "horas",
|
||||
"minutes": "minutos",
|
||||
"amount_hours": "{{amount}} horas",
|
||||
@@ -77,7 +79,7 @@
|
||||
"remove_from_library": "Eliminar de la biblioteca",
|
||||
"no_downloads": "No hay descargas disponibles",
|
||||
"play_time": "Jugado por {{amount}}",
|
||||
"last_time_played": "Jugado por última vez {{period}}",
|
||||
"last_time_played": "Jugado por última vez: {{period}}",
|
||||
"not_played_yet": "Aún no has jugado a {{title}}",
|
||||
"next_suggestion": "Siguiente sugerencia",
|
||||
"play": "Jugar",
|
||||
@@ -88,21 +90,45 @@
|
||||
"repacks_modal_description": "Selecciona el repack que quieres descargar",
|
||||
"select_folder_hint": "Para cambiar la carpeta predeterminada, ve a <0>Ajustes</0>",
|
||||
"download_now": "Descargar ahora",
|
||||
"installation_instructions": "Instrucciones de instalación",
|
||||
"installation_instructions_description": "Se requieren de pasos adicionales para instalar este juego",
|
||||
"online_fix_instruction": "Los juegos de OnlineFix requieren una contraseña para ser extraídos. Cuando se requiera, usa la siguiente contraseña:",
|
||||
"dodi_installation_instruction": "Cuando abras el instalador de DODI, presiona la tecla hacia arriba del teclado <0 /> para iniciar el proceso de instalación:",
|
||||
"dont_show_it_again": "No mostrar de nuevo",
|
||||
"copy_to_clipboard": "Copiar",
|
||||
"copied_to_clipboard": "Copiado",
|
||||
"got_it": "Entendido",
|
||||
"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}}"
|
||||
"open_screenshot": "Abrir captura {{number}}",
|
||||
"download_settings": "Ajustes de descarga",
|
||||
"downloader": "Método de descarga",
|
||||
"select_executable": "Seleccionar",
|
||||
"no_executable_selected": "No se seleccionó un ejecutable",
|
||||
"open_folder": "Abrir carpeta",
|
||||
"open_download_location": "Ver archivos descargados",
|
||||
"create_shortcut": "Crear acceso directo en el escritorio",
|
||||
"remove_files": "Eliminar archivos",
|
||||
"remove_from_library_title": "¿Estás seguro?",
|
||||
"remove_from_library_description": "Esto eliminará {{game}} de tu biblioteca",
|
||||
"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)",
|
||||
"download_in_progress": "Descarga en progreso",
|
||||
"download_paused": "Descarga pausada",
|
||||
"last_downloaded_option": "Última opción descargada",
|
||||
"create_shortcut_success": "Atajo creado con éxito",
|
||||
"create_shortcut_error": "Error al crear un atajo",
|
||||
"allow_nsfw_content": "Continuar",
|
||||
"download": "Descargar",
|
||||
"download_count": "Descargas",
|
||||
"download_error": "Esta opción de descarga no está disponible.",
|
||||
"executable_path_in_use": "Ejecutable ya en uso por \"{{game}}\"",
|
||||
"nsfw_content_description": "{{title}} incluye contenido que puede no ser adecuado para todas las edades. \n¿Estás seguro de que quieres continuar?",
|
||||
"nsfw_content_title": "Este juego contiene contenido inapropiado.",
|
||||
"player_count": "Jugadores activos",
|
||||
"refuse_nsfw_content": "Volver",
|
||||
"stats": "Estadísticas"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Activar Hydra",
|
||||
@@ -118,24 +144,24 @@
|
||||
"eta": "Finalizando en {{eta}}",
|
||||
"paused": "En Pausa",
|
||||
"verifying": "Verificando…",
|
||||
"completed_at": "Completado el {{date}}",
|
||||
"completed": "Completado",
|
||||
"cancelled": "Cancelado",
|
||||
"download_again": "Descargar de nuevo",
|
||||
"removed": "No descargado",
|
||||
"cancel": "Cancelar",
|
||||
"filter": "Buscar juegos descargados",
|
||||
"remove": "Eliminar",
|
||||
"downloading_metadata": "Descargando metadatos…",
|
||||
"checking_files": "Verificando archivos…",
|
||||
"starting_download": "Iniciando descarga…",
|
||||
"deleting": "Eliminando instalador…",
|
||||
"delete": "Eliminar instalador",
|
||||
"remove_from_list": "Eliminar",
|
||||
"delete_modal_title": "¿Estás seguro?",
|
||||
"delete_modal_description": "Esto eliminará todos los archivos de instalación de tu computadora.",
|
||||
"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)",
|
||||
"install": "Instalar",
|
||||
"real_debrid": "Real Debrid",
|
||||
"torrent": "Torrent"
|
||||
"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…"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Ruta de descarga",
|
||||
@@ -143,24 +169,65 @@
|
||||
"notifications": "Notificaciones",
|
||||
"enable_download_notifications": "Cuando se completa una descarga",
|
||||
"enable_repack_list_notifications": "Cuando se añade un repack nuevo",
|
||||
"telemetry": "Telemetría",
|
||||
"telemetry_description": "Habilitar recopilación de datos de manera anónima",
|
||||
"real_debrid_api_token_label": "Token API de Real Debrid",
|
||||
"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",
|
||||
"general": "General",
|
||||
"behavior": "Otros",
|
||||
"enable_real_debrid": "Activar Real Debrid",
|
||||
"real_debrid": "Real Debrid",
|
||||
"real_debrid_api_token_hint": "Puedes obtener tu clave de API <0>aquí</0>.",
|
||||
"save_changes": "Guardar cambios"
|
||||
"download_sources": "Fuentes de descarga",
|
||||
"language": "Idioma",
|
||||
"real_debrid_api_token": "Token API",
|
||||
"enable_real_debrid": "Activar Real-Debrid",
|
||||
"real_debrid_description": "Real-Debrid es una forma de descargar sin restricciones archivos instantáneamente con la máxima velocidad de tu internet.",
|
||||
"real_debrid_invalid_token": "Token de API inválido",
|
||||
"real_debrid_api_token_hint": "Puedes obtener tu clave de API <0>aquí</0>",
|
||||
"real_debrid_free_account_error": "La cuenta \"{{username}}\" es una cuenta gratuita. Por favor, suscríbete a Real-Debrid",
|
||||
"real_debrid_linked_message": "Cuenta \"{{username}}\" vinculada",
|
||||
"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",
|
||||
"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",
|
||||
"download_source_errored": "Error",
|
||||
"sync_download_sources": "Sincronizar fuentes",
|
||||
"removed_download_source": "Fuente de descarga eliminada",
|
||||
"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",
|
||||
"import": "Importar",
|
||||
"blocked_users": "Usuarios bloqueados",
|
||||
"download_options_one": "",
|
||||
"download_options_other": "",
|
||||
"download_options_zero": "",
|
||||
"friends_only": "solo amigos",
|
||||
"must_be_valid_url": "La fuente debe ser una URL válida.",
|
||||
"privacy": "Privacidad",
|
||||
"private": "Privado",
|
||||
"profile_visibility": "Visibilidad del perfil",
|
||||
"profile_visibility_description": "Elige quién puede ver tu perfil y biblioteca",
|
||||
"public": "Público",
|
||||
"required_field": "Este campo es obligatorio",
|
||||
"source_already_exists": "Esta fuente ya ha sido agregada.",
|
||||
"user_unblocked": "El usuario ha sido desbloqueado"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Descarga completada",
|
||||
"game_ready_to_install": "{{title}} está listo para instalarse",
|
||||
"repack_list_updated": "Lista de repacks actualizadas",
|
||||
"repack_count_one": "{{count}} repack ha sido añadido",
|
||||
"repack_count_other": "{{count}} repacks añadidos"
|
||||
"repack_count_other": "{{count}} repacks añadidos",
|
||||
"new_update_available": "Version {{version}} disponible",
|
||||
"restart_to_install_update": "Reinicia Hydra para instalar la actualización"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Abrir Hydra",
|
||||
@@ -176,5 +243,76 @@
|
||||
},
|
||||
"modal": {
|
||||
"close": "Botón de cierre"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "Cambiar visibilidad de contraseña"
|
||||
},
|
||||
"user_profile": {
|
||||
"amount_hours": "{{amount}} horas",
|
||||
"amount_minutes": "{{amount}} minutos",
|
||||
"last_time_played": "Última vez jugado: {{period}}",
|
||||
"activity": "Actividad reciente",
|
||||
"library": "Biblioteca",
|
||||
"total_play_time": "Total de tiempo jugado: {{amount}}",
|
||||
"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",
|
||||
"saving": "Guardando",
|
||||
"save": "Guardar",
|
||||
"edit_profile": "Editar perfil",
|
||||
"saved_successfully": "Guardado exitosamente",
|
||||
"try_again": "Por favor, intenta de nuevo",
|
||||
"sign_out_modal_title": "¿Estás seguro?",
|
||||
"cancel": "Cancelar",
|
||||
"successfully_signed_out": "Sesión cerrada exitosamente",
|
||||
"sign_out": "Cerrar sesión",
|
||||
"playing_for": "Jugando por {{amount}}",
|
||||
"sign_out_modal_text": "Tu biblioteca se ha vinculado con tu cuenta. Cuando cierres sesión, tú biblioteca ya no será visible y cualquier progreso no se guardará. ¿Continuar con el cierre de sesión?",
|
||||
"add_friends": "Añadir amigos",
|
||||
"add": "Añadir",
|
||||
"friend_code": "Código de amigo",
|
||||
"see_profile": "Ver perfil",
|
||||
"sending": "Enviando",
|
||||
"friend_request_sent": "Solicitud de amistad enviada",
|
||||
"friends": "Amigos",
|
||||
"friends_list": "Lista de amigos",
|
||||
"user_not_found": "Usuario no encontrado",
|
||||
"block_user": "Bloquear usuario",
|
||||
"add_friend": "Añadir amigo",
|
||||
"request_sent": "Solicitud enviada",
|
||||
"request_received": "Solicitud recibida",
|
||||
"accept_request": "Aceptar solicitud",
|
||||
"ignore_request": "Ignorar solicitud",
|
||||
"cancel_request": "Cancelar solicitud",
|
||||
"undo_friendship": "Eliminar 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",
|
||||
"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}}",
|
||||
"displayname_max_length": "El nombre para mostrar debe tener como máximo 50 caracteres",
|
||||
"displayname_min_length": "El nombre para mostrar debe tener al menos 3 caracteres",
|
||||
"locked_profile": "Este perfil es privado.",
|
||||
"privacy_hint": "Para ajustar quién puede ver esto, ve a <0>Configuración</0>.",
|
||||
"profile_locked": "",
|
||||
"profile_reported": "Perfil reportado",
|
||||
"report": "Informe",
|
||||
"report_description": "Información adicional",
|
||||
"report_description_placeholder": "Información adicional",
|
||||
"report_profile": "Reportar este perfil",
|
||||
"report_reason": "¿Por qué estás denunciando este perfil?",
|
||||
"report_reason_hate": "Discurso de odio",
|
||||
"report_reason_other": "Otro",
|
||||
"report_reason_sexual_content": "Contenido sexual",
|
||||
"report_reason_spam": "Correo basura",
|
||||
"report_reason_violence": "Violencia",
|
||||
"required_field": "Este campo es obligatorio",
|
||||
"image_process_failure": "Error al procesar la imagen"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"language_name": "فارسی",
|
||||
"home": {
|
||||
"featured": "پیشنهادی",
|
||||
"recently_added": "تازه اضافه شده",
|
||||
"trending": "پرطرفدار",
|
||||
"surprise_me": "سوپرایزم کن",
|
||||
"no_results": "اتمامای پیدا نشد"
|
||||
@@ -12,16 +12,10 @@
|
||||
"settings": "تنظیمات",
|
||||
"my_library": "کتابخانهی من",
|
||||
"downloading_metadata": "{{title}} (در حال دانلود متادیتا...)",
|
||||
"checking_files": "{{title}} ({{percentage}} - در حال بررسی فایلها...)",
|
||||
"paused": "{{title}} (متوقف شده)",
|
||||
"downloading": "{{title}} ({{percentage}} - در حال دانلود…)",
|
||||
"filter": "فیلتر کردن کتابخانه",
|
||||
"follow_us": "دنبال کردن ما",
|
||||
"home": "خانه",
|
||||
"discord": "عضویت در دیسکورد ما",
|
||||
"telegram": "عضویت در تلگرام ما",
|
||||
"x": "دنبال کرد در ایکس",
|
||||
"github": "مشارکت در گیتهاب"
|
||||
"home": "خانه"
|
||||
},
|
||||
"header": {
|
||||
"search": "جستجوی بازیها",
|
||||
@@ -34,7 +28,6 @@
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "دانلودی در حال انجام نیست",
|
||||
"downloading_metadata": "درحال دانلود متادیتاهای {{title}}…",
|
||||
"checking_files": "در حال چک کردن فایلهای {{title}}…. ({{percentage}} تکمیل شده)",
|
||||
"downloading": "در حال دانلود {{title}}… ({{percentage}} تکمیل شده) - اتمام {{eta}} - {{speed}}"
|
||||
},
|
||||
"catalogue": {
|
||||
@@ -52,22 +45,15 @@
|
||||
"pause": "توقف",
|
||||
"cancel": "بیخیال",
|
||||
"remove": "حذف",
|
||||
"remove_from_list": "حذف",
|
||||
"space_left_on_disk": "{{space}} فضا در دیسک باقیمانده",
|
||||
"eta": "اتمام {{eta}}",
|
||||
"downloading_metadata": "در حال دانلود متادیتاها…",
|
||||
"checking_files": "در حال چک کردن فایلها",
|
||||
"filter": "فیلترکردن ریپکها",
|
||||
"requirements": "سیستم مورد نیاز",
|
||||
"minimum": "حداقل",
|
||||
"recommended": "پیشنهادی",
|
||||
"no_minimum_requirements": "{{title}} اطلاعات حداقل سیستم مورد نیاز را فراهم نکرده",
|
||||
"no_recommended_requirements": "{{title}} اطلاعات پیشنهادی سیستم مورد نیاز را فراهم نکرده",
|
||||
"paused_progress": "{{progress}} (متوقف شده)",
|
||||
"release_date": "منتشر شده در {{date}}",
|
||||
"publisher": "منتشر شده توسط {{publisher}}",
|
||||
"copy_link_to_clipboard": "کپی لینک",
|
||||
"copied_link_to_clipboard": "لینک کپی شد",
|
||||
"hours": "ساعت",
|
||||
"minutes": "دقیقه",
|
||||
"amount_hours": "{{amount}} ساعت",
|
||||
@@ -86,17 +72,8 @@
|
||||
"playing_now": "در حال بازی",
|
||||
"change": "تغییر",
|
||||
"repacks_modal_description": "ریپک مورد نظر برای دانلود را انتخاب کنید",
|
||||
"downloads_path": "آدرس دانلودها",
|
||||
"select_folder_hint": "برای تغییر پوشهی پیشفرض به <0>Settings</0> بروید",
|
||||
"download_now": "الان دانلود کن",
|
||||
"installation_instructions": "دستورات نصب",
|
||||
"installation_instructions_description": "قدمهای دیگری برای نصب این بازی نیاز است",
|
||||
"online_fix_instruction": "بازیهای OnlineFix برای اکسترکت شدن به پسوورد نیاز دارند. در صورت نیاز، از این پسوورد استفاده کنید:",
|
||||
"dodi_installation_instruction": "زمانی که اینستالر DODI را باز کردید، دکمهی <0 /> را فشار دهید تا فرایند نصب شروع شود:",
|
||||
"dont_show_it_again": "دیگر نمایش نده",
|
||||
"copy_to_clipboard": "کپی",
|
||||
"copied_to_clipboard": "کپی شد",
|
||||
"got_it": "فهمیدم"
|
||||
"download_now": "الان دانلود کن"
|
||||
},
|
||||
"activation": {
|
||||
"title": "فعال کردن هایدرا",
|
||||
@@ -112,24 +89,16 @@
|
||||
"eta": "اتمام {{eta}}",
|
||||
"paused": "متوقف شده",
|
||||
"verifying": "در حال اعتبارسنجی…",
|
||||
"completed_at": "پایان یافته در {{date}}",
|
||||
"completed": "پایان یافته",
|
||||
"cancelled": "لغو شده",
|
||||
"download_again": "دانلود مجدد",
|
||||
"cancel": "لغو",
|
||||
"filter": "فیلتر بازیهای دانلود شده",
|
||||
"remove": "حذف",
|
||||
"downloading_metadata": "در حال دانلود متادیتاها…",
|
||||
"checking_files": "در حال چک کردن فایلها…",
|
||||
"starting_download": "در حال آغار دانلود…",
|
||||
"deleting": "در حال پاک کردن اینستالر…",
|
||||
"delete": "پاک کردن",
|
||||
"remove_from_list": "حذف",
|
||||
"delete_modal_title": "مطمئنی؟",
|
||||
"delete_modal_description": "این کار تمام فایلهای اینستالر را از کامپیوتر شما حذف میکند",
|
||||
"install": "نصف",
|
||||
"real_debrid": "Real Debrid",
|
||||
"torrent": "تورنت"
|
||||
"install": "نصف"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "مسیر دانلودها",
|
||||
@@ -137,15 +106,11 @@
|
||||
"notifications": "نوتیفیکشنها",
|
||||
"enable_download_notifications": "زمانی که یک دانلود تمام شد",
|
||||
"enable_repack_list_notifications": "زمانی که یک ریپک جدید اضافه شد",
|
||||
"telemetry": "تلمتری",
|
||||
"telemetry_description": "فعال کردن آمارگیری استفاده ناشناس",
|
||||
"real_debrid_api_token_description": "توکن Real Debrid",
|
||||
"quit_app_instead_hiding": "به جای کوچک کردن، از هایدرا خارج شو",
|
||||
"launch_with_system": "زمانی که سیستم روشن میشود، هایدرا را باز کن",
|
||||
"general": "کلی",
|
||||
"behavior": "رفتار",
|
||||
"enable_real_debrid": "فعالسازی Real Debrid",
|
||||
"real_debrid": "Real Debrid",
|
||||
"enable_real_debrid": "فعالسازی Real-Debrid",
|
||||
"real_debrid_api_token_hint": "کلید API خود را از <ب0>اینجا</0> بگیرید.",
|
||||
"save_changes": "ذخیره تغییرات"
|
||||
},
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"language_name": "Français",
|
||||
"home": {
|
||||
"featured": "En vedette",
|
||||
"recently_added": "Récemment ajouté",
|
||||
"trending": "Tendance",
|
||||
"surprise_me": "Surprenez-moi",
|
||||
"no_results": "Aucun résultat trouvé"
|
||||
@@ -12,12 +12,10 @@
|
||||
"settings": "Paramètres",
|
||||
"my_library": "Ma bibliothèque",
|
||||
"downloading_metadata": "{{title}} (Téléchargement des métadonnées…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Vérification des fichiers…)",
|
||||
"paused": "{{title}} (En pause)",
|
||||
"downloading": "{{title}} ({{percentage}} - Téléchargement en cours…)",
|
||||
"filter": "Filtrer la bibliothèque",
|
||||
"home": "Page d’accueil",
|
||||
"follow_us": "Suivez-nous"
|
||||
"home": "Page d’accueil"
|
||||
},
|
||||
"header": {
|
||||
"search": "Recherche",
|
||||
@@ -30,7 +28,6 @@
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Aucun téléchargement en cours",
|
||||
"downloading_metadata": "Téléchargement des métadonnées de {{title}}…",
|
||||
"checking_files": "Vérification des fichiers de {{title}}… ({{percentage}} terminé)",
|
||||
"downloading": "Téléchargement de {{title}}… ({{percentage}} terminé) - Fin dans {{eta}} - {{speed}}"
|
||||
},
|
||||
"game_details": {
|
||||
@@ -43,22 +40,15 @@
|
||||
"pause": "Pause",
|
||||
"cancel": "Annuler",
|
||||
"remove": "Supprimer",
|
||||
"remove_from_list": "Retirer",
|
||||
"space_left_on_disk": "{{space}} restant sur le disque",
|
||||
"eta": "Fin dans {{eta}}",
|
||||
"downloading_metadata": "Téléchargement des métadonnées en cours…",
|
||||
"checking_files": "Vérification des fichiers…",
|
||||
"filter": "Filtrer les repacks",
|
||||
"requirements": "Configuration requise",
|
||||
"minimum": "Minimum",
|
||||
"recommended": "Recommandée",
|
||||
"no_minimum_requirements": "{{title}} ne fournit pas d'informations sur les configurations minimales",
|
||||
"no_recommended_requirements": "{{title}} ne fournit pas d'informations sur les configurations recommandées",
|
||||
"paused_progress": "{{progress}} (En pause)",
|
||||
"release_date": "Sorti le {{date}}",
|
||||
"publisher": "Édité par {{publisher}}",
|
||||
"copy_link_to_clipboard": "Copier le lien",
|
||||
"copied_link_to_clipboard": "Lien copié",
|
||||
"hours": "heures",
|
||||
"minutes": "minutes",
|
||||
"amount_hours": "{{amount}} heures",
|
||||
@@ -91,17 +81,11 @@
|
||||
"eta": "Fin dans {{eta}}",
|
||||
"paused": "En pause",
|
||||
"verifying": "Vérification en cours…",
|
||||
"completed_at": "Terminé en {{date}}",
|
||||
"completed": "Terminé",
|
||||
"cancelled": "Annulé",
|
||||
"download_again": "Télécharger à nouveau",
|
||||
"cancel": "Annuler",
|
||||
"filter": "Filtrer les jeux téléchargés",
|
||||
"remove": "Supprimer",
|
||||
"downloading_metadata": "Téléchargement des métadonnées en cours…",
|
||||
"checking_files": "Vérification des fichiers…",
|
||||
"starting_download": "Démarrage du téléchargement…",
|
||||
"remove_from_list": "Retirer",
|
||||
"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?",
|
||||
@@ -114,8 +98,7 @@
|
||||
"notifications": "Notifications",
|
||||
"enable_download_notifications": "Quand un téléchargement est terminé",
|
||||
"enable_repack_list_notifications": "Quand un nouveau repack est ajouté",
|
||||
"telemetry": "Télémétrie",
|
||||
"telemetry_description": "Activer les statistiques d'utilisation anonymes"
|
||||
"language": "Langue"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Téléchargement terminé",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"language_name": "Magyar",
|
||||
"home": {
|
||||
"featured": "Featured",
|
||||
"recently_added": "Nemrég hozzáadott",
|
||||
"trending": "Népszerű",
|
||||
"surprise_me": "Lepj meg",
|
||||
"no_results": "Nem található"
|
||||
@@ -12,11 +12,9 @@
|
||||
"settings": "Beállítások",
|
||||
"my_library": "Könyvtáram",
|
||||
"downloading_metadata": "{{title}} (Metadata letöltése…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Fájlok ellenőrzése…)",
|
||||
"paused": "{{title}} (Szünet)",
|
||||
"downloading": "{{title}} ({{percentage}} - Letöltés…)",
|
||||
"filter": "Könyvtár szűrése",
|
||||
"follow_us": "Kövess minket",
|
||||
"home": "Főoldal"
|
||||
},
|
||||
"header": {
|
||||
@@ -30,7 +28,6 @@
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Nincsenek folyamatban lévő letöltések",
|
||||
"downloading_metadata": "{{title}} metaadatainak letöltése…",
|
||||
"checking_files": "{{title}} fájlok ellenőrzése… ({{percentage}} kész)",
|
||||
"downloading": "{{title}} letöltése… ({{percentage}} kész) - Befejezés {{eta}} - {{speed}}"
|
||||
},
|
||||
"catalogue": {
|
||||
@@ -48,22 +45,15 @@
|
||||
"pause": "Szüneteltetés",
|
||||
"cancel": "Mégse",
|
||||
"remove": "Eltávolítás",
|
||||
"remove_from_list": "Eltávolítás",
|
||||
"space_left_on_disk": "{{space}} szabad hely a lemezen",
|
||||
"eta": "Befejezés {{eta}}",
|
||||
"downloading_metadata": "Metaadatok letöltése…",
|
||||
"checking_files": "Fájlok ellenőrzése…",
|
||||
"filter": "Repackek szűrése",
|
||||
"requirements": "Rendszerkövetelmények",
|
||||
"minimum": "Minimális",
|
||||
"recommended": "Ajánlott",
|
||||
"no_minimum_requirements": "{{title}} nem tartalmaz információt a minimális követelményekről",
|
||||
"no_recommended_requirements": "{{title}} nem tartalmaz információt az ajánlott követelményekről",
|
||||
"paused_progress": "{{progress}} (Szünetel)",
|
||||
"release_date": "Megjelenés: {{date}}",
|
||||
"publisher": "Kiadta: {{publisher}}",
|
||||
"copy_link_to_clipboard": "Link másolása",
|
||||
"copied_link_to_clipboard": "Link másolva",
|
||||
"hours": "óra",
|
||||
"minutes": "perc",
|
||||
"amount_hours": "{{amount}} óra",
|
||||
@@ -82,7 +72,6 @@
|
||||
"playing_now": "Jelenleg játszva",
|
||||
"change": "Változtatás",
|
||||
"repacks_modal_description": "Choose the repack you want to download",
|
||||
"downloads_path": "Letöltések helye",
|
||||
"select_folder_hint": "Ahhoz, hogy megváltoztasd a helyet, hozzákell férned a",
|
||||
"download_now": "Töltsd le most"
|
||||
},
|
||||
@@ -100,19 +89,13 @@
|
||||
"eta": "Befejezés {{eta}}",
|
||||
"paused": "Szüneteltetve",
|
||||
"verifying": "Ellenőrzés…",
|
||||
"completed_at": "Befejezve {{date}}-kor",
|
||||
"completed": "Befejezve",
|
||||
"cancelled": "Megszakítva",
|
||||
"download_again": "Újra letöltés",
|
||||
"cancel": "Mégse",
|
||||
"filter": "Letöltött játékok szűrése",
|
||||
"remove": "Eltávolítás",
|
||||
"downloading_metadata": "Metaadatok letöltése…",
|
||||
"checking_files": "Fájlok ellenőrzése…",
|
||||
"starting_download": "Letöltés indítása…",
|
||||
"deleting": "Telepítő törlése…",
|
||||
"delete": "Telepítő eltávolítása",
|
||||
"remove_from_list": "Eltávolítás",
|
||||
"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"
|
||||
@@ -122,9 +105,7 @@
|
||||
"change": "Frissítés",
|
||||
"notifications": "Értesítések",
|
||||
"enable_download_notifications": "Amikor egy letöltés befejeződik",
|
||||
"enable_repack_list_notifications": "Amikor egy új repack hozzáadásra kerül",
|
||||
"telemetry": "Telemetria",
|
||||
"telemetry_description": "Névtelen felhasználási statisztikák engedélyezése"
|
||||
"enable_repack_list_notifications": "Amikor egy új repack hozzáadásra kerül"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Letöltés befejeződött",
|
||||
|
||||
@@ -1,166 +1,256 @@
|
||||
{
|
||||
"language_name": "Bahasa Indonesia",
|
||||
"app": {
|
||||
"successfully_signed_in": "Berhasil masuk"
|
||||
},
|
||||
"home": {
|
||||
"featured": "Unggulan",
|
||||
"recently_added": "Terbaru",
|
||||
"trending": "Trending",
|
||||
"surprise_me": "Kejutkan Saya",
|
||||
"no_results": "Tidak ada hasil"
|
||||
"trending": "Sedang Tren",
|
||||
"surprise_me": "Kejutkan saya",
|
||||
"no_results": "Tidak ada hasil ditemukan"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Katalog",
|
||||
"downloads": "Unduhan",
|
||||
"settings": "Pengaturan",
|
||||
"my_library": "Koleksi saya",
|
||||
"my_library": "Perpustakaan saya",
|
||||
"downloading_metadata": "{{title}} (Mengunduh metadata…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Memeriksa file…)",
|
||||
"paused": "{{title}} (Terhenti)",
|
||||
"paused": "{{title}} (Dijeda)",
|
||||
"downloading": "{{title}} ({{percentage}} - Mengunduh…)",
|
||||
"filter": "Filter koleksi",
|
||||
"follow_us": "Ikuti kami",
|
||||
"filter": "Filter perpustakaan",
|
||||
"home": "Beranda",
|
||||
"discord": "Gabung Discord kami",
|
||||
"telegram": "Gabung Telegram kami",
|
||||
"x": "Ikuti akun X kami",
|
||||
"github": "Kontribusi di GitHub"
|
||||
"queued": "{{title}} (Antrian)",
|
||||
"game_has_no_executable": "Game tidak punya file eksekusi yang dipilih",
|
||||
"sign_in": "Masuk"
|
||||
},
|
||||
"header": {
|
||||
"search": "Pencarian",
|
||||
"search": "Cari game",
|
||||
"home": "Beranda",
|
||||
"catalogue": "Katalog",
|
||||
"downloads": "Unduhan",
|
||||
"search_results": "Hasil pencarian",
|
||||
"settings": "Pengaturan"
|
||||
"settings": "Pengaturan",
|
||||
"version_available_install": "Versi {{version}} tersedia. Klik di sini untuk restart dan instal.",
|
||||
"version_available_download": "Versi {{version}} tersedia. Klik di sini untuk unduh."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Tidak ada unduhan berjalan",
|
||||
"downloading_metadata": "Mengunduh metadata {{title}}...",
|
||||
"checking_files": "Memeriksa file {{title}}… ({{percentage}} selesai)",
|
||||
"downloading": "Mengunduh {{title}}… ({{percentage}} selesai) - Perkiraan {{eta}} - {{speed}}"
|
||||
"no_downloads_in_progress": "Tidak ada unduhan yang sedang berjalan",
|
||||
"downloading_metadata": "Mengunduh metadata {{title}}…",
|
||||
"downloading": "Mengunduh {{title}}… ({{percentage}} selesai) - Estimasi selesai {{eta}} - {{speed}}",
|
||||
"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"
|
||||
"next_page": "Halaman Berikutnya",
|
||||
"previous_page": "Halaman Sebelumnya"
|
||||
},
|
||||
"game_details": {
|
||||
"open_download_options": "Buka opsi unduhan",
|
||||
"download_options_zero": "Tidak ada opsi unduhan",
|
||||
"download_options_one": "{{count}} opsi unduhan",
|
||||
"download_options_other": "{{count}} opsi unduhan",
|
||||
"updated_at": "Diperbarui {{updated_at}}",
|
||||
"install": "Install",
|
||||
"updated_at": "Diperbarui pada {{updated_at}}",
|
||||
"install": "Instal",
|
||||
"resume": "Lanjutkan",
|
||||
"pause": "Hentikan sementara",
|
||||
"cancel": "Batalkan",
|
||||
"pause": "Jeda",
|
||||
"cancel": "Batal",
|
||||
"remove": "Hapus",
|
||||
"remove_from_list": "Hapus",
|
||||
"space_left_on_disk": "{{space}} tersisa pada disk",
|
||||
"eta": "Perkiraan {{eta}}",
|
||||
"space_left_on_disk": "{{space}} tersisa di disk",
|
||||
"eta": "Estimasi {{eta}}",
|
||||
"calculating_eta": "Menghitung waktu yang tersisa…",
|
||||
"downloading_metadata": "Mengunduh metadata…",
|
||||
"checking_files": "Memeriksa file…",
|
||||
"filter": "Saring repacks",
|
||||
"requirements": "Keperluan sistem",
|
||||
"filter": "Filter repack",
|
||||
"requirements": "Persyaratan sistem",
|
||||
"minimum": "Minimum",
|
||||
"recommended": "Rekomendasi",
|
||||
"no_minimum_requirements": "{{title}} Tidak ada informasi kebutuhan sistem",
|
||||
"no_recommended_requirements": "{{title}} Tidak ada informasi rekomendasi kebutuhan sistem",
|
||||
"paused_progress": "{{progress}} (Terhenti)",
|
||||
"recommended": "Dianjurkan",
|
||||
"paused": "Dijeda",
|
||||
"release_date": "Dirilis pada {{date}}",
|
||||
"publisher": "Dipublikasikan oleh {{publisher}}",
|
||||
"copy_link_to_clipboard": "Salin tautan",
|
||||
"copied_link_to_clipboard": "Tautan tersalin",
|
||||
"publisher": "Diterbitkan oleh {{publisher}}",
|
||||
"hours": "jam",
|
||||
"minutes": "menit",
|
||||
"amount_hours": "{{amount}} jam",
|
||||
"amount_minutes": "{{amount}} menit",
|
||||
"accuracy": "{{accuracy}}% akurasi",
|
||||
"add_to_library": "Tambahkan ke koleksi",
|
||||
"remove_from_library": "Hapus dari koleksi",
|
||||
"no_downloads": "Tidak ada unduhan tersedia",
|
||||
"add_to_library": "Tambah ke perpustakaan",
|
||||
"remove_from_library": "Hapus dari perpustakaan",
|
||||
"no_downloads": "Tidak ada yang bisa diunduh",
|
||||
"play_time": "Dimainkan selama {{amount}}",
|
||||
"last_time_played": "Terakhir dimainkan {{period}}",
|
||||
"not_played_yet": "Kamu belum memainkan {{title}}",
|
||||
"next_suggestion": "Rekomendasi berikutnya",
|
||||
"play": "Mainkan",
|
||||
"next_suggestion": "Saran berikutnya",
|
||||
"play": "Main",
|
||||
"deleting": "Menghapus installer…",
|
||||
"close": "Tutup",
|
||||
"playing_now": "Memainkan sekarang",
|
||||
"playing_now": "Sedang dimainkan",
|
||||
"change": "Ubah",
|
||||
"repacks_modal_description": "Pilih repack yang kamu ingin unduh",
|
||||
"downloads_path": "Lokasi Unduhan",
|
||||
"select_folder_hint": "Untuk merubah folder bawaan, akses melalui",
|
||||
"repacks_modal_description": "Pilih repack yang ingin kamu unduh",
|
||||
"select_folder_hint": "Untuk ganti folder default, buka <0>Pengaturan</0>",
|
||||
"download_now": "Unduh sekarang",
|
||||
"installation_instructions": "Instruksi Instalasi",
|
||||
"installation_instructions_description": "Langkah tambahan dibutuhkan untuk meng-instal game ini",
|
||||
"online_fix_instruction": "OnlineFix games mebutuhkan kata sandi untuk ekstraksi. Saat diperlukan, gunakan kata sandi ini:",
|
||||
"dodi_installation_instruction": "Saat menjalankan DODI installer, tekan tombol atas pada keyboard <0 /> untuk melanjutkan proses instalasi:",
|
||||
"dont_show_it_again": "Jangan tunjukkan lagi",
|
||||
"copy_to_clipboard": "Salin",
|
||||
"copied_to_clipboard": "Tersalin",
|
||||
"got_it": "Paham"
|
||||
"no_shop_details": "Gagal mendapatkan detail toko.",
|
||||
"download_options": "Opsi unduhan",
|
||||
"download_path": "Path unduhan",
|
||||
"previous_screenshot": "Screenshot sebelumnya",
|
||||
"next_screenshot": "Screenshot berikutnya",
|
||||
"screenshot": "Screenshot {{number}}",
|
||||
"open_screenshot": "Buka screenshot {{number}}",
|
||||
"download_settings": "Pengaturan unduhan",
|
||||
"downloader": "Pengunduh",
|
||||
"select_executable": "Pilih",
|
||||
"no_executable_selected": "Tidak ada file eksekusi yang dipilih",
|
||||
"open_folder": "Buka folder",
|
||||
"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_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",
|
||||
"download_in_progress": "Sedang mengunduh",
|
||||
"download_paused": "Unduhan dijeda",
|
||||
"last_downloaded_option": "Opsi terakhir diunduh",
|
||||
"create_shortcut_success": "Pintasan berhasil dibuat",
|
||||
"create_shortcut_error": "Gagal membuat pintasan"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Aktivasi Hydra",
|
||||
"installation_id": "ID instalasi:",
|
||||
"enter_activation_code": "Masukkan kode aktivasi",
|
||||
"message": "Jika kamu tidak tau dimana bertanya untuk ini, maka kamu tidak seharusnya memiliki ini.",
|
||||
"title": "Aktifkan Hydra",
|
||||
"installation_id": "ID Instalasi:",
|
||||
"enter_activation_code": "Masukkan kode aktivasi kamu",
|
||||
"message": "Kalau tidak tahu harus tanya ke siapa, berarti kamu tidak perlu ini.",
|
||||
"activate": "Aktifkan",
|
||||
"loading": "Memuat…"
|
||||
},
|
||||
"downloads": {
|
||||
"resume": "Lanjutkan",
|
||||
"pause": "Hentikan sementara",
|
||||
"eta": "Perkiraan {{eta}}",
|
||||
"paused": "Terhenti sementara",
|
||||
"verifying": "Memeriksa…",
|
||||
"completed_at": "Selesai pada {{date}}",
|
||||
"pause": "Jeda",
|
||||
"eta": "Estimasi {{eta}}",
|
||||
"paused": "Dijeda",
|
||||
"verifying": "Verifikasi…",
|
||||
"completed": "Selesai",
|
||||
"cancelled": "Dibatalkan",
|
||||
"download_again": "Unduh lagi",
|
||||
"cancel": "Batalkan",
|
||||
"filter": "Saring game yang diunduh",
|
||||
"removed": "Tidak diunduh",
|
||||
"cancel": "Batal",
|
||||
"filter": "Filter game yang diunduh",
|
||||
"remove": "Hapus",
|
||||
"downloading_metadata": "Mengunduh metadata…",
|
||||
"checking_files": "Memeriksa file…",
|
||||
"starting_download": "Memulai unduhan…",
|
||||
"deleting": "Menghapus file instalasi…",
|
||||
"delete": "Hapus file instalasi",
|
||||
"remove_from_list": "Hapus",
|
||||
"delete_modal_title": "Kamu yakin?",
|
||||
"delete_modal_description": "Proses ini akan menghapus semua file instalasi dari komputer kamu",
|
||||
"install": "Install"
|
||||
"deleting": "Menghapus installer…",
|
||||
"delete": "Hapus installer",
|
||||
"delete_modal_title": "Apa kamu yakin?",
|
||||
"delete_modal_description": "Ini akan menghapus semua file instalasi dari komputer kamu",
|
||||
"install": "Instal",
|
||||
"download_in_progress": "Sedang berlangsung",
|
||||
"queued_downloads": "Unduhan dalam antrian",
|
||||
"downloads_completed": "Selesai",
|
||||
"queued": "Dalam antrian",
|
||||
"no_downloads_title": "Kosong",
|
||||
"no_downloads_description": "Kamu belum mengunduh apa pun dengan Hydra, tapi belum terlambat untuk mulai.",
|
||||
"checking_files": "Memeriksa file…"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Lokasi unduhan",
|
||||
"change": "Perbarui",
|
||||
"notifications": "Pengingat",
|
||||
"downloads_path": "Path unduhan",
|
||||
"change": "Ganti",
|
||||
"notifications": "Notifikasi",
|
||||
"enable_download_notifications": "Saat unduhan selesai",
|
||||
"enable_repack_list_notifications": "Saat repack terbaru ditambahkan",
|
||||
"telemetry": "Telemetri",
|
||||
"telemetry_description": "Izinkan statistik penggunaan data anonim",
|
||||
"enable_repack_list_notifications": "Saat ada repack baru",
|
||||
"real_debrid_api_token_label": "Token API Real-Debrid",
|
||||
"quit_app_instead_hiding": "Jangan sembunyikan Hydra saat ditutup",
|
||||
"launch_with_system": "Jalankan Hydra saat sistem dinyalakan",
|
||||
"general": "Umum",
|
||||
"behavior": "Perilaku",
|
||||
"quit_app_instead_hiding": "Tutup aplikasi alih-alih menyembunyikan aplikasi",
|
||||
"launch_with_system": "Jalankan saat memulai sistem"
|
||||
"download_sources": "Sumber unduhan",
|
||||
"language": "Bahasa",
|
||||
"real_debrid_api_token": "Token API",
|
||||
"enable_real_debrid": "Aktifkan Real-Debrid",
|
||||
"real_debrid_description": "Real-Debrid adalah downloader tanpa batas yang memungkinkan kamu untuk mengunduh file dengan cepat dan pada kecepatan terbaik dari Internet kamu.",
|
||||
"real_debrid_invalid_token": "Token API tidak valid",
|
||||
"real_debrid_api_token_hint": "Kamu bisa dapatkan token API di <0>sini</0>",
|
||||
"real_debrid_free_account_error": "Akun \"{{username}}\" adalah akun gratis. Silakan berlangganan Real-Debrid",
|
||||
"real_debrid_linked_message": "Akun \"{{username}}\" terhubung",
|
||||
"save_changes": "Simpan perubahan",
|
||||
"changes_saved": "Perubahan disimpan berhasil",
|
||||
"download_sources_description": "Hydra akan mencari link unduhan dari sini. URL harus menuju file .json dengan link unduhan.",
|
||||
"validate_download_source": "Validasi",
|
||||
"remove_download_source": "Hapus",
|
||||
"add_download_source": "Tambahkan sumber",
|
||||
"download_count_zero": "Tidak ada unduhan dalam daftar",
|
||||
"download_count_one": "{{countFormatted}} unduhan dalam daftar",
|
||||
"download_count_other": "{{countFormatted}} unduhan dalam daftar",
|
||||
"download_options_zero": "Tidak ada unduhan tersedia",
|
||||
"download_options_one": "{{countFormatted}} unduhan tersedia",
|
||||
"download_options_other": "{{countFormatted}} unduhan tersedia",
|
||||
"download_source_url": "URL sumber unduhan",
|
||||
"add_download_source_description": "Masukkan URL yang berisi file .json",
|
||||
"download_source_up_to_date": "Terkini",
|
||||
"download_source_errored": "Terjadi kesalahan",
|
||||
"sync_download_sources": "Sinkronkan sumber",
|
||||
"removed_download_source": "Sumber unduhan dihapus",
|
||||
"added_download_source": "Sumber unduhan ditambahkan",
|
||||
"download_sources_synced": "Semua sumber unduhan disinkronkan",
|
||||
"insert_valid_json_url": "Masukkan URL JSON yang valid",
|
||||
"found_download_option_zero": "Tidak ada opsi unduhan ditemukan",
|
||||
"found_download_option_one": "Ditemukan {{countFormatted}} opsi unduhan",
|
||||
"found_download_option_other": "Ditemukan {{countFormatted}} opsi unduhan",
|
||||
"import": "Impor"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Unduhan selesai",
|
||||
"game_ready_to_install": "{{title}} sudah siap untuk instalasi",
|
||||
"game_ready_to_install": "{{title}} siap untuk diinstal",
|
||||
"repack_list_updated": "Daftar repack diperbarui",
|
||||
"repack_count_one": "{{count}} repack ditambahkan",
|
||||
"repack_count_other": "{{count}} repack ditambahkan"
|
||||
"repack_count_other": "{{count}} repack ditambahkan",
|
||||
"new_update_available": "Versi {{version}} tersedia",
|
||||
"restart_to_install_update": "Restart Hydra untuk instal pembaruan"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Buka Hydra",
|
||||
"quit": "Tutup"
|
||||
"quit": "Keluar"
|
||||
},
|
||||
"game_card": {
|
||||
"no_downloads": "Tidak ada unduhan tersedia"
|
||||
"no_downloads": "Tidak ada unduhan yang tersedia"
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Program tidak terinstal",
|
||||
"description": "Wine atau Lutris exe tidak ditemukan pada sistem kamu",
|
||||
"instructions": "Periksa cara instalasi yang benar pada Linux distro-mu agar game dapat dimainkan dengan benar"
|
||||
"title": "Program tidak terpasang",
|
||||
"description": "Executable Wine atau Lutris tidak ditemukan di sistem kamu",
|
||||
"instructions": "Cek cara instalasi yang benar di distro Linux kamu agar game bisa jalan normal"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Tombol tutup"
|
||||
"close": "Tutup"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "Tampilkan/Sembunyikan kata sandi"
|
||||
},
|
||||
"user_profile": {
|
||||
"amount_hours": "{{amount}} jam",
|
||||
"amount_minutes": "{{amount}} menit",
|
||||
"last_time_played": "Terakhir dimainkan {{period}}",
|
||||
"activity": "Aktivitas terbaru",
|
||||
"library": "Perpustakaan",
|
||||
"total_play_time": "Total waktu bermain: {{amount}}",
|
||||
"no_recent_activity_title": "Hmm… kosong di sini",
|
||||
"no_recent_activity_description": "Kamu belum main game baru-baru ini. Yuk, mulai main!",
|
||||
"display_name": "Nama tampilan",
|
||||
"saving": "Menyimpan",
|
||||
"save": "Simpan",
|
||||
"edit_profile": "Edit Profil",
|
||||
"saved_successfully": "Berhasil disimpan",
|
||||
"try_again": "Coba lagi yuk",
|
||||
"sign_out_modal_title": "Apa kamu yakin?",
|
||||
"cancel": "Batal",
|
||||
"successfully_signed_out": "Berhasil keluar",
|
||||
"sign_out": "Keluar",
|
||||
"playing_for": "Bermain selama {{amount}}",
|
||||
"sign_out_modal_text": "Perpustakaan kamu terhubung dengan akun saat ini. Saat keluar, perpustakaan kamu tidak akan terlihat lagi, dan progres tidak akan disimpan. Lanjutkan keluar?",
|
||||
"add_friends": "Tambah Teman",
|
||||
"add": "Tambah",
|
||||
"friend_code": "Kode teman",
|
||||
"see_profile": "Lihat profil",
|
||||
"sending": "Mengirim",
|
||||
"friend_request_sent": "Permintaan teman terkirim",
|
||||
"friends": "Teman",
|
||||
"friends_list": "Daftar teman",
|
||||
"user_not_found": "Pengguna tidak ditemukan"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,53 @@
|
||||
export { default as en } from "./en/translation.json";
|
||||
export { default as pt } from "./pt/translation.json";
|
||||
export { default as es } from "./es/translation.json";
|
||||
export { default as nl } from "./nl/translation.json";
|
||||
export { default as fr } from "./fr/translation.json";
|
||||
export { default as hu } from "./hu/translation.json";
|
||||
export { default as it } from "./it/translation.json";
|
||||
export { default as pl } from "./pl/translation.json";
|
||||
export { default as ru } from "./ru/translation.json";
|
||||
export { default as tr } from "./tr/translation.json";
|
||||
export { default as be } from "./be/translation.json";
|
||||
export { default as uk } from "./uk/translation.json";
|
||||
export { default as zh } from "./zh/translation.json";
|
||||
export { default as id } from "./id/translation.json";
|
||||
export { default as ko } from "./ko/translation.json";
|
||||
export { default as da } from "./da/translation.json";
|
||||
export { default as ar } from "./ar/translation.json";
|
||||
export { default as fa } from "./fa/translation.json";
|
||||
import en from "./en/translation.json";
|
||||
import ptPT from "./pt-PT/translation.json";
|
||||
import ptBR from "./pt-BR/translation.json";
|
||||
import es from "./es/translation.json";
|
||||
import nl from "./nl/translation.json";
|
||||
import fr from "./fr/translation.json";
|
||||
import hu from "./hu/translation.json";
|
||||
import it from "./it/translation.json";
|
||||
import de from "./de/translation.json";
|
||||
import pl from "./pl/translation.json";
|
||||
import ru from "./ru/translation.json";
|
||||
import tr from "./tr/translation.json";
|
||||
import be from "./be/translation.json";
|
||||
import uk from "./uk/translation.json";
|
||||
import zh from "./zh/translation.json";
|
||||
import id from "./id/translation.json";
|
||||
import ko from "./ko/translation.json";
|
||||
import da from "./da/translation.json";
|
||||
import ar from "./ar/translation.json";
|
||||
import fa from "./fa/translation.json";
|
||||
import ro from "./ro/translation.json";
|
||||
import ca from "./ca/translation.json";
|
||||
import kk from "./kk/translation.json";
|
||||
import cs from "./cs/translation.json";
|
||||
import nb from "./nb/translation.json";
|
||||
|
||||
export default {
|
||||
"pt-BR": ptBR,
|
||||
"pt-PT": ptPT,
|
||||
en,
|
||||
de,
|
||||
es,
|
||||
nl,
|
||||
fr,
|
||||
hu,
|
||||
it,
|
||||
pl,
|
||||
ru,
|
||||
tr,
|
||||
be,
|
||||
uk,
|
||||
zh,
|
||||
id,
|
||||
ko,
|
||||
da,
|
||||
ar,
|
||||
fa,
|
||||
ro,
|
||||
ca,
|
||||
kk,
|
||||
cs,
|
||||
nb,
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"language_name": "Italiano",
|
||||
"home": {
|
||||
"featured": "In primo piano",
|
||||
"recently_added": "Aggiunti di recente",
|
||||
"trending": "Di tendenza",
|
||||
"surprise_me": "Sorprendimi",
|
||||
"no_results": "Nessun risultato trovato"
|
||||
@@ -12,16 +12,10 @@
|
||||
"settings": "Impostazioni",
|
||||
"my_library": "La mia libreria",
|
||||
"downloading_metadata": "{{title}} (Scaricamento metadati…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Verifica file…)",
|
||||
"paused": "{{title}} (In pausa)",
|
||||
"downloading": "{{title}} ({{percentage}} - Download…)",
|
||||
"filter": "Filtra libreria",
|
||||
"follow_us": "Seguici",
|
||||
"home": "Home",
|
||||
"discord": "Unisciti al nostro Discord",
|
||||
"telegram": "Unisciti al nostro Telegram",
|
||||
"x": "Segui su X",
|
||||
"github": "Contribuisci su GitHub"
|
||||
"home": "Home"
|
||||
},
|
||||
"header": {
|
||||
"search": "Cerca",
|
||||
@@ -34,7 +28,6 @@
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Nessun download in corso",
|
||||
"downloading_metadata": "Scaricamento metadati di {{title}}…",
|
||||
"checking_files": "Verifica file di {{title}}… ({{percentage}} completato)",
|
||||
"downloading": "Download di {{title}}… ({{percentage}} completato) - Conclusione {{eta}} - {{speed}}"
|
||||
},
|
||||
"catalogue": {
|
||||
@@ -52,27 +45,20 @@
|
||||
"pause": "Metti in pausa",
|
||||
"cancel": "Annulla",
|
||||
"remove": "Rimuovi",
|
||||
"remove_from_list": "Rimuovi",
|
||||
"space_left_on_disk": "{{space}} rimasto sul disco",
|
||||
"eta": "Conclusione {{eta}}",
|
||||
"downloading_metadata": "Scaricamento metadati…",
|
||||
"checking_files": "Verifica file…",
|
||||
"filter": "Filtra repack",
|
||||
"requirements": "Requisiti di sistema",
|
||||
"minimum": "Minimi",
|
||||
"recommended": "Consigliati",
|
||||
"no_minimum_requirements": "{{title}} non fornisce informazioni sui requisiti minimi",
|
||||
"no_recommended_requirements": "{{title}} non fornisce informazioni sui requisiti consigliati",
|
||||
"paused_progress": "{{progress}} (In pausa)",
|
||||
"release_date": "Rilasciato il {{date}}",
|
||||
"publisher": "Pubblicato da {{publisher}}",
|
||||
"copy_link_to_clipboard": "Copia link",
|
||||
"copied_link_to_clipboard": "Link copiato",
|
||||
"hours": "ore",
|
||||
"minutes": "minuti",
|
||||
"amount_hours": "{{amount}} ore",
|
||||
"amount_minutes": "{{amount}} minuti",
|
||||
"accuracy": "{{accuratezza}}% di accuratezza",
|
||||
"accuracy": "{{accuracy}}% di accuratezza",
|
||||
"add_to_library": "Aggiungi alla libreria",
|
||||
"remove_from_library": "Rimuovi dalla libreria",
|
||||
"no_downloads": "Nessun download disponibile",
|
||||
@@ -86,17 +72,15 @@
|
||||
"playing_now": "Stai giocando adesso",
|
||||
"change": "Aggiorna",
|
||||
"repacks_modal_description": "Scegli il repack che vuoi scaricare",
|
||||
"downloads_path": "Percorso dei download",
|
||||
"select_folder_hint": "Per cambiare la cartella predefinita, accedi alle",
|
||||
"download_now": "Scarica ora",
|
||||
"installation_instructions": "Istruzioni di installazione",
|
||||
"installation_instructions_description": "Sono necessari passaggi aggiuntivi per installare questo gioco",
|
||||
"online_fix_instruction": "I giochi OnlineFix richiedono una password per essere estratti. Quando richiesto, utilizza la seguente password:",
|
||||
"dodi_installation_instruction": "Quando apri l'installatore di DODI, premi il tasto su della tua tastiera <0 /> per avviare il processo di installazione:",
|
||||
"dont_show_it_again": "Non mostrarlo più",
|
||||
"copy_to_clipboard": "Copia",
|
||||
"copied_to_clipboard": "Copiato",
|
||||
"got_it": "Capito"
|
||||
"no_shop_details": "Impossibile recuperare i dettagli del negozio.",
|
||||
"download_options": "Opzioni di download",
|
||||
"download_path": "Percorso di download",
|
||||
"previous_screenshot": "Screenshot precedente",
|
||||
"next_screenshot": "Screenshot successivo",
|
||||
"screenshot": "Screenshot {{number}}",
|
||||
"open_screenshot": "Apri screenshot {{number}}"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Attiva Hydra",
|
||||
@@ -112,19 +96,13 @@
|
||||
"eta": "Conclusione {{eta}}",
|
||||
"paused": "In pausa",
|
||||
"verifying": "Verifica…",
|
||||
"completed_at": "Completato in {{date}}",
|
||||
"completed": "Completato",
|
||||
"cancelled": "Annullato",
|
||||
"download_again": "Scarica di nuovo",
|
||||
"cancel": "Annulla",
|
||||
"filter": "Filtra giochi scaricati",
|
||||
"remove": "Rimuovi",
|
||||
"downloading_metadata": "Scaricamento metadati…",
|
||||
"checking_files": "Verifica file…",
|
||||
"starting_download": "Avvio download…",
|
||||
"deleting": "Eliminazione dell'installer…",
|
||||
"delete": "Rimuovi installer",
|
||||
"remove_from_list": "Rimuovi",
|
||||
"delete_modal_title": "Sei sicuro?",
|
||||
"delete_modal_description": "Questo rimuoverà tutti i file di installazione dal tuo computer",
|
||||
"install": "Installa"
|
||||
@@ -135,8 +113,14 @@
|
||||
"notifications": "Notifiche",
|
||||
"enable_download_notifications": "Quando un download è completo",
|
||||
"enable_repack_list_notifications": "Quando viene aggiunto un nuovo repack",
|
||||
"telemetry": "Telemetria",
|
||||
"telemetry_description": "Abilita statistiche di utilizzo anonime"
|
||||
"real_debrid_api_token_label": "Token API Real Debrid",
|
||||
"quit_app_instead_hiding": "Esci da Hydra invece di nascondere nell'area di notifica",
|
||||
"launch_with_system": "Apri Hydra all'avvio",
|
||||
"general": "Generale",
|
||||
"behavior": "Comportamento",
|
||||
"enable_real_debrid": "Abilita Real Debrid",
|
||||
"real_debrid_api_token_hint": "Puoi trovare la tua chiave API <0>here</0>",
|
||||
"save_changes": "Salva modifiche"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Download completato",
|
||||
|
||||
243
src/locales/kk/translation.json
Normal file
243
src/locales/kk/translation.json
Normal file
@@ -0,0 +1,243 @@
|
||||
{
|
||||
"language_name": "қазақ тілі",
|
||||
"app": {
|
||||
"successfully_signed_in": "Сәтті кіру"
|
||||
},
|
||||
"home": {
|
||||
"featured": "Ұсынылған",
|
||||
"trending": "Трендте",
|
||||
"surprise_me": "Таңқалдыр",
|
||||
"no_results": "Ештеңе табылмады"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Каталог",
|
||||
"downloads": "Жүктеулер",
|
||||
"settings": "Параметрлер",
|
||||
"my_library": "Кітапхана",
|
||||
"downloading_metadata": "{{title}} (Метадеректерді жүктеу…)",
|
||||
"paused": "{{title}} (Тоқтатылды)",
|
||||
"downloading": "{{title}} ({{percentage}} - Жүктеу…)",
|
||||
"filter": "Кітапхана фильтрі",
|
||||
"home": "Басты бет",
|
||||
"queued": "{{title}} (Кезекте)",
|
||||
"game_has_no_executable": "Ойынды іске қосу файлы таңдалмаған",
|
||||
"sign_in": "Кіру"
|
||||
},
|
||||
"header": {
|
||||
"search": "Іздеу",
|
||||
"home": "Басты бет",
|
||||
"catalogue": "Каталог",
|
||||
"downloads": "Жүктеулер",
|
||||
"search_results": "Іздеу нәтижелері",
|
||||
"settings": "Параметрлер",
|
||||
"version_available_install": "Қол жетімді нұсқа {{version}}. Қайта іске қосу және орнату үшін мұнда басыңыз.",
|
||||
"version_available_download": "Қол жетімді нұсқа {{version}}. Жүктеу үшін мұнда басыңыз."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Белсенді жүктеулер жоқ",
|
||||
"downloading_metadata": "Метадеректерді жүктеу {{title}}…",
|
||||
"downloading": "Жүктеу {{title}}… ({{percentage}} аяқталды) - Аяқтау {{eta}} - {{speed}}",
|
||||
"calculating_eta": "Жүктеу {{title}}… ({{percentage}} аяқталды) - Қалған уақытты есептеу…"
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "Келесі бет",
|
||||
"previous_page": "Алдыңғы бет"
|
||||
},
|
||||
"game_details": {
|
||||
"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": "Репактар фильтрі",
|
||||
"requirements": "Жүйелік талаптар",
|
||||
"minimum": "Минималды",
|
||||
"recommended": "Ұсынылған",
|
||||
"paused": "Тоқтатылды",
|
||||
"release_date": "Шыққан күні {{date}}",
|
||||
"publisher": "Баспагер {{publisher}}",
|
||||
"hours": "сағат",
|
||||
"minutes": "минут",
|
||||
"amount_hours": "{{amount}} сағат",
|
||||
"amount_minutes": "{{amount}} минут",
|
||||
"accuracy": "дәлдік {{accuracy}}%",
|
||||
"add_to_library": "Кітапханаға қосу",
|
||||
"remove_from_library": "Кітапханадан жою",
|
||||
"no_downloads": "Жүктеулер жоқ",
|
||||
"play_time": "Ойнау уақыты {{amount}}",
|
||||
"last_time_played": "Соңғы ойнаған уақыт {{period}}",
|
||||
"not_played_yet": "Сіз {{title}} ойнамағансыз",
|
||||
"next_suggestion": "Келесі ұсыныс",
|
||||
"play": "Ойнау",
|
||||
"deleting": "Орнатушыны жою…",
|
||||
"close": "Жабу",
|
||||
"playing_now": "Қазір ойнап жатыр",
|
||||
"change": "Өзгерту",
|
||||
"repacks_modal_description": "Жүктеу үшін репакты таңдаңыз",
|
||||
"select_folder_hint": "Әдепкі жүктеу қалтасын өзгерту үшін <0>Параметрлер</0> ашыңыз",
|
||||
"download_now": "Қазір жүктеу",
|
||||
"no_shop_details": "Сипаттаманы алу мүмкін болмады",
|
||||
"download_options": "Жүктеу нұсқалары",
|
||||
"download_path": "Жүктеу жолы",
|
||||
"previous_screenshot": "Алдыңғы скриншот",
|
||||
"next_screenshot": "Келесі скриншот",
|
||||
"screenshot": "Скриншот {{number}}",
|
||||
"open_screenshot": "Скриншотты ашу {{number}}",
|
||||
"download_settings": "Жүктеу параметрлері",
|
||||
"downloader": "Жүктегіш",
|
||||
"select_executable": "Таңдау",
|
||||
"no_executable_selected": "Файл таңдалмаған",
|
||||
"open_folder": "Қалтаны ашу",
|
||||
"open_download_location": "Жүктеу қалтасын қарау",
|
||||
"create_shortcut": "Жұмыс үстелінде жарлық жасау",
|
||||
"remove_files": "Файлдарды жою",
|
||||
"remove_from_library_title": "Сіз сенімдісіз бе?",
|
||||
"remove_from_library_description": "{{game}} сіздің кітапханаңыздан жойылады.",
|
||||
"options": "Параметрлер",
|
||||
"executable_section_title": "Файл",
|
||||
"executable_section_description": "\"Ойнау\" батырмасын басқанда іске қосылатын файл жолы",
|
||||
"downloads_secion_title": "Жүктеулер",
|
||||
"downloads_section_description": "Ойынның жаңартулары немесе басқа нұсқалары бар-жоғын тексеру",
|
||||
"danger_zone_section_title": "Қауіпті аймақ",
|
||||
"danger_zone_section_description": "Осы ойынды кітапханаңыздан жою немесе Hydra жүктеген файлдарды жою",
|
||||
"download_in_progress": "Жүктеу жүріп жатыр",
|
||||
"download_paused": "Жүктеу тоқтатылды",
|
||||
"last_downloaded_option": "Соңғы жүктеу нұсқасы",
|
||||
"create_shortcut_success": "Жарлық жасалды",
|
||||
"create_shortcut_error": "Жарлық жасау мүмкін болмады"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Hydra-ны белсендіру",
|
||||
"installation_id": "Орнату ID:",
|
||||
"enter_activation_code": "Активтендіру кодын енгізіңіз",
|
||||
"message": "Егер оның қайдан алуға болатынын білмесеңіз, сізде оның болмауы керек.",
|
||||
"activate": "Белсендіру",
|
||||
"loading": "Жүктеу…"
|
||||
},
|
||||
"downloads": {
|
||||
"resume": "Жандандыру",
|
||||
"pause": "Тоқтату",
|
||||
"eta": "Аяқтау {{eta}}",
|
||||
"paused": "Тоқтатылды",
|
||||
"verifying": "Тексеру…",
|
||||
"completed": "Аяқталды",
|
||||
"removed": "Жүктелмеген",
|
||||
"cancel": "Болдырмау",
|
||||
"filter": "Жүктелген ойындар фильтрі",
|
||||
"remove": "Жою",
|
||||
"downloading_metadata": "Метадеректерді жүктеу…",
|
||||
"deleting": "Орнатушыны жою…",
|
||||
"delete": "Орнатушыны жою",
|
||||
"delete_modal_title": "Сіз сенімдісіз бе?",
|
||||
"delete_modal_description": "Бұл барлық орнатушыларды компьютеріңізден жояды",
|
||||
"install": "Орнату",
|
||||
"download_in_progress": "Жүктеу жүріп жатыр",
|
||||
"queued_downloads": "Кезектегі жүктеулер",
|
||||
"downloads_completed": "Аяқталды",
|
||||
"queued": "Кезекте",
|
||||
"no_downloads_title": "Мұнда бос...",
|
||||
"no_downloads_description": "Сіз Hydra арқылы әлі ештеңе жүктемегенсіз, бірақ бастау ешқашан кеш емес."
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Жүктеу жолы",
|
||||
"change": "Өзгерту",
|
||||
"notifications": "Хабарламалар",
|
||||
"enable_download_notifications": "Жүктеу аяқталғанда",
|
||||
"enable_repack_list_notifications": "Жаңа репак қосылғанда",
|
||||
"real_debrid_api_token_label": "Real-Debrid API-токен",
|
||||
"quit_app_instead_hiding": "Hydra-ны трейге жасырудың орнына жабу",
|
||||
"launch_with_system": "Жүйемен бірге Hydra-ны іске қосу",
|
||||
"general": "Жалпы",
|
||||
"behavior": "Мінез-құлық",
|
||||
"download_sources": "Жүктеу көздері",
|
||||
"language": "Тіл",
|
||||
"real_debrid_api_token": "API Кілті",
|
||||
"enable_real_debrid": "Real-Debrid-ті қосу",
|
||||
"real_debrid_description": "Real-Debrid - бұл шектеусіз жүктеуші, ол интернетте орналастырылған файлдарды тез жүктеуге немесе жеке желі арқылы кез келген блоктарды айналып өтіп, оларды бірден плеерге беруге мүмкіндік береді.",
|
||||
"real_debrid_invalid_token": "Қате API кілті",
|
||||
"real_debrid_api_token_hint": "API кілтін <0>осы жерден</0> алуға болады",
|
||||
"real_debrid_free_account_error": "\"{{username}}\" аккаунты жазылымға ие емес. Real-Debrid жазылымын алыңыз",
|
||||
"real_debrid_linked_message": "\"{{username}}\" аккаунты байланған",
|
||||
"save_changes": "Өзгерістерді сақтау",
|
||||
"changes_saved": "Өзгерістер сәтті сақталды",
|
||||
"download_sources_description": "Hydra осы көздерден жүктеу сілтемелерін алады. URL-да жүктеу сілтемелері бар .json файлына тікелей сілтеме болуы керек.",
|
||||
"validate_download_source": "Тексеру",
|
||||
"remove_download_source": "Жою",
|
||||
"add_download_source": "Жүктеу көзін қосу",
|
||||
"download_count_zero": "Жүктеулер тізімінде жоқ",
|
||||
"download_count_one": "{{countFormatted}} жүктеу тізімде",
|
||||
"download_count_other": "{{countFormatted}} жүктеу тізімде",
|
||||
"download_options_zero": "Қолжетімді жүктеулер жоқ",
|
||||
"download_options_one": "{{countFormatted}} жүктеу нұсқасы қол жетімді",
|
||||
"download_options_other": "{{countFormatted}} жүктеу нұсқалары қол жетімді",
|
||||
"download_source_url": "Көздің сілтемесі",
|
||||
"add_download_source_description": ".json файлға сілтемені қойыңыз",
|
||||
"download_source_up_to_date": "Жаңартылған",
|
||||
"download_source_errored": "Қате",
|
||||
"sync_download_sources": "Көздерді синхрондау",
|
||||
"removed_download_source": "Жүктеу көзі жойылды",
|
||||
"added_download_source": "Жүктеу көзі қосылды",
|
||||
"download_sources_synced": "Барлық жүктеу көздері синхрондалды",
|
||||
"insert_valid_json_url": "Жарамды JSON URL енгізіңіз",
|
||||
"found_download_option_zero": "Жүктеу нұсқалары табылмады",
|
||||
"found_download_option_one": "{{countFormatted}} жүктеу нұсқасы табылды",
|
||||
"found_download_option_other": "{{countFormatted}} жүктеу нұсқалары табылды",
|
||||
"import": "Импорттау"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Жүктеу аяқталды",
|
||||
"game_ready_to_install": "{{title}} орнатуға дайын",
|
||||
"repack_list_updated": "Репактар тізімі жаңартылды",
|
||||
"repack_count_one": "{{count}} репак қосылды",
|
||||
"repack_count_other": "{{count}} репактар қосылды"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Hydra-ны ашу",
|
||||
"quit": "Шығу"
|
||||
},
|
||||
"game_card": {
|
||||
"no_downloads": "Жүктеулер жоқ"
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Бағдарламалар орнатылмаған",
|
||||
"description": "Wine немесе Lutris табылмады",
|
||||
"instructions": "Linux дистрибутивіңізге олардың кез келгенін дұрыс орнатудың жолын біліңіз осылайша ойын дұрыс жұмыс істей алады"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Жабу"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "Құпиясөзді көрсету"
|
||||
},
|
||||
"user_profile": {
|
||||
"amount_hours": "{{amount}} сағат",
|
||||
"amount_minutes": "{{amount}} минут",
|
||||
"last_time_played": "Соңғы ойын {{period}}",
|
||||
"activity": "Соңғы әрекет",
|
||||
"library": "Кітапхана",
|
||||
"total_play_time": "Барлығы ойнаған: {{amount}}",
|
||||
"no_recent_activity_title": "Хммм... Мұнда ештеңе жоқ",
|
||||
"no_recent_activity_description": "Сіз ұзақ уақыт бойы ештеңе ойнаған жоқсыз. Мұны өзгерту керек!",
|
||||
"display_name": "Көрсету аты",
|
||||
"saving": "Сақтау",
|
||||
"save": "Сақталды",
|
||||
"edit_profile": "Профильді өзгерту",
|
||||
"saved_successfully": "Сәтті сақталды",
|
||||
"try_again": "Қайта көріңіз",
|
||||
"sign_out_modal_title": "Сіз сенімдісіз бе?",
|
||||
"cancel": "Болдырмау",
|
||||
"successfully_signed_out": "Аккаунттан сәтті шығу",
|
||||
"sign_out": "Шығу",
|
||||
"playing_for": "Ойнаған {{amount}}",
|
||||
"sign_out_modal_text": "Сіздің кітапханаңыз ағымдағы аккаунтпен байланысты. Жүйеден шыққанда сіздің кітапханаңыз қол жетімсіз болады және прогресс сақталмайды. Шығу?"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"language_name": "한국어",
|
||||
"home": {
|
||||
"featured": "추천",
|
||||
"recently_added": "최근 추가됨",
|
||||
"trending": "인기",
|
||||
"surprise_me": "무작위 추천",
|
||||
"no_results": "결과 없음"
|
||||
@@ -12,16 +12,10 @@
|
||||
"settings": "설정",
|
||||
"my_library": "내 라이브러리",
|
||||
"downloading_metadata": "{{title}} (메타데이터 다운로드 중…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - 파일 검사 중…)",
|
||||
"paused": "{{title}} (일시 정지됨)",
|
||||
"downloading": "{{title}} ({{percentage}} - 다운로드 중…)",
|
||||
"filter": "라이브러리 정렬",
|
||||
"follow_us": "공식 SNS",
|
||||
"home": "홈",
|
||||
"discord": "공식 디스코드",
|
||||
"telegram": "공식 텔레그램",
|
||||
"x": "공식 X (구 트위터)",
|
||||
"github": "GitHub에서 기여하기"
|
||||
"home": "홈"
|
||||
},
|
||||
"header": {
|
||||
"search": "게임 검색하기",
|
||||
@@ -34,7 +28,6 @@
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "진행중인 다운로드 없음",
|
||||
"downloading_metadata": "{{title}}의 메타데이터를 다운로드 중…",
|
||||
"checking_files": "{{title}}의 파일들을 검사 중… ({{percentage}} 완료)",
|
||||
"downloading": "{{title}}의 파일들을 다운로드 중… ({{percentage}} 완료) - 완료까지 {{eta}} - {{speed}}"
|
||||
},
|
||||
"catalogue": {
|
||||
@@ -52,22 +45,15 @@
|
||||
"pause": "일시 정지",
|
||||
"cancel": "취소",
|
||||
"remove": "제거",
|
||||
"remove_from_list": "목록에서 제거",
|
||||
"space_left_on_disk": "여유 저장 용량 {{space}} 남음",
|
||||
"eta": "완료까지 {{eta}}",
|
||||
"downloading_metadata": "메타데이터 다운로드 중…",
|
||||
"checking_files": "파일 검사 중…",
|
||||
"filter": "리팩들을 다음과 같이 정렬하기",
|
||||
"requirements": "시스템 사양",
|
||||
"minimum": "최저 사양",
|
||||
"recommended": "권장 사양",
|
||||
"no_minimum_requirements": "{{title}}의 최저 사양을 제공받지 못 함",
|
||||
"no_recommended_requirements": "{{title}}의 권장 사양을 제공받지 못 함",
|
||||
"paused_progress": "{{progress}} (일시 정지)",
|
||||
"release_date": "{{date}}에 발매됨",
|
||||
"publisher": "{{publisher}} 배급",
|
||||
"copy_link_to_clipboard": "링크 복사하기",
|
||||
"copied_link_to_clipboard": "링크 복사됨",
|
||||
"hours": "시",
|
||||
"minutes": "분",
|
||||
"amount_hours": "{{amount}} 시간",
|
||||
@@ -86,17 +72,8 @@
|
||||
"playing_now": "현재 플레이 중",
|
||||
"change": "바꾸기",
|
||||
"repacks_modal_description": "다운로드 할 리팩을 선택해 주세요",
|
||||
"downloads_path": "다운로드 경로",
|
||||
"select_folder_hint": "기본 폴더를 바꾸려면 <0>설정</0>으로 가세요",
|
||||
"download_now": "지금 다운로드",
|
||||
"installation_instructions": "설치 방법",
|
||||
"installation_instructions_description": "이 게임을 설치하기 위해서는 추가적인 단계가 필요합니다",
|
||||
"online_fix_instruction": "OnlineFix 게임들은 압축 해제 시 암호가 필요합니다. 비밀번호를 물을 때 다음을 암호로 사용하기:",
|
||||
"dodi_installation_instruction": "DODI 인스톨러를 실행했다면 키보드의 위 방향키를 눌러 설치를 시작하세요:",
|
||||
"dont_show_it_again": "다시 보지 않기",
|
||||
"copy_to_clipboard": "복사하기",
|
||||
"copied_to_clipboard": "복사됨",
|
||||
"got_it": "알았습니다"
|
||||
"download_now": "지금 다운로드"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Hydra 실행",
|
||||
@@ -112,24 +89,16 @@
|
||||
"eta": "완료까지 {{eta}}",
|
||||
"paused": "일시 정지됨",
|
||||
"verifying": "검증중…",
|
||||
"completed_at": "{{date}}에 완료됨",
|
||||
"completed": "완료됨",
|
||||
"cancelled": "취소됨",
|
||||
"download_again": "다시 다운로드 하기",
|
||||
"cancel": "취소",
|
||||
"filter": "다운로드 된 게임들을 정렬하기",
|
||||
"remove": "제거하기",
|
||||
"downloading_metadata": "메타데이터 다운로드 중…",
|
||||
"checking_files": "파일 검사 중…",
|
||||
"starting_download": "다운로드 개시 중…",
|
||||
"deleting": "인스톨러 삭제 중…",
|
||||
"delete": "인스톨러 삭제하기",
|
||||
"remove_from_list": "제거하기",
|
||||
"delete_modal_title": "정말로 하시겠습니까?",
|
||||
"delete_modal_description": "이 기기의 모든 설치 파일들이 제거될 것입니다",
|
||||
"install": "설치",
|
||||
"real_debrid": "Real Debrid",
|
||||
"torrent": "Torrent"
|
||||
"install": "설치"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "다운로드 경로",
|
||||
@@ -137,15 +106,11 @@
|
||||
"notifications": "알림",
|
||||
"enable_download_notifications": "다운로드가 완료되었을 때",
|
||||
"enable_repack_list_notifications": "새 리팩이 추가되었을 때",
|
||||
"telemetry": "자동 데이터 수집",
|
||||
"telemetry_description": "익명 사용 통계를 활성화",
|
||||
"real_debrid_api_token_description": "Real Debrid API 토큰",
|
||||
"quit_app_instead_hiding": "작업 표시줄 트레이로 최소화하는 대신 Hydra를 종료",
|
||||
"launch_with_system": "컴퓨터가 시작되었을 때 Hydra 실행",
|
||||
"general": "일반",
|
||||
"behavior": "행동",
|
||||
"enable_real_debrid": "Real Debrid 활성화",
|
||||
"real_debrid": "Real Debrid",
|
||||
"enable_real_debrid": "Real-Debrid 활성화",
|
||||
"real_debrid_api_token_hint": "API 키를 <0>이곳</0>에서 얻으세요.",
|
||||
"save_changes": "변경 사항 저장"
|
||||
},
|
||||
|
||||
316
src/locales/nb/translation.json
Normal file
316
src/locales/nb/translation.json
Normal file
@@ -0,0 +1,316 @@
|
||||
{
|
||||
"language_name": "Norsk Bokmål",
|
||||
"app": {
|
||||
"successfully_signed_in": "Logget inn vellykket"
|
||||
},
|
||||
"home": {
|
||||
"featured": "Anbefalinger",
|
||||
"trending": "Trender",
|
||||
"surprise_me": "Overrask meg",
|
||||
"no_results": "Ingen resultater fundet",
|
||||
"start_typing": "Begynn å skrive for å søke...",
|
||||
"hot": "Populært akkurat nå",
|
||||
"weekly": "📅 De mest populære spillene denne uken"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Katalog",
|
||||
"downloads": "Nedlastinger",
|
||||
"settings": "Innstillinger",
|
||||
"my_library": "Mitt bibliotek",
|
||||
"downloading_metadata": "{{title}} (Laster ned metadata…)",
|
||||
"paused": "{{title}} (Satt på pause)",
|
||||
"downloading": "{{title}} ({{percentage}} - Laster ned…)",
|
||||
"filter": "Filtrér bibliotek",
|
||||
"home": "Hjem",
|
||||
"queued": "{{title}} (I køen)",
|
||||
"game_has_no_executable": "Spillet har ikke noen kjørbar fil valgt",
|
||||
"sign_in": "Logge inn",
|
||||
"friends": "Venner"
|
||||
},
|
||||
"header": {
|
||||
"search": "Søk efter spill",
|
||||
"home": "Hjem",
|
||||
"catalogue": "Katalog",
|
||||
"downloads": "Nedlastinger",
|
||||
"search_results": "Søkeresultater",
|
||||
"settings": "Innstillinger",
|
||||
"version_available_install": "Versjon {{version}} tilgjengelig. Klikk her for å gjenstarte og installere.",
|
||||
"version_available_download": "Versjon {{version}} tilgjengelig. Klikk her for at laste ned."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Ingen nedlastinger pågår",
|
||||
"downloading_metadata": "Laster ned {{title}} metadata…",
|
||||
"downloading": "Laster ned {{title}}… ({{percentage}} ferdig) - Fullstendig nedlastet {{eta}} - {{speed}}",
|
||||
"calculating_eta": "Laster ned {{title}}… ({{percentage}} ferdig) - Regner ut resterende tid…",
|
||||
"checking_files": "Sjekker {{title}} filer… ({{percentage}} ferdig)"
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "Neste side",
|
||||
"previous_page": "Forrige side"
|
||||
},
|
||||
"game_details": {
|
||||
"open_download_options": "Åpne nedlastingsmuligheter",
|
||||
"download_options_zero": "Ingen nedlastingsmulighet",
|
||||
"download_options_one": "{{count}} nedlastingsmulighet",
|
||||
"download_options_other": "{{count}} nedlastingsmuligheter",
|
||||
"updated_at": "Oppdatert {{updated_at}}",
|
||||
"install": "Installere",
|
||||
"resume": "Fortsett",
|
||||
"pause": "Pause",
|
||||
"cancel": "Kansellere",
|
||||
"remove": "Fjern",
|
||||
"space_left_on_disk": "{{space}} tilbake på harddisken",
|
||||
"eta": "Konklusjon {{eta}}",
|
||||
"calculating_eta": "Utregner resterende tid…",
|
||||
"downloading_metadata": "Laster ned metadata…",
|
||||
"filter": "Filtrér gjennpakkinger",
|
||||
"requirements": "Systemkrav",
|
||||
"minimum": "Mindste",
|
||||
"recommended": "Anbefalet",
|
||||
"paused": "Satt på pause",
|
||||
"release_date": "Offentliggjort den {{date}}",
|
||||
"publisher": "Gitt ut av {{publisher}}",
|
||||
"hours": "timer",
|
||||
"minutes": "minutter",
|
||||
"amount_hours": "{{amount}} timer",
|
||||
"amount_minutes": "{{amount}} minutter",
|
||||
"accuracy": "{{accuracy}}% nøyaktighet",
|
||||
"add_to_library": "Tilføy til biblioteket",
|
||||
"remove_from_library": "Fjern fra biblioteket",
|
||||
"no_downloads": "Ingen nedlastinger tilgjengelig",
|
||||
"play_time": "Spilt i {{amount}}",
|
||||
"last_time_played": "Sist spilt {{period}}",
|
||||
"not_played_yet": "Du har ikke spilt {{title}} enda",
|
||||
"next_suggestion": "Neste forslag",
|
||||
"play": "Spil",
|
||||
"deleting": "Sletter installatør…",
|
||||
"close": "Lukk",
|
||||
"playing_now": "Spiller nå",
|
||||
"change": "Endre",
|
||||
"repacks_modal_description": "Velg den gjennpakking du vil laste ned",
|
||||
"select_folder_hint": "For å endre standard mappen, gå til <0>Innstillingene</0>",
|
||||
"download_now": "Last ned nå",
|
||||
"no_shop_details": "Kunne ikke modta butikksdetaljene.",
|
||||
"download_options": "Nedlastingsmuligheter",
|
||||
"download_path": "Nedlastingssti",
|
||||
"previous_screenshot": "Forrige skjermbilde",
|
||||
"next_screenshot": "Neste skjermbilde",
|
||||
"screenshot": "Skjermbilde {{number}}",
|
||||
"open_screenshot": "Åpen skjermbilde {{number}}",
|
||||
"download_settings": "Nedlastingsinnstillinger",
|
||||
"downloader": "Laster ned",
|
||||
"select_executable": "Velg",
|
||||
"no_executable_selected": "Ingen kjørbar fil valgt",
|
||||
"open_folder": "Åpne mappe",
|
||||
"open_download_location": "Se nedlastingede filer",
|
||||
"create_shortcut": "Opprett snarvei på skrivebordet",
|
||||
"remove_files": "Fjern filer",
|
||||
"remove_from_library_title": "Er du sikker?",
|
||||
"remove_from_library_description": "Dette vil fjerne {{game}} fra biblioteket ditt",
|
||||
"options": "Valgmuligheter",
|
||||
"executable_section_title": "Kjørbar fil",
|
||||
"executable_section_description": "Sti til filen som skal brukes når det trykkes på \"Spill\"",
|
||||
"downloads_secion_title": "Nedlastinger",
|
||||
"downloads_section_description": "Sjekk for oppdateringer eller andre versjoner af dette spillet",
|
||||
"danger_zone_section_title": "Faresonen",
|
||||
"danger_zone_section_description": "Fjern dette spillet fra biblioteket ditt eller filene som har blitt lastet ned av Hydra",
|
||||
"download_in_progress": "Nedlasting pågår",
|
||||
"download_paused": "Nedlasting satt på pause",
|
||||
"last_downloaded_option": "Siste nedlastingsmulighet",
|
||||
"create_shortcut_success": "Opprettelse av snarvei vellykket",
|
||||
"create_shortcut_error": "Feil under oprettelsen av snarvei",
|
||||
"nsfw_content_title": "Dette spillet inneholder upassende innhold",
|
||||
"nsfw_content_description": "{{title}} inneholder innhold som ikke passer til alle aldre. Er du sikker på at du vil fortsette?",
|
||||
"allow_nsfw_content": "Fortsett",
|
||||
"refuse_nsfw_content": "Gå tilbake",
|
||||
"stats": "Statistikk",
|
||||
"download_count": "Nedlastinger",
|
||||
"player_count": "Aktive spillere",
|
||||
"download_error": "Denne nedlastingsmulighet er ikke tilgjengelig",
|
||||
"download": "Last ned",
|
||||
"executable_path_in_use": "Kjørbar fil blir allerede brukt av \"{{game}}\"",
|
||||
"warning": "Advarsel:",
|
||||
"hydra_needs_to_remain_open": "Hydra skal forbli åpent for at denne nedlastingen kan gjennomføres. I tilfelle av at Hydra lukker før nedlastingen er ferdig, mister du fremskrittet ditt."
|
||||
},
|
||||
"activation": {
|
||||
"title": "Aktivér Hydra",
|
||||
"installation_id": "Installasjons ID:",
|
||||
"enter_activation_code": "Inntast aktiveringskoden din",
|
||||
"message": "Hvis du ikke vet hvor du skal spørre om dette, burde du ikke ha dette.",
|
||||
"activate": "Aktivér",
|
||||
"loading": "Innleser…"
|
||||
},
|
||||
"downloads": {
|
||||
"resume": "Fortsett",
|
||||
"pause": "Pause",
|
||||
"eta": "Konklusjon {{eta}}",
|
||||
"paused": "Satt på pause",
|
||||
"verifying": "Verifiserer…",
|
||||
"completed": "Ferdig",
|
||||
"removed": "Ikke lastet ned",
|
||||
"cancel": "Kansellér",
|
||||
"filter": "Filtrér nedlastede spill",
|
||||
"remove": "Fjern",
|
||||
"downloading_metadata": "Laster ned metadata…",
|
||||
"deleting": "Sletter installatør…",
|
||||
"delete": "Fjern installatør",
|
||||
"delete_modal_title": "Er du sikker?",
|
||||
"delete_modal_description": "Dette vil fjerne alle installasjonsfilene fra datamaskinen din",
|
||||
"install": "Installér",
|
||||
"download_in_progress": "Pågår",
|
||||
"queued_downloads": "Nedlastingskø",
|
||||
"downloads_completed": "Gjennomførte",
|
||||
"queued": "I kø",
|
||||
"no_downloads_title": "Ganske tomt",
|
||||
"no_downloads_description": "Du har ikke lastet ned noe med Hydra enda, men det er aldri for sent å begynne.",
|
||||
"checking_files": "Undersøker filer…"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Nedlastingssti",
|
||||
"change": "Oppdater",
|
||||
"notifications": "Notifikasjoner",
|
||||
"enable_download_notifications": "Når en nedlasting blir ferdig",
|
||||
"enable_repack_list_notifications": "Når en ny gjennpakking bliver lagt til",
|
||||
"real_debrid_api_token_label": "Real-Debrid API nøkkel",
|
||||
"quit_app_instead_hiding": "Avslut Hydra i stedet for å minimere til prosesslinjen",
|
||||
"launch_with_system": "Åpne Hydra ved oppstart av datamaskinen",
|
||||
"general": "Generelt",
|
||||
"behavior": "Oppførsel",
|
||||
"download_sources": "Nedlastingskilder",
|
||||
"language": "Språk",
|
||||
"real_debrid_api_token": "API nøkkel",
|
||||
"enable_real_debrid": "Slå på Real-Debrid",
|
||||
"real_debrid_description": "Real-Debrid er en ubegrenset nedlaster som gør det mulig for deg å laste ned filer med en gang og med den beste utnyttelsen av internethastigheten din.",
|
||||
"real_debrid_invalid_token": "Ugyldig API nøkkel",
|
||||
"real_debrid_api_token_hint": "Du kan få API nøkkelen din <0>her</0>",
|
||||
"real_debrid_free_account_error": "Brukeren \"{{username}}\" er en gratis bruker. Vennligst abboner på Real-Debrid",
|
||||
"real_debrid_linked_message": "Brukeren \"{{username}}\" er forbunnet",
|
||||
"save_changes": "Lagre endringer",
|
||||
"changes_saved": "Lagring av endringer vellykket",
|
||||
"download_sources_description": "Hydra vil hente nedlastingslenker fra disse kildene. Kilde URLen skal være en direkte lenke til en .json fil som inneholder nedlastingslenkene.",
|
||||
"validate_download_source": "Validér",
|
||||
"remove_download_source": "Fjern",
|
||||
"add_download_source": "Legg til kilde",
|
||||
"download_count_zero": "Ingen nedlastingsmuligheter",
|
||||
"download_count_one": "{{countFormatted}} nedlastingsmulighet",
|
||||
"download_count_other": "{{countFormatted}} nedlastingsmuligheter",
|
||||
"download_source_url": "Last ned kilde URL",
|
||||
"add_download_source_description": "Sett inn URLen som inneholder .json filen",
|
||||
"download_source_up_to_date": "Oppdatert",
|
||||
"download_source_errored": "Mislyktes",
|
||||
"sync_download_sources": "Synkroniser kilder",
|
||||
"removed_download_source": "Nedlastingskilde fjernet",
|
||||
"added_download_source": "La til Nedlastingskilde",
|
||||
"download_sources_synced": "Alle nedlastingskilder er synkroniserte",
|
||||
"insert_valid_json_url": "Innsett en gyldig JSON url",
|
||||
"found_download_option_zero": "Ingen nedlastingsmulighet funnet",
|
||||
"found_download_option_one": "Fant {{countFormatted}} nedlastingsmulighet",
|
||||
"found_download_option_other": "Fant {{countFormatted}} nedlastingsmuligheter",
|
||||
"import": "Importer",
|
||||
"public": "Offentlig",
|
||||
"private": "Privat",
|
||||
"friends_only": "Kun blant venner",
|
||||
"privacy": "Privatliv",
|
||||
"profile_visibility": "Synlighet av profil",
|
||||
"profile_visibility_description": "Velg hvem som kan se profilen din og biblioteket ditt",
|
||||
"required_field": "Dette feltet er påkrevet",
|
||||
"source_already_exists": "Denne kilden har allerede blitt lagt til",
|
||||
"must_be_valid_url": "Kilden må være en gyldig URL",
|
||||
"blocked_users": "Blokerte brukere",
|
||||
"user_unblocked": "Brukeren har blit avblokert"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Nedlasting ferdig",
|
||||
"game_ready_to_install": "{{title}} er klar til å bli installert",
|
||||
"repack_list_updated": "Gjennpakkingslisten er opdateret",
|
||||
"repack_count_one": "{{count}} gjennpakking lagt til",
|
||||
"repack_count_other": "{{count}} gjennpakkinger lagt til",
|
||||
"new_update_available": "Versjon {{version}} tilgjengelig",
|
||||
"restart_to_install_update": "Gjenstart Hydra for å installere oppdateringen"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Åpne Hydra",
|
||||
"quit": "Avslutt"
|
||||
},
|
||||
"game_card": {
|
||||
"no_downloads": "Ingen nedlastinger tilgjengelig"
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Programmer ikke installert",
|
||||
"description": "Wine eller Lutris kjørbar ble ikke funnet på systemet ditt",
|
||||
"instructions": "Sjekk den korrekte måten å installere noen av de, på Linux distributionen din, så spillet kan kjøre på vanlig måte"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Lukk knapp"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "Skift synlighet af passord"
|
||||
},
|
||||
"user_profile": {
|
||||
"amount_hours": "{{amount}} timer",
|
||||
"amount_minutes": "{{amount}} minutter",
|
||||
"last_time_played": "Sist spilt {{period}}",
|
||||
"activity": "Seneste aktivitet",
|
||||
"library": "Bibliotek",
|
||||
"total_play_time": "Samlet spilltid: {{amount}}",
|
||||
"no_recent_activity_title": "Hmmm… ikke noe her",
|
||||
"no_recent_activity_description": "Du har ikke spilt noen spill for på det seneste. Det er det på tide at endre på!",
|
||||
"display_name": "Brukernavn",
|
||||
"saving": "Lagrer",
|
||||
"save": "Lagre",
|
||||
"edit_profile": "Rediger Profil",
|
||||
"saved_successfully": "Lagring vellykket",
|
||||
"try_again": "Vennligst, prøv igjen",
|
||||
"sign_out_modal_title": "Er du sikker?",
|
||||
"cancel": "Kansellér",
|
||||
"successfully_signed_out": "Utlogging vellykket",
|
||||
"sign_out": "Log ut",
|
||||
"playing_for": "Spiller i {{amount}}",
|
||||
"sign_out_modal_text": "Biblioteket ditt er sammenkobelt med den nåverende brukeren. Når du logger ut er biblioteket ditt ikke synlig lenger, og hvilken som helst form for fremskritt bliver ikke lagret. Vil du fortsette med å logge ut?",
|
||||
"add_friends": "Legg til venner",
|
||||
"add": "Legg til",
|
||||
"friend_code": "Vennekode",
|
||||
"see_profile": "Se profil",
|
||||
"sending": "Sender",
|
||||
"friend_request_sent": "Venneforespørsel sendt",
|
||||
"friends": "Venner",
|
||||
"friends_list": "Venneliste",
|
||||
"user_not_found": "Bruker ikke funnet",
|
||||
"block_user": "Blokkere bruker",
|
||||
"add_friend": "Legg til venn",
|
||||
"request_sent": "Forespørsel sendt",
|
||||
"request_received": "Forespørsel modtatt",
|
||||
"accept_request": "Akseptere forespørsel",
|
||||
"ignore_request": "Ignorere forespørsel",
|
||||
"cancel_request": "Kansellre forespørsel",
|
||||
"undo_friendship": "Angre venskab",
|
||||
"request_accepted": "Forespørsel akseptert",
|
||||
"user_blocked_successfully": "Blokkering av bruker vellykket",
|
||||
"user_block_modal_text": "Dette blokerer {{displayName}}",
|
||||
"blocked_users": "Blokerte brukere",
|
||||
"unblock": "Avblokere",
|
||||
"no_friends_added": "Du har fortsatt ikke lagt til noen venner",
|
||||
"pending": "Avventer",
|
||||
"no_pending_invites": "Du har ingen avventende invitasjoner",
|
||||
"no_blocked_users": "Du har ingen blokerte brukere",
|
||||
"friend_code_copied": "Vennekode kopiert",
|
||||
"undo_friendship_modal_text": "Dette vil angre venskapet ditt med {{displayName}}",
|
||||
"privacy_hint": "For å justere på hvem som kan se dette, gå til <0>Innstillingene</0>",
|
||||
"locked_profile": "Denne profilen er privat",
|
||||
"image_process_failure": "Mislyktes under håndteringen av bildet",
|
||||
"required_field": "Dette feltet er påkrevet",
|
||||
"displayname_min_length": "Brukernavnet skal være minst 3 karakterer langt",
|
||||
"displayname_max_length": "Brukernavnet skal være maksimalt 50 karakterer langt",
|
||||
"report_profile": "Rapportér denne profilen",
|
||||
"report_reason": "Hvorfor rapportérer du denne profilen?",
|
||||
"report_description": "Mer informasjon",
|
||||
"report_description_placeholder": "Mer informasjon",
|
||||
"report": "Rapportér",
|
||||
"report_reason_hate": "Hatytringer",
|
||||
"report_reason_sexual_content": "Seksuelt innhold",
|
||||
"report_reason_violence": "Vold",
|
||||
"report_reason_spam": "Spam",
|
||||
"report_reason_other": "Annet",
|
||||
"profile_reported": "Profil rapportert"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"language_name": "Nederlands",
|
||||
"home": {
|
||||
"featured": "Uitgelicht",
|
||||
"recently_added": "Recent Toegevoegd",
|
||||
"trending": "Trending",
|
||||
"surprise_me": "Verrasing",
|
||||
"no_results": "Geen resultaten gevonden"
|
||||
@@ -12,16 +12,10 @@
|
||||
"settings": "Instellingen",
|
||||
"my_library": "Mijn Bibliotheek",
|
||||
"downloading_metadata": "{{title}} (Downloading metadata…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Folders checken…)",
|
||||
"paused": "{{title}} (Gepauzeerd)",
|
||||
"downloading": "{{title}} ({{percentage}} - Downloading…)",
|
||||
"filter": "Filter Bibliotheek",
|
||||
"follow_us": "volg ons",
|
||||
"home": "Home",
|
||||
"discord": "Volg onze Discord",
|
||||
"telegram": "Volg onze Telegram",
|
||||
"x": "Volg ons op X",
|
||||
"github": "Contribute op GitHub"
|
||||
"home": "Home"
|
||||
},
|
||||
"header": {
|
||||
"search": "Zoek spellen",
|
||||
@@ -34,7 +28,6 @@
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Geen Downloads bezig",
|
||||
"downloading_metadata": "Downloading {{title}} metadata…",
|
||||
"checking_files": "Checking {{title}} files… ({{percentage}} complete)",
|
||||
"downloading": "Downloading {{title}}… ({{percentage}} complete) - Conclusion {{eta}} - {{speed}}"
|
||||
},
|
||||
"catalogue": {
|
||||
@@ -52,22 +45,15 @@
|
||||
"pause": "Pauze",
|
||||
"cancel": "Stoppen",
|
||||
"remove": "Verwijderen",
|
||||
"remove_from_list": "Verwijdere van lijst",
|
||||
"space_left_on_disk": "{{space}} Over op schijf",
|
||||
"eta": "Conclusie {{eta}}",
|
||||
"downloading_metadata": "Downloading metadata…",
|
||||
"checking_files": "Files nakijken…",
|
||||
"filter": "Filter repacks",
|
||||
"requirements": "Systeem vereisten",
|
||||
"minimum": "Minimaal",
|
||||
"recommended": "Aanbevolen",
|
||||
"no_minimum_requirements": "{{title}} biedt geen informatie over de minimale vereisten",
|
||||
"no_recommended_requirements": "{{title}} biedt geen informatie over aanbevolen vereisten",
|
||||
"paused_progress": "{{progress}} (Paused)",
|
||||
"release_date": "Uitgebracht op {{date}}",
|
||||
"publisher": "Gepubliceerd door {{publisher}}",
|
||||
"copy_link_to_clipboard": "Kopieer link",
|
||||
"copied_link_to_clipboard": "Link Gekopieerd",
|
||||
"hours": "uren",
|
||||
"minutes": "minuten",
|
||||
"amount_hours": "{{amount}} uren",
|
||||
@@ -86,17 +72,8 @@
|
||||
"playing_now": "Speel nu",
|
||||
"change": "Verander",
|
||||
"repacks_modal_description": "Kies de herverpakking die u wilt downloaden",
|
||||
"downloads_path": "Downloads path",
|
||||
"select_folder_hint": "Om de standaardmap te wijzigen, gaat u naar <0>instellingen</0>",
|
||||
"download_now": "Download nu",
|
||||
"installation_instructions": "Installatie instructies",
|
||||
"installation_instructions_description": "Er zijn extra stappen vereist om deze game te installeren",
|
||||
"online_fix_instruction": "OnlineFix-spellen vereisen dat een wachtwoord wordt uitgepakt. Gebruik indien nodig het volgende wachtwoord:",
|
||||
"dodi_installation_instruction": "Wanneer u het DODI-installatieprogramma opent, drukt u op de toets omhoog <0 /> op uw toetsenbord om het installatieproces te starten:",
|
||||
"dont_show_it_again": "Laat het niet meer zien",
|
||||
"copy_to_clipboard": "Kopiëren",
|
||||
"copied_to_clipboard": "Gekopieerd",
|
||||
"got_it": "Begrepen"
|
||||
"download_now": "Download nu"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Activeer Hydra",
|
||||
@@ -112,24 +89,16 @@
|
||||
"eta": "Conclusie{{eta}}",
|
||||
"paused": "Gepauzeerd",
|
||||
"verifying": "Verifiëren…",
|
||||
"completed_at": "Voltooid binnen {{date}}",
|
||||
"completed": "Voltooid",
|
||||
"cancelled": "Geannuleerd",
|
||||
"download_again": "Opnieuw downloaden",
|
||||
"cancel": "Annuleren",
|
||||
"filter": "Filter gedownloade games",
|
||||
"remove": "Verwijderen",
|
||||
"downloading_metadata": "Metagegevens downloaden",
|
||||
"checking_files": "Bestanden controleren",
|
||||
"starting_download": "download starten",
|
||||
"deleting": "Installatieprogramma verwijderen…",
|
||||
"delete": "Installatieprogramma verwijderen",
|
||||
"remove_from_list": "Verwijderen",
|
||||
"delete_modal_title": "Weet je het zeker?",
|
||||
"delete_modal_description": "Hiermee worden alle installatiebestanden van uw computer verwijderd",
|
||||
"install": "Installeren",
|
||||
"real_debrid": "Real Debrid",
|
||||
"torrent": "Torrent"
|
||||
"install": "Installeren"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Downloadpad",
|
||||
@@ -137,15 +106,12 @@
|
||||
"notifications": "Meldingen",
|
||||
"enable_download_notifications": "Wanneer een download voltooid is",
|
||||
"enable_repack_list_notifications": "Wanneer een nieuwe herverpakking wordt toegevoegd",
|
||||
"telemetry": "Telemetrie",
|
||||
"telemetry_description": "Schakel anonieme gebruiksstatistieken in",
|
||||
"real_debrid_api_token_label": "Real Debrid API token",
|
||||
"real_debrid_api_token_label": "Real-Debrid API token",
|
||||
"quit_app_instead_hiding": "Sluit Hydra af in plaats van te minimaliseren naar de lade",
|
||||
"launch_with_system": "Start Hydra bij het opstarten van het systeem",
|
||||
"general": "Algemeen",
|
||||
"behavior": "Gedrag",
|
||||
"enable_real_debrid": "Enable Real Debrid",
|
||||
"real_debrid": "Real Debrid",
|
||||
"enable_real_debrid": "Enable Real-Debrid",
|
||||
"real_debrid_api_token_hint": "U kunt uw API-sleutel <0>hier</0> verkrijgen.",
|
||||
"save_changes": "Wijzigingen opslaan"
|
||||
},
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"language_name": "Polski",
|
||||
"home": {
|
||||
"featured": "Wyróżnione",
|
||||
"recently_added": "Ostatnio dodane",
|
||||
"trending": "Trendujące",
|
||||
"surprise_me": "Zaskocz mnie",
|
||||
"no_results": "Nie znaleziono wyników"
|
||||
@@ -12,11 +12,9 @@
|
||||
"settings": "Ustawienia",
|
||||
"my_library": "Moja biblioteka",
|
||||
"downloading_metadata": "{{title}} (Pobieranie metadata…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Sprawdzanie plików…)",
|
||||
"paused": "{{title}} (Zatrzymano)",
|
||||
"downloading": "{{title}} ({{percentage}} - Pobieranie…)",
|
||||
"filter": "Filtruj biblioteke",
|
||||
"follow_us": "Śledź nas",
|
||||
"home": "Główna"
|
||||
},
|
||||
"header": {
|
||||
@@ -30,7 +28,6 @@
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Brak pobierań w toku",
|
||||
"downloading_metadata": "Pobieranie {{title}} metadata…",
|
||||
"checking_files": "Sprawdzanie {{title}} plików… (ukończone w {{percentage}})",
|
||||
"downloading": "Pobieranie {{title}}… (ukończone w {{percentage}}) - Podsumowanie {{eta}} - {{speed}}"
|
||||
},
|
||||
"catalogue": {
|
||||
@@ -48,24 +45,19 @@
|
||||
"pause": "Zatrzymaj",
|
||||
"cancel": "Anuluj",
|
||||
"remove": "Usuń",
|
||||
"remove_from_list": "Usuń",
|
||||
"space_left_on_disk": "{{space}} wolnego na dysku",
|
||||
"eta": "Podsumowanie {{eta}}",
|
||||
"downloading_metadata": "Pobieranie metadata…",
|
||||
"checking_files": "Sprawdzanie plików…",
|
||||
"filter": "Filtruj repacki",
|
||||
"requirements": "Wymagania systemowe",
|
||||
"minimum": "Minimalne",
|
||||
"recommended": "Zalecane",
|
||||
"no_minimum_requirements": "{{title}} nie zawiera informacji o minimalnych wymaganiach",
|
||||
"no_recommended_requirements": "{{title}} nie zawiera informacji o zalecanych wymaganiach",
|
||||
"paused_progress": "{{progress}} (Zatrzymano)",
|
||||
"release_date": "Wydano w {{date}}",
|
||||
"publisher": "Opublikowany przez {{publisher}}",
|
||||
"copy_link_to_clipboard": "Kopiuj łącze",
|
||||
"copied_link_to_clipboard": "Skopiowano łącze",
|
||||
"hours": "godzin",
|
||||
"minutes": "minut",
|
||||
"amount_hours": "{{amount}} godzin",
|
||||
"amount_minutes": "{{amount}} minut",
|
||||
"accuracy": "{{accuracy}}% dokładność",
|
||||
"add_to_library": "Dodaj do biblioteki",
|
||||
"remove_from_library": "Usuń z biblioteki",
|
||||
@@ -80,9 +72,15 @@
|
||||
"playing_now": "Granie teraz",
|
||||
"change": "Zmień",
|
||||
"repacks_modal_description": "Wybierz repack, który chcesz pobrać",
|
||||
"downloads_path": "Ścieżka pobierania",
|
||||
"select_folder_hint": "Aby zmienić domyślny folder, przejdź do",
|
||||
"download_now": "Pobierz teraz"
|
||||
"download_now": "Pobierz teraz",
|
||||
"no_shop_details": "Nie udało się pobrać danych sklepu.",
|
||||
"download_options": "Opcje pobierania",
|
||||
"download_path": "Ścieżka pobierania",
|
||||
"previous_screenshot": "Poprzedni zrzut ekranu",
|
||||
"next_screenshot": "Następny zrzut ekranu",
|
||||
"screenshot": "Zrzut ekranu {{number}}",
|
||||
"open_screenshot": "Otwórz zrzut ekranu {{number}}"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Aktywuj Hydra",
|
||||
@@ -98,19 +96,13 @@
|
||||
"eta": "Podsumowanie {{eta}}",
|
||||
"paused": "Zatrzymano",
|
||||
"verifying": "Weryfikowanie…",
|
||||
"completed_at": "Zakończono w {{date}}",
|
||||
"completed": "Zakończono",
|
||||
"cancelled": "Anulowano",
|
||||
"download_again": "Pobierz ponownie",
|
||||
"cancel": "Anuluj",
|
||||
"filter": "Filtruj pobrane gry",
|
||||
"remove": "Usuń",
|
||||
"downloading_metadata": "Pobieranie metadata…",
|
||||
"checking_files": "Sprawdzanie plików…",
|
||||
"starting_download": "Rozpoczęto pobieranie…",
|
||||
"deleting": "Usuwanie instalatora…",
|
||||
"delete": "Usuń instalator",
|
||||
"remove_from_list": "Usuń",
|
||||
"delete_modal_title": "Czy na pewno?",
|
||||
"delete_modal_description": "Spowoduje to usunięcie wszystkich plików instalacyjnych z komputera",
|
||||
"install": "Instaluj"
|
||||
@@ -121,8 +113,15 @@
|
||||
"notifications": "Powiadomienia",
|
||||
"enable_download_notifications": "Gdy pobieranie zostanie zakończone",
|
||||
"enable_repack_list_notifications": "Gdy dodawany jest nowy repack",
|
||||
"telemetry": "Telemetria",
|
||||
"telemetry_description": "Włącz anonimowe statystyki użycia"
|
||||
"real_debrid_api_token_label": "Real-Debrid API token",
|
||||
"quit_app_instead_hiding": "Zamknij Hydr zamiast minimalizować do zasobnika",
|
||||
"launch_with_system": "Uruchom Hydra przy starcie systemu",
|
||||
"general": "Ogólne",
|
||||
"behavior": "Zachowania",
|
||||
"language": "Język",
|
||||
"enable_real_debrid": "Włącz Real-Debrid",
|
||||
"real_debrid_api_token_hint": "Możesz uzyskać swój klucz API <0>tutaj</0>",
|
||||
"save_changes": "Zapisz zmiany"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Pobieranie zakończone",
|
||||
@@ -142,5 +141,8 @@
|
||||
"title": "Programy nie są zainstalowane",
|
||||
"description": "Pliki wykonywalne Wine lub Lutris nie zostały znalezione na twoim systemie",
|
||||
"instructions": "Sprawdź prawidłowy sposób instalacji dowolnego z nich w swojej dystrybucji Linuksa, aby gra działała normalnie"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Zamknij"
|
||||
}
|
||||
}
|
||||
|
||||
321
src/locales/pt-BR/translation.json
Normal file
321
src/locales/pt-BR/translation.json
Normal file
@@ -0,0 +1,321 @@
|
||||
{
|
||||
"language_name": "Português (Brasil)",
|
||||
"app": {
|
||||
"successfully_signed_in": "Autenticado com sucesso"
|
||||
},
|
||||
"home": {
|
||||
"featured": "Destaques",
|
||||
"trending": "Populares",
|
||||
"hot": "Populares agora",
|
||||
"weekly": "📅 Mais baixados da semana",
|
||||
"surprise_me": "Surpreenda-me",
|
||||
"no_results": "Nenhum resultado encontrado",
|
||||
"start_typing": "Comece a digitar para pesquisar…"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Catálogo",
|
||||
"downloads": "Downloads",
|
||||
"settings": "Ajustes",
|
||||
"my_library": "Biblioteca",
|
||||
"downloading_metadata": "{{title}} (Baixando metadados…)",
|
||||
"paused": "{{title}} (Pausado)",
|
||||
"downloading": "{{title}} ({{percentage}} - Baixando…)",
|
||||
"filter": "Buscar",
|
||||
"home": "Início",
|
||||
"queued": "{{title}} (Na fila)",
|
||||
"game_has_no_executable": "Jogo não possui executável selecionado",
|
||||
"sign_in": "Login",
|
||||
"friends": "Amigos"
|
||||
},
|
||||
"header": {
|
||||
"search": "Buscar jogos",
|
||||
"catalogue": "Catálogo",
|
||||
"downloads": "Downloads",
|
||||
"search_results": "Resultados da busca",
|
||||
"settings": "Ajustes",
|
||||
"home": "Início",
|
||||
"version_available_install": "Versão {{version}} disponível. Clique aqui para reiniciar e instalar.",
|
||||
"version_available_download": "Versão {{version}} disponível. Clique aqui para fazer o download."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Sem downloads em andamento",
|
||||
"downloading_metadata": "Baixando metadados de {{title}}…",
|
||||
"downloading": "Baixando {{title}}… ({{percentage}} concluído) - Conclusão {{eta}} - {{speed}}",
|
||||
"calculating_eta": "Baixando {{title}}… ({{percentage}} concluído) - Calculando tempo restante…",
|
||||
"checking_files": "Verificando arquivos de {{title}}…"
|
||||
},
|
||||
"game_details": {
|
||||
"open_download_options": "Ver opções de download",
|
||||
"download_options_zero": "Sem opções de download",
|
||||
"download_options_one": "{{count}} opção de download",
|
||||
"download_options_other": "{{count}} opções de download",
|
||||
"updated_at": "Atualizado {{updated_at}}",
|
||||
"resume": "Retomar",
|
||||
"pause": "Pausar",
|
||||
"cancel": "Cancelar",
|
||||
"remove": "Remover",
|
||||
"space_left_on_disk": "{{space}} livres em disco",
|
||||
"eta": "Conclusão {{eta}}",
|
||||
"calculating_eta": "Calculando tempo restante…",
|
||||
"downloading_metadata": "Baixando metadados…",
|
||||
"filter": "Filtrar repacks",
|
||||
"requirements": "Requisitos de sistema",
|
||||
"minimum": "Mínimos",
|
||||
"recommended": "Recomendados",
|
||||
"paused": "Pausado",
|
||||
"release_date": "Lançado em {{date}}",
|
||||
"publisher": "Publicado por {{publisher}}",
|
||||
"hours": "horas",
|
||||
"minutes": "minutos",
|
||||
"amount_hours": "{{amount}} horas",
|
||||
"amount_minutes": "{{amount}} minutos",
|
||||
"accuracy": "{{accuracy}}% de precisão",
|
||||
"add_to_library": "Adicionar à biblioteca",
|
||||
"remove_from_library": "Remover da biblioteca",
|
||||
"no_downloads": "Nenhum download disponível",
|
||||
"play_time": "Jogou por {{amount}}",
|
||||
"next_suggestion": "Próxima sugestão",
|
||||
"install": "Instalar",
|
||||
"last_time_played": "Última sessão {{period}}",
|
||||
"play": "Jogar",
|
||||
"not_played_yet": "Você ainda não jogou {{title}}",
|
||||
"close": "Fechar",
|
||||
"deleting": "Excluindo instalador…",
|
||||
"playing_now": "Jogando agora",
|
||||
"change": "Explorar",
|
||||
"repacks_modal_description": "Escolha o repack do jogo que deseja baixar",
|
||||
"select_folder_hint": "Para trocar o diretório padrão, acesse a <0>Tela de Ajustes</0>",
|
||||
"download_now": "Iniciar download",
|
||||
"no_shop_details": "Não foi possível obter os detalhes da loja.",
|
||||
"download_options": "Opções de download",
|
||||
"download_path": "Diretório de download",
|
||||
"previous_screenshot": "Captura de tela anterior",
|
||||
"next_screenshot": "Próxima captura de tela",
|
||||
"screenshot": "Captura de tela {{number}}",
|
||||
"open_screenshot": "Ver captura de tela {{number}}",
|
||||
"download_settings": "Ajustes do download",
|
||||
"downloader": "Downloader",
|
||||
"select_executable": "Explorar",
|
||||
"no_executable_selected": "Nenhum executável selecionado",
|
||||
"open_folder": "Abrir pasta",
|
||||
"open_download_location": "Ver arquivos baixados",
|
||||
"create_shortcut": "Criar atalho na área de trabalho",
|
||||
"remove_files": "Remover arquivos",
|
||||
"options": "Gerenciar",
|
||||
"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_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_shortcut_success": "Atalho criado com sucesso",
|
||||
"create_shortcut_error": "Erro ao criar atalho",
|
||||
"nsfw_content_title": "Este jogo contém conteúdo inapropriado",
|
||||
"nsfw_content_description": "{{title}} contém conteúdo que pode não ser apropriado para todas as idades. Você deseja continuar?",
|
||||
"allow_nsfw_content": "Continuar",
|
||||
"refuse_nsfw_content": "Voltar",
|
||||
"stats": "Estatísticas",
|
||||
"download_count": "Downloads",
|
||||
"player_count": "Jogadores ativos",
|
||||
"download_error": "Essa opção de download falhou",
|
||||
"download": "Baixar",
|
||||
"executable_path_in_use": "Executável em uso por \"{{game}}\"",
|
||||
"warning": "Aviso:",
|
||||
"hydra_needs_to_remain_open": "para este download, o Hydra precisa ficar aberto até a conclusão. Caso o Hydra encerre antes da conclusão, perderá seu progresso."
|
||||
},
|
||||
"activation": {
|
||||
"title": "Ativação",
|
||||
"installation_id": "ID da instalação:",
|
||||
"enter_activation_code": "Insira seu código de ativação",
|
||||
"message": "Se você não sabe onde conseguir o código, talvez você não devesse estar aqui.",
|
||||
"activate": "Ativar",
|
||||
"loading": "Carregando…"
|
||||
},
|
||||
"downloads": {
|
||||
"resume": "Retomar",
|
||||
"pause": "Pausar",
|
||||
"eta": "Conclusão {{eta}}",
|
||||
"paused": "Pausado",
|
||||
"verifying": "Verificando…",
|
||||
"completed": "Concluído",
|
||||
"removed": "Cancelado",
|
||||
"cancel": "Cancelar",
|
||||
"filter": "Filtrar jogos baixados",
|
||||
"remove": "Remover",
|
||||
"downloading_metadata": "Baixando metadados…",
|
||||
"delete": "Remover instalador",
|
||||
"delete_modal_description": "Isso removerá todos os arquivos de instalação do seu computador",
|
||||
"delete_modal_title": "Tem certeza?",
|
||||
"deleting": "Excluindo instalador…",
|
||||
"install": "Instalar",
|
||||
"download_in_progress": "Baixando agora",
|
||||
"queued_downloads": "Na fila",
|
||||
"downloads_completed": "Completo",
|
||||
"queued": "Na fila",
|
||||
"no_downloads_title": "Nada por aqui…",
|
||||
"no_downloads_description": "Você ainda não baixou nada pelo Hydra, mas nunca é tarde para começar.",
|
||||
"checking_files": "Verificando arquivos…"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Diretório dos downloads",
|
||||
"change": "Explorar...",
|
||||
"notifications": "Notificações",
|
||||
"enable_download_notifications": "Quando um download for concluído",
|
||||
"enable_repack_list_notifications": "Quando a lista de repacks for atualizada",
|
||||
"real_debrid_api_token_label": "Token de API do Real-Debrid",
|
||||
"quit_app_instead_hiding": "Encerrar o Hydra em vez de apenas minimizá-lo ao fechar.",
|
||||
"launch_with_system": "Iniciar o Hydra junto com o sistema",
|
||||
"general": "Geral",
|
||||
"behavior": "Comportamento",
|
||||
"download_sources": "Fontes de download",
|
||||
"language": "Idioma",
|
||||
"real_debrid_api_token": "Token de API",
|
||||
"enable_real_debrid": "Habilitar Real-Debrid",
|
||||
"real_debrid_api_token_hint": "Você pode obter seu token de API <0>aqui</0>",
|
||||
"real_debrid_description": "O Real-Debrid é um downloader sem restrições que permite baixar arquivos instantaneamente e com a melhor velocidade da sua Internet.",
|
||||
"real_debrid_invalid_token": "Token de API inválido",
|
||||
"real_debrid_free_account_error": "A conta \"{{username}}\" é uma conta gratuita. Por favor, assine a Real-Debrid",
|
||||
"real_debrid_linked_message": "Conta \"{{username}}\" vinculada",
|
||||
"save_changes": "Salvar mudanças",
|
||||
"changes_saved": "Ajustes salvos com sucesso",
|
||||
"download_sources_description": "Hydra vai buscar links de download em todas as fontes habilitadas. A URL da fonte deve ser um link direto para um arquivo .json contendo uma lista de links.",
|
||||
"validate_download_source": "Validar",
|
||||
"remove_download_source": "Remover",
|
||||
"add_download_source": "Adicionar fonte",
|
||||
"download_count_zero": "Sem downloads na lista",
|
||||
"download_count_one": "{{countFormatted}} download na lista",
|
||||
"download_count_other": "{{countFormatted}} downloads na lista",
|
||||
"download_options_zero": "Sem downloads disponíveis",
|
||||
"download_options_one": "{{countFormatted}} download disponível",
|
||||
"download_options_other": "{{countFormatted}} downloads disponíveis",
|
||||
"download_source_url": "URL da fonte",
|
||||
"add_download_source_description": "Insira a URL contendo o arquivo .json",
|
||||
"download_source_up_to_date": "Sincronizada",
|
||||
"download_source_errored": "Falhou",
|
||||
"sync_download_sources": "Sincronizar",
|
||||
"removed_download_source": "Fonte removida",
|
||||
"added_download_source": "Fonte adicionada",
|
||||
"download_sources_synced": "As fontes foram sincronizadas",
|
||||
"insert_valid_json_url": "Insira a url de um JSON válido",
|
||||
"found_download_option_zero": "Nenhuma opção de download encontrada",
|
||||
"found_download_option_one": "{{countFormatted}} opção de download encontrada",
|
||||
"found_download_option_other": "{{countFormatted}} opções de download encontradas",
|
||||
"import": "Importar",
|
||||
"privacy": "Privacidade",
|
||||
"private": "Privado",
|
||||
"friends_only": "Apenas amigos",
|
||||
"public": "Público",
|
||||
"profile_visibility": "Visibilidade do perfil",
|
||||
"profile_visibility_description": "Escolha quem pode ver seu perfil e biblioteca",
|
||||
"required_field": "Este campo é obrigatório",
|
||||
"source_already_exists": "Essa fonte já foi adicionada",
|
||||
"must_be_valid_url": "A fonte deve ser uma URL válida",
|
||||
"blocked_users": "Usuários bloqueados",
|
||||
"user_unblocked": "Usuário desbloqueado"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Download concluído",
|
||||
"game_ready_to_install": "{{title}} está pronto para ser instalado",
|
||||
"repack_list_updated": "Lista de repacks atualizada",
|
||||
"repack_count_one": "{{count}} novo repack",
|
||||
"repack_count_other": "{{count}} novos repacks",
|
||||
"new_update_available": "Versão {{version}} disponível",
|
||||
"restart_to_install_update": "Reinicie o Hydra para instalar a nova versão"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Abrir Hydra",
|
||||
"quit": "Fechar"
|
||||
},
|
||||
"game_card": {
|
||||
"no_downloads": "Sem downloads disponíveis"
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Programas não instalados",
|
||||
"description": "Os executáveis do Wine ou Lutris não foram encontrados em seu sistema.",
|
||||
"instructions": "Verifique a forma correta de instalar algum deles no seu distro Linux, garantindo assim a execução normal do jogo"
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "Próxima página",
|
||||
"previous_page": "Página anterior"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Botão de fechar"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "Alternar visibilidade da senha"
|
||||
},
|
||||
"user_profile": {
|
||||
"amount_hours": "{{amount}} horas",
|
||||
"amount_minutes": "{{amount}} minutos",
|
||||
"last_time_played": "Última sessão {{period}}",
|
||||
"activity": "Atividades recentes",
|
||||
"library": "Biblioteca",
|
||||
"total_play_time": "Tempo total de jogo: {{amount}}",
|
||||
"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",
|
||||
"saving": "Salvando…",
|
||||
"save": "Salvar",
|
||||
"edit_profile": "Editar perfil",
|
||||
"saved_successfully": "Salvo com sucesso",
|
||||
"try_again": "Por favor, tente novamente",
|
||||
"cancel": "Cancelar",
|
||||
"successfully_signed_out": "Deslogado com sucesso",
|
||||
"sign_out": "Sair da conta",
|
||||
"sign_out_modal_title": "Deseja mesmo sair?",
|
||||
"playing_for": "Jogando por {{amount}}",
|
||||
"sign_out_modal_text": "Sua biblioteca de jogos está associada com a sua conta atual. Ao sair, sua biblioteca não aparecerá mais no Hydra e qualquer progresso não será salvo. Deseja continuar?",
|
||||
"add_friends": "Adicionar Amigos",
|
||||
"friend_code": "Código de amigo",
|
||||
"see_profile": "Ver perfil",
|
||||
"friend_request_sent": "Pedido de amizade enviado",
|
||||
"friends": "Amigos",
|
||||
"add": "Adicionar",
|
||||
"sending": "Enviando",
|
||||
"friends_list": "Lista de amigos",
|
||||
"user_not_found": "Usuário não encontrado",
|
||||
"block_user": "Bloquear",
|
||||
"add_friend": "Adicionar amigo",
|
||||
"request_sent": "Pedido enviado",
|
||||
"request_received": "Pedido recebido",
|
||||
"accept_request": "Aceitar pedido",
|
||||
"ignore_request": "Ignorar pedido",
|
||||
"cancel_request": "Cancelar pedido",
|
||||
"undo_friendship": "Desfazer amizade",
|
||||
"request_accepted": "Pedido de amizade aceito",
|
||||
"user_blocked_successfully": "Usuário bloqueado com sucesso",
|
||||
"user_block_modal_text": "Bloquear {{displayName}}",
|
||||
"blocked_users": "Usuários bloqueados",
|
||||
"unblock": "Desbloquear",
|
||||
"no_friends_added": "Você ainda não possui amigos adicionados",
|
||||
"pending": "Pendentes",
|
||||
"no_pending_invites": "Você não possui convites de amizade pendentes",
|
||||
"no_blocked_users": "Você não tem nenhum usuário bloqueado",
|
||||
"friend_code_copied": "Código de amigo copiado",
|
||||
"undo_friendship_modal_text": "Isso irá remover sua amizade com {{displayName}}",
|
||||
"privacy_hint": "Pra controlar quem pode ver seu perfil, acesse a <0>Tela de Configurações</0>",
|
||||
"profile_locked": "Este perfil é privado",
|
||||
"image_process_failure": "Falha ao processar a imagem",
|
||||
"required_field": "Este campo é obrigatório",
|
||||
"displayname_min_length": "Nome de exibição deve ter pelo menos 3 caracteres",
|
||||
"displayname_max_length": "Nome de exibição deve ter no máximo 50 caracteres",
|
||||
"locked_profile": "Este perfil é privado",
|
||||
"report_profile": "Reportar este perfil",
|
||||
"report_reason": "Por que você deseja reportar este perfil?",
|
||||
"report_description": "Informações adicionais",
|
||||
"report_description_placeholder": "Insira aqui",
|
||||
"report": "Reportar",
|
||||
"report_reason_hate": "Discurso de ódio",
|
||||
"report_reason_sexual_content": "Conteúdo sexual",
|
||||
"report_reason_violence": "Violência",
|
||||
"report_reason_spam": "Spam",
|
||||
"report_reason_other": "Outro",
|
||||
"profile_reported": "Perfil reportado",
|
||||
"your_friend_code": "Seu código de amigo:"
|
||||
}
|
||||
}
|
||||
281
src/locales/pt-PT/translation.json
Normal file
281
src/locales/pt-PT/translation.json
Normal file
@@ -0,0 +1,281 @@
|
||||
{
|
||||
"language_name": "Português (Portugal)",
|
||||
"app": {
|
||||
"successfully_signed_in": "Sessão iniciada com sucesso"
|
||||
},
|
||||
"home": {
|
||||
"featured": "Destaques",
|
||||
"trending": "Populares",
|
||||
"surprise_me": "Surpreende-me",
|
||||
"no_results": "Nenhum resultado encontrado",
|
||||
"start_typing": "Comece a digitar para pesquisar…"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Catálogo",
|
||||
"downloads": "Transferências",
|
||||
"settings": "Definições",
|
||||
"my_library": "Biblioteca",
|
||||
"downloading_metadata": "{{title}} (A transferir metadados…)",
|
||||
"paused": "{{title}} (Pausado)",
|
||||
"downloading": "{{title}} ({{percentage}} - A transferir…)",
|
||||
"filter": "Procurar",
|
||||
"home": "Início",
|
||||
"queued": "{{title}} (Na fila)",
|
||||
"game_has_no_executable": "Jogo não tem executável selecionado",
|
||||
"sign_in": "Iniciar sessão"
|
||||
},
|
||||
"header": {
|
||||
"search": "Procurar jogos",
|
||||
"catalogue": "Catálogo",
|
||||
"downloads": "Transferências",
|
||||
"search_results": "Resultados da pesquisa",
|
||||
"settings": "Definições",
|
||||
"home": "Início",
|
||||
"version_available_install": "Versão {{version}} disponível. Clique aqui para reiniciar e instalar.",
|
||||
"version_available_download": "Versão {{version}} disponível. Clique aqui para fazer o download."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Sem transferências em andamento",
|
||||
"downloading_metadata": "A transferir metadados de {{title}}…",
|
||||
"downloading": "A transferir {{title}}… ({{percentage}} concluído) - Conclusão {{eta}} - {{speed}}",
|
||||
"calculating_eta": "A transferir {{title}}… ({{percentage}} concluído) - A calcular tempo restante…",
|
||||
"checking_files": "A verificar ficheiros de {{title}}…"
|
||||
},
|
||||
"game_details": {
|
||||
"open_download_options": "Ver opções de transferência",
|
||||
"download_options_zero": "Sem opções de transferência",
|
||||
"download_options_one": "{{count}} opção de transferência",
|
||||
"download_options_other": "{{count}} opções de transferência",
|
||||
"updated_at": "Atualizado a {{updated_at}}",
|
||||
"resume": "Retomar",
|
||||
"pause": "Pausar",
|
||||
"cancel": "Cancelar",
|
||||
"remove": "Remover",
|
||||
"space_left_on_disk": "{{space}} livres no disco",
|
||||
"eta": "Conclusão {{eta}}",
|
||||
"calculating_eta": "A calcular tempo restante…",
|
||||
"downloading_metadata": "A transferir metadados…",
|
||||
"filter": "Filtrar repacks",
|
||||
"requirements": "Requisitos do sistema",
|
||||
"minimum": "Mínimos",
|
||||
"recommended": "Recomendados",
|
||||
"paused": "Pausado",
|
||||
"release_date": "Lançado em {{date}}",
|
||||
"publisher": "Publicado por {{publisher}}",
|
||||
"hours": "horas",
|
||||
"minutes": "minutos",
|
||||
"amount_hours": "{{amount}} horas",
|
||||
"amount_minutes": "{{amount}} minutos",
|
||||
"accuracy": "{{accuracy}}% de precisão",
|
||||
"add_to_library": "Adicionar à biblioteca",
|
||||
"remove_from_library": "Remover da biblioteca",
|
||||
"no_downloads": "Nenhuma transferência disponível",
|
||||
"play_time": "Jogou por {{amount}}",
|
||||
"next_suggestion": "Próxima sugestão",
|
||||
"install": "Instalar",
|
||||
"last_time_played": "Última sessão {{period}}",
|
||||
"play": "Jogar",
|
||||
"not_played_yet": "Ainda não jogou {{title}}",
|
||||
"close": "Fechar",
|
||||
"deleting": "A eliminar instalador…",
|
||||
"playing_now": "A jogar agora",
|
||||
"change": "Explorar",
|
||||
"repacks_modal_description": "Escolha o repack do jogo que deseja transferir",
|
||||
"select_folder_hint": "Para trocar o diretório padrão, aceda à <0>Tela de Definições</0>",
|
||||
"download_now": "Iniciar transferência",
|
||||
"no_shop_details": "Não foi possível obter os detalhes da loja.",
|
||||
"download_options": "Opções de transferência",
|
||||
"download_path": "Diretório de transferência",
|
||||
"previous_screenshot": "Captura de ecrã anterior",
|
||||
"next_screenshot": "Próxima captura de ecrã",
|
||||
"screenshot": "Captura de ecrã {{number}}",
|
||||
"open_screenshot": "Ver captura de ecrã {{number}}",
|
||||
"download_settings": "Definições de transferência",
|
||||
"downloader": "Downloader",
|
||||
"select_executable": "Explorar",
|
||||
"no_executable_selected": "Nenhum executável selecionado",
|
||||
"open_folder": "Abrir pasta",
|
||||
"open_download_location": "Ver ficheiros transferidos",
|
||||
"create_shortcut": "Criar atalho no ambiente de trabalho",
|
||||
"remove_files": "Remover ficheiros",
|
||||
"options": "Gerir",
|
||||
"remove_from_library_description": "Isto irá remover {{game}} da sua biblioteca",
|
||||
"remove_from_library_title": "Tem a certeza?",
|
||||
"executable_section_title": "Executável",
|
||||
"executable_section_description": "O caminho do ficheiro que será executado ao clicar em \"Jogar\"",
|
||||
"downloads_secion_title": "Transferências",
|
||||
"downloads_section_description": "Confira atualizações ou versões diferentes para este mesmo título",
|
||||
"danger_zone_section_title": "Zona de perigo",
|
||||
"danger_zone_section_description": "Remova o jogo da sua biblioteca ou os ficheiros que foram transferidos pelo Hydra",
|
||||
"download_in_progress": "Transferência em andamento",
|
||||
"download_paused": "Transferência pausada",
|
||||
"last_downloaded_option": "Última opção transferida",
|
||||
"create_shortcut_success": "Atalho criado com sucesso",
|
||||
"create_shortcut_error": "Erro ao criar atalho",
|
||||
"download": "Transferir",
|
||||
"executable_path_in_use": "Executável em uso por \"{{game}}\"",
|
||||
"warning": "Aviso:",
|
||||
"hydra_needs_to_remain_open": "para este download, o Hydra precisa ficar aberto até a conclusão. Caso o Hydra encerre antes da conclusão, perderá seu progresso."
|
||||
},
|
||||
"activation": {
|
||||
"title": "Ativação",
|
||||
"installation_id": "ID da instalação:",
|
||||
"enter_activation_code": "Insira o seu código de ativação",
|
||||
"message": "Se não sabe onde conseguir o código, talvez não devesse estar aqui.",
|
||||
"activate": "Ativar",
|
||||
"loading": "A carregar…"
|
||||
},
|
||||
"downloads": {
|
||||
"resume": "Retomar",
|
||||
"pause": "Pausar",
|
||||
"eta": "Conclusão {{eta}}",
|
||||
"paused": "Pausado",
|
||||
"verifying": "A verificar…",
|
||||
"completed": "Concluído",
|
||||
"removed": "Cancelado",
|
||||
"cancel": "Cancelar",
|
||||
"filter": "Filtrar jogos transferidos",
|
||||
"remove": "Remover",
|
||||
"downloading_metadata": "A transferir metadados…",
|
||||
"delete": "Remover instalador",
|
||||
"delete_modal_description": "Isto removerá todos os ficheiros de instalação do seu computador",
|
||||
"delete_modal_title": "Tem a certeza?",
|
||||
"deleting": "A eliminar instalador…",
|
||||
"install": "Instalar",
|
||||
"download_in_progress": "A transferir agora",
|
||||
"queued_downloads": "Na fila",
|
||||
"downloads_completed": "Concluído",
|
||||
"queued": "Na fila",
|
||||
"no_downloads_title": "Nada por aqui…",
|
||||
"no_downloads_description": "Ainda não transferiu nada pelo Hydra, mas nunca é tarde para começar.",
|
||||
"checking_files": "A verificar ficheiros…"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Diretório das transferências",
|
||||
"change": "Explorar...",
|
||||
"notifications": "Notificações",
|
||||
"enable_download_notifications": "Quando uma transferência for concluída",
|
||||
"enable_repack_list_notifications": "Quando a lista de repacks for atualizada",
|
||||
"real_debrid_api_token_label": "Token de API do Real-Debrid",
|
||||
"quit_app_instead_hiding": "Encerrar o Hydra em vez de apenas minimizá-lo ao fechar.",
|
||||
"launch_with_system": "Iniciar o Hydra com o sistema",
|
||||
"general": "Geral",
|
||||
"behavior": "Comportamento",
|
||||
"download_sources": "Fontes de transferência",
|
||||
"language": "Idioma",
|
||||
"real_debrid_api_token": "Token de API",
|
||||
"enable_real_debrid": "Ativar Real-Debrid",
|
||||
"real_debrid_api_token_hint": "Pode obter o seu token de API <0>aqui</0>",
|
||||
"real_debrid_description": "O Real-Debrid é um downloader sem restrições que permite transferir ficheiros instantaneamente e com a melhor velocidade da sua Internet.",
|
||||
"real_debrid_invalid_token": "Token de API inválido",
|
||||
"real_debrid_free_account_error": "A conta \"{{username}}\" é uma conta gratuita. Por favor, subscreva o Real-Debrid",
|
||||
"real_debrid_linked_message": "Conta \"{{username}}\" vinculada",
|
||||
"save_changes": "Guardar alterações",
|
||||
"changes_saved": "Definições guardadas com sucesso",
|
||||
"download_sources_description": "O Hydra vai procurar links de transferência em todas as fontes ativadas. A URL da página de detalhes da loja não é guardada no seu dispositivo. Utilizamos um sistema de metadados criado pela comunidade para fornecer suporte a mais fontes de transferência de jogos.",
|
||||
"validate_download_source": "Validar",
|
||||
"remove_download_source": "Remover",
|
||||
"add_download_source": "Adicionar fonte",
|
||||
"download_count_zero": "Sem transferências na lista",
|
||||
"download_count_one": "{{countFormatted}} transferência na lista",
|
||||
"download_count_other": "{{countFormatted}} transferências na lista",
|
||||
"download_options_zero": "Sem transferências disponíveis",
|
||||
"download_options_one": "{{countFormatted}} transferência disponível",
|
||||
"download_options_other": "{{countFormatted}} transferências disponíveis",
|
||||
"download_source_url": "URL da fonte",
|
||||
"add_download_source_description": "Insira o URL contendo o arquivo .json",
|
||||
"download_source_up_to_date": "Sincronizada",
|
||||
"download_source_errored": "Falhou",
|
||||
"sync_download_sources": "Sincronizar",
|
||||
"removed_download_source": "Fonte removida",
|
||||
"added_download_source": "Fonte adicionada",
|
||||
"download_sources_synced": "As fontes foram sincronizadas",
|
||||
"insert_valid_json_url": "Insira o URL de um JSON válido",
|
||||
"found_download_option_zero": "Nenhuma opção de transferência encontrada",
|
||||
"found_download_option_one": "{{countFormatted}} opção de transferência encontrada",
|
||||
"found_download_option_other": "{{countFormatted}} opções de transferências encontradas",
|
||||
"import": "Importar"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Transferência concluída",
|
||||
"game_ready_to_install": "{{title}} está pronto para ser descarregado",
|
||||
"repack_list_updated": "Lista de repacks atualizada",
|
||||
"repack_count_one": "{{count}} novo repack",
|
||||
"repack_count_other": "{{count}} novos repacks",
|
||||
"new_update_available": "Versão {{version}} disponível",
|
||||
"restart_to_install_update": "Reinicie o Hydra para instalar a nova versão"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Abrir Hydra",
|
||||
"quit": "Fechar"
|
||||
},
|
||||
"game_card": {
|
||||
"no_downloads": "Sem transferências disponíveis"
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Programas não instalados",
|
||||
"description": "Os executáveis do Wine ou Lutris não foram encontrados em seu sistema.",
|
||||
"instructions": "Verifique a forma correta de instalar algum deles na sua distro Linux, garantindo assim a execução normal do jogo."
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "Próxima página",
|
||||
"previous_page": "Página anterior"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Botão de fechar"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "Alternar visibilidade da palavra-passe"
|
||||
},
|
||||
"user_profile": {
|
||||
"amount_hours": "{{amount}} horas",
|
||||
"amount_minutes": "{{amount}} minutos",
|
||||
"last_time_played": "Última sessão {{period}}",
|
||||
"activity": "Atividades recentes",
|
||||
"library": "Biblioteca",
|
||||
"total_play_time": "Tempo total de jogo: {{amount}}",
|
||||
"no_recent_activity_title": "Hmmm… nada por aqui",
|
||||
"no_recent_activity_description": "Parece que não jogaste nada recentemente. Que tal começar agora?",
|
||||
"display_name": "Nome de exibição",
|
||||
"saving": "a guardar…",
|
||||
"save": "Guardar",
|
||||
"edit_profile": "Editar perfil",
|
||||
"saved_successfully": "Guardado com sucesso",
|
||||
"try_again": "Por favor, tenta novamente",
|
||||
"cancel": "Cancelar",
|
||||
"successfully_signed_out": "Terminado com sucesso",
|
||||
"sign_out": "Terminar sessão",
|
||||
"sign_out_modal_title": "Tens a certeza?",
|
||||
"playing_for": "A jogar há {{amount}}",
|
||||
"sign_out_modal_text": "A tua biblioteca de jogos está associada com a tua conta atual. Ao sair, a tua biblioteca não aparecerá mais no Hydra e qualquer progresso não será guardado. Desejas continuar?",
|
||||
"add_friends": "Adicionar Amigos",
|
||||
"friend_code": "Código de amigo",
|
||||
"see_profile": "Ver perfil",
|
||||
"friend_request_sent": "Pedido de amizade enviado",
|
||||
"friends": "Amigos",
|
||||
"add": "Adicionar",
|
||||
"sending": "A enviar",
|
||||
"friends_list": "Lista de amigos",
|
||||
"user_not_found": "Utilizador não encontrado",
|
||||
"block_user": "Bloquear",
|
||||
"add_friend": "Adicionar amigo",
|
||||
"request_sent": "Pedido enviado",
|
||||
"request_received": "Pedido recebido",
|
||||
"accept_request": "Aceitar pedido",
|
||||
"ignore_request": "Ignorar pedido",
|
||||
"cancel_request": "Cancelar pedido",
|
||||
"undo_friendship": "Desfazer amizade",
|
||||
"request_accepted": "Pedido de amizade aceito",
|
||||
"user_blocked_successfully": "Utilizador bloqueado com sucesso",
|
||||
"user_block_modal_text": "Bloquear {{displayName}}",
|
||||
"blocked_users": "Utilizadores bloqueados",
|
||||
"unblock": "Desbloquear",
|
||||
"no_friends_added": "Ainda não adicionaste amigos",
|
||||
"pending": "Pendentes",
|
||||
"no_pending_invites": "Não tens convites de amizade pendentes",
|
||||
"no_blocked_users": "Não tens nenhum utilizador bloqueado",
|
||||
"friend_code_copied": "Código de amigo copiado",
|
||||
"image_process_failure": "Falha ao processar a imagem",
|
||||
"your_friend_code": "Seu código de amigo:"
|
||||
}
|
||||
}
|
||||
@@ -1,180 +0,0 @@
|
||||
{
|
||||
"home": {
|
||||
"featured": "Destaque",
|
||||
"recently_added": "Recém adicionados",
|
||||
"trending": "Populares",
|
||||
"surprise_me": "Surpreenda-me",
|
||||
"no_results": "Nenhum resultado encontrado"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Catálogo",
|
||||
"downloads": "Downloads",
|
||||
"settings": "Configurações",
|
||||
"my_library": "Minha biblioteca",
|
||||
"downloading_metadata": "{{title}} (Baixando metadados…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Verificando arquivos…)",
|
||||
"paused": "{{title}} (Pausado)",
|
||||
"downloading": "{{title}} ({{percentage}} - Baixando…)",
|
||||
"filter": "Filtrar biblioteca",
|
||||
"home": "Início",
|
||||
"follow_us": "Acompanhe-nos",
|
||||
"discord": "Entre no nosso Discord",
|
||||
"telegram": "Entre no nosso Telegram",
|
||||
"x": "Siga-nos no X",
|
||||
"github": "Contribua no GitHub"
|
||||
},
|
||||
"header": {
|
||||
"search": "Buscar jogos",
|
||||
"catalogue": "Catálogo",
|
||||
"downloads": "Downloads",
|
||||
"search_results": "Resultados da busca",
|
||||
"settings": "Configurações",
|
||||
"home": "Início"
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Sem downloads em andamento",
|
||||
"downloading_metadata": "Baixando metadados de {{title}}…",
|
||||
"checking_files": "Verificando arquivos de {{title}}… ({{percentage}} completo)",
|
||||
"downloading": "Baixando {{title}}… ({{percentage}} completo) - Conclusão {{eta}} - {{speed}}"
|
||||
},
|
||||
"game_details": {
|
||||
"open_download_options": "Ver opções de download",
|
||||
"download_options_zero": "Sem opções de download",
|
||||
"download_options_one": "{{count}} opção de download",
|
||||
"download_options_other": "{{count}} opções de download",
|
||||
"updated_at": "Atualizado {{updated_at}}",
|
||||
"resume": "Resumir",
|
||||
"pause": "Pausar",
|
||||
"cancel": "Cancelar",
|
||||
"remove": "Remover",
|
||||
"remove_from_list": "Remover",
|
||||
"space_left_on_disk": "{{space}} livres em disco",
|
||||
"eta": "Conclusão {{eta}}",
|
||||
"downloading_metadata": "Baixando metadados…",
|
||||
"checking_files": "Verificando arquivos…",
|
||||
"filter": "Filtrar repacks",
|
||||
"requirements": "Requisitos do sistema",
|
||||
"minimum": "Mínimos",
|
||||
"recommended": "Recomendados",
|
||||
"no_minimum_requirements": "{{title}} não possui informações de requisitos mínimos",
|
||||
"no_recommended_requirements": "{{title}} não possui informações de requisitos recomendados",
|
||||
"paused_progress": "{{progress}} (Pausado)",
|
||||
"release_date": "Lançado em {{date}}",
|
||||
"publisher": "Publicado por {{publisher}}",
|
||||
"copy_link_to_clipboard": "Copiar link",
|
||||
"copied_link_to_clipboard": "Link copiado",
|
||||
"hours": "horas",
|
||||
"minutes": "minutos",
|
||||
"amount_hours": "{{amount}} horas",
|
||||
"amount_minutes": "{{amount}} minutos",
|
||||
"accuracy": "{{accuracy}}% de precisão",
|
||||
"add_to_library": "Adicionar à biblioteca",
|
||||
"remove_from_library": "Remover da biblioteca",
|
||||
"no_downloads": "Nenhum download disponível",
|
||||
"play_time": "Jogado por {{amount}}",
|
||||
"next_suggestion": "Próxima sugestão",
|
||||
"install": "Instalar",
|
||||
"last_time_played": "Jogou por último {{period}}",
|
||||
"play": "Jogar",
|
||||
"not_played_yet": "Você ainda não jogou {{title}}",
|
||||
"close": "Fechar",
|
||||
"deleting": "Excluindo instalador…",
|
||||
"playing_now": "Jogando agora",
|
||||
"change": "Mudar",
|
||||
"repacks_modal_description": "Escolha o repack do jogo que deseja baixar",
|
||||
"select_folder_hint": "Para trocar a pasta padrão, acesse a <0>Tela de Configurações</0>",
|
||||
"download_now": "Baixe agora",
|
||||
"installation_instructions": "Instruções de Instalação",
|
||||
"installation_instructions_description": "Passos adicionais são necessários para instalar esse jogo",
|
||||
"online_fix_instruction": "Jogos OnlineFix precisam de uma senha para serem extraídos. Quando solicitado, utilize a seguinte senha:",
|
||||
"dodi_installation_instruction": "Quando o instalador do DODI for aberto, pressione a seta para cima <0 /> do teclado para iniciar o processo de instalação:",
|
||||
"dont_show_it_again": "Não mostrar novamente",
|
||||
"copy_to_clipboard": "Copiar",
|
||||
"copied_to_clipboard": "Copiado",
|
||||
"got_it": "Entendi",
|
||||
"no_shop_details": "Não foi possível obter os detalhes da loja.",
|
||||
"download_options": "Opções de download",
|
||||
"download_path": "Diretório de download",
|
||||
"previous_screenshot": "Captura de tela anterior",
|
||||
"next_screenshot": "Próxima captura de tela",
|
||||
"screenshot": "Captura de tela {{number}}",
|
||||
"open_screenshot": "Ver captura de tela {{number}}"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Ativação",
|
||||
"installation_id": "ID da instalação:",
|
||||
"enter_activation_code": "Insira seu código de ativação",
|
||||
"message": "Se você não sabe onde conseguir o código, talvez você não devesse estar aqui.",
|
||||
"activate": "Ativar",
|
||||
"loading": "Carregando…"
|
||||
},
|
||||
"downloads": {
|
||||
"resume": "Resumir",
|
||||
"pause": "Pausar",
|
||||
"eta": "Conclusão {{eta}}",
|
||||
"paused": "Pausado",
|
||||
"verifying": "Verificando…",
|
||||
"completed_at": "Concluído em {{date}}",
|
||||
"completed": "Concluído",
|
||||
"cancelled": "Cancelado",
|
||||
"download_again": "Baixar novamente",
|
||||
"cancel": "Cancelar",
|
||||
"filter": "Filtrar jogos baixados",
|
||||
"remove": "Remover",
|
||||
"downloading_metadata": "Baixando metadados…",
|
||||
"checking_files": "Verificando arquivos…",
|
||||
"starting_download": "Iniciando download…",
|
||||
"remove_from_list": "Remover",
|
||||
"delete": "Remover instalador",
|
||||
"delete_modal_description": "Isso removerá todos os arquivos de instalação do seu computador",
|
||||
"delete_modal_title": "Tem certeza?",
|
||||
"deleting": "Excluindo instalador…",
|
||||
"install": "Instalar",
|
||||
"torrent": "Torrent",
|
||||
"real_debrid": "Real Debrid"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Diretório dos downloads",
|
||||
"change": "Mudar",
|
||||
"notifications": "Notificações",
|
||||
"enable_download_notifications": "Quando um download for concluído",
|
||||
"enable_repack_list_notifications": "Quando a lista de repacks for atualizada",
|
||||
"telemetry": "Telemetria",
|
||||
"telemetry_description": "Habilitar estatísticas de uso anônimas",
|
||||
"real_debrid_api_token_label": "Token de API do Real Debrid",
|
||||
"quit_app_instead_hiding": "Fechar o aplicativo em vez de minimizá-lo",
|
||||
"launch_with_system": "Iniciar aplicativo na inicialização do sistema",
|
||||
"general": "Geral",
|
||||
"behavior": "Comportamento",
|
||||
"enable_real_debrid": "Habilitar Real Debrid",
|
||||
"real_debrid": "Real Debrid",
|
||||
"real_debrid_api_token_hint": "Você pode obter sua chave de API <0>aqui</0>.",
|
||||
"save_changes": "Salvar mudanças"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Download concluído",
|
||||
"game_ready_to_install": "{{title}} está pronto para ser instalado",
|
||||
"repack_list_updated": "Lista de repacks atualizada",
|
||||
"repack_count_one": "{{count}} novo repack",
|
||||
"repack_count_other": "{{count}} novos repacks"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Abrir Hydra",
|
||||
"quit": "Fechar"
|
||||
},
|
||||
"game_card": {
|
||||
"no_downloads": "Sem downloads disponíveis"
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Programas não instalados",
|
||||
"description": "Não foram encontrados no seu sistema os executáveis do Wine ou Lutris",
|
||||
"instructions": "Verifique a forma correta de instalar algum deles no seu distro Linux, garantindo assim a execução normal do jogo"
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "Próxima página",
|
||||
"previous_page": "Página anterior"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Botão de fechar"
|
||||
}
|
||||
}
|
||||
160
src/locales/ro/translation.json
Normal file
160
src/locales/ro/translation.json
Normal file
@@ -0,0 +1,160 @@
|
||||
{
|
||||
"language_name": "Română",
|
||||
"home": {
|
||||
"featured": "Recomandate",
|
||||
"trending": "Populare",
|
||||
"surprise_me": "Surprinde-mă",
|
||||
"no_results": "Niciun rezultat găsit"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Catalog",
|
||||
"downloads": "Descărcări",
|
||||
"settings": "Setări",
|
||||
"my_library": "Biblioteca mea",
|
||||
"downloading_metadata": "{{title}} (Se descarcă metadata...)",
|
||||
"paused": "{{title}} (Pauzat)",
|
||||
"downloading": "{{title}} ({{percentage}} - Se descarcă...)",
|
||||
"filter": "Filtrează biblioteca",
|
||||
"home": "Acasă"
|
||||
},
|
||||
"header": {
|
||||
"search": "Caută jocuri",
|
||||
"home": "Acasă",
|
||||
"catalogue": "Catalog",
|
||||
"downloads": "Descărcări",
|
||||
"search_results": "Rezultatele căutării",
|
||||
"settings": "Setări"
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Nicio descărcare în curs",
|
||||
"downloading_metadata": "Se descarcă metadata pentru {{title}}...",
|
||||
"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ă"
|
||||
},
|
||||
"game_details": {
|
||||
"open_download_options": "Deschide opțiunile de descărcare",
|
||||
"download_options_zero": "Nicio opțiune de descărcare",
|
||||
"download_options_one": "{{count}} opțiune de descărcare",
|
||||
"download_options_other": "{{count}} opțiuni de descărcare",
|
||||
"updated_at": "Actualizat la {{updated_at}}",
|
||||
"install": "Instalează",
|
||||
"resume": "Reia",
|
||||
"pause": "Pauză",
|
||||
"cancel": "Anulează",
|
||||
"remove": "Elimină",
|
||||
"space_left_on_disk": "{{space}} liber pe disc",
|
||||
"eta": "Concluzie {{eta}}",
|
||||
"calculating_eta": "Calculare timp rămas...",
|
||||
"downloading_metadata": "Se descarcă metadata...",
|
||||
"filter": "Filtrează repack-urile",
|
||||
"requirements": "Cerințe de sistem",
|
||||
"minimum": "Minim",
|
||||
"recommended": "Recomandat",
|
||||
"paused": "Pauzat",
|
||||
"release_date": "Lansat pe {{date}}",
|
||||
"publisher": "Publicat de {{publisher}}",
|
||||
"hours": "ore",
|
||||
"minutes": "minute",
|
||||
"amount_hours": "{{amount}} ore",
|
||||
"amount_minutes": "{{amount}} minute",
|
||||
"accuracy": "{{accuracy}}% acuratețe",
|
||||
"add_to_library": "Adaugă în bibliotecă",
|
||||
"remove_from_library": "Elimină din bibliotecă",
|
||||
"no_downloads": "Nicio descărcare disponibilă",
|
||||
"play_time": "Jucat timp de {{amount}}",
|
||||
"last_time_played": "Ultima dată jucat {{period}}",
|
||||
"not_played_yet": "Nu ai jucat încă {{title}}",
|
||||
"next_suggestion": "Sugestia următoare",
|
||||
"play": "Joacă",
|
||||
"deleting": "Se șterge programul de instalare...",
|
||||
"close": "Închide",
|
||||
"playing_now": "Se joacă acum",
|
||||
"change": "Schimbă",
|
||||
"repacks_modal_description": "Alege repack-ul pe care vrei să-l descarci",
|
||||
"select_folder_hint": "Pentru a schimba folderul predefinit, mergi la <0>Setări</0>",
|
||||
"download_now": "Descarcă acum",
|
||||
"no_shop_details": "Nu s-au putut obține detalii din magazin.",
|
||||
"download_options": "Opțiuni de descărcare",
|
||||
"download_path": "Locația de descărcare",
|
||||
"previous_screenshot": "Captura de ecran anterioară",
|
||||
"next_screenshot": "Captura de ecran următoare",
|
||||
"screenshot": "Captură de ecran {{number}}",
|
||||
"open_screenshot": "Deschide captura de ecran {{number}}",
|
||||
"download_settings": "Setări de descărcare",
|
||||
"downloader": "Program de descărcare"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Activează Hydra",
|
||||
"installation_id": "ID-ul de instalare:",
|
||||
"enter_activation_code": "Introdu codul de activare",
|
||||
"message": "Dacă nu știi de unde să ceri acest lucru, atunci nu ar trebui să-l ai.",
|
||||
"activate": "Activează",
|
||||
"loading": "Se încarcă..."
|
||||
},
|
||||
"downloads": {
|
||||
"resume": "Reia",
|
||||
"pause": "Pauză",
|
||||
"eta": "Concluzie {{eta}}",
|
||||
"paused": "Pauzat",
|
||||
"verifying": "Se verifică...",
|
||||
"completed": "Completat",
|
||||
"removed": "Nu este descărcat",
|
||||
"cancel": "Anulează",
|
||||
"filter": "Filtrează jocurile descărcate",
|
||||
"remove": "Elimină",
|
||||
"downloading_metadata": "Se descarcă metadata...",
|
||||
"deleting": "Se șterge programul de instalare...",
|
||||
"delete": "Elimină programul de instalare",
|
||||
"delete_modal_title": "Ești sigur?",
|
||||
"delete_modal_description": "Aceasta va elimina toate fișierele de instalare de pe computer",
|
||||
"install": "Instalează"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Locația de descărcare",
|
||||
"change": "Actualizează",
|
||||
"notifications": "Notificări",
|
||||
"enable_download_notifications": "Când o descărcare este completă",
|
||||
"enable_repack_list_notifications": "Când un nou repack este adăugat",
|
||||
"real_debrid_api_token_label": "Token API Real-Debrid",
|
||||
"quit_app_instead_hiding": "Nu ascunde Hydra la închidere",
|
||||
"launch_with_system": "Lansează Hydra la pornirea sistemului",
|
||||
"general": "General",
|
||||
"behavior": "Comportament",
|
||||
"language": "Limbă",
|
||||
"real_debrid_api_token": "Token API",
|
||||
"enable_real_debrid": "Activează Real-Debrid",
|
||||
"real_debrid_description": "Real-Debrid este un descărcător fără restricții care îți permite să descarci fișiere instantaneu și la cea mai bună viteză a internetului tău.",
|
||||
"real_debrid_invalid_token": "Token API invalid",
|
||||
"real_debrid_api_token_hint": "Poți obține token-ul tău API <0>aici</0>",
|
||||
"real_debrid_free_account_error": "Contul \"{{username}}\" este un cont gratuit. Te rugăm să te abonezi la Real-Debrid",
|
||||
"real_debrid_linked_message": "Contul \"{{username}}\" a fost legat",
|
||||
"save_changes": "Salvează modificările",
|
||||
"changes_saved": "Modificările au fost salvate cu succes"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Descărcare completă",
|
||||
"game_ready_to_install": "{{title}} este gata de instalare",
|
||||
"repack_list_updated": "Lista de repack-uri a fost actualizată",
|
||||
"repack_count_one": "{{count}} repack adăugat",
|
||||
"repack_count_other": "{{count}} repack-uri adăugate"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Deschide Hydra",
|
||||
"quit": "Ieși"
|
||||
},
|
||||
"game_card": {
|
||||
"no_downloads": "Nicio descărcare disponibilă"
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Programele nu sunt instalate",
|
||||
"description": "Fișierele executabile Wine sau Lutris nu au fost găsite pe sistemul tău",
|
||||
"instructions": "Verifică modul corect de instalare a oricăruia dintre acestea pe distribuția ta Linux pentru ca jocul să ruleze normal"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Buton de închidere"
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,16 @@
|
||||
{
|
||||
"language_name": "Русский",
|
||||
"app": {
|
||||
"successfully_signed_in": "Успешный вход"
|
||||
},
|
||||
"home": {
|
||||
"featured": "Рекомендованное",
|
||||
"recently_added": "Новинки",
|
||||
"trending": "В тренде",
|
||||
"surprise_me": "Удиви меня",
|
||||
"no_results": "Ничего не найдено"
|
||||
"no_results": "Ничего не найдено",
|
||||
"hot": "Сейчас жарко",
|
||||
"start_typing": "Начинаю вводить текст для поиска...",
|
||||
"weekly": "📅 Лучшие игры недели"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Каталог",
|
||||
@@ -12,16 +18,14 @@
|
||||
"settings": "Настройки",
|
||||
"my_library": "Библиотека",
|
||||
"downloading_metadata": "{{title}} (Загрузка метаданных…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Проверка файлов…)",
|
||||
"paused": "{{title}} (Приостановлено)",
|
||||
"downloading": "{{title}} ({{percentage}} - Загрузка…)",
|
||||
"filter": "Фильтр библиотеки",
|
||||
"follow_us": "Подписывайтесь на нас",
|
||||
"home": "Главная",
|
||||
"discord": "Присоединяйтесь к Discord",
|
||||
"telegram": "Присоединяйтесь к Telegram",
|
||||
"x": "Подписывайтесь на X",
|
||||
"github": "Внести свой вклад на GitHub"
|
||||
"queued": "{{title}} (В очереди)",
|
||||
"game_has_no_executable": "Файл запуска игры не выбран",
|
||||
"sign_in": "Войти",
|
||||
"friends": "Друзья"
|
||||
},
|
||||
"header": {
|
||||
"search": "Поиск",
|
||||
@@ -29,13 +33,16 @@
|
||||
"catalogue": "Каталог",
|
||||
"downloads": "Загрузки",
|
||||
"search_results": "Результаты поиска",
|
||||
"settings": "Настройки"
|
||||
"settings": "Настройки",
|
||||
"version_available_install": "Доступна версия {{version}}. Нажмите здесь для перезапуска и установки.",
|
||||
"version_available_download": "Доступна версия {{version}}. Нажмите здесь для загрузки."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Нет активных загрузок",
|
||||
"downloading_metadata": "Загрузка метаданных {{title}}…",
|
||||
"checking_files": "Проверка файлов {{title}}… ({{percentage}} завершено)",
|
||||
"downloading": "Загрузка {{title}}… ({{percentage}} завершено) - Окончание {{eta}} - {{speed}}"
|
||||
"downloading": "Загрузка {{title}}… ({{percentage}} завершено) - Окончание {{eta}} - {{speed}}",
|
||||
"calculating_eta": "Загрузка {{title}}… ({{percentage}} завершено) - Подсчёт оставшегося времени…",
|
||||
"checking_files": "Проверка файлов {{title}}… ({{percentage}} завершено)"
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "Следующая страница",
|
||||
@@ -52,22 +59,17 @@
|
||||
"pause": "Приостановить",
|
||||
"cancel": "Отменить",
|
||||
"remove": "Удалить",
|
||||
"remove_from_list": "Удалить",
|
||||
"space_left_on_disk": "{{space}} свободно на диске",
|
||||
"eta": "Окончание {{eta}}",
|
||||
"calculating_eta": "Подсчёт оставшегося времени…",
|
||||
"downloading_metadata": "Загрузка метаданных…",
|
||||
"checking_files": "Проверка файлов…",
|
||||
"filter": "Фильтр репаков",
|
||||
"requirements": "Системные требования",
|
||||
"minimum": "Минимальные",
|
||||
"recommended": "Рекомендуемые",
|
||||
"no_minimum_requirements": "Для {{title}} не указаны минимальные требования",
|
||||
"no_recommended_requirements": "Для {{title}} не указаны рекомендуемые требования",
|
||||
"paused_progress": "{{progress}} (Приостановлено)",
|
||||
"paused": "Приостановлено",
|
||||
"release_date": "Выпущено {{date}}",
|
||||
"publisher": "Издатель {{publisher}}",
|
||||
"copy_link_to_clipboard": "Копировать ссылку",
|
||||
"copied_link_to_clipboard": "Ссылка скопирована",
|
||||
"hours": "часов",
|
||||
"minutes": "минут",
|
||||
"amount_hours": "{{amount}} часов",
|
||||
@@ -88,21 +90,45 @@
|
||||
"repacks_modal_description": "Выберите репак для загрузки",
|
||||
"select_folder_hint": "Чтобы изменить папку загрузок по умолчанию, откройте <0>Настройки</0>",
|
||||
"download_now": "Загрузить сейчас",
|
||||
"installation_instructions": "Инструкция по установке",
|
||||
"installation_instructions_description": "Для установки этой игры требуются дополнительные шаги",
|
||||
"online_fix_instruction": "В играх с OnlineFix требуется ввести пароль для извлечения. При необходимости используйте следующий пароль:",
|
||||
"dodi_installation_instruction": "Когда вы откроете установщик DODI, нажмите на клавиатуре клавишу 'вверх' <0 />, чтобы начать процесс установки:",
|
||||
"dont_show_it_again": "Не показывать снова",
|
||||
"copy_to_clipboard": "Копировать",
|
||||
"copied_to_clipboard": "Скопировано",
|
||||
"got_it": "Понятно",
|
||||
"no_shop_details": "Не удалось получить описание",
|
||||
"download_options": "Вариантов загрузки",
|
||||
"download_path": "Путь для загрузок",
|
||||
"previous_screenshot": "Предыдущий скриншот",
|
||||
"next_screenshot": "Следующий скриншот",
|
||||
"screenshot": "Скриншот {{number}}",
|
||||
"open_screenshot": "Открыть скриншот {{number}}"
|
||||
"open_screenshot": "Открыть скриншот {{number}}",
|
||||
"download_settings": "Параметры загрузки",
|
||||
"downloader": "Загрузчик",
|
||||
"select_executable": "Выбрать",
|
||||
"no_executable_selected": "Файл не выбран",
|
||||
"open_folder": "Открыть папку",
|
||||
"open_download_location": "Просмотреть папку загрузок",
|
||||
"create_shortcut": "Создать ярлык на рабочем столе",
|
||||
"remove_files": "Удалить файлы",
|
||||
"remove_from_library_title": "Вы уверены?",
|
||||
"remove_from_library_description": "{{game}} будет удалена из вашей библиотеки.",
|
||||
"options": "Настройки",
|
||||
"executable_section_title": "Файл",
|
||||
"executable_section_description": "Путь к файлу, который будет запущен при нажатии на \"Play\"",
|
||||
"downloads_secion_title": "Загрузки",
|
||||
"downloads_section_description": "Проверить наличие обновлений или других версий игры",
|
||||
"danger_zone_section_title": "Опасная зона",
|
||||
"danger_zone_section_description": "Удалить эту игру из вашей библиотеки или файлы скачанные Hydra",
|
||||
"download_in_progress": "Идёт загрузка",
|
||||
"download_paused": "Загрузка приостановлена",
|
||||
"last_downloaded_option": "Последний вариант загрузки",
|
||||
"create_shortcut_success": "Ярлык создан",
|
||||
"create_shortcut_error": "Не удалось создать ярлык",
|
||||
"allow_nsfw_content": "Продолжать",
|
||||
"download": "Скачать",
|
||||
"download_count": "Загрузки",
|
||||
"download_error": "Этот вариант загрузки недоступен",
|
||||
"executable_path_in_use": "Исполняемый файл уже используется \"{{game}}\"",
|
||||
"nsfw_content_description": "{{title}} содержит контент, который может не подходить для всех возрастов. \nВы уверены, что хотите продолжить?",
|
||||
"nsfw_content_title": "Эта игра содержит неприемлемый контент",
|
||||
"player_count": "Активные игроки",
|
||||
"refuse_nsfw_content": "Возвращаться",
|
||||
"stats": "Статистика"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Активировать Hydra",
|
||||
@@ -118,24 +144,24 @@
|
||||
"eta": "Окончание {{eta}}",
|
||||
"paused": "Приостановлено",
|
||||
"verifying": "Проверка…",
|
||||
"completed_at": "Завершено в {{date}}",
|
||||
"completed": "Завершено",
|
||||
"cancelled": "Отменено",
|
||||
"download_again": "Загрузить снова",
|
||||
"cancel": "Отменить",
|
||||
"removed": "Не скачано",
|
||||
"cancel": "Отмена",
|
||||
"filter": "Фильтр загруженных игр",
|
||||
"remove": "Удалить",
|
||||
"downloading_metadata": "Загрузка метаданных…",
|
||||
"checking_files": "Проверка файлов…",
|
||||
"starting_download": "Начало загрузки…",
|
||||
"deleting": "Удаление установщика…",
|
||||
"delete": "Удалить установщик",
|
||||
"remove_from_list": "Удалить",
|
||||
"delete_modal_title": "Вы уверены?",
|
||||
"delete_modal_description": "Это удалит все установщики с вашего компьютера",
|
||||
"install": "Установить",
|
||||
"real_debrid": "Real Debrid",
|
||||
"torrent": "Torrent"
|
||||
"download_in_progress": "В процессе",
|
||||
"queued_downloads": "Загрузки в очереди",
|
||||
"downloads_completed": "Завершено",
|
||||
"queued": "В очереди",
|
||||
"no_downloads_title": "Здесь так пусто...",
|
||||
"no_downloads_description": "Вы ещё ничего не скачали через Hydra, но никогда не поздно начать.",
|
||||
"checking_files": "Проверка файлов…"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Путь загрузок",
|
||||
@@ -143,24 +169,65 @@
|
||||
"notifications": "Уведомления",
|
||||
"enable_download_notifications": "По завершении загрузки",
|
||||
"enable_repack_list_notifications": "При добавлении нового репака",
|
||||
"telemetry": "Телеметрия",
|
||||
"telemetry_description": "Отправлять анонимную статистику использования",
|
||||
"real_debrid_api_token_label": "Real Debrid API-токен",
|
||||
"quit_app_instead_hiding": "Закрывать Hydra вместо того, чтобы сворачивать его в трей",
|
||||
"launch_with_system": "Запуск Hydra вместе с системой",
|
||||
"real_debrid_api_token_label": "Real-Debrid API-токен",
|
||||
"quit_app_instead_hiding": "Закрывать приложение вместо сворачивания в трей",
|
||||
"launch_with_system": "Запускать Hydra вместе с системой",
|
||||
"general": "Основные",
|
||||
"behavior": "Поведение",
|
||||
"enable_real_debrid": "Включить Real Debrid",
|
||||
"real_debrid": "Real Debrid",
|
||||
"real_debrid_api_token_hint": "API ключ можно получить <0>здесь</0>.",
|
||||
"save_changes": "Сохранить изменения"
|
||||
"download_sources": "Источники загрузки",
|
||||
"language": "Язык",
|
||||
"real_debrid_api_token": "API Ключ",
|
||||
"enable_real_debrid": "Включить Real-Debrid",
|
||||
"real_debrid_description": "Real-Debrid - это неограниченный загрузчик, который позволяет быстро скачивать файлы, размещенные в Интернете, или мгновенно передавать их в плеер через частную сеть, позволяющую обходить любые блокировки.",
|
||||
"real_debrid_invalid_token": "Неверный API ключ",
|
||||
"real_debrid_api_token_hint": "API ключ можно получить <0>здесь</0>",
|
||||
"real_debrid_free_account_error": "Аккаунт \"{{username}}\" - не имеет подписки. Пожалуйста, оформите подписку на Real-Debrid",
|
||||
"real_debrid_linked_message": "Привязан аккаунт \"{{username}}\"",
|
||||
"save_changes": "Сохранить изменения",
|
||||
"changes_saved": "Изменения успешно сохранены",
|
||||
"download_sources_description": "Hydra будет получать ссылки на загрузки из этих источников. URL должна содержать прямую ссылку на .json-файл с ссылками для загрузок.",
|
||||
"validate_download_source": "Проверить",
|
||||
"remove_download_source": "Удалить",
|
||||
"add_download_source": "Добавить источник",
|
||||
"download_count_zero": "В списке нет загрузок",
|
||||
"download_count_one": "{{countFormatted}} загрузка в списке",
|
||||
"download_count_other": "{{countFormatted}} загрузок в списке",
|
||||
"download_source_url": "Ссылка на источник",
|
||||
"add_download_source_description": "Вставьте ссылку на .json-файл",
|
||||
"download_source_up_to_date": "Обновлён",
|
||||
"download_source_errored": "Ошибка",
|
||||
"sync_download_sources": "Синхронизировать источники",
|
||||
"removed_download_source": "Источник загрузок удален",
|
||||
"added_download_source": "Источник загрузок добавлен",
|
||||
"download_sources_synced": "Все источники загрузок синхронизированы",
|
||||
"insert_valid_json_url": "Вставьте действительный URL JSON-файла",
|
||||
"found_download_option_zero": "Не найдено вариантов загрузки",
|
||||
"found_download_option_one": "Найден {{countFormatted}} вариант загрузки",
|
||||
"found_download_option_other": "Найдено {{countFormatted}} вариантов загрузки",
|
||||
"import": "Импортировать",
|
||||
"blocked_users": "Заблокированные пользователи",
|
||||
"download_options_one": "",
|
||||
"download_options_other": "",
|
||||
"download_options_zero": "",
|
||||
"friends_only": "Только друзья",
|
||||
"must_be_valid_url": "Источник должен быть действительным URL-адресом.",
|
||||
"privacy": "Конфиденциальность",
|
||||
"private": "Частный",
|
||||
"profile_visibility": "Видимость профиля",
|
||||
"profile_visibility_description": "Выберите, кто может видеть ваш профиль и библиотеку",
|
||||
"public": "Общественный",
|
||||
"required_field": "Это поле обязательно к заполнению",
|
||||
"source_already_exists": "Этот источник уже добавлен",
|
||||
"user_unblocked": "Пользователь разблокирован"
|
||||
},
|
||||
"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 для установки обновления"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Открыть Hydra",
|
||||
@@ -176,5 +243,76 @@
|
||||
},
|
||||
"modal": {
|
||||
"close": "Закрыть"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "Показывать пароль"
|
||||
},
|
||||
"user_profile": {
|
||||
"amount_hours": "{{amount}} часов",
|
||||
"amount_minutes": "{{amount}} минут",
|
||||
"last_time_played": "Последняя игра {{period}}",
|
||||
"activity": "Недавняя активность",
|
||||
"library": "Библиотека",
|
||||
"total_play_time": "Всего сыграно: {{amount}}",
|
||||
"no_recent_activity_title": "Хммм... Тут ничего нет",
|
||||
"no_recent_activity_description": "Вы давно ни во что не играли. Пора это изменить!",
|
||||
"display_name": "Отображаемое имя",
|
||||
"saving": "Сохранение",
|
||||
"save": "Сохранить",
|
||||
"edit_profile": "Редактировать Профиль",
|
||||
"saved_successfully": "Успешно сохранено",
|
||||
"try_again": "Пожалуйста, попробуйте ещё раз",
|
||||
"sign_out_modal_title": "Вы уверены?",
|
||||
"cancel": "Отменить",
|
||||
"successfully_signed_out": "Успешный выход из аккаунта",
|
||||
"sign_out": "Выйти",
|
||||
"playing_for": "Сыграно {{amount}}",
|
||||
"sign_out_modal_text": "Ваша библиотека связана с текущей учетной записью. При выходе из системы ваша библиотека станет недоступна, и прогресс не будет сохранен. Выйти?",
|
||||
"add_friends": "Добавить друзей",
|
||||
"add": "Добавить",
|
||||
"friend_code": "Код друга",
|
||||
"see_profile": "Просмотреть профиль",
|
||||
"sending": "Отправка",
|
||||
"friend_request_sent": "Запрос в друзья отправлен",
|
||||
"friends": "Друзья",
|
||||
"friends_list": "Список друзей",
|
||||
"user_not_found": "Пользователь не найден",
|
||||
"block_user": "Заблокировать пользователя",
|
||||
"add_friend": "Добавить друга",
|
||||
"request_sent": "Запрос отправлен",
|
||||
"request_received": "Запрос получен",
|
||||
"accept_request": "Принять запрос",
|
||||
"ignore_request": "Игнорировать запрос",
|
||||
"cancel_request": "Отменить запрос",
|
||||
"undo_friendship": "Удалить друга",
|
||||
"request_accepted": "Запрос принят",
|
||||
"user_blocked_successfully": "Пользователь успешно заблокирован",
|
||||
"user_block_modal_text": "{{displayName}} будет заблокирован",
|
||||
"blocked_users": "Заблокированные пользователи",
|
||||
"unblock": "Разблокировать",
|
||||
"no_friends_added": "Вы ещё не добавили ни одного друга",
|
||||
"pending": "Ожидание",
|
||||
"no_pending_invites": "У вас нет запросов ожидающих ответа",
|
||||
"no_blocked_users": "Вы не заблокировали ни одного пользователя",
|
||||
"friend_code_copied": "Код друга скопирован",
|
||||
"displayname_max_length": "Отображаемое имя должно содержать не более 50 символов.",
|
||||
"displayname_min_length": "Отображаемое имя должно содержать не менее 3 символов.",
|
||||
"image_process_failure": "Сбой при обработке изображения",
|
||||
"locked_profile": "Этот профиль является частным",
|
||||
"privacy_hint": "Чтобы указать, кто может это видеть, перейдите в <0>Настройки</0>.",
|
||||
"profile_locked": "",
|
||||
"profile_reported": "Профиль сообщил",
|
||||
"report": "Отчет",
|
||||
"report_description": "Дополнительная информация",
|
||||
"report_description_placeholder": "Дополнительная информация",
|
||||
"report_profile": "Пожаловаться на этот профиль",
|
||||
"report_reason": "Почему вы жалуетесь на этот профиль?",
|
||||
"report_reason_hate": "Разжигание ненависти",
|
||||
"report_reason_other": "Другой",
|
||||
"report_reason_sexual_content": "Сексуальный контент",
|
||||
"report_reason_spam": "Спам",
|
||||
"report_reason_violence": "Насилие",
|
||||
"required_field": "Это поле обязательно к заполнению",
|
||||
"undo_friendship_modal_text": "Это отменит вашу дружбу с {{displayName}}."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"language_name": "Türkçe",
|
||||
"home": {
|
||||
"featured": "Öne çıkan",
|
||||
"recently_added": "Son eklenen",
|
||||
"trending": "Popüler",
|
||||
"surprise_me": "Şaşırt beni",
|
||||
"no_results": "Sonuç bulunamadı"
|
||||
@@ -12,16 +12,10 @@
|
||||
"settings": "Ayarlar",
|
||||
"my_library": "Kütüphane",
|
||||
"downloading_metadata": "{{title}} (Metadata indiriliyor…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Dosyalar kontrol ediliyor…)",
|
||||
"paused": "{{title}} (Duraklatıldı)",
|
||||
"downloading": "{{title}} ({{percentage}} - İndiriliyor…)",
|
||||
"filter": "Kütüphaneyi filtrele",
|
||||
"follow_us": "Bizi takip et",
|
||||
"home": "Ana menü",
|
||||
"discord": "Discord'umuza katıl",
|
||||
"telegram": "Telegram'umuza katıl",
|
||||
"x": "X'te bizi takip et",
|
||||
"github": "GitHub'da bize katkı yap"
|
||||
"home": "Ana menü"
|
||||
},
|
||||
"header": {
|
||||
"search": "Ara",
|
||||
@@ -34,7 +28,6 @@
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "İndirilen bir şey yok",
|
||||
"downloading_metadata": "{{title}} metadatası indiriliyor…",
|
||||
"checking_files": "{{title}} dosyaları kontrol ediliyor… ({{percentage}} tamamlandı)",
|
||||
"downloading": "{{title}} indiriliyor… ({{percentage}} tamamlandı) - Bitiş {{eta}} - {{speed}}"
|
||||
},
|
||||
"catalogue": {
|
||||
@@ -52,22 +45,15 @@
|
||||
"pause": "Duraklat",
|
||||
"cancel": "İptal et",
|
||||
"remove": "Sil",
|
||||
"remove_from_list": "Sil",
|
||||
"space_left_on_disk": "Diskte {{space}} yer kaldı",
|
||||
"eta": "Bitiş {{eta}}",
|
||||
"downloading_metadata": "Metadata indiriliyor…",
|
||||
"checking_files": "Dosyalar kontrol ediliyor…",
|
||||
"filter": "Repackleri filtrele",
|
||||
"requirements": "Sistem gereksinimleri",
|
||||
"minimum": "Minimum",
|
||||
"recommended": "Önerilen",
|
||||
"no_minimum_requirements": "{{title}} minimum sistem gereksinim bilgilerini karşılamıyor",
|
||||
"no_recommended_requirements": "{{title}} önerilen sistem gereksinim bilgilerini karşılamıyor",
|
||||
"paused_progress": "{{progress}} (Duraklatıldı)",
|
||||
"release_date": "{{date}} tarihinde çıktı",
|
||||
"publisher": "{{publisher}} tarihinde yayınlandı",
|
||||
"copy_link_to_clipboard": "Link'i kopyala",
|
||||
"copied_link_to_clipboard": "Link kopyalandı",
|
||||
"hours": "saatler",
|
||||
"minutes": "dakikalar",
|
||||
"amount_hours": "{{amount}} saat",
|
||||
@@ -86,17 +72,8 @@
|
||||
"playing_now": "Şimdi oynanıyor",
|
||||
"change": "Değiştir",
|
||||
"repacks_modal_description": "İndirmek istediğiiniz repacki seçin",
|
||||
"downloads_path": "İndirme yolu",
|
||||
"select_folder_hint": "Varsayılan klasörü değiştirmek için ulaşmanız gereken ayar",
|
||||
"download_now": "Şimdi",
|
||||
"installation_instructions": "Kurulum",
|
||||
"installation_instructions_description": "Bu oyunu kurmak için ek adımlar gerekiyor",
|
||||
"online_fix_instruction": "OnlineFix oyunlarını ayıklamak için parola gerekiyor. Gerekli olduğunda bu parolayı kullanın:",
|
||||
"dodi_installation_instruction": "Dodi installerını açtığınızda, kurulumu başlatmak için bu tuşa basın <0 />:",
|
||||
"dont_show_it_again": "Tekrar gösterme",
|
||||
"copy_to_clipboard": "Kopyala",
|
||||
"copied_to_clipboard": "Kopyalandı",
|
||||
"got_it": "Tamam"
|
||||
"download_now": "Şimdi"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Hydra'yı aktif et",
|
||||
@@ -112,19 +89,13 @@
|
||||
"eta": "Bitiş {{eta}}",
|
||||
"paused": "Duraklatıldı",
|
||||
"verifying": "Doğrulanıyor…",
|
||||
"completed_at": "{{date}} tarihinde tamamlanacak",
|
||||
"completed": "Tamamlandı",
|
||||
"cancelled": "İptal edildi",
|
||||
"download_again": "Tekrar indir",
|
||||
"cancel": "İptal et",
|
||||
"filter": "Yüklü oyunları filtrele",
|
||||
"remove": "Kaldır",
|
||||
"downloading_metadata": "Metadata indiriliyor…",
|
||||
"checking_files": "Dosyalar kontrol ediliyor…",
|
||||
"starting_download": "İndirme başlatılıyor…",
|
||||
"deleting": "Installer siliniyor…",
|
||||
"delete": "Installer'ı sil",
|
||||
"remove_from_list": "Kaldır",
|
||||
"delete_modal_title": "Emin misiniz?",
|
||||
"delete_modal_description": "Bu bilgisayarınızdan tüm kurulum dosyalarını silecek",
|
||||
"install": "Kur"
|
||||
@@ -134,9 +105,7 @@
|
||||
"change": "Güncelle",
|
||||
"notifications": "Bildirimler",
|
||||
"enable_download_notifications": "Bir indirme bittiğinde",
|
||||
"enable_repack_list_notifications": "Yeni bir repack eklendiğinde",
|
||||
"telemetry": "Telemetri",
|
||||
"telemetry_description": "Anonim kullanım istatistiklerini aktifleştir"
|
||||
"enable_repack_list_notifications": "Yeni bir repack eklendiğinde"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "İndirme tamamlandı",
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"language_name": "Українська",
|
||||
"app": {
|
||||
"successfully_signed_in": "Успішний вхід в систему"
|
||||
},
|
||||
"home": {
|
||||
"featured": "Рекомендоване",
|
||||
"recently_added": "Нове",
|
||||
"trending": "У тренді",
|
||||
"surprise_me": "Здивуй мене",
|
||||
"no_results": "Результатів не знайдено"
|
||||
@@ -12,16 +15,13 @@
|
||||
"settings": "Налаштування",
|
||||
"my_library": "Бібліотека",
|
||||
"downloading_metadata": "{{title}} (Завантаження метаданих…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Перевірка файлів…)",
|
||||
"paused": "{{title}} (Призупинено)",
|
||||
"downloading": "{{title}} ({{percentage}} - Завантаження…)",
|
||||
"filter": "Фільтр бібліотеки",
|
||||
"follow_us": "Підписуйтесь на нас",
|
||||
"home": "Головна",
|
||||
"discord": "Приєднуйтесь до Discord",
|
||||
"telegram": "Приєднуйтесь до Telegram",
|
||||
"x": "Підписуйтесь на X",
|
||||
"github": "Зробіть свій внесок на GitHub"
|
||||
"game_has_no_executable": "Не було вибрано файл для запуску гри",
|
||||
"queued": "{{title}} в черзі",
|
||||
"sign_in": "Увійти"
|
||||
},
|
||||
"header": {
|
||||
"search": "Пошук",
|
||||
@@ -29,13 +29,15 @@
|
||||
"catalogue": "Каталог",
|
||||
"downloads": "Завантаження",
|
||||
"search_results": "Результати пошуку",
|
||||
"settings": "Налаштування"
|
||||
"settings": "Налаштування",
|
||||
"version_available_download": "Доступна версія {{version}}. Натисніть тут, щоб перезапустити та встановити.",
|
||||
"version_available_install": "Доступна версія {{version}}. Натисніть тут для завантаження."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "Немає активних завантажень",
|
||||
"downloading_metadata": "Завантаження метаданих {{title}}…",
|
||||
"checking_files": "Перевірка файлів {{title}}… ({{percentage}} завершено)",
|
||||
"downloading": "Завантаження {{title}}… ({{percentage}} завершено) - Закінчення {{eta}} - {{speed}}"
|
||||
"downloading": "Завантаження {{title}}… ({{percentage}} завершено) - Закінчення {{eta}} - {{speed}}",
|
||||
"calculating_eta": "Завантаження {{title}}… ({{percentage}} завершено) - Обчислення залишкового часу…"
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "Наступна сторінка",
|
||||
@@ -52,22 +54,15 @@
|
||||
"pause": "Призупинити",
|
||||
"cancel": "Скасувати",
|
||||
"remove": "Видалити",
|
||||
"remove_from_list": "Видалити",
|
||||
"space_left_on_disk": "{{space}} вільно на диску",
|
||||
"eta": "Закінчення {{eta}}",
|
||||
"downloading_metadata": "Завантаження метаданих…",
|
||||
"checking_files": "Перевірка файлів…",
|
||||
"filter": "Фільтр репаків",
|
||||
"requirements": "Системні вимоги",
|
||||
"minimum": "Мінімальні",
|
||||
"recommended": "Рекомендовані",
|
||||
"no_minimum_requirements": "Для {{title}} не вказані мінімальні вимоги",
|
||||
"no_recommended_requirements": "Для {{title}} не вказані рекомендовані вимоги",
|
||||
"paused_progress": "{{progress}} (Призупинено)",
|
||||
"release_date": "Випущено {{date}}",
|
||||
"publisher": "Видавець {{publisher}}",
|
||||
"copy_link_to_clipboard": "Скопіювати посилання",
|
||||
"copied_link_to_clipboard": "Посилання скопійовано",
|
||||
"hours": "годин",
|
||||
"minutes": "хвилин",
|
||||
"amount_hours": "{{amount}} годин",
|
||||
@@ -86,23 +81,43 @@
|
||||
"playing_now": "Поточна гра",
|
||||
"change": "Змінити",
|
||||
"repacks_modal_description": "Виберіть репак, який хочете завантажити",
|
||||
"downloads_path": "Шлях завантажень",
|
||||
"select_folder_hint": "Щоб змінити теку за замовчуванням, відкрийте",
|
||||
"download_now": "Завантажити зараз",
|
||||
"installation_instructions": "Інструкція зі встановлення",
|
||||
"installation_instructions_description": "Для встановлення цієї гри потрібні додаткові кроки",
|
||||
"online_fix_instruction": "В іграх з OnlineFix потрібно ввести пароль для вилучення. За необхідності використовуйте наступний пароль:",
|
||||
"dodi_installation_instruction": "Коли ви відкриєте інсталятор DODI, натисніть на клавіатурі клавішу 'вгору' <0 />, щоб почати процес встановлення:",
|
||||
"dont_show_it_again": "Не показувати це знову",
|
||||
"copy_to_clipboard": "Копіювати",
|
||||
"copied_to_clipboard": "Скопійовано",
|
||||
"got_it": "Зрозуміло"
|
||||
"calculating_eta": "Обчислення залишкового часу…",
|
||||
"create_shortcut": "Створити ярлик на робочому столі",
|
||||
"danger_zone_section_description": "Видалити цю гру з вашої бібліотеки або файли скачані Hydra",
|
||||
"danger_zone_section_title": "Небезпечна зона",
|
||||
"download_in_progress": "Триває завантаження.",
|
||||
"download_options": "Варіантів завантаження",
|
||||
"download_path": "Тека для завантажень",
|
||||
"download_paused": "Завантаження призупинено",
|
||||
"download_settings": "Налаштування завантаження",
|
||||
"downloader": "Завантажувач",
|
||||
"downloads_secion_title": "Завантаження",
|
||||
"downloads_section_description": "Перевірити наявність оновлень або інших версій гри",
|
||||
"executable_section_description": "Шлях до файлу, який буде запущений при натисканні на кнопку \"Play\"",
|
||||
"executable_section_title": "Файл",
|
||||
"last_downloaded_option": "Останній варіант завантаження",
|
||||
"next_screenshot": "Наступний скрішнот",
|
||||
"no_executable_selected": "Файл не вибрано",
|
||||
"no_shop_details": "Не вдалося отримати опис",
|
||||
"open_download_location": "Переглянути папку завантажень",
|
||||
"open_folder": "Відкрити папку",
|
||||
"open_screenshot": "Відкрити скріншот",
|
||||
"options": "Налаштування",
|
||||
"paused": "Призупинено",
|
||||
"previous_screenshot": "Попередній скріншот",
|
||||
"remove_files": "Видалити файли",
|
||||
"remove_from_library_description": "{{game}} буде видалено з вашої бібліотеки",
|
||||
"remove_from_library_title": "Ви впевнені?",
|
||||
"screenshot": "Скріншот",
|
||||
"select_executable": "Обрати"
|
||||
},
|
||||
"activation": {
|
||||
"title": "Активувати Hydra",
|
||||
"installation_id": "ID установки:",
|
||||
"enter_activation_code": "Введіть ваш активаційний код",
|
||||
"message": "Якщо ви не знаєте, де його запросити, то не повинні мати цього.",
|
||||
"message": "Якщо ви не знаєте, де його запросити, то не повинні мати його.",
|
||||
"activate": "Активувати",
|
||||
"loading": "Завантаження…"
|
||||
},
|
||||
@@ -112,22 +127,23 @@
|
||||
"eta": "Закінчення {{eta}}",
|
||||
"paused": "Призупинено",
|
||||
"verifying": "Перевірка…",
|
||||
"completed_at": "Завершено в {{date}}",
|
||||
"completed": "Завершено",
|
||||
"cancelled": "Скасовано",
|
||||
"download_again": "Завантажити знову",
|
||||
"cancel": "Скасувати",
|
||||
"filter": "Фільтр завантажених ігор",
|
||||
"remove": "Видалити",
|
||||
"downloading_metadata": "Завантаження метаданих…",
|
||||
"checking_files": "Перевірка файлів…",
|
||||
"starting_download": "Початок завантаження…",
|
||||
"deleting": "Видалення інсталятора…",
|
||||
"delete": "Видалити інсталятор",
|
||||
"remove_from_list": "Видалити",
|
||||
"delete_modal_title": "Ви впевнені?",
|
||||
"delete_modal_description": "Це видалить усі інсталяційні файли з вашого комп'ютера",
|
||||
"install": "Встановити"
|
||||
"install": "Встановити",
|
||||
"download_in_progress": "В процесі",
|
||||
"downloads_completed": "Завершено",
|
||||
"no_downloads_description": "Ви ще нічого не завантажили через Hydra, але ніколи не пізно почати.",
|
||||
"no_downloads_title": "Тут так пусто...",
|
||||
"queued": "В черзі",
|
||||
"queued_downloads": "Завантаження в черзі",
|
||||
"removed": "Не завантажено"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Тека завантажень",
|
||||
@@ -135,11 +151,45 @@
|
||||
"notifications": "Повідомлення",
|
||||
"enable_download_notifications": "Після завершення завантаження",
|
||||
"enable_repack_list_notifications": "Коли додається новий репак",
|
||||
"telemetry": "Телеметрія",
|
||||
"telemetry_description": "Відправляти анонімну статистику використання",
|
||||
"behavior": "Поведінка",
|
||||
"quit_app_instead_hiding": "Закривати програму замість того, щоб згортати її в трей",
|
||||
"launch_with_system": "Запускати програми із запуском комп'ютера"
|
||||
"quit_app_instead_hiding": "Закривати Hydra замість того, щоб згортати її в трей",
|
||||
"launch_with_system": "Запускати Hydra із запуском комп'ютера",
|
||||
"add_download_source": "Добавити джерело",
|
||||
"add_download_source_description": "Введіть посилання на .json-файл",
|
||||
"added_download_source": "Джерело для завантаження було додано",
|
||||
"changes_saved": "Зміни успішно збережено",
|
||||
"download_count_one": "{{countFormatted}} завантаження в списку",
|
||||
"download_count_other": "{{countFormatted}} завантажень в списку",
|
||||
"download_count_zero": "В списку немає завантажень",
|
||||
"download_options_one": "{{countFormatted}} доступний варіант завантаження",
|
||||
"download_options_other": "{{countFormatted}} доступних варіантів завантаження",
|
||||
"download_options_zero": "Немає доступних завантажень",
|
||||
"download_source_errored": "Помилка",
|
||||
"download_source_up_to_date": "Оновлено",
|
||||
"download_source_url": "Посилання на джерело",
|
||||
"download_sources": "Джерела для завантаження",
|
||||
"download_sources_description": "Hydra буде отримувати посилання для завантажень із цих джерел. URL має містити пряме посилання на .json-файл із посиланнями для завантажень.",
|
||||
"download_sources_synced": "Всі джерела для завантаження синхронізовано",
|
||||
"enable_real_debrid": "Включити Real-Debrid",
|
||||
"found_download_option_one": "Знайдено {{countFormatted}} варіант завантаження",
|
||||
"found_download_option_other": "Знайдено {{countFormatted}} варіантів завантаження",
|
||||
"found_download_option_zero": "Немає доступних завантажень",
|
||||
"general": "Основні",
|
||||
"import": "Імпортувати",
|
||||
"insert_valid_json_url": "Вставте дійсний URL JSON-файлу",
|
||||
"language": "Мова",
|
||||
"real_debrid_api_token": "API-токен",
|
||||
"real_debrid_api_token_hint": "API токен можливо отримати <0>тут</0>",
|
||||
"real_debrid_api_token_label": "Real-Debrid API-токен",
|
||||
"real_debrid_description": "Real-Debrid — це необмежений завантажувач, який дозволяє швидко завантажувати файли, розміщені в Інтернеті, або миттєво передавати їх у плеєр через приватну мережу, що дозволяє обходити будь-які блокування.",
|
||||
"real_debrid_free_account_error": "Акаунт \"{{username}}\" - не має наявної підписки. Будь ласка, оформіть підписку на Real-Debrid",
|
||||
"real_debrid_invalid_token": "Невірний API-токен",
|
||||
"real_debrid_linked_message": "Акаунт \"{{username}}\" привязаний",
|
||||
"remove_download_source": "Видалити",
|
||||
"removed_download_source": "Джерело завантажень було видалено",
|
||||
"save_changes": "Зберегти зміни",
|
||||
"sync_download_sources": "Синхронізувати джерела",
|
||||
"validate_download_source": "Перевірити"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Завантаження завершено",
|
||||
@@ -162,5 +212,30 @@
|
||||
},
|
||||
"modal": {
|
||||
"close": "Закрити"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "Показувати пароль"
|
||||
},
|
||||
"user_profile": {
|
||||
"activity": "Остання активність",
|
||||
"amount_hours": "{{amount}} годин",
|
||||
"amount_minutes": "{{amount}} хвилин",
|
||||
"cancel": "Скасувати",
|
||||
"display_name": "Відображуване ім'я",
|
||||
"edit_profile": "Редагувати профіль",
|
||||
"last_time_played": "Остання гра {{period}}",
|
||||
"library": "Бібліотека",
|
||||
"no_recent_activity_description": "Ви давно не грали в ігри. Пора це змінити!",
|
||||
"no_recent_activity_title": "Хммм... Тут нічого немає",
|
||||
"playing_for": "Зіграно {{amount}}",
|
||||
"save": "Збережено",
|
||||
"saved_successfully": "Успішно збережено",
|
||||
"saving": "Збереження",
|
||||
"sign_out": "Вийти",
|
||||
"sign_out_modal_text": "Ваша бібліотека пов'язана з поточним обліковим записом. При виході з системи ваша бібліотека буде недоступною, і прогрес не буде збережено. Продовжити вихід?",
|
||||
"sign_out_modal_title": "Ви впевнені?",
|
||||
"successfully_signed_out": "Успішний вихід з акаунту",
|
||||
"total_play_time": "Всього зіграно: {{amount}}",
|
||||
"try_again": "Будь ласка, попробуйте ще раз"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"language_name": "中文",
|
||||
"app": {
|
||||
"successfully_signed_in": "已成功登录"
|
||||
},
|
||||
"home": {
|
||||
"featured": "特色推荐",
|
||||
"recently_added": "最近添加",
|
||||
"trending": "最近热门",
|
||||
"surprise_me": "向我推荐",
|
||||
"no_results": "没有找到结果"
|
||||
@@ -12,30 +15,29 @@
|
||||
"settings": "设置",
|
||||
"my_library": "我的游戏库",
|
||||
"downloading_metadata": "{{title}} (正在下载元数据…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - 正在检查文件…)",
|
||||
"paused": "{{title}} (已暂停)",
|
||||
"downloading": "{{title}} ({{percentage}} - 正在下载…)",
|
||||
"filter": "筛选游戏库",
|
||||
"follow_us": "关注我们",
|
||||
"home": "主页",
|
||||
"discord": "加入我们的Discord",
|
||||
"telegram": "加入我们的Telegram",
|
||||
"x": "在X上关注我们",
|
||||
"github": "在GitHub上贡献"
|
||||
"queued": "{{title}} (已加入下载队列)",
|
||||
"game_has_no_executable": "未选择游戏的可执行文件",
|
||||
"sign_in": "登入"
|
||||
},
|
||||
"header": {
|
||||
"search": "搜索",
|
||||
"search": "搜索游戏",
|
||||
"home": "主页",
|
||||
"catalogue": "游戏目录",
|
||||
"downloads": "下载中心",
|
||||
"search_results": "搜索结果",
|
||||
"settings": "设置"
|
||||
"settings": "设置",
|
||||
"version_available_install": "版本 {{version}} 已可用. 点击此处重新启动并安装.",
|
||||
"version_available_download": "版本 {{version}} 可用. 点击此处下载."
|
||||
},
|
||||
"bottom_panel": {
|
||||
"no_downloads_in_progress": "没有正在进行的下载",
|
||||
"downloading_metadata": "正在下载{{title}}的元数据…",
|
||||
"checking_files": "正在检查{{title}}的文件… ({{percentage}}完成)",
|
||||
"downloading": "正在下载{{title}}… ({{percentage}}完成) - 剩余时间{{eta}} - 速度{{speed}}"
|
||||
"downloading": "正在下载{{title}}… ({{percentage}}完成) - 剩余时间{{eta}} - 速度{{speed}}",
|
||||
"calculating_eta": "正在下载 {{title}}… (已完成{{percentage}}.) - 正在计算剩余时间..."
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "下一页",
|
||||
@@ -52,22 +54,15 @@
|
||||
"pause": "暂停",
|
||||
"cancel": "取消",
|
||||
"remove": "移除",
|
||||
"remove_from_list": "从列表中移除",
|
||||
"space_left_on_disk": "磁盘剩余空间{{space}}",
|
||||
"eta": "预计完成时间{{eta}}",
|
||||
"downloading_metadata": "正在下载元数据…",
|
||||
"checking_files": "正在检查文件…",
|
||||
"filter": "筛选重打包",
|
||||
"requirements": "配置要求",
|
||||
"minimum": "最低要求",
|
||||
"recommended": "推荐要求",
|
||||
"no_minimum_requirements": "{{title}}没有提供最低要求信息",
|
||||
"no_recommended_requirements": "{{title}}没有提供推荐要求信息",
|
||||
"paused_progress": "{{progress}} (已暂停)",
|
||||
"release_date": "发布于{{date}}",
|
||||
"publisher": "发行商{{publisher}}",
|
||||
"copy_link_to_clipboard": "复制链接",
|
||||
"copied_link_to_clipboard": "链接已复制",
|
||||
"hours": "小时",
|
||||
"minutes": "分钟",
|
||||
"amount_hours": "{{amount}}小时",
|
||||
@@ -86,21 +81,34 @@
|
||||
"playing_now": "正在游戏中",
|
||||
"change": "更改",
|
||||
"repacks_modal_description": "选择您想要下载的重打包",
|
||||
"downloads_path": "下载路径",
|
||||
"select_folder_hint": "要更改默认文件夹,请访问",
|
||||
"settings": "设置",
|
||||
"download_now": "立即下载",
|
||||
"installation_instructions": "安装说明",
|
||||
"installation_instructions_description": "安装这个游戏需要额外的步骤",
|
||||
"online_fix_instruction": "OnlineFix游戏需要密码才能解压。需要时,使用以下密码:",
|
||||
"dodi_installation_instruction": "打开DODI安装程序时,按键盘上的键<0 />开始安装过程:",
|
||||
"dont_show_it_again": "不再显示",
|
||||
"copied_to_clipboard": "已复制到剪贴板",
|
||||
"got_it": "我已知晓",
|
||||
"previous_screenshot": "上一张截图",
|
||||
"next_screenshot": "下一张截图",
|
||||
"screenshot": "截图 {{number}}",
|
||||
"open_screenshot": "打开截图 {{number}}"
|
||||
"open_screenshot": "打开截图 {{number}}",
|
||||
"download_settings": "下载设置",
|
||||
"downloader": "下载器",
|
||||
"select_executable": "选择",
|
||||
"no_executable_selected": "没有可执行文件被指定",
|
||||
"open_folder": "打开目录",
|
||||
"open_download_location": "查看已下载的文件",
|
||||
"create_shortcut": "创建桌面快捷方式",
|
||||
"remove_files": "删除文件",
|
||||
"remove_from_library_title": "你确定吗?",
|
||||
"remove_from_library_description": "这将会把 {{game}} 从你的库中移除",
|
||||
"options": "选项",
|
||||
"executable_section_title": "可执行文件",
|
||||
"executable_section_description": "点击 \"Play\" 时将执行的文件的路径",
|
||||
"downloads_secion_title": "下载",
|
||||
"downloads_section_description": "查看此游戏的更新或其他版本",
|
||||
"danger_zone_section_title": "危险操作",
|
||||
"danger_zone_section_description": "从您的库或Hydra下载的文件中删除此游戏",
|
||||
"download_in_progress": "下载进行中",
|
||||
"download_paused": "下载暂停",
|
||||
"last_downloaded_option": "上次下载的选项",
|
||||
"create_shortcut_success": "成功创建快捷方式",
|
||||
"create_shortcut_error": "创建快捷方式出错"
|
||||
},
|
||||
"activation": {
|
||||
"title": "激活 Hydra",
|
||||
@@ -116,24 +124,22 @@
|
||||
"eta": "预计完成时间{{eta}}",
|
||||
"paused": "已暂停",
|
||||
"verifying": "正在验证…",
|
||||
"completed_at": "完成于{{date}}",
|
||||
"completed": "已完成",
|
||||
"cancelled": "已取消",
|
||||
"download_again": "再次下载",
|
||||
"cancel": "取消",
|
||||
"filter": "筛选已下载游戏",
|
||||
"remove": "移除",
|
||||
"downloading_metadata": "正在下载元数据…",
|
||||
"checking_files": "正在检查文件…",
|
||||
"starting_download": "开始下载…",
|
||||
"deleting": "正在删除安装程序…",
|
||||
"delete": "移除安装程序",
|
||||
"remove_from_list": "移除",
|
||||
"delete_modal_title": "您确定吗?",
|
||||
"delete_modal_description": "这将从您的电脑上移除所有的安装文件",
|
||||
"install": "安装",
|
||||
"real_debrid": "Real Debrid",
|
||||
"torrent": "种子"
|
||||
"download_in_progress": "进行中",
|
||||
"queued_downloads": "在队列中的下载",
|
||||
"downloads_completed": "已完成",
|
||||
"queued": "下载列表",
|
||||
"no_downloads_title": "空空如也",
|
||||
"no_downloads_description": "你还未使用Hydra下载任何游戏,但什么时候开始,都为时不晚。"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "下载路径",
|
||||
@@ -141,38 +147,72 @@
|
||||
"notifications": "通知",
|
||||
"enable_download_notifications": "下载完成时",
|
||||
"enable_repack_list_notifications": "添加新重打包时",
|
||||
"telemetry": "遥测",
|
||||
"telemetry_description": "启用匿名使用统计",
|
||||
"real_debrid_api_token_description": "Real Debrid API密钥",
|
||||
"real_debrid_api_token_label": "Real-Debrid API 令牌",
|
||||
"quit_app_instead_hiding": "关闭Hydra而不是最小化到托盘",
|
||||
"launch_with_system": "系统启动时运行 Hydra",
|
||||
"general": "通用",
|
||||
"behavior": "行为",
|
||||
"general": "常规",
|
||||
"quit_app_instead_hiding": "关闭应用程序而不是最小化到托盘",
|
||||
"launch_with_system": "随系统启动时运行应用程序",
|
||||
"enable_real_debrid": "启用 Real Debrid",
|
||||
"real_debrid": "Real Debrid",
|
||||
"download_sources": "下载源",
|
||||
"language": "语言",
|
||||
"real_debrid_api_token": "API 令牌",
|
||||
"enable_real_debrid": "启用 Real-Debrid",
|
||||
"real_debrid_description": "Real-Debrid 是一个无限制的下载器,允许您以最快的互联网速度即时下载文件。",
|
||||
"real_debrid_invalid_token": "无效的 API 令牌",
|
||||
"real_debrid_api_token_hint": "您可以从<0>这里</0>获取API密钥.",
|
||||
"save_changes": "保存更改"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "下载完成",
|
||||
"game_ready_to_install": "{{title}}已准备好安装",
|
||||
"repack_list_updated": "重打包列表已更新",
|
||||
"repack_count_one": "已添加{{count}}个重打包",
|
||||
"repack_count_other": "已添加{{count}}个重打包"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "打开Hydra",
|
||||
"quit": "退出"
|
||||
},
|
||||
"game_card": {
|
||||
"no_downloads": "没有可用的下载"
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "程序未安装",
|
||||
"description": "在您的系统上未找到Wine或Lutris的可执行文件",
|
||||
"instructions": "检查在您的Linux发行版上正确安装它们的方法,以便游戏可以正常运行"
|
||||
"real_debrid_free_account_error": "账户 \"{{username}}\" 是免费账户。请订阅 Real-Debrid",
|
||||
"real_debrid_linked_message": "账户 \"{{username}}\" 已链接",
|
||||
"save_changes": "保存更改",
|
||||
"changes_saved": "更改已成功保存",
|
||||
"download_sources_description": "Hydra 将从这些源获取下载链接。源 URL 必须是直接链接到包含下载链接的 .json 文件。",
|
||||
"validate_download_source": "验证",
|
||||
"remove_download_source": "移除",
|
||||
"add_download_source": "添加源",
|
||||
"download_count_zero": "列表中无下载",
|
||||
"download_count_one": "列表中有 {{countFormatted}} 个下载",
|
||||
"download_count_other": "列表中有 {{countFormatted}} 个下载",
|
||||
"download_options_zero": "无可用下载",
|
||||
"download_options_one": "有 {{countFormatted}} 个下载可用",
|
||||
"download_options_other": "有 {{countFormatted}} 个下载可用",
|
||||
"download_source_url": "下载源 URL",
|
||||
"add_download_source_description": "插入包含 .json 文件的 URL",
|
||||
"download_source_up_to_date": "已更新",
|
||||
"download_source_errored": "出错",
|
||||
"sync_download_sources": "同步源",
|
||||
"removed_download_source": "已移除下载源",
|
||||
"added_download_source": "已添加下载源",
|
||||
"download_sources_synced": "所有下载源已同步",
|
||||
"insert_valid_json_url": "插入有效的 JSON 网址",
|
||||
"found_download_option_zero": "未找到下载选项",
|
||||
"found_download_option_one": "找到 {{countFormatted}} 个下载选项",
|
||||
"found_download_option_other": "找到 {{countFormatted}} 个下载选项",
|
||||
"import": "导入"
|
||||
},
|
||||
"modal": {
|
||||
"close": "关闭按钮"
|
||||
},
|
||||
"forms": {
|
||||
"toggle_password_visibility": "切换密码可见性"
|
||||
},
|
||||
"user_profile": {
|
||||
"amount_hours": "{{amount}} 小时",
|
||||
"amount_minutes": "{{amount}} 分钟",
|
||||
"last_time_played": "上次游玩时间 {{period}}",
|
||||
"activity": "近期活动",
|
||||
"library": "库",
|
||||
"total_play_time": "总游戏时长: {{amount}}",
|
||||
"no_recent_activity_title": "Emmm… 这里暂时啥都没有",
|
||||
"no_recent_activity_description": "你最近没玩过任何游戏。是时候做出改变了!",
|
||||
"display_name": "昵称",
|
||||
"saving": "保存中",
|
||||
"save": "保存",
|
||||
"edit_profile": "编辑资料",
|
||||
"saved_successfully": "成功保存",
|
||||
"try_again": "请重试",
|
||||
"sign_out_modal_title": "你确定吗?",
|
||||
"cancel": "取消",
|
||||
"successfully_signed_out": "登出成功",
|
||||
"sign_out": "登出",
|
||||
"playing_for": "Playing for {{amount}}",
|
||||
"sign_out_modal_text": "您的资料库与您当前的账户相关联。注销后,您的资料库将不再可见,任何进度也不会保存。继续退出吗?"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,45 +1,15 @@
|
||||
import { app } from "electron";
|
||||
import path from "node:path";
|
||||
|
||||
export const repackersOn1337x = [
|
||||
"DODI",
|
||||
"FitGirl",
|
||||
"0xEMPRESS",
|
||||
"KaOsKrew",
|
||||
"TinyRepacks",
|
||||
] as const;
|
||||
|
||||
export const repackers = [
|
||||
...repackersOn1337x,
|
||||
"Xatab",
|
||||
"TinyRepacks",
|
||||
"CPG",
|
||||
"GOG",
|
||||
"onlinefix",
|
||||
] as const;
|
||||
|
||||
export const months = [
|
||||
"Jan",
|
||||
"Feb",
|
||||
"Mar",
|
||||
"Apr",
|
||||
"May",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Aug",
|
||||
"Sep",
|
||||
"Oct",
|
||||
"Nov",
|
||||
"Dec",
|
||||
];
|
||||
|
||||
export const defaultDownloadsPath = app.getPath("downloads");
|
||||
|
||||
export const databasePath = path.join(
|
||||
app.getPath("appData"),
|
||||
app.getName(),
|
||||
"hydra.db"
|
||||
);
|
||||
export const databaseDirectory = path.join(app.getPath("appData"), "hydra");
|
||||
export const databasePath = path.join(databaseDirectory, "hydra.db");
|
||||
|
||||
export const INSTALLATION_ID_LENGTH = 6;
|
||||
export const ACTIVATION_KEY_MULTIPLIER = 7;
|
||||
export const logsPath = path.join(app.getPath("appData"), "hydra", "logs");
|
||||
|
||||
export const seedsPath = app.isPackaged
|
||||
? path.join(process.resourcesPath, "seeds")
|
||||
: path.join(__dirname, "..", "..", "seeds");
|
||||
|
||||
export const appVersion = app.getVersion();
|
||||
|
||||
@@ -1,22 +1,27 @@
|
||||
import { DataSource } from "typeorm";
|
||||
import {
|
||||
DownloadQueue,
|
||||
DownloadSource,
|
||||
Game,
|
||||
GameShopCache,
|
||||
Repack,
|
||||
UserPreferences,
|
||||
SteamGame,
|
||||
UserAuth,
|
||||
} from "@main/entity";
|
||||
import type { SqliteConnectionOptions } from "typeorm/driver/sqlite/SqliteConnectionOptions";
|
||||
|
||||
import { databasePath } from "./constants";
|
||||
|
||||
export const createDataSource = (options: Partial<SqliteConnectionOptions>) =>
|
||||
new DataSource({
|
||||
type: "better-sqlite3",
|
||||
database: databasePath,
|
||||
entities: [Game, Repack, UserPreferences, GameShopCache, SteamGame],
|
||||
synchronize: true,
|
||||
...options,
|
||||
});
|
||||
|
||||
export const dataSource = createDataSource({});
|
||||
export const dataSource = new DataSource({
|
||||
type: "better-sqlite3",
|
||||
entities: [
|
||||
Game,
|
||||
Repack,
|
||||
UserPreferences,
|
||||
GameShopCache,
|
||||
DownloadSource,
|
||||
DownloadQueue,
|
||||
UserAuth,
|
||||
],
|
||||
synchronize: false,
|
||||
database: databasePath,
|
||||
});
|
||||
|
||||
25
src/main/entity/download-queue.entity.ts
Normal file
25
src/main/entity/download-queue.entity.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import {
|
||||
Entity,
|
||||
PrimaryGeneratedColumn,
|
||||
CreateDateColumn,
|
||||
UpdateDateColumn,
|
||||
OneToOne,
|
||||
JoinColumn,
|
||||
} from "typeorm";
|
||||
import type { Game } from "./game.entity";
|
||||
|
||||
@Entity("download_queue")
|
||||
export class DownloadQueue {
|
||||
@PrimaryGeneratedColumn()
|
||||
id: number;
|
||||
|
||||
@OneToOne("Game", "downloadQueue")
|
||||
@JoinColumn()
|
||||
game: Game;
|
||||
|
||||
@CreateDateColumn()
|
||||
createdAt: Date;
|
||||
|
||||
@UpdateDateColumn()
|
||||
updatedAt: Date;
|
||||
}
|
||||
41
src/main/entity/download-source.entity.ts
Normal file
41
src/main/entity/download-source.entity.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import {
|
||||
Entity,
|
||||
PrimaryGeneratedColumn,
|
||||
Column,
|
||||
CreateDateColumn,
|
||||
UpdateDateColumn,
|
||||
OneToMany,
|
||||
} from "typeorm";
|
||||
import type { Repack } from "./repack.entity";
|
||||
|
||||
import { DownloadSourceStatus } from "@shared";
|
||||
|
||||
@Entity("download_source")
|
||||
export class DownloadSource {
|
||||
@PrimaryGeneratedColumn()
|
||||
id: number;
|
||||
|
||||
@Column("text", { nullable: true, unique: true })
|
||||
url: string;
|
||||
|
||||
@Column("text")
|
||||
name: string;
|
||||
|
||||
@Column("text", { nullable: true })
|
||||
etag: string | null;
|
||||
|
||||
@Column("int", { default: 0 })
|
||||
downloadCount: number;
|
||||
|
||||
@Column("text", { default: DownloadSourceStatus.UpToDate })
|
||||
status: DownloadSourceStatus;
|
||||
|
||||
@OneToMany("Repack", "downloadSource", { cascade: true })
|
||||
repacks: Repack[];
|
||||
|
||||
@CreateDateColumn()
|
||||
createdAt: Date;
|
||||
|
||||
@UpdateDateColumn()
|
||||
updatedAt: Date;
|
||||
}
|
||||
@@ -9,8 +9,9 @@ import {
|
||||
} from "typeorm";
|
||||
import { Repack } from "./repack.entity";
|
||||
|
||||
import type { GameShop } from "@types";
|
||||
import { Downloader, GameStatus } from "@shared";
|
||||
import type { GameShop, GameStatus } from "@types";
|
||||
import { Downloader } from "@shared";
|
||||
import type { DownloadQueue } from "./download-queue.entity";
|
||||
|
||||
@Entity("game")
|
||||
export class Game {
|
||||
@@ -20,11 +21,14 @@ export class Game {
|
||||
@Column("text", { unique: true })
|
||||
objectID: string;
|
||||
|
||||
@Column("text", { unique: true, nullable: true })
|
||||
remoteId: string | null;
|
||||
|
||||
@Column("text")
|
||||
title: string;
|
||||
|
||||
@Column("text")
|
||||
iconUrl: string;
|
||||
@Column("text", { nullable: true })
|
||||
iconUrl: string | null;
|
||||
|
||||
@Column("text", { nullable: true })
|
||||
folderName: string | null;
|
||||
@@ -53,22 +57,28 @@ export class Game {
|
||||
@Column("float", { default: 0 })
|
||||
progress: number;
|
||||
|
||||
@Column("float", { default: 0 })
|
||||
fileVerificationProgress: number;
|
||||
|
||||
@Column("int", { default: 0 })
|
||||
bytesDownloaded: number;
|
||||
|
||||
@Column("text", { nullable: true })
|
||||
@Column("datetime", { nullable: true })
|
||||
lastTimePlayed: Date | null;
|
||||
|
||||
@Column("float", { default: 0 })
|
||||
fileSize: number;
|
||||
|
||||
@OneToOne(() => Repack, { nullable: true })
|
||||
@Column("text", { nullable: true })
|
||||
uri: string | null;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
@OneToOne("Repack", "game", { nullable: true })
|
||||
@JoinColumn()
|
||||
repack: Repack;
|
||||
|
||||
@OneToOne("DownloadQueue", "game")
|
||||
downloadQueue: DownloadQueue;
|
||||
|
||||
@Column("boolean", { default: false })
|
||||
isDeleted: boolean;
|
||||
|
||||
|
||||
@@ -2,4 +2,6 @@ export * from "./game.entity";
|
||||
export * from "./repack.entity";
|
||||
export * from "./user-preferences.entity";
|
||||
export * from "./game-shop-cache.entity";
|
||||
export * from "./steam-game.entity";
|
||||
export * from "./download-source.entity";
|
||||
export * from "./download-queue.entity";
|
||||
export * from "./user-auth";
|
||||
|
||||
@@ -4,7 +4,9 @@ import {
|
||||
Column,
|
||||
CreateDateColumn,
|
||||
UpdateDateColumn,
|
||||
ManyToOne,
|
||||
} from "typeorm";
|
||||
import { DownloadSource } from "./download-source.entity";
|
||||
|
||||
@Entity("repack")
|
||||
export class Repack {
|
||||
@@ -14,12 +16,12 @@ export class Repack {
|
||||
@Column("text", { unique: true })
|
||||
title: string;
|
||||
|
||||
/**
|
||||
* @deprecated Use uris instead
|
||||
*/
|
||||
@Column("text", { unique: true })
|
||||
magnet: string;
|
||||
|
||||
@Column("int")
|
||||
page: number;
|
||||
|
||||
@Column("text")
|
||||
repacker: string;
|
||||
|
||||
@@ -29,6 +31,12 @@ export class Repack {
|
||||
@Column("datetime")
|
||||
uploadDate: Date | string;
|
||||
|
||||
@ManyToOne(() => DownloadSource, { nullable: true, onDelete: "CASCADE" })
|
||||
downloadSource: DownloadSource;
|
||||
|
||||
@Column("text", { default: "[]" })
|
||||
uris: string;
|
||||
|
||||
@CreateDateColumn()
|
||||
createdAt: Date;
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
import { Column, Entity, PrimaryColumn } from "typeorm";
|
||||
|
||||
@Entity("steam_game")
|
||||
export class SteamGame {
|
||||
@PrimaryColumn()
|
||||
id: number;
|
||||
|
||||
@Column()
|
||||
name: string;
|
||||
}
|
||||
37
src/main/entity/user-auth.ts
Normal file
37
src/main/entity/user-auth.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import {
|
||||
Entity,
|
||||
PrimaryGeneratedColumn,
|
||||
Column,
|
||||
CreateDateColumn,
|
||||
UpdateDateColumn,
|
||||
} from "typeorm";
|
||||
|
||||
@Entity("user_auth")
|
||||
export class UserAuth {
|
||||
@PrimaryGeneratedColumn()
|
||||
id: number;
|
||||
|
||||
@Column("text", { default: "" })
|
||||
userId: string;
|
||||
|
||||
@Column("text", { default: "" })
|
||||
displayName: string;
|
||||
|
||||
@Column("text", { nullable: true })
|
||||
profileImageUrl: string | null;
|
||||
|
||||
@Column("text", { default: "" })
|
||||
accessToken: string;
|
||||
|
||||
@Column("text", { default: "" })
|
||||
refreshToken: string;
|
||||
|
||||
@Column("int", { default: 0 })
|
||||
tokenExpirationTimestamp: number;
|
||||
|
||||
@CreateDateColumn()
|
||||
createdAt: Date;
|
||||
|
||||
@UpdateDateColumn()
|
||||
updatedAt: Date;
|
||||
}
|
||||
18
src/main/events/auth/get-session-hash.ts
Normal file
18
src/main/events/auth/get-session-hash.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import jwt from "jsonwebtoken";
|
||||
import * as Sentry from "@sentry/electron/main";
|
||||
|
||||
import { userAuthRepository } from "@main/repository";
|
||||
import { registerEvent } from "../register-event";
|
||||
|
||||
const getSessionHash = async (_event: Electron.IpcMainInvokeEvent) => {
|
||||
const auth = await userAuthRepository.findOne({ where: { id: 1 } });
|
||||
|
||||
if (!auth) return null;
|
||||
const payload = jwt.decode(auth.accessToken) as jwt.JwtPayload;
|
||||
|
||||
Sentry.setContext("sessionId", payload.sessionId);
|
||||
|
||||
return payload.sessionId;
|
||||
};
|
||||
|
||||
registerEvent("getSessionHash", getSessionHash);
|
||||
7
src/main/events/auth/open-auth-window.ts
Normal file
7
src/main/events/auth/open-auth-window.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import { registerEvent } from "../register-event";
|
||||
import { WindowManager } from "@main/services";
|
||||
|
||||
const openAuthWindow = async (_event: Electron.IpcMainInvokeEvent) =>
|
||||
WindowManager.openAuthWindow();
|
||||
|
||||
registerEvent("openAuthWindow", openAuthWindow);
|
||||
45
src/main/events/auth/sign-out.ts
Normal file
45
src/main/events/auth/sign-out.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import { registerEvent } from "../register-event";
|
||||
import * as Sentry from "@sentry/electron/main";
|
||||
import {
|
||||
DownloadManager,
|
||||
HydraApi,
|
||||
PythonInstance,
|
||||
gamesPlaytime,
|
||||
} from "@main/services";
|
||||
import { dataSource } from "@main/data-source";
|
||||
import { DownloadQueue, Game, UserAuth } from "@main/entity";
|
||||
|
||||
const signOut = async (_event: Electron.IpcMainInvokeEvent) => {
|
||||
const databaseOperations = dataSource
|
||||
.transaction(async (transactionalEntityManager) => {
|
||||
await transactionalEntityManager.getRepository(DownloadQueue).delete({});
|
||||
|
||||
await transactionalEntityManager.getRepository(Game).delete({});
|
||||
|
||||
await transactionalEntityManager
|
||||
.getRepository(UserAuth)
|
||||
.delete({ id: 1 });
|
||||
})
|
||||
.then(() => {
|
||||
/* Removes all games being played */
|
||||
gamesPlaytime.clear();
|
||||
});
|
||||
|
||||
/* Removes user from Sentry */
|
||||
Sentry.setUser(null);
|
||||
|
||||
/* Cancels any ongoing downloads */
|
||||
DownloadManager.cancelDownload();
|
||||
|
||||
/* Disconnects libtorrent */
|
||||
PythonInstance.killTorrent();
|
||||
|
||||
HydraApi.handleSignOut();
|
||||
|
||||
await Promise.all([
|
||||
databaseOperations,
|
||||
HydraApi.post("/auth/logout").catch(() => {}),
|
||||
]);
|
||||
};
|
||||
|
||||
registerEvent("signOut", signOut);
|
||||
47
src/main/events/autoupdater/check-for-updates.ts
Normal file
47
src/main/events/autoupdater/check-for-updates.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
import { AppUpdaterEvent } from "@types";
|
||||
import { registerEvent } from "../register-event";
|
||||
import updater, { UpdateInfo } from "electron-updater";
|
||||
import { WindowManager } from "@main/services";
|
||||
import { app } from "electron";
|
||||
import { publishNotificationUpdateReadyToInstall } from "@main/services/notifications";
|
||||
|
||||
const { autoUpdater } = updater;
|
||||
|
||||
const sendEvent = (event: AppUpdaterEvent) => {
|
||||
WindowManager.mainWindow?.webContents.send("autoUpdaterEvent", event);
|
||||
};
|
||||
|
||||
const sendEventsForDebug = false;
|
||||
|
||||
const isAutoInstallAvailable =
|
||||
process.platform !== "darwin" && process.env.PORTABLE_EXECUTABLE_FILE == null;
|
||||
|
||||
const mockValuesForDebug = () => {
|
||||
sendEvent({ type: "update-available", info: { version: "1.3.0" } });
|
||||
sendEvent({ type: "update-downloaded" });
|
||||
};
|
||||
|
||||
const newVersionInfo = { version: "" };
|
||||
|
||||
const checkForUpdates = async (_event: Electron.IpcMainInvokeEvent) => {
|
||||
autoUpdater
|
||||
.once("update-available", (info: UpdateInfo) => {
|
||||
sendEvent({ type: "update-available", info });
|
||||
newVersionInfo.version = info.version;
|
||||
})
|
||||
.once("update-downloaded", () => {
|
||||
sendEvent({ type: "update-downloaded" });
|
||||
publishNotificationUpdateReadyToInstall(newVersionInfo.version);
|
||||
});
|
||||
|
||||
if (app.isPackaged) {
|
||||
autoUpdater.autoDownload = isAutoInstallAvailable;
|
||||
autoUpdater.checkForUpdates();
|
||||
} else if (sendEventsForDebug) {
|
||||
mockValuesForDebug();
|
||||
}
|
||||
|
||||
return isAutoInstallAvailable;
|
||||
};
|
||||
|
||||
registerEvent("checkForUpdates", checkForUpdates);
|
||||
14
src/main/events/autoupdater/restart-and-install-update.ts
Normal file
14
src/main/events/autoupdater/restart-and-install-update.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { app } from "electron";
|
||||
import { registerEvent } from "../register-event";
|
||||
import updater from "electron-updater";
|
||||
|
||||
const { autoUpdater } = updater;
|
||||
|
||||
const restartAndInstallUpdate = async (_event: Electron.IpcMainInvokeEvent) => {
|
||||
autoUpdater.removeAllListeners();
|
||||
if (app.isPackaged) {
|
||||
autoUpdater.quitAndInstall(true, true);
|
||||
}
|
||||
};
|
||||
|
||||
registerEvent("restartAndInstallUpdate", restartAndInstallUpdate);
|
||||
@@ -1,95 +1,44 @@
|
||||
import { formatName, getSteamAppAsset, repackerFormatter } from "@main/helpers";
|
||||
import type { CatalogueCategory, CatalogueEntry, GameShop } from "@types";
|
||||
import type { GameShop } from "@types";
|
||||
|
||||
import { stateManager } from "@main/state-manager";
|
||||
import { searchGames, searchRepacks } from "../helpers/search-games";
|
||||
import { registerEvent } from "../register-event";
|
||||
import { requestSteam250 } from "@main/services";
|
||||
|
||||
const repacks = stateManager.getValue("repacks");
|
||||
|
||||
const getStringForLookup = (index: number): string => {
|
||||
const repack = repacks[index];
|
||||
const formatter =
|
||||
repackerFormatter[repack.repacker as keyof typeof repackerFormatter];
|
||||
|
||||
return formatName(formatter(repack.title));
|
||||
};
|
||||
|
||||
const resultSize = 12;
|
||||
import { HydraApi, RepacksManager } from "@main/services";
|
||||
import { CatalogueCategory, formatName, steamUrlBuilder } from "@shared";
|
||||
import { steamGamesWorker } from "@main/workers";
|
||||
|
||||
const getCatalogue = async (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
category: CatalogueCategory
|
||||
) => {
|
||||
if (!repacks.length) return [];
|
||||
const params = new URLSearchParams({
|
||||
take: "12",
|
||||
skip: "0",
|
||||
});
|
||||
|
||||
if (category === "trending") {
|
||||
return getTrendingCatalogue(resultSize);
|
||||
}
|
||||
const response = await HydraApi.get<{ objectId: string; shop: GameShop }[]>(
|
||||
`/games/${category}?${params.toString()}`,
|
||||
{},
|
||||
{ needsAuth: false }
|
||||
);
|
||||
|
||||
return getRecentlyAddedCatalogue(resultSize);
|
||||
};
|
||||
return Promise.all(
|
||||
response.map(async (game) => {
|
||||
const steamGame = await steamGamesWorker.run(Number(game.objectId), {
|
||||
name: "getById",
|
||||
});
|
||||
|
||||
const getTrendingCatalogue = async (
|
||||
resultSize: number
|
||||
): Promise<CatalogueEntry[]> => {
|
||||
const results: CatalogueEntry[] = [];
|
||||
const trendingGames = await requestSteam250("/90day");
|
||||
const repacks = RepacksManager.search({
|
||||
query: formatName(steamGame.name),
|
||||
});
|
||||
|
||||
for (
|
||||
let i = 0;
|
||||
i < trendingGames.length && results.length < resultSize;
|
||||
i++
|
||||
) {
|
||||
if (!trendingGames[i]) continue;
|
||||
|
||||
const { title, objectID } = trendingGames[i]!;
|
||||
const repacks = searchRepacks(title);
|
||||
|
||||
if (title && repacks.length) {
|
||||
const catalogueEntry = {
|
||||
objectID,
|
||||
title,
|
||||
shop: "steam" as GameShop,
|
||||
cover: getSteamAppAsset("library", objectID),
|
||||
return {
|
||||
title: steamGame.name,
|
||||
shop: game.shop,
|
||||
repacks,
|
||||
cover: steamUrlBuilder.library(game.objectId),
|
||||
objectID: game.objectId,
|
||||
};
|
||||
|
||||
results.push({ ...catalogueEntry, repacks });
|
||||
}
|
||||
}
|
||||
return results;
|
||||
};
|
||||
|
||||
const getRecentlyAddedCatalogue = async (
|
||||
resultSize: number
|
||||
): Promise<CatalogueEntry[]> => {
|
||||
const results: CatalogueEntry[] = [];
|
||||
|
||||
for (let i = 0; results.length < resultSize; i++) {
|
||||
const stringForLookup = getStringForLookup(i);
|
||||
|
||||
if (!stringForLookup) {
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
|
||||
const games = searchGames({ query: stringForLookup });
|
||||
|
||||
for (const game of games) {
|
||||
const isAlreadyIncluded = results.some(
|
||||
(result) => result.objectID === game?.objectID
|
||||
);
|
||||
|
||||
if (!game || !game.repacks.length || isAlreadyIncluded) {
|
||||
continue;
|
||||
}
|
||||
|
||||
results.push(game);
|
||||
}
|
||||
}
|
||||
|
||||
return results.slice(0, resultSize);
|
||||
})
|
||||
);
|
||||
};
|
||||
|
||||
registerEvent("getCatalogue", getCatalogue);
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
import { gameShopCacheRepository, steamGameRepository } from "@main/repository";
|
||||
import { gameShopCacheRepository } from "@main/repository";
|
||||
import { getSteamAppDetails } from "@main/services";
|
||||
|
||||
import type { ShopDetails, GameShop, SteamAppDetails } from "@types";
|
||||
|
||||
import { registerEvent } from "../register-event";
|
||||
import { steamGamesWorker } from "@main/workers";
|
||||
|
||||
const getLocalizedSteamAppDetails = (
|
||||
const getLocalizedSteamAppDetails = async (
|
||||
objectID: string,
|
||||
language: string
|
||||
): Promise<ShopDetails | null> => {
|
||||
@@ -13,19 +14,22 @@ const getLocalizedSteamAppDetails = (
|
||||
return getSteamAppDetails(objectID, language);
|
||||
}
|
||||
|
||||
return Promise.all([
|
||||
steamGameRepository.findOne({ where: { id: Number(objectID) } }),
|
||||
getSteamAppDetails(objectID, language),
|
||||
]).then(([steamGame, localizedAppDetails]) => {
|
||||
if (steamGame && localizedAppDetails) {
|
||||
return {
|
||||
...localizedAppDetails,
|
||||
name: steamGame.name,
|
||||
};
|
||||
}
|
||||
return getSteamAppDetails(objectID, language).then(
|
||||
async (localizedAppDetails) => {
|
||||
const steamGame = await steamGamesWorker.run(Number(objectID), {
|
||||
name: "getById",
|
||||
});
|
||||
|
||||
return null;
|
||||
});
|
||||
if (steamGame && localizedAppDetails) {
|
||||
return {
|
||||
...localizedAppDetails,
|
||||
name: steamGame.name,
|
||||
};
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
const getGameShopDetails = async (
|
||||
|
||||
23
src/main/events/catalogue/get-game-stats.ts
Normal file
23
src/main/events/catalogue/get-game-stats.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import type { GameShop } from "@types";
|
||||
|
||||
import { registerEvent } from "../register-event";
|
||||
import { HydraApi } from "@main/services";
|
||||
import type { GameStats } from "@types";
|
||||
|
||||
const getGameStats = async (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
objectId: string,
|
||||
shop: GameShop
|
||||
) => {
|
||||
const params = new URLSearchParams({
|
||||
objectId,
|
||||
shop,
|
||||
});
|
||||
|
||||
const response = await HydraApi.get<GameStats>(
|
||||
`/games/stats?${params.toString()}`
|
||||
);
|
||||
return response;
|
||||
};
|
||||
|
||||
registerEvent("getGameStats", getGameStats);
|
||||
@@ -1,39 +1,28 @@
|
||||
import type { CatalogueEntry, GameShop } from "@types";
|
||||
import type { CatalogueEntry } from "@types";
|
||||
|
||||
import { registerEvent } from "../register-event";
|
||||
import { searchRepacks } from "../helpers/search-games";
|
||||
import { stateManager } from "@main/state-manager";
|
||||
import { getSteamAppAsset } from "@main/helpers";
|
||||
|
||||
const steamGames = stateManager.getValue("steamGames");
|
||||
import { steamGamesWorker } from "@main/workers";
|
||||
import { convertSteamGameToCatalogueEntry } from "../helpers/search-games";
|
||||
import { RepacksManager } from "@main/services";
|
||||
|
||||
const getGames = async (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
take = 12,
|
||||
cursor = 0
|
||||
): Promise<{ results: CatalogueEntry[]; cursor: number }> => {
|
||||
const results: CatalogueEntry[] = [];
|
||||
const steamGames = await steamGamesWorker.run(
|
||||
{ limit: take, offset: cursor },
|
||||
{ name: "list" }
|
||||
);
|
||||
|
||||
let i = 0 + cursor;
|
||||
const entries = RepacksManager.findRepacksForCatalogueEntries(
|
||||
steamGames.map((game) => convertSteamGameToCatalogueEntry(game))
|
||||
);
|
||||
|
||||
while (results.length < take) {
|
||||
const game = steamGames[i];
|
||||
const repacks = searchRepacks(game.name);
|
||||
|
||||
if (repacks.length) {
|
||||
results.push({
|
||||
objectID: String(game.id),
|
||||
title: game.name,
|
||||
shop: "steam" as GameShop,
|
||||
cover: getSteamAppAsset("library", String(game.id)),
|
||||
repacks,
|
||||
});
|
||||
}
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
return { results, cursor: i };
|
||||
return {
|
||||
results: entries,
|
||||
cursor: cursor + entries.length,
|
||||
};
|
||||
};
|
||||
|
||||
registerEvent("getGames", getGames);
|
||||
|
||||
@@ -3,21 +3,30 @@ import { shuffle } from "lodash-es";
|
||||
import { getSteam250List } from "@main/services";
|
||||
|
||||
import { registerEvent } from "../register-event";
|
||||
import { searchGames, searchRepacks } from "../helpers/search-games";
|
||||
import { getSteamGameById } from "../helpers/search-games";
|
||||
import type { Steam250Game } from "@types";
|
||||
|
||||
const state = { games: Array<Steam250Game>(), index: 0 };
|
||||
|
||||
const filterGames = async (games: Steam250Game[]) => {
|
||||
const results: Steam250Game[] = [];
|
||||
|
||||
for (const game of games) {
|
||||
const steamGame = await getSteamGameById(game.objectID);
|
||||
|
||||
if (steamGame?.repacks.length) {
|
||||
results.push(game);
|
||||
}
|
||||
}
|
||||
|
||||
return results;
|
||||
};
|
||||
|
||||
const getRandomGame = async (_event: Electron.IpcMainInvokeEvent) => {
|
||||
if (state.games.length == 0) {
|
||||
const steam250List = await getSteam250List();
|
||||
|
||||
const filteredSteam250List = steam250List.filter((game) => {
|
||||
const repacks = searchRepacks(game.title);
|
||||
const catalogue = searchGames({ query: game.title });
|
||||
|
||||
return repacks.length && catalogue.length;
|
||||
});
|
||||
const filteredSteam250List = await filterGames(steam250List);
|
||||
|
||||
state.games = shuffle(filteredSteam250List);
|
||||
}
|
||||
|
||||
22
src/main/events/catalogue/get-trending-games.ts
Normal file
22
src/main/events/catalogue/get-trending-games.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { registerEvent } from "../register-event";
|
||||
import { HydraApi } from "@main/services";
|
||||
import { userPreferencesRepository } from "@main/repository";
|
||||
import { TrendingGame } from "@types";
|
||||
|
||||
const getTrendingGames = async (_event: Electron.IpcMainInvokeEvent) => {
|
||||
const userPreferences = await userPreferencesRepository.findOne({
|
||||
where: { id: 1 },
|
||||
});
|
||||
|
||||
const language = userPreferences?.language || "en";
|
||||
|
||||
const trendingGames = await HydraApi.get<TrendingGame[]>(
|
||||
"/games/trending",
|
||||
{ language },
|
||||
{ needsAuth: false }
|
||||
).catch(() => []);
|
||||
|
||||
return trendingGames;
|
||||
};
|
||||
|
||||
registerEvent("getTrendingGames", getTrendingGames);
|
||||
@@ -1,11 +1,9 @@
|
||||
import { searchRepacks } from "../helpers/search-games";
|
||||
import { RepacksManager } from "@main/services";
|
||||
import { registerEvent } from "../register-event";
|
||||
|
||||
const searchGameRepacks = (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
query: string
|
||||
) => {
|
||||
return searchRepacks(query);
|
||||
};
|
||||
) => RepacksManager.search({ query });
|
||||
|
||||
registerEvent("searchGameRepacks", searchGameRepacks);
|
||||
|
||||
@@ -1,12 +1,25 @@
|
||||
import { registerEvent } from "../register-event";
|
||||
import { searchGames } from "../helpers/search-games";
|
||||
import { convertSteamGameToCatalogueEntry } from "../helpers/search-games";
|
||||
import { CatalogueEntry } from "@types";
|
||||
import { HydraApi, RepacksManager } from "@main/services";
|
||||
|
||||
const searchGamesEvent = async (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
query: string
|
||||
): Promise<CatalogueEntry[]> => {
|
||||
return searchGames({ query, take: 12 });
|
||||
const games = await HydraApi.get<
|
||||
{ objectId: string; title: string; shop: string }[]
|
||||
>("/games/search", { title: query, take: 12, skip: 0 }, { needsAuth: false });
|
||||
|
||||
const steamGames = games.map((game) => {
|
||||
return convertSteamGameToCatalogueEntry({
|
||||
id: Number(game.objectId),
|
||||
name: game.title,
|
||||
clientIcon: null,
|
||||
});
|
||||
});
|
||||
|
||||
return RepacksManager.findRepacksForCatalogueEntries(steamGames);
|
||||
};
|
||||
|
||||
registerEvent("searchGames", searchGamesEvent);
|
||||
|
||||
42
src/main/events/download-sources/add-download-source.ts
Normal file
42
src/main/events/download-sources/add-download-source.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
import { registerEvent } from "../register-event";
|
||||
import { dataSource } from "@main/data-source";
|
||||
import { DownloadSource } from "@main/entity";
|
||||
import axios from "axios";
|
||||
import { downloadSourceSchema } from "../helpers/validators";
|
||||
import { insertDownloadsFromSource } from "@main/helpers";
|
||||
import { RepacksManager } from "@main/services";
|
||||
|
||||
const addDownloadSource = async (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
url: string
|
||||
) => {
|
||||
const response = await axios.get(url);
|
||||
|
||||
const source = downloadSourceSchema.parse(response.data);
|
||||
|
||||
const downloadSource = await dataSource.transaction(
|
||||
async (transactionalEntityManager) => {
|
||||
const downloadSource = await transactionalEntityManager
|
||||
.getRepository(DownloadSource)
|
||||
.save({
|
||||
url,
|
||||
name: source.name,
|
||||
downloadCount: source.downloads.length,
|
||||
});
|
||||
|
||||
await insertDownloadsFromSource(
|
||||
transactionalEntityManager,
|
||||
downloadSource,
|
||||
source.downloads
|
||||
);
|
||||
|
||||
return downloadSource;
|
||||
}
|
||||
);
|
||||
|
||||
await RepacksManager.updateRepacks();
|
||||
|
||||
return downloadSource;
|
||||
};
|
||||
|
||||
registerEvent("addDownloadSource", addDownloadSource);
|
||||
11
src/main/events/download-sources/get-download-sources.ts
Normal file
11
src/main/events/download-sources/get-download-sources.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { downloadSourceRepository } from "@main/repository";
|
||||
import { registerEvent } from "../register-event";
|
||||
|
||||
const getDownloadSources = async (_event: Electron.IpcMainInvokeEvent) =>
|
||||
downloadSourceRepository.find({
|
||||
order: {
|
||||
createdAt: "DESC",
|
||||
},
|
||||
});
|
||||
|
||||
registerEvent("getDownloadSources", getDownloadSources);
|
||||
13
src/main/events/download-sources/remove-download-source.ts
Normal file
13
src/main/events/download-sources/remove-download-source.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { downloadSourceRepository } from "@main/repository";
|
||||
import { registerEvent } from "../register-event";
|
||||
import { RepacksManager } from "@main/services";
|
||||
|
||||
const removeDownloadSource = async (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
id: number
|
||||
) => {
|
||||
await downloadSourceRepository.delete(id);
|
||||
await RepacksManager.updateRepacks();
|
||||
};
|
||||
|
||||
registerEvent("removeDownloadSource", removeDownloadSource);
|
||||
@@ -0,0 +1,7 @@
|
||||
import { registerEvent } from "../register-event";
|
||||
import { fetchDownloadSourcesAndUpdate } from "@main/helpers";
|
||||
|
||||
const syncDownloadSources = async (_event: Electron.IpcMainInvokeEvent) =>
|
||||
fetchDownloadSourcesAndUpdate();
|
||||
|
||||
registerEvent("syncDownloadSources", syncDownloadSources);
|
||||
27
src/main/events/download-sources/validate-download-source.ts
Normal file
27
src/main/events/download-sources/validate-download-source.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { registerEvent } from "../register-event";
|
||||
import { downloadSourceRepository } from "@main/repository";
|
||||
import { RepacksManager } from "@main/services";
|
||||
import { downloadSourceWorker } from "@main/workers";
|
||||
|
||||
const validateDownloadSource = async (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
url: string
|
||||
) => {
|
||||
const existingSource = await downloadSourceRepository.findOne({
|
||||
where: { url },
|
||||
});
|
||||
|
||||
if (existingSource)
|
||||
throw new Error("Source with the same url already exists");
|
||||
|
||||
const repacks = RepacksManager.repacks;
|
||||
|
||||
return downloadSourceWorker.run(
|
||||
{ url, repacks },
|
||||
{
|
||||
name: "validateDownloadSource",
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
registerEvent("validateDownloadSource", validateDownloadSource);
|
||||
10
src/main/events/helpers/parse-executable-path.ts
Normal file
10
src/main/events/helpers/parse-executable-path.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { shell } from "electron";
|
||||
|
||||
export const parseExecutablePath = (path: string) => {
|
||||
if (process.platform === "win32" && path.endsWith(".lnk")) {
|
||||
const { target } = shell.readShortcutLink(path);
|
||||
|
||||
return target;
|
||||
}
|
||||
return path;
|
||||
};
|
||||
@@ -1,40 +1,8 @@
|
||||
import flexSearch from "flexsearch";
|
||||
import { orderBy } from "lodash-es";
|
||||
import type { GameShop, CatalogueEntry, SteamGame } from "@types";
|
||||
|
||||
import type { GameRepack, GameShop, CatalogueEntry } from "@types";
|
||||
|
||||
import { formatName, getSteamAppAsset, repackerFormatter } from "@main/helpers";
|
||||
import { stateManager } from "@main/state-manager";
|
||||
|
||||
const { Index } = flexSearch;
|
||||
const repacksIndex = new Index();
|
||||
const steamGamesIndex = new Index({ tokenize: "forward" });
|
||||
|
||||
const repacks = stateManager.getValue("repacks");
|
||||
const steamGames = stateManager.getValue("steamGames");
|
||||
|
||||
for (let i = 0; i < repacks.length; i++) {
|
||||
const repack = repacks[i];
|
||||
const formatter =
|
||||
repackerFormatter[repack.repacker as keyof typeof repackerFormatter];
|
||||
|
||||
repacksIndex.add(i, formatName(formatter(repack.title)));
|
||||
}
|
||||
|
||||
for (let i = 0; i < steamGames.length; i++) {
|
||||
const steamGame = steamGames[i];
|
||||
steamGamesIndex.add(i, formatName(steamGame.name));
|
||||
}
|
||||
|
||||
export const searchRepacks = (title: string): GameRepack[] => {
|
||||
return orderBy(
|
||||
repacksIndex
|
||||
.search(formatName(title))
|
||||
.map((index) => repacks.at(index as number)!),
|
||||
["uploadDate"],
|
||||
"desc"
|
||||
);
|
||||
};
|
||||
import { steamGamesWorker } from "@main/workers";
|
||||
import { RepacksManager } from "@main/services";
|
||||
import { steamUrlBuilder } from "@shared";
|
||||
|
||||
export interface SearchGamesArgs {
|
||||
query?: string;
|
||||
@@ -42,28 +10,28 @@ export interface SearchGamesArgs {
|
||||
skip?: number;
|
||||
}
|
||||
|
||||
export const searchGames = ({
|
||||
query,
|
||||
take,
|
||||
skip,
|
||||
}: SearchGamesArgs): CatalogueEntry[] => {
|
||||
const results = steamGamesIndex
|
||||
.search(formatName(query || ""), { limit: take, offset: skip })
|
||||
.map((index) => {
|
||||
const result = steamGames.at(index as number)!;
|
||||
export const convertSteamGameToCatalogueEntry = (
|
||||
game: SteamGame
|
||||
): CatalogueEntry => ({
|
||||
objectID: String(game.id),
|
||||
title: game.name,
|
||||
shop: "steam" as GameShop,
|
||||
cover: steamUrlBuilder.library(String(game.id)),
|
||||
repacks: [],
|
||||
});
|
||||
|
||||
return {
|
||||
objectID: String(result.id),
|
||||
title: result.name,
|
||||
shop: "steam" as GameShop,
|
||||
cover: getSteamAppAsset("library", String(result.id)),
|
||||
repacks: searchRepacks(result.name),
|
||||
};
|
||||
});
|
||||
export const getSteamGameById = async (
|
||||
objectId: string
|
||||
): Promise<CatalogueEntry | null> => {
|
||||
const steamGame = await steamGamesWorker.run(Number(objectId), {
|
||||
name: "getById",
|
||||
});
|
||||
|
||||
return orderBy(
|
||||
results,
|
||||
[({ repacks }) => repacks.length, "repacks"],
|
||||
["desc"]
|
||||
);
|
||||
if (!steamGame) return null;
|
||||
|
||||
const catalogueEntry = convertSteamGameToCatalogueEntry(steamGame);
|
||||
|
||||
const result = RepacksManager.findRepacksForCatalogueEntry(catalogueEntry);
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
13
src/main/events/helpers/validators.ts
Normal file
13
src/main/events/helpers/validators.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { z } from "zod";
|
||||
|
||||
export const downloadSourceSchema = z.object({
|
||||
name: z.string().max(255),
|
||||
downloads: z.array(
|
||||
z.object({
|
||||
title: z.string().max(255),
|
||||
uris: z.array(z.string()),
|
||||
uploadDate: z.string().max(255),
|
||||
fileSize: z.string().max(255),
|
||||
})
|
||||
),
|
||||
});
|
||||
@@ -1,5 +1,5 @@
|
||||
import { defaultDownloadsPath } from "@main/constants";
|
||||
import { app, ipcMain } from "electron";
|
||||
import { appVersion, defaultDownloadsPath } from "@main/constants";
|
||||
import { ipcMain } from "electron";
|
||||
|
||||
import "./catalogue/get-catalogue";
|
||||
import "./catalogue/get-game-shop-details";
|
||||
@@ -8,14 +8,21 @@ import "./catalogue/get-how-long-to-beat";
|
||||
import "./catalogue/get-random-game";
|
||||
import "./catalogue/search-games";
|
||||
import "./catalogue/search-game-repacks";
|
||||
import "./catalogue/get-game-stats";
|
||||
import "./catalogue/get-trending-games";
|
||||
import "./hardware/get-disk-free-space";
|
||||
import "./library/add-game-to-library";
|
||||
import "./library/create-game-shortcut";
|
||||
import "./library/close-game";
|
||||
import "./library/delete-game-folder";
|
||||
import "./library/get-game-by-object-id";
|
||||
import "./library/get-library";
|
||||
import "./library/open-game";
|
||||
import "./library/open-game-executable-path";
|
||||
import "./library/open-game-installer";
|
||||
import "./library/open-game-installer-path";
|
||||
import "./library/update-executable-path";
|
||||
import "./library/verify-executable-path";
|
||||
import "./library/remove-game";
|
||||
import "./library/remove-game-from-library";
|
||||
import "./misc/open-external";
|
||||
@@ -27,7 +34,35 @@ import "./torrenting/start-game-download";
|
||||
import "./user-preferences/get-user-preferences";
|
||||
import "./user-preferences/update-user-preferences";
|
||||
import "./user-preferences/auto-launch";
|
||||
import "./autoupdater/check-for-updates";
|
||||
import "./autoupdater/restart-and-install-update";
|
||||
import "./user-preferences/authenticate-real-debrid";
|
||||
import "./download-sources/get-download-sources";
|
||||
import "./download-sources/validate-download-source";
|
||||
import "./download-sources/add-download-source";
|
||||
import "./download-sources/remove-download-source";
|
||||
import "./download-sources/sync-download-sources";
|
||||
import "./auth/sign-out";
|
||||
import "./auth/open-auth-window";
|
||||
import "./auth/get-session-hash";
|
||||
import "./user/get-user";
|
||||
import "./user/get-blocked-users";
|
||||
import "./user/block-user";
|
||||
import "./user/unblock-user";
|
||||
import "./user/get-user-friends";
|
||||
import "./user/get-user-stats";
|
||||
import "./user/report-user";
|
||||
import "./profile/get-friend-requests";
|
||||
import "./profile/get-me";
|
||||
import "./profile/undo-friendship";
|
||||
import "./profile/update-friend-request";
|
||||
import "./profile/update-profile";
|
||||
import "./profile/process-profile-image";
|
||||
import "./profile/send-friend-request";
|
||||
import "./profile/sync-friend-requests";
|
||||
import { isPortableVersion } from "@main/helpers";
|
||||
|
||||
ipcMain.handle("ping", () => "pong");
|
||||
ipcMain.handle("getVersion", () => app.getVersion());
|
||||
ipcMain.handle("getVersion", () => appVersion);
|
||||
ipcMain.handle("isPortableVersion", () => isPortableVersion());
|
||||
ipcMain.handle("getDefaultDownloadsPath", () => defaultDownloadsPath);
|
||||
|
||||
@@ -4,14 +4,16 @@ import { registerEvent } from "../register-event";
|
||||
|
||||
import type { GameShop } from "@types";
|
||||
import { getFileBase64 } from "@main/helpers";
|
||||
import { getSteamGameIconUrl } from "@main/services";
|
||||
|
||||
import { steamGamesWorker } from "@main/workers";
|
||||
import { createGame } from "@main/services/library-sync";
|
||||
import { steamUrlBuilder } from "@shared";
|
||||
|
||||
const addGameToLibrary = async (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
objectID: string,
|
||||
title: string,
|
||||
gameShop: GameShop,
|
||||
executablePath: string | null
|
||||
shop: GameShop
|
||||
) => {
|
||||
return gameRepository
|
||||
.update(
|
||||
@@ -19,26 +21,40 @@ const addGameToLibrary = async (
|
||||
objectID,
|
||||
},
|
||||
{
|
||||
shop: gameShop,
|
||||
shop,
|
||||
status: null,
|
||||
executablePath,
|
||||
isDeleted: false,
|
||||
}
|
||||
)
|
||||
.then(async ({ affected }) => {
|
||||
if (!affected) {
|
||||
const iconUrl = await getFileBase64(
|
||||
await getSteamGameIconUrl(objectID)
|
||||
);
|
||||
|
||||
await gameRepository.insert({
|
||||
title,
|
||||
iconUrl,
|
||||
objectID,
|
||||
shop: gameShop,
|
||||
executablePath,
|
||||
const steamGame = await steamGamesWorker.run(Number(objectID), {
|
||||
name: "getById",
|
||||
});
|
||||
|
||||
const iconUrl = steamGame?.clientIcon
|
||||
? steamUrlBuilder.icon(objectID, steamGame.clientIcon)
|
||||
: null;
|
||||
|
||||
await gameRepository
|
||||
.insert({
|
||||
title,
|
||||
iconUrl,
|
||||
objectID,
|
||||
shop,
|
||||
})
|
||||
.then(() => {
|
||||
if (iconUrl) {
|
||||
getFileBase64(iconUrl).then((base64) =>
|
||||
gameRepository.update({ objectID }, { iconUrl: base64 })
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const game = await gameRepository.findOne({ where: { objectID } });
|
||||
|
||||
createGame(game!).catch(() => {});
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -1,39 +1,45 @@
|
||||
import path from "node:path";
|
||||
|
||||
import { gameRepository } from "@main/repository";
|
||||
import { getProcesses } from "@main/helpers";
|
||||
|
||||
import { registerEvent } from "../register-event";
|
||||
import { PythonInstance, logger } from "@main/services";
|
||||
import sudo from "sudo-prompt";
|
||||
import { app } from "electron";
|
||||
|
||||
const getKillCommand = (pid: number) => {
|
||||
if (process.platform == "win32") {
|
||||
return `taskkill /PID ${pid}`;
|
||||
}
|
||||
|
||||
return `kill -9 ${pid}`;
|
||||
};
|
||||
|
||||
const closeGame = async (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
gameId: number
|
||||
) => {
|
||||
const processes = await getProcesses();
|
||||
const processes = await PythonInstance.getProcessList();
|
||||
const game = await gameRepository.findOne({
|
||||
where: { id: gameId, isDeleted: false },
|
||||
});
|
||||
|
||||
if (!game) return false;
|
||||
|
||||
const executablePath = game.executablePath!;
|
||||
|
||||
const basename = path.win32.basename(executablePath);
|
||||
const basenameWithoutExtension = path.win32.basename(
|
||||
executablePath,
|
||||
path.extname(executablePath)
|
||||
);
|
||||
if (!game) return;
|
||||
|
||||
const gameProcess = processes.find((runningProcess) => {
|
||||
if (process.platform === "win32") {
|
||||
return runningProcess.name === basename;
|
||||
}
|
||||
|
||||
return [basename, basenameWithoutExtension].includes(runningProcess.name);
|
||||
return runningProcess.exe === game.executablePath;
|
||||
});
|
||||
|
||||
if (gameProcess) return process.kill(gameProcess.pid);
|
||||
return false;
|
||||
if (gameProcess) {
|
||||
try {
|
||||
process.kill(gameProcess.pid);
|
||||
} catch (err) {
|
||||
sudo.exec(
|
||||
getKillCommand(gameProcess.pid),
|
||||
{ name: app.getName() },
|
||||
(error, _stdout, _stderr) => {
|
||||
logger.error(error);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
registerEvent("closeGame", closeGame);
|
||||
|
||||
39
src/main/events/library/create-game-shortcut.ts
Normal file
39
src/main/events/library/create-game-shortcut.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { gameRepository } from "@main/repository";
|
||||
import { registerEvent } from "../register-event";
|
||||
import { IsNull, Not } from "typeorm";
|
||||
import createDesktopShortcut from "create-desktop-shortcuts";
|
||||
import path from "node:path";
|
||||
import { app } from "electron";
|
||||
import { removeSymbolsFromName } from "@shared";
|
||||
|
||||
const createGameShortcut = async (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
id: number
|
||||
): Promise<boolean> => {
|
||||
const game = await gameRepository.findOne({
|
||||
where: { id, executablePath: Not(IsNull()) },
|
||||
});
|
||||
|
||||
if (game) {
|
||||
const filePath = game.executablePath;
|
||||
|
||||
const windowVbsPath = app.isPackaged
|
||||
? path.join(process.resourcesPath, "windows.vbs")
|
||||
: undefined;
|
||||
|
||||
const options = {
|
||||
filePath,
|
||||
name: removeSymbolsFromName(game.title),
|
||||
};
|
||||
|
||||
return createDesktopShortcut({
|
||||
windows: { ...options, VBScriptPath: windowVbsPath },
|
||||
linux: options,
|
||||
osx: options,
|
||||
});
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
registerEvent("createGameShortcut", createGameShortcut);
|
||||
@@ -1,7 +1,6 @@
|
||||
import path from "node:path";
|
||||
import fs from "node:fs";
|
||||
|
||||
import { GameStatus } from "@shared";
|
||||
import { gameRepository } from "@main/repository";
|
||||
|
||||
import { getDownloadsPath } from "../helpers/get-downloads-path";
|
||||
@@ -13,11 +12,18 @@ const deleteGameFolder = async (
|
||||
gameId: number
|
||||
): Promise<void> => {
|
||||
const game = await gameRepository.findOne({
|
||||
where: {
|
||||
id: gameId,
|
||||
status: GameStatus.Cancelled,
|
||||
isDeleted: false,
|
||||
},
|
||||
where: [
|
||||
{
|
||||
id: gameId,
|
||||
isDeleted: false,
|
||||
status: "removed",
|
||||
},
|
||||
{
|
||||
id: gameId,
|
||||
progress: 1,
|
||||
isDeleted: false,
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
if (!game) return;
|
||||
@@ -29,7 +35,7 @@ const deleteGameFolder = async (
|
||||
);
|
||||
|
||||
if (fs.existsSync(folderPath)) {
|
||||
return new Promise((resolve, reject) => {
|
||||
await new Promise<void>((resolve, reject) => {
|
||||
fs.rm(
|
||||
folderPath,
|
||||
{ recursive: true, force: true, maxRetries: 5, retryDelay: 200 },
|
||||
@@ -45,6 +51,11 @@ const deleteGameFolder = async (
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
await gameRepository.update(
|
||||
{ id: gameId },
|
||||
{ downloadPath: null, folderName: null, status: null, progress: 0 }
|
||||
);
|
||||
};
|
||||
|
||||
registerEvent("deleteGameFolder", deleteGameFolder);
|
||||
|
||||
@@ -11,9 +11,6 @@ const getGameByObjectID = async (
|
||||
objectID,
|
||||
isDeleted: false,
|
||||
},
|
||||
relations: {
|
||||
repack: true,
|
||||
},
|
||||
});
|
||||
|
||||
registerEvent("getGameByObjectID", getGameByObjectID);
|
||||
|
||||
@@ -1,31 +1,17 @@
|
||||
import { gameRepository } from "@main/repository";
|
||||
|
||||
import { searchRepacks } from "../helpers/search-games";
|
||||
import { registerEvent } from "../register-event";
|
||||
import { GameStatus } from "@shared";
|
||||
import { sortBy } from "lodash-es";
|
||||
|
||||
const getLibrary = async () =>
|
||||
gameRepository
|
||||
.find({
|
||||
where: {
|
||||
isDeleted: false,
|
||||
},
|
||||
order: {
|
||||
createdAt: "desc",
|
||||
},
|
||||
relations: {
|
||||
repack: true,
|
||||
},
|
||||
})
|
||||
.then((games) =>
|
||||
sortBy(
|
||||
games.map((game) => ({
|
||||
...game,
|
||||
repacks: searchRepacks(game.title),
|
||||
})),
|
||||
(game) => (game.status !== GameStatus.Cancelled ? 0 : 1)
|
||||
)
|
||||
);
|
||||
gameRepository.find({
|
||||
where: {
|
||||
isDeleted: false,
|
||||
},
|
||||
relations: {
|
||||
downloadQueue: true,
|
||||
},
|
||||
order: {
|
||||
createdAt: "desc",
|
||||
},
|
||||
});
|
||||
|
||||
registerEvent("getLibrary", getLibrary);
|
||||
|
||||
18
src/main/events/library/open-game-executable-path.ts
Normal file
18
src/main/events/library/open-game-executable-path.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { shell } from "electron";
|
||||
import { gameRepository } from "@main/repository";
|
||||
import { registerEvent } from "../register-event";
|
||||
|
||||
const openGameExecutablePath = async (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
gameId: number
|
||||
) => {
|
||||
const game = await gameRepository.findOne({
|
||||
where: { id: gameId, isDeleted: false },
|
||||
});
|
||||
|
||||
if (!game || !game.executablePath) return;
|
||||
|
||||
shell.showItemInFolder(game.executablePath);
|
||||
};
|
||||
|
||||
registerEvent("openGameExecutablePath", openGameExecutablePath);
|
||||
27
src/main/events/library/open-game-installer-path.ts
Normal file
27
src/main/events/library/open-game-installer-path.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { shell } from "electron";
|
||||
import path from "node:path";
|
||||
import { gameRepository } from "@main/repository";
|
||||
import { getDownloadsPath } from "../helpers/get-downloads-path";
|
||||
import { registerEvent } from "../register-event";
|
||||
|
||||
const openGameInstallerPath = async (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
gameId: number
|
||||
) => {
|
||||
const game = await gameRepository.findOne({
|
||||
where: { id: gameId, isDeleted: false },
|
||||
});
|
||||
|
||||
if (!game || !game.folderName || !game.downloadPath) return true;
|
||||
|
||||
const gamePath = path.join(
|
||||
game.downloadPath ?? (await getDownloadsPath()),
|
||||
game.folderName!
|
||||
);
|
||||
|
||||
shell.showItemInFolder(gamePath);
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
registerEvent("openGameInstallerPath", openGameInstallerPath);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user