Compare commits

...

590 Commits

Author SHA1 Message Date
Moyasee
345696ad06 Merge branch 'feat/vikingfile-support' of https://github.com/hydralauncher/hydra into feat/vikingfile-support 2026-01-03 19:47:39 +02:00
Moyasee
6c4e8c406f refactor: update HTTP module imports to use node: prefix for consistency 2026-01-03 19:44:39 +02:00
Moyase
c46a1e7848 Merge branch 'main' into feat/vikingfile-support 2026-01-03 19:41:49 +02:00
Moyase
590e09a8c3 Merge pull request #1912 from hydralauncher/fix/notifications-page-ui
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
feat: add unread filter option and enhance notifications UI
2026-01-03 19:41:30 +02:00
Moyasee
c1d7ea27f3 feat: add unread filter option and enhance notifications UI 2026-01-03 19:37:47 +02:00
Chubby Granny Chaser
15dbd3b2ad Merge pull request #1909 from hydralauncher/fix/library-game-covers
fix: library cards not using placeholder and icon as a game cover
2026-01-03 16:19:33 +00:00
Moyasee
4584783f44 refactor: enhance download progress tracking in DownloadManager 2026-01-03 04:47:46 +02:00
Moyasee
765ec70dd0 refactor: streamline downloader logic in DownloadSettingsModal 2026-01-03 01:40:21 +02:00
Moyasee
de483da51c fix: handle download not found exception in HttpDownloader and enforce IPv4 in HTTP agents 2026-01-03 01:08:25 +02:00
Moyasee
2bc0266775 feat: add loading state to download button and enhance UI with spinner 2026-01-03 00:18:07 +02:00
Moyasee
c9729fb3eb chore: update build and release workflows to include MAIN_VITE_NIMBUS_API_URL 2026-01-02 23:59:21 +02:00
Moyasee
9a7ad148e3 fix: use logger for error handling in VikingFile.ts 2026-01-02 23:24:20 +02:00
Moyasee
d929fbaeaa refactor: simplify header assignment in HttpDownloader 2026-01-02 23:23:08 +02:00
Moyasee
8fa33119d6 feat: add support for VikingFile and display if link is available 2026-01-02 23:20:08 +02:00
Moyasee
92d87c5d33 refactor: remove unnecessary useEffect in LibraryGameCard 2025-12-31 01:59:25 +02:00
Moyasee
af884d3772 refactor: simplify cover image assignment in LibraryGameCard 2025-12-30 14:09:04 +02:00
Moyasee
dc31ac0831 fix: library cards not using placeholder and icon as a game cover 2025-12-30 00:25:45 +02:00
Chubby Granny Chaser
9769eecec6 Merge pull request #1907 from hydralauncher/fix/lint-buzz
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
refactor: improve code formatting and consistency in DownloadManager
2025-12-27 00:56:29 +00:00
Moyasee
91adb97013 refactor: improve code formatting and consistency in DownloadManager 2025-12-27 02:50:27 +02:00
Chubby Granny Chaser
f138b2efcb Merge pull request #1906 from Wkeynhk/main
Buzzheavier fix
2025-12-27 00:47:44 +00:00
Wkeynhk
991aa05760 Sonar fix2 2025-12-27 03:23:36 +03:00
Wkeynhk
aff9e13bca Sonar fix 2025-12-27 03:17:42 +03:00
Wkeynhk
240a75c1d0 Buzzheavier fix 2025-12-27 03:02:35 +03:00
Chubby Granny Chaser
edbe86a1fb Merge pull request #1904 from hydralauncher/feat/LBX-155
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
fix: notification item styling
2025-12-26 22:54:13 +00:00
Moyasee
a01e1b1709 style: formatting 2025-12-27 00:51:26 +02:00
Moyase
60fd90820c Merge branch 'main' into feat/LBX-155 2025-12-27 00:44:35 +02:00
Moyasee
798f88618e style: enhance notification item styles with color adjustments and SVG inheritance 2025-12-27 00:42:23 +02:00
Moyasee
40795c34dc Merge branch 'feat/LBX-155' of https://github.com/hydralauncher/hydra into feat/LBX-155 2025-12-27 00:39:01 +02:00
Moyasee
e335e05628 style: update notification item styles for improved layout and alignment 2025-12-27 00:32:15 +02:00
Chubby Granny Chaser
05464f25df Merge pull request #1882 from keipa/patch-1
Adding chocolatey publishing
2025-12-26 22:20:57 +00:00
Chubby Granny Chaser
b9830afca1 Merge branch 'main' into patch-1 2025-12-26 22:20:33 +00:00
Chubby Granny Chaser
1cab73bcb4 Merge pull request #1865 from hydralauncher/feat/disabling-update-badges
feat: checkbox to disable new game update badges
2025-12-26 21:57:44 +00:00
Chubby Granny Chaser
27462c1e1e Merge branch 'main' into feat/disabling-update-badges 2025-12-26 21:53:45 +00:00
Chubby Granny Chaser
98dc20092a Merge pull request #1902 from hydralauncher/feat/LBX-155
Feat: Notification Hub (WIP)
2025-12-26 21:50:39 +00:00
Chubby Granny Chaser
9faf34a976 Merge branch 'main' into feat/disabling-update-badges 2025-12-26 21:49:35 +00:00
Chubby Granny Chaser
d25ac69e74 Merge branch 'main' into feat/LBX-155 2025-12-26 21:49:10 +00:00
Chubby Granny Chaser
d3fb967229 Merge pull request #1895 from hydralauncher/feat/wrapped-in-profile
feat: add Wrapped 2025 view in profile
2025-12-26 21:48:38 +00:00
Chubby Granny Chaser
35736dd2d9 Merge branch 'main' into feat/wrapped-in-profile 2025-12-26 21:39:24 +00:00
Moyasee
263d0be4e4 refactor: improve code formatting and logging consistency in download manager and buzzheavier services 2025-12-26 23:38:01 +02:00
Moyasee
0b4d31e482 refactor: update notification item components to use button elements for better accessibility 2025-12-26 23:37:35 +02:00
Moyase
a74b557d13 Merge branch 'main' into feat/LBX-155 2025-12-26 20:01:35 +02:00
Chubby Granny Chaser
86d5547aa1 Merge pull request #1903 from Wkeynhk/main
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
Adding new hosters
2025-12-25 23:13:24 +00:00
Wkeynhk
358f41b4ba . 2025-12-26 01:34:09 +03:00
Wkeynhk
7f0dc5eee4 . 2025-12-26 01:25:56 +03:00
Wkeynhk
067f7a00be . 2025-12-26 01:19:04 +03:00
Wkeynhk
37f085e2c0 . 2025-12-26 01:13:36 +03:00
Wkeynhk
f8ac284bc2 New hosters 2025-12-25 14:16:11 +03:00
Moyasee
cea5afc7f7 feat: enhance add friend modal with friend code display and copy functionality 2025-12-24 13:22:57 +02:00
Moyasee
dff8d02f3f refactor: remove unused userDetails variable from App component 2025-12-23 18:48:56 +02:00
Moyasee
8751e369da refactor: remove sync friend requests functionality and related components 2025-12-23 18:47:31 +02:00
Moyasee
45eaef23a9 fix: move the view all button in badges box to the bottom left 2025-12-23 16:52:04 +02:00
Moyasee
3c296fe721 feat: add all badges modal and enhance badges display in profile 2025-12-23 15:43:52 +02:00
Moyasee
1d1bbd2de5 fix: forcing unread styling for friend request received notification 2025-12-23 13:40:50 +02:00
Moyasee
246fc14b75 fix: update notification display logic and impove empty state styling 2025-12-23 13:11:02 +02:00
Nikolay Rovdo
387b3ebeac Merge branch 'main' into patch-1 2025-12-22 15:04:41 +01:00
Chubby Granny Chaser
b1d72828bb Merge branch 'main' into feat/wrapped-in-profile 2025-12-19 02:03:03 +00:00
Chubby Granny Chaser
4c09f915c6 Merge pull request #1901 from hydralauncher/fix/fullscreen-modal
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
style: enhance overlay styling and adjust close button positioning
2025-12-19 02:02:46 +00:00
Moyasee
24d65b50b4 style: enhance overlay styling and adjust close button positioning 2025-12-18 22:56:50 +02:00
Moyase
f77b2116c1 Merge branch 'main' into feat/wrapped-in-profile 2025-12-18 22:44:25 +02:00
Moyasee
6cd65d6239 feat: implement add friend modal and enhance friends box with add friend functionality 2025-12-18 22:41:28 +02:00
Chubby Granny Chaser
34681b3bc2 Merge pull request #1897 from Stormm232/main
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
v3.7.6 - Hungarian Translation
2025-12-18 19:33:22 +00:00
Chubby Granny Chaser
4b71a3f5bb Merge branch 'main' into main 2025-12-18 19:33:15 +00:00
Chubby Granny Chaser
a0f669c97b Merge pull request #1896 from hydralauncher/fix/peak-download-speed
Fix: peak download speed using current network speed fix
2025-12-18 19:33:00 +00:00
Chubby Granny Chaser
96fca88601 Merge branch 'main' into fix/peak-download-speed 2025-12-18 19:32:11 +00:00
Chubby Granny Chaser
3f65bb86a8 Merge pull request #1899 from hydralauncher/feat/LBX-301
Feat: Ability to open profile image in fullscreen
2025-12-18 19:30:51 +00:00
Chubby Granny Chaser
b494c7c8ec Merge branch 'main' into main 2025-12-18 19:30:27 +00:00
Chubby Granny Chaser
e10007b1c3 Merge branch 'main' into feat/LBX-301 2025-12-18 19:29:52 +00:00
Chubby Granny Chaser
dae825a75a Merge pull request #1900 from moi952/feat/translation-fr-v3.7.6
feat: add missing French translations
2025-12-18 19:29:33 +00:00
moi952
677f34fe3d feat: add missing French translations 2025-12-16 22:41:56 +01:00
Moyasee
1524e73ee6 refactor(fullscreen-media-modal): replace div with dialog element for improved semantics 2025-12-16 15:49:10 +02:00
Moyasee
40d428c19e refactor(fullscreen-media-modal): remove unused useCallback import 2025-12-16 15:43:43 +02:00
Moyasee
affa7a2b2e feat: add fullscreen media modal to profile hero for avatar display 2025-12-16 15:42:34 +02:00
Moyasee
cf16c8245c refactor(modal): change title type to React.ReactNode for better flexibility 2025-12-16 15:21:46 +02:00
Moyasee
6257529297 feat: enhance keyboard accessibility for notification items and friends modal 2025-12-16 15:20:13 +02:00
Moyasee
b8352be274 feat: add local notifications management and UI integration 2025-12-16 15:18:21 +02:00
Kiwo.2
d5e6bed3b7 Re-written some parts, Adjusted to new version 2025-12-14 15:58:27 +01:00
Kiwo.2
214267df7e Re-written some parts, Adjusted to new version 2025-12-14 15:09:40 +01:00
Kiwo.2
21f46c9af3 Merge branch 'main' of https://github.com/Stormm232/hydra 2025-12-14 15:05:52 +01:00
Kiwo.2
cc5e0014f7 Re-written some parts, Adjusted to new version 2025-12-14 15:04:51 +01:00
Moyasee
ccb754fa13 feat(profile): add hasCompletedWrapped2025 flag to UserProfile and update ProfileHero rendering logic 2025-12-14 15:14:54 +02:00
Moyasee
142bd3156c fix: ensure downloader value is properly checked and converted to number in DownloadGroup component 2025-12-14 11:27:29 +02:00
Moyasee
95a7bc2236 feat: add new translation keys for network and peak in English and Portuguese locales 2025-12-13 18:32:16 +02:00
Moyasee
78d2be85f2 style: format peak speed calculation for improved readability in DownloadGroup component 2025-12-13 18:15:21 +02:00
Moyasee
67ea9e78a2 feat: enhance download tracking by adding speed history management in download slice 2025-12-13 18:14:52 +02:00
Moyasee
67f863e0f3 fix: remove unused peak speed update dispatch in DownloadGroup component 2025-12-13 17:41:15 +02:00
Moyasee
77b6f1b2ad feat: add peak speed tracking and management in download slice 2025-12-13 16:10:57 +02:00
Moyasee
5329cc446f Merge branch 'feat/wrapped-in-profile' of https://github.com/hydralauncher/hydra into feat/wrapped-in-profile 2025-12-13 09:17:02 +02:00
Moyasee
21a0ad1500 feat(profile): add translation for "View My Wrapped 2025" button 2025-12-13 09:16:54 +02:00
Moyase
9ffaee12d1 Merge branch 'main' into feat/wrapped-in-profile 2025-12-12 20:44:15 +02:00
Moyasee
8555274589 ci: formatting 2025-12-12 20:43:14 +02:00
Moyasee
a152c89d7f feat(profile): update Wrapped 2025 button and add new gradient style 2025-12-12 20:42:54 +02:00
Moyasee
879f0baad7 refactor(profile): remove overlay from WrappedFullscreenModal to streamline UI 2025-12-12 17:51:31 +02:00
Moyasee
c025dc199d style(profile): add overlay to WrappedFullscreenModal for improved UI interaction 2025-12-12 17:49:12 +02:00
Chubby Granny Chaser
1552a5f359 Merge pull request #1894 from hydralauncher/feat/LBX-188
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
Feat: proper archive extraction and deletion after completion
2025-12-12 15:39:42 +00:00
Moyasee
5b4b258526 refactor: remove WrappedConfirmModal and integrate WrappedFullscreenModal in profile 2025-12-12 17:29:44 +02:00
Moyasee
0268829946 feat: add Wrapped 2025 view in profile 2025-12-12 13:53:12 +02:00
Moyasee
63f8289d0a feat: implement archive deletion prompt and translations for confirmation messages 2025-12-12 12:44:02 +02:00
Moyasee
0470958629 refactor(decky-plugin): simplify plugin extraction logic using async/await 2025-12-11 15:35:40 +02:00
Moyasee
3b574e6578 feat: add extraction progress tracking and UI updates 2025-12-11 15:25:44 +02:00
Chubby Granny Chaser
7f28fc8ca1 Merge pull request #1893 from hydralauncher/fix/downloads-ui
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
fix: navigation on game image click not working
2025-12-11 00:53:38 +00:00
Moyase
d1eb174429 Merge branch 'main' into fix/downloads-ui 2025-12-10 20:38:07 +02:00
Moyasee
82a125237b fix: navigation on game image click not working 2025-12-10 20:36:24 +02:00
Chubby Granny Chaser
19e312d31e Merge pull request #1891 from hydralauncher/fix/LBX-298
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
refactor: simplify Aria2 spawn logic and update GofileApi download li…
2025-12-10 18:12:33 +00:00
Chubby Granny Chaser
79b1f05cde Merge branch 'main' into fix/LBX-298 2025-12-10 18:12:17 +00:00
Chubby Granny Chaser
cc9ac9dc0f Merge pull request #1892 from hydralauncher/fix/downloads-ui
Fix: navigation and styles in download page
2025-12-10 18:12:05 +00:00
Moyasee
19406dd051 style(download-group): remove unnecessary blank line for cleaner SCSS 2025-12-10 19:54:22 +02:00
Moyasee
8aa6e113e7 refactor(download-group): update button interaction and styles 2025-12-10 19:53:53 +02:00
Chubby Granny Chaser
3f41f0f7ad Merge branch 'main' into feat/disabling-update-badges 2025-12-10 17:26:35 +00:00
Chubby Granny Chaser
91ad4a68f7 Merge branch 'main' into fix/LBX-298 2025-12-10 17:18:49 +00:00
Chubby Granny Chaser
a69a6ec510 Merge pull request #1889 from Lianela/main
feat: new strings
2025-12-10 17:15:45 +00:00
Chubby Granny Chaser
fada6507c3 Merge branch 'main' into main 2025-12-10 17:15:21 +00:00
Chubby Granny Chaser
0479f1347b Merge pull request #1887 from hydralauncher/dependabot/npm_and_yarn/npm_and_yarn-a3f223628e
chore(deps): bump jws from 3.2.2 to 3.2.3 in the npm_and_yarn group across 1 directory
2025-12-10 17:14:44 +00:00
Chubby Granny Chaser
817870cdbb refactor: simplify Aria2 spawn logic and update GofileApi download link request 2025-12-10 17:11:10 +00:00
dependabot[bot]
f44d5c8b49 chore(deps): bump jws in the npm_and_yarn group across 1 directory
Bumps the npm_and_yarn group with 1 update in the / directory: [jws](https://github.com/brianloveswords/node-jws).


Updates `jws` from 3.2.2 to 3.2.3
- [Release notes](https://github.com/brianloveswords/node-jws/releases)
- [Changelog](https://github.com/auth0/node-jws/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brianloveswords/node-jws/compare/v3.2.2...v3.2.3)

---
updated-dependencies:
- dependency-name: jws
  dependency-version: 3.2.3
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 01:04:55 +00:00
Zamitto
c36109c092 chore: bump version
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
2025-12-07 22:03:02 -03:00
Zamitto
b59fb7dc36 feat: support workwonders 2025-12-07 20:38:53 -03:00
Kyatto
214a7af408 Fix JSON formatting in translation file 2025-12-07 13:14:50 -06:00
Kyatto
14679fc31e Add new translation strings in Spanish 2025-12-07 13:05:59 -06:00
Nikolay Rovdo
1545f42d17 Adding chocolatey publishing 2025-11-30 14:51:24 +01:00
Chubby Granny Chaser
e872b2ea8a chore: bump version to 3.7.5
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
2025-11-30 06:26:43 +00:00
Chubby Granny Chaser
dd7c84b433 Merge pull request #1881 from hydralauncher/fix/downloads-ui
fix: auto-resuming download isnt working after restart
2025-11-30 06:26:08 +00:00
Chubby Granny Chaser
1546da29cf Merge branch 'fix/downloads-ui' of https://github.com/hydralauncher/hydra into fix/downloads-ui 2025-11-30 06:25:39 +00:00
Chubby Granny Chaser
a89b0bb2a8 style: refactor download group component to optimize download state management and improve UI responsiveness 2025-11-30 06:25:17 +00:00
Moyasee
9bdb216e0f fix: deleted comment 2025-11-30 08:23:49 +02:00
Moyasee
9779aed8c1 fix: auto-resuming download isnt working after restart 2025-11-30 08:05:45 +02:00
Chubby Granny Chaser
058a148c7f style: add button styling and refactor logo click handling in download group for improved accessibility and user experience 2025-11-30 05:44:18 +00:00
Chubby Granny Chaser
16e3d52508 style: enhance download group styling for improved layout, responsiveness, and user interaction 2025-11-30 05:39:01 +00:00
Chubby Granny Chaser
7e0002cf95 style: format imports in download-group.tsx for improved readability 2025-11-30 05:14:48 +00:00
Chubby Granny Chaser
bf8b3ca836 style: update download group layout and styling for improved responsiveness 2025-11-30 05:14:26 +00:00
Moyasee
77e376e742 fix: peak spead not working 2025-11-30 07:13:12 +02:00
Chubby Granny Chaser
bd28b202c4 Merge branch 'fix/downloads-ui' of https://github.com/hydralauncher/hydra 2025-11-30 05:06:59 +00:00
Moyasee
153b954e78 fix: progress bar, context menu, repacks modal, responsiveness and styling fix 2025-11-30 07:05:19 +02:00
Chubby Granny Chaser
a9e63730be Merge pull request #1880 from hydralauncher/fix/fixing-hls-videos
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
Fix/fixing hls videos
2025-11-30 03:45:10 +00:00
Chubby Granny Chaser
316480930d Merge branch 'main' into fix/fixing-hls-videos 2025-11-30 03:45:00 +00:00
Chubby Granny Chaser
0b5c9acaaa Merge pull request #1861 from iam-sahil/Downloads-UI
feat: enhance download page UI with improved layout and styling for the download cards.
2025-11-30 03:44:33 +00:00
Chubby Granny Chaser
814a2da05c Merge branch 'main' into Downloads-UI 2025-11-30 03:44:10 +00:00
Chubby Granny Chaser
0ad1ebd6a2 fix: fixing hls videos 2025-11-30 03:43:22 +00:00
Chubby Granny Chaser
e9de8264e2 fix: fixing hls videos 2025-11-30 03:41:41 +00:00
Chubby Granny Chaser
b135087ffe fix: fixing hls videos 2025-11-30 03:38:23 +00:00
Chubby Granny Chaser
b4a1af78a6 Merge pull request #1877 from egionCode/main
adding sorting for recently played based on last time the game was op…
2025-11-30 03:21:08 +00:00
Chubby Granny Chaser
ede5bb0c23 Merge branch 'main' into main 2025-11-30 03:20:03 +00:00
Chubby Granny Chaser
9a27875cd8 Merge pull request #1866 from hydralauncher/feat/search-autosuggest
Feat: search history and auto-suggest
2025-11-30 03:19:57 +00:00
Chubby Granny Chaser
cf20a942ae Merge branch 'main' into main 2025-11-30 03:17:07 +00:00
Chubby Granny Chaser
256d829a60 feat: adding translations 2025-11-30 03:15:27 +00:00
Chubby Granny Chaser
8cb18578e0 Merge branch 'main' into feat/search-autosuggest 2025-11-30 03:06:00 +00:00
Chubby Granny Chaser
62950297e0 Merge pull request #1874 from hydralauncher/dependabot/npm_and_yarn/npm_and_yarn-2e94d63b2a
chore(deps): bump tar from 7.5.1 to 7.5.2 in the npm_and_yarn group across 1 directory
2025-11-30 03:05:46 +00:00
Chubby Granny Chaser
3eecc42430 Merge branch 'main' into dependabot/npm_and_yarn/npm_and_yarn-2e94d63b2a 2025-11-30 03:04:37 +00:00
Chubby Granny Chaser
f6edb45628 Merge pull request #1875 from hydralauncher/dependabot/npm_and_yarn/npm_and_yarn-3c67cbb9cd
chore(deps): bump js-yaml from 4.1.0 to 4.1.1 in the npm_and_yarn group across 1 directory
2025-11-30 03:04:30 +00:00
Chubby Granny Chaser
de8797bea6 Merge branch 'main' into dependabot/npm_and_yarn/npm_and_yarn-3c67cbb9cd 2025-11-30 03:04:23 +00:00
Chubby Granny Chaser
828f82f647 Merge pull request #1879 from hydralauncher/feat/adding-level-generic-interface
Feat/adding level generic interface
2025-11-30 03:04:12 +00:00
Moyasee
bb22d9c4dd ci: migration of search history from localStorage to LevelDB and highlighting fix 2025-11-29 05:30:10 +02:00
Moyasee
559bb45acc Merge branch 'feat/adding-level-generic-interface' of https://github.com/hydralauncher/hydra into feat/search-autosuggest 2025-11-29 05:10:54 +02:00
Chubby Granny Chaser
8e3a932aa4 fix: fixing code quality issues 2025-11-29 02:40:52 +00:00
Chubby Granny Chaser
1fc87f93b7 fix: fixing code quality issues 2025-11-29 02:39:21 +00:00
Chubby Granny Chaser
f28c867479 feat: adding level generic interface 2025-11-29 02:25:29 +00:00
Chubby Granny Chaser
928acc2765 feat: adding level generic interface 2025-11-29 02:22:07 +00:00
Chubby Granny Chaser
140718764d feat: adding level generic interface 2025-11-29 02:19:41 +00:00
Chubby Granny Chaser
f41128c4c8 feat: adding level generic interface 2025-11-29 02:19:21 +00:00
Victor
e176e624be adding sorting for recently played based on last time the game was opened 2025-11-27 11:23:50 -03:00
Chubby Granny Chaser
59b3fb5317 Merge branch 'release/v3.7.4' of https://github.com/hydralauncher/hydra 2025-11-26 15:38:23 +00:00
Chubby Granny Chaser
d205f2b391 fix: hotfixing video player
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-11-25 23:55:13 +00:00
Chubby Granny Chaser
82ab889dad fix: hotfixing video player 2025-11-25 23:54:36 +00:00
dependabot[bot]
4e92e794be chore(deps): bump js-yaml in the npm_and_yarn group across 1 directory
Bumps the npm_and_yarn group with 1 update in the / directory: [js-yaml](https://github.com/nodeca/js-yaml).


Updates `js-yaml` from 4.1.0 to 4.1.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 04:55:31 +00:00
dependabot[bot]
de0dbcac35 chore(deps): bump tar in the npm_and_yarn group across 1 directory
Bumps the npm_and_yarn group with 1 update in the / directory: [tar](https://github.com/isaacs/node-tar).


Updates `tar` from 7.5.1 to 7.5.2
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.1...v7.5.2)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.2
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 04:55:16 +00:00
Chubby Granny Chaser
c3880ce181 fix: test 2025-11-23 20:34:05 +00:00
Zamitto
5e86ad4d7e Merge pull request #1872 from epcgrs/main
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
fix: Update icon image broken in README.md
2025-11-23 13:30:55 -03:00
Machine Zero
e2fb59ed8d fix: Update icon image broken in README.md
Fix the image with broken link in readme.md
2025-11-22 19:34:55 -03:00
Moyasee
07d5a5b3f3 Merge branch 'feat/search-autosuggest' of https://github.com/hydralauncher/hydra into feat/search-autosuggest 2025-11-22 07:31:15 +02:00
Moyasee
a1117c8269 feat: improving suggestion dropdown design 2025-11-22 07:26:48 +02:00
Chubby Granny Chaser
dc04cff378 Merge branch 'main' into feat/search-autosuggest 2025-11-19 09:42:17 +00:00
Zamitto
6df34e7f3c chore: update hydra docs link on PR template
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
2025-11-16 13:45:32 -03:00
Zamitto
2773fa7b3c Merge pull request #1862 from flyingcakes85/patch-1
[fix] ci: fix version name in aur commit message
2025-11-16 13:38:05 -03:00
Moyasee
093a9f251e feat: selective history removal 2025-11-15 21:10:33 +02:00
Moyasee
9979e92d8f fix: reverted detach mode for devtools window 2025-11-15 21:05:51 +02:00
Moyasee
8cd613e3b6 fix: removed unused variables 2025-11-15 21:04:08 +02:00
Moyasee
28bf7b8764 feat: search history and suggestions 2025-11-15 21:02:28 +02:00
Moyasee
2adc132c33 fix: removed void from main.ts 2025-11-15 16:57:44 +02:00
Moyasee
c4852b89f1 feat: checkbox to disable new game update badges 2025-11-15 16:46:02 +02:00
ctrlcat0x
5bffaf17fa fix: adjust padding for completed downloads and improve conditional rendering in download actions 2025-11-15 13:47:50 +05:30
ctrlcat0x
cc38be4383 Fixed linter and sonarcloud errors, refactored some functions and fixed UI padding issues with certain themes. 2025-11-15 11:31:39 +05:30
ctrlcat0x
0b70a28c08 feat: enhance download group UI with speed chart improvements and gradient progress bar 2025-11-15 01:16:23 +05:30
ctrlcat0x
3ff50a9932 feat: update download group UI with hero section and speed chart integration 2025-11-15 00:44:54 +05:30
Snehit Sah
be3ce6e2db ci: fix version name in aur commit
omit extra 'v' in commit message
2025-11-14 20:20:26 +05:30
ctrlcat0x
83fbf20383 feat: enhance download page UI with improved layout and styling for cards 2025-11-14 20:02:10 +05:30
Chubby Granny Chaser
c600a4a46f fix: fixing achievements on larger view
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-11-13 15:22:03 +00:00
Chubby Granny Chaser
d14951f25c Merge pull request #1857 from hydralauncher/fix/use-local-achievement-cache
fix: achievements on library page
2025-11-13 15:12:40 +00:00
Chubby Granny Chaser
d6b38771a8 Merge branch 'main' into fix/use-local-achievement-cache 2025-11-13 09:54:30 +00:00
Chubby Granny Chaser
8400edd000 Merge pull request #1858 from quirxsama/main
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
[translation] Added Turkish translations for new keys
2025-11-13 09:54:08 +00:00
Chubby Granny Chaser
6e3c5cac7e Merge branch 'main' into fix/use-local-achievement-cache 2025-11-13 09:53:28 +00:00
Chubby Granny Chaser
4f2d6f3302 Merge branch 'main' into main 2025-11-13 09:53:23 +00:00
Chubby Granny Chaser
72c3219fc0 Merge pull request #1859 from Stormm232/main
3.7.4 - Hungarian  Translation
2025-11-13 09:53:09 +00:00
Kiwo.2
048c56d670 Prettified it 2025-11-12 19:35:57 +01:00
Kiwo.2
43505a281f Merge branch 'main' of https://github.com/Stormm232/hydra 2025-11-12 19:11:50 +01:00
Kiwo.2
c380e5f5a0 Fixes & 3.7.4's new lines 2025-11-12 19:11:13 +01:00
Zamitto
5c32e61569 Merge branch 'test' into fix/use-local-achievement-cache 2025-11-12 14:53:24 -03:00
Zamitto
f594cd298a fix: performance 2025-11-12 14:52:38 -03:00
Zamitto
20c0d3174b test 2025-11-12 14:37:44 -03:00
Kaan
bcd6db24c9 Add turkish translates for new keys
added keys:
 - sidebar.library
  - sidebar.playable_button_title
  - sidebar.add_custom_game_tooltip
  - sidebar.show_playable_only_tooltip
  - sidebar.custom_game_modal
  - sidebar.custom_game_modal_description
  - sidebar.custom_game_modal_executable_path
  - sidebar.custom_game_modal_select_executable
  - sidebar.custom_game_modal_title
  - sidebar.custom_game_modal_enter_title
  - sidebar.custom_game_modal_browse
  - sidebar.custom_game_modal_cancel
  - sidebar.custom_game_modal_add
  - sidebar.custom_game_modal_adding
  - sidebar.custom_game_modal_success
  - sidebar.custom_game_modal_failed
  - sidebar.custom_game_modal_executable
  - sidebar.edit_game_modal
  - sidebar.edit_game_modal_description
  - sidebar.edit_game_modal_title
  - sidebar.edit_game_modal_enter_title
  - sidebar.edit_game_modal_image
  - sidebar.edit_game_modal_select_image
  - sidebar.edit_game_modal_browse
  - sidebar.edit_game_modal_image_preview
  - sidebar.edit_game_modal_icon
  - sidebar.edit_game_modal_select_icon
  - sidebar.edit_game_modal_icon_preview
  - sidebar.edit_game_modal_logo
  - sidebar.edit_game_modal_select_logo
  - sidebar.edit_game_modal_logo_preview
  - sidebar.edit_game_modal_hero
  - sidebar.edit_game_modal_select_hero
  - sidebar.edit_game_modal_hero_preview
  - sidebar.edit_game_modal_cancel
  - sidebar.edit_game_modal_update
  - sidebar.edit_game_modal_updating
  - sidebar.edit_game_modal_fill_required
  - sidebar.edit_game_modal_success
  - sidebar.edit_game_modal_failed
  - sidebar.edit_game_modal_image_filter
  - sidebar.edit_game_modal_icon_resolution
  - sidebar.edit_game_modal_logo_resolution
  - sidebar.edit_game_modal_hero_resolution
  - sidebar.edit_game_modal_assets
  - sidebar.edit_game_modal_drop_icon_image_here
  - sidebar.edit_game_modal_drop_logo_image_here
  - sidebar.edit_game_modal_drop_hero_image_here
  - sidebar.edit_game_modal_drop_to_replace_icon
  - sidebar.edit_game_modal_drop_to_replace_logo
  - sidebar.edit_game_modal_drop_to_replace_hero
  - sidebar.install_decky_plugin
  - sidebar.update_decky_plugin
  - sidebar.decky_plugin_installed_version
  - sidebar.install_decky_plugin_title
  - sidebar.install_decky_plugin_message
  - sidebar.update_decky_plugin_title
  - sidebar.update_decky_plugin_message
  - sidebar.decky_plugin_installed
  - sidebar.decky_plugin_installation_failed
  - sidebar.decky_plugin_installation_error
  - sidebar.confirm
  - sidebar.cancel
  - header.search_library
  - header.library
  - game_details.already_in_library
  - game_details.create_shortcut_simple
  - game_details.properties
  - game_details.new_download_option
  - game_details.add_to_favorites
  - game_details.remove_from_favorites
  - game_details.failed_update_favorites
  - game_details.game_removed_from_library
  - game_details.failed_remove_from_library
  - game_details.files_removed_success
  - game_details.failed_remove_files
  - game_details.rating_count
  - game_details.show_more
  - game_details.show_less
  - game_details.reviews
  - game_details.review_played_for
  - game_details.leave_a_review
  - game_details.write_review_placeholder
  - game_details.sort_newest
  - game_details.no_reviews_yet
  - game_details.be_first_to_review
  - game_details.sort_oldest
  - game_details.sort_highest_score
  - game_details.sort_lowest_score
  - game_details.sort_most_voted
  - game_details.rating
  - game_details.rating_stats
  - game_details.rating_very_negative
  - game_details.rating_negative
  - game_details.rating_neutral
  - game_details.rating_positive
  - game_details.rating_very_positive
  - game_details.submit_review
  - game_details.submitting
  - game_details.review_submitted_successfully
  - game_details.review_submission_failed
  - game_details.review_cannot_be_empty
  - game_details.review_deleted_successfully
  - game_details.review_deletion_failed
  - game_details.loading_reviews
  - game_details.loading_more_reviews
  - game_details.load_more_reviews
  - game_details.you_seemed_to_enjoy_this_game
  - game_details.would_you_recommend_this_game
  - game_details.yes
  - game_details.maybe_later
  - game_details.backup_failed
  - game_details.update_playtime_title
  - game_details.update_playtime_description
  - game_details.update_playtime
  - game_details.update_playtime_success
  - game_details.update_playtime_error
  - game_details.update_game_playtime
  - game_details.manual_playtime_warning
  - game_details.manual_playtime_tooltip
  - game_details.game_removed_from_pinned
  - game_details.game_added_to_pinned
  - game_details.artifact_renamed
  - game_details.rename_artifact
  - game_details.rename_artifact_description
  - game_details.artifact_name_label
  - game_details.artifact_name_placeholder
  - game_details.save_changes
  - game_details.required_field
  - game_details.max_length_field
  - game_details.freeze_backup
  - game_details.unfreeze_backup
  - game_details.backup_frozen
  - game_details.backup_unfrozen
  - game_details.backup_freeze_failed
  - game_details.backup_freeze_failed_description
  - game_details.edit_game_modal_button
  - game_details.game_details
  - game_details.currency_symbol
  - game_details.currency_country
  - game_details.prices
  - game_details.no_prices_found
  - game_details.view_all_prices
  - game_details.retail_price
  - game_details.keyshop_price
  - game_details.historical_retail
  - game_details.historical_keyshop
  - game_details.language
  - game_details.caption
  - game_details.audio
  - game_details.filter_by_source
  - game_details.no_repacks_found
  - game_details.delete_review
  - game_details.remove_review
  - game_details.delete_review_modal_title
  - game_details.delete_review_modal_description
  - game_details.delete_review_modal_delete_button
  - game_details.delete_review_modal_cancel_button
  - game_details.vote_failed
  - game_details.show_original
  - game_details.show_translation
  - game_details.show_original_translated_from
  - game_details.hide_original
  - game_details.review_from_blocked_user
  - game_details.show
  - game_details.hide
  - settings.adding
  - settings.failed_add_download_source
  - settings.download_source_already_exists
  - settings.download_source_pending_matching
  - settings.download_source_matched
  - settings.download_source_matching
  - settings.download_source_failed
  - settings.download_source_no_information
  - settings.removed_all_download_sources
  - settings.download_sources_synced_successfully
  - settings.importing
  - settings.hydra_cloud
  - settings.debrid
  - settings.debrid_description
  - settings.enable_steam_achievements
  - settings.achievement_sound_volume
  - settings.select_achievement_sound
  - settings.change_achievement_sound
  - settings.remove_achievement_sound
  - settings.preview_sound
  - settings.select
  - settings.preview
  - settings.remove
  - settings.no_sound_file_selected
  - settings.autoplay_trailers_on_game_page
  - settings.hide_to_tray_on_game_start
  - game_card.calculating
  - user_profile.amount_hours_short
  - user_profile.amount_minutes_short
  - user_profile.pinned
  - user_profile.sort_by
  - user_profile.achievements_earned
  - user_profile.played_recently
  - user_profile.playtime
  - user_profile.manual_playtime_tooltip
  - user_profile.error_adding_friend
  - user_profile.friend_code_length_error
  - user_profile.game_removed_from_pinned
  - user_profile.game_added_to_pinned
  - user_profile.karma
  - user_profile.karma_count
  - user_profile.karma_description
  - user_profile.user_reviews
  - user_profile.delete_review
  - user_profile.loading_reviews
  - library.library
  - library.play
  - library.download
  - library.downloading
  - library.game
  - library.games
  - library.grid_view
  - library.compact_view
  - library.large_view
  - library.no_games_title
  - library.no_games_description
  - library.amount_hours
  - library.amount_minutes
  - library.amount_hours_short
  - library.amount_minutes_short
  - library.manual_playtime_tooltip
  - library.all_games
  - library.recently_played
  - library.favorites
2025-11-12 18:46:18 +03:00
Zamitto
c2216bbf95 feat: use jpg for system notifications 2025-11-12 08:17:53 -03:00
Zamitto
f84917a00b feat: get user static image on notifications 2025-11-12 08:07:51 -03:00
Zamitto
94ebf94abc fix: use local achievement cache for unlocked achievement count 2025-11-12 07:21:28 -03:00
Zamitto
cd3fa10bf7 chore: fix version code
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
2025-11-11 18:27:53 -03:00
Zamitto
a57cc83076 Merge branch 'release/v3.7.5' 2025-11-11 18:17:53 -03:00
Zamitto
c75a6ad439 fix: using achievement count data from api 2025-11-11 18:15:26 -03:00
Moyase
05d68fa23b Merge pull request #1856 from hydralauncher/fix/library-game-card
fix: custom assets not being showed in library page
2025-11-11 22:10:24 +02:00
Moyasee
527a65e9bc feat: remembering the view user left the library and restoring it on opening library again 2025-11-11 22:07:42 +02:00
Moyasee
fe6bb5763d fix: deleting game from context menu doesnt work in library 2025-11-11 22:03:33 +02:00
Moyasee
002dff098c fix: custom assets not being showed in library page 2025-11-11 21:50:48 +02:00
Chubby Granny Chaser
436d1b74be ci: fixing format
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-11-11 18:35:18 +00:00
Chubby Granny Chaser
b89de065fe ci: fixing format 2025-11-11 18:33:28 +00:00
Chubby Granny Chaser
7fcdab07cb Merge pull request #1842 from hydralauncher/feat/displaying-new-game-update
Feat: displaying new game update
2025-11-11 18:23:42 +00:00
Chubby Granny Chaser
aebf6d1cae feat: adding translations for new label 2025-11-11 18:22:39 +00:00
Moyase
a2148dd1ef Merge branch 'main' into feat/displaying-new-game-update 2025-11-11 20:02:32 +02:00
Moyasee
8dc5be1bdf reverting changes 2025-11-11 20:01:28 +02:00
Moyasee
133168c6c7 Merge branch 'feat/displaying-new-game-update' of https://github.com/hydralauncher/hydra into feat/displaying-new-game-update 2025-11-11 16:32:37 +02:00
Moyasee
d59b96f446 fix: typescript error 2025-11-11 16:31:53 +02:00
Moyasee
a1eef4eab6 feat: check updates for installed games 2025-11-11 16:30:23 +02:00
Chubby Granny Chaser
25103e5eb7 ci: updating ci
Some checks failed
Build / build (ubuntu-latest) (push) Has been cancelled
Build / build (windows-2022) (push) Has been cancelled
2025-11-11 09:09:03 +00:00
Moyase
9cf0ef4b62 Merge branch 'main' into feat/displaying-new-game-update 2025-11-11 01:32:50 +02:00
Moyasee
1521d7c058 reverting changes 2025-11-11 01:29:04 +02:00
Moyasee
14eb0f8172 reverting changes 2025-11-11 01:27:24 +02:00
Moyasee
860030a510 fix: merging conflict 2025-11-11 01:23:37 +02:00
Moyasee
f0e4d241f9 Merge branch 'feat/displaying-new-game-update' of https://github.com/hydralauncher/hydra into feat/displaying-new-game-update 2025-11-11 01:15:13 +02:00
Moyasee
44b24ab63d feat: checking updates only for games with executables 2025-11-11 01:14:27 +02:00
Chubby Granny Chaser
7c1adb70ea fix: fixing lint 2025-11-10 23:07:52 +00:00
Chubby Granny Chaser
9854ed2f53 Merge pull request #1852 from hydralauncher/feat/custom-achievement-sound
Feat: custom achievement sound and volume changing
2025-11-10 22:59:34 +00:00
Chubby Granny Chaser
b8647a3300 Merge branch 'main' of https://github.com/hydralauncher/hydra into feat/custom-achievement-sound 2025-11-10 22:57:59 +00:00
Chubby Granny Chaser
95894484f1 feat: adding slider to achievement sound 2025-11-10 22:57:35 +00:00
Chubby Granny Chaser
6fc5a70722 feat: adding slider to achievement sound 2025-11-10 22:55:49 +00:00
Chubby Granny Chaser
399669a94c feat: adding slider to achievement sound 2025-11-10 22:55:17 +00:00
Chubby Granny Chaser
77b2fc3946 Merge pull request #1848 from hydralauncher/fix/library-ui
feat: library ui changes and searchbar removal
2025-11-10 22:55:02 +00:00
Chubby Granny Chaser
3472e90858 Merge branch 'main' into fix/library-ui 2025-11-10 22:53:52 +00:00
Chubby Granny Chaser
d80daa59d0 Merge branch 'main' into feat/custom-achievement-sound 2025-11-10 22:21:51 +00:00
Chubby Granny Chaser
46df34e8a5 feat: improving library 2025-11-10 22:20:44 +00:00
Chubby Granny Chaser
272b047ded Merge pull request #1844 from expload233/main
Add new translation for Chinese
2025-11-10 21:51:44 +00:00
Chubby Granny Chaser
dfba38aeed Merge branch 'main' into main 2025-11-10 21:51:20 +00:00
Moyasee
d54ff9a949 fix: eslint issues 2025-11-09 15:34:24 +02:00
Moyasee
e272470a7b feat: using theme name for folder instead themeid 2025-11-09 15:28:52 +02:00
Moyasee
53bc3551e1 Merge branch 'feat/custom-achievement-sound' of https://github.com/hydralauncher/hydra into feat/custom-achievement-sound 2025-11-09 04:20:48 +02:00
Moyasee
3daf28c882 fix: handling exception and ESLint issues 2025-11-09 04:19:52 +02:00
Moyase
e128dad4dd Merge branch 'main' into feat/custom-achievement-sound 2025-11-09 04:14:31 +02:00
Moyasee
65e2bb38a0 ci: formatting 2025-11-08 19:26:13 +02:00
Moyasee
5f09321728 Merge branch 'fix/library-ui' of https://github.com/hydralauncher/hydra into fix/library-ui 2025-11-08 19:25:29 +02:00
Moyasee
011559b499 fix: removed VirtualList component from large view 2025-11-08 19:24:43 +02:00
Moyasee
482d9b2f96 fix: ensure consistent custom sound detection across main and renderer processes 2025-11-08 15:14:12 +02:00
Moyase
c890b0fd56 Merge branch 'main' into fix/library-ui 2025-11-08 14:52:35 +02:00
Moyasee
cf48627a8d fix: extracter ternary operation 2025-11-08 14:51:10 +02:00
Moyasee
196413ee28 fix: duplicated lines 2025-11-08 14:48:42 +02:00
Moyasee
c3a4990a50 ci: performance optimizing in library 2025-11-08 14:28:54 +02:00
Chubby Granny Chaser
fa4c11e458 Merge pull request #1849 from hydralauncher/fix/surprise-me-button
Fix: surprise me button functionality
2025-11-08 08:18:13 +00:00
Chubby Granny Chaser
50b0a82204 feat: improving styles on randomizer button 2025-11-08 08:17:19 +00:00
Moyasee
b6bbf05da6 fix: theme editor layout positioning 2025-11-07 20:12:50 +02:00
Moyasee
154b6271a1 fix: removed unused function 2025-11-07 17:50:47 +02:00
Moyasee
a6cbaf6dc1 feat: custom achievement sound and volume changing) 2025-11-07 17:48:56 +02:00
Moyasee
6e6e0f7bb7 fix: duplicate next suggestion styling removal 2025-11-07 13:35:50 +02:00
Moyasee
893802be55 fix: next suggestion and title not being showed 2025-11-07 13:27:24 +02:00
Moyasee
3bef0c9269 feat: library ui changes and searchbar removal 2025-11-06 18:26:56 +02:00
Moyase
754e9c14b8 Merge pull request #1821 from iam-sahil/feat/library
Feat/library
2025-11-06 17:22:58 +02:00
ctrlcat0x
5e653be4c3 fix: add error logging in handleActionClick for better debugging 2025-11-06 19:11:20 +05:30
ctrlcat0x
cedf7e6e37 style: improve color contrast in various components and update prop types to readonly 2025-11-06 19:03:23 +05:30
Moyase
518a0e1cf4 Merge branch 'main' into feat/library 2025-11-06 14:57:22 +02:00
expload233
5f56a3d517 add translation 2025-11-04 15:47:44 +08:00
expload
2359c4cc5e Merge branch 'hydralauncher:main' into main 2025-11-04 15:31:03 +08:00
expload233
66bb5221c1 fix lint 2025-11-04 15:24:42 +08:00
Chubby Granny Chaser
7fa50dc5a7 feat: adding ws client back 2025-11-03 12:02:52 +00:00
expload233
088feaffc2 add missing translation for zh-CN 2025-11-03 19:02:11 +08:00
expload233
aa6b595b18 Fill in the missing entries 2025-11-03 18:53:02 +08:00
Chubby Granny Chaser
f49fea3032 ci: bump version
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-11-02 21:17:34 +00:00
Chubby Granny Chaser
595d39986d Merge pull request #1843 from hydralauncher/fix/fixing-datanodes
fix: fixing datanodes
2025-11-02 21:15:53 +00:00
Chubby Granny Chaser
ac01930d68 Merge branch 'main' into fix/fixing-datanodes 2025-11-02 21:14:49 +00:00
Chubby Granny Chaser
37caeb8047 fix: fixing datanodes 2025-11-02 21:13:44 +00:00
Chubby Granny Chaser
7d6eddb17e Merge pull request #1826 from hydralauncher/feat/reviews-in-profile
Feat: Showing User Reviews in profile
2025-11-02 20:46:47 +00:00
Chubby Granny Chaser
20338fa20b Merge branch 'main' into feat/displaying-new-game-update 2025-11-02 20:45:56 +00:00
Chubby Granny Chaser
48775e57fc feat: adding reviews to profile 2025-11-02 20:43:59 +00:00
Chubby Granny Chaser
fdc3fecd6f feat: adding reviews to profile 2025-11-02 20:42:42 +00:00
Chubby Granny Chaser
f0dc7478cf feat: adding reviews to profile 2025-11-02 20:29:16 +00:00
Chubby Granny Chaser
e7a437e839 Merge branch 'main' into feat/library 2025-11-02 20:23:44 +00:00
Chubby Granny Chaser
2e8da53d1a feat: adding infinite scroll 2025-11-02 20:23:12 +00:00
Chubby Granny Chaser
8794fbc742 Merge branch 'main' of https://github.com/hydralauncher/hydra into feat/reviews-in-profile 2025-11-02 17:31:06 +00:00
Chubby Granny Chaser
bf387aef3f feat: improving animations 2025-11-02 17:30:45 +00:00
Chubby Granny Chaser
c2a26b9750 Merge pull request #1832 from hydralauncher/feat/playtime-in-reviews
Feat: Playtime showing in review message
2025-11-02 17:29:28 +00:00
Moyase
3dc2a29114 Merge branch 'main' into feat/playtime-in-reviews 2025-11-02 19:25:31 +02:00
Chubby Granny Chaser
6ebf7766aa Merge branch 'main' into feat/reviews-in-profile 2025-11-02 17:04:58 +00:00
Moyasee
b578af4612 Merge branch 'feat/displaying-new-game-update' of https://github.com/hydralauncher/hydra into feat/displaying-new-game-update 2025-11-02 18:48:13 +02:00
Moyasee
6f6b7d49ac fix: removed void and converted conditional to boolean 2025-11-02 18:47:26 +02:00
Moyase
5c445f8a90 Merge branch 'main' into feat/displaying-new-game-update 2025-11-02 18:41:01 +02:00
Moyasee
87d35da9fc fix: deleted comments 2025-11-02 18:24:10 +02:00
Moyasee
5067cf163e feat: added new badge to repacks-modal, set up badge clearing 2025-11-02 18:22:37 +02:00
Moyasee
efab242c74 ci: showing new badge in repack-modal 2025-10-31 23:17:06 +02:00
Zamitto
19bf99ff11 chore: add sleep to aur script 2025-10-31 16:16:03 -03:00
Zamitto
9c00a17193 Merge branch 'release/v3.7.2' 2025-10-31 13:58:14 -03:00
Zamitto
d167628ed4 fix: prevent crash when detectedLanguage is null
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-31 13:57:15 -03:00
Zamitto
59cfce86ae Merge pull request #1841 from JarEXE/fix/achievement-notification-position
Fix: [Linux] achievement notification positioning on multi-monitor setups
2025-10-31 13:23:41 -03:00
Zamitto
51c4e4f5b3 chore: bump version 2025-10-31 13:07:06 -03:00
jarexe
138120460c fix: correct achievement notification positioning on multi-monitor setups 2025-10-31 10:57:44 -03:00
Zamitto
c71f5947ba feat: use new ep to track game playtime 2025-10-31 10:20:11 -03:00
Chubby Granny Chaser
ff8a61ff7a fix: fixing review partial 2025-10-31 12:05:24 +00:00
Chubby Granny Chaser
d1d46971b6 fix: fixing review partial 2025-10-31 12:03:35 +00:00
Chubby Granny Chaser
b8af69b0fb fix: fixing review partial 2025-10-31 12:01:42 +00:00
Zamitto
1af69465c1 Merge pull request #1839 from hydralauncher/fix/custom-games-requests
fix: requests for custom games
2025-10-31 07:08:51 -03:00
Chubby Granny Chaser
f6c12c22b5 Merge branch 'main' into feat/reviews-in-profile 2025-10-31 07:29:22 +00:00
Chubby Granny Chaser
539010d817 Merge branch 'main' into feat/playtime-in-reviews 2025-10-31 07:29:13 +00:00
Zamitto
aa148c0b70 fix: trim
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-30 20:01:47 -03:00
Moyase
a83a96f214 Merge pull request #1840 from hydralauncher/feat/catalogue-manual-pagination
fix: removed ability to enter non-number symbols to pagination
2025-10-31 00:46:39 +02:00
Moyasee
aadbda770b fix: linting issue, marked props as read-only 2025-10-31 00:19:49 +02:00
Moyasee
bd059cc7fa feat: update cursorrules 2025-10-30 23:45:29 +02:00
Moyasee
bbbf861594 fix: deleted comments 2025-10-30 23:36:41 +02:00
Moyasee
80e0adcd49 fix: removed ability to enter non-number symbols to pagination 2025-10-30 23:33:07 +02:00
Moyasee
4dd3c9de76 fix: formatting 2025-10-30 23:26:22 +02:00
Moyasee
101bc35460 feat: sidebar badge on new game download option 2025-10-30 23:21:31 +02:00
Zamitto
2aa31c0db0 feat: limit game text search to 255 chars 2025-10-30 15:34:49 -03:00
Zamitto
4bfe6d7f86 feat: limit game text search to 255 chars 2025-10-30 15:32:08 -03:00
Zamitto
aadf648a2b chore: unnecessary casting 2025-10-30 07:58:43 -03:00
Zamitto
87dbd548d0 Merge branch 'release/v3.7.2' into fix/custom-games-requests 2025-10-30 07:58:31 -03:00
Zamitto
459bf73121 fix: request download-sources on custom game
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-30 07:36:23 -03:00
Zamitto
a2ef0f304d fix: playtime count and custom games request on process watcher 2025-10-30 07:35:49 -03:00
Zamitto
b04561986e Merge pull request #1838 from hydralauncher/main
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
sync release 3.7.2
2025-10-29 23:07:16 -03:00
Zamitto
1bd88e6c6e Merge pull request #1837 from Stormm232/main
Updating Hungarian Translation
2025-10-29 23:06:22 -03:00
Kiwo.2
4ff8dc4fa7 Fix with Prettier 2025-10-30 02:32:18 +01:00
Kiwo.2
dcc671f999 Mistake Correction 2025-10-30 02:15:35 +01:00
Kiwo.2
6e76111e23 Missing Comma Fix 2025-10-30 02:10:02 +01:00
Kiwo.2
3fce26f1f7 Update to 3.7.2 2025-10-30 01:55:15 +01:00
Kiwo.2
90c5ccb796 Update to 3.7.2 2025-10-30 01:40:36 +01:00
Kiwo.2
41092c2dd4 Update to 3.7.2 2025-10-30 01:35:54 +01:00
Kiwo.2
6383b728bc Fix to the translation 2025-10-30 01:26:51 +01:00
Kiwo.2
4dd28bbbf1 Hungarian Translation 3.7.2 2025-10-30 01:12:29 +01:00
Zamitto
21074322fa Merge pull request #1836 from Wkeynhk/patch-6
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
Update Russian Translation
2025-10-29 20:32:30 -03:00
Wkeynhk
0e7e53478a Update translation.json 2025-10-30 00:47:30 +03:00
Zamitto
65e49550ad chore: fix aur package 2025-10-29 18:10:27 -03:00
Zamitto
0990951183 chore: fix aur package 2025-10-29 18:06:46 -03:00
Zamitto
53c162f0e4 feat: add i18n 2025-10-29 17:55:55 -03:00
Zamitto
2fb44a6c0e chore: remove build renderer trigger on main 2025-10-29 15:49:43 -03:00
Zamitto
49c2bc34d1 Merge branch 'release/v3.7.2' 2025-10-29 15:48:44 -03:00
Zamitto
ef52d710ed Merge branch 'main' into feat/reviews-in-profile 2025-10-29 15:28:39 -03:00
Zamitto
31d57a784e Merge branch 'main' into feat/playtime-in-reviews 2025-10-29 15:28:37 -03:00
Zamitto
49df40650c chore: prettier 2025-10-29 15:27:36 -03:00
Chubby Granny Chaser
499a830e3e chore: sync with main 2025-10-29 18:23:06 +00:00
Chubby Granny Chaser
437b0a3b19 Merge branch 'main' of https://github.com/hydralauncher/hydra into release/v3.7.2 2025-10-29 18:21:39 +00:00
Chubby Granny Chaser
d59ff5c484 Merge pull request #1814 from whintersnow0/refactor/remove-unnecessary-usememo
refactor: remove unnecessary useMemo hooks
2025-10-29 18:20:21 +00:00
Chubby Granny Chaser
dcf13a5920 Merge branch 'main' into refactor/remove-unnecessary-usememo 2025-10-29 18:19:39 +00:00
Chubby Granny Chaser
51861752a1 Merge pull request #1816 from hydralauncher/feat/improving-sources
feat: moving sources to worker
2025-10-29 18:19:35 +00:00
Chubby Granny Chaser
fb29152a0b Merge branch 'main' into feat/improving-sources 2025-10-29 18:19:07 +00:00
Zamitto
19bbbbfb77 Merge pull request #1835 from hydralauncher/fix/custom-assets-sizing
fix: images with big height breaking layout
2025-10-29 15:13:21 -03:00
Chubby Granny Chaser
952d4d9ee2 Merge branch 'main' into feat/improving-sources 2025-10-29 18:13:05 +00:00
Moyasee
ad588b5600 fix: images with big height breaking layout 2025-10-29 19:51:09 +02:00
Chubby Granny Chaser
2fce12eba7 Merge branch 'main' into feat/reviews-in-profile 2025-10-29 16:55:36 +00:00
Chubby Granny Chaser
1427775c98 Merge branch 'main' into feat/playtime-in-reviews 2025-10-29 16:55:26 +00:00
Zamitto
c24ad34bc7 fix: hltb and achievements being called for custom games
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-29 12:42:39 -03:00
Zamitto
4f2c3105ce Merge pull request #1834 from hydralauncher/fix/custom-games-unnecessary-requests
fix: disabling unnecessary api calls when game is custom
2025-10-29 12:07:40 -03:00
Moyasee
feedcb1dc7 feat: disabled assets request for custom games 2025-10-29 16:49:51 +02:00
Moyasee
4b8d64c72b feat: disabled favorite/unfavorite get request for custom games 2025-10-29 16:44:48 +02:00
Moyasee
dff68a3e26 fix: removed comments 2025-10-29 16:22:12 +02:00
Moyasee
58bdbdab71 fix: disabling unnecessary api calls if game is custom 2025-10-29 16:16:11 +02:00
Chubby Granny Chaser
e143fadf38 fix: fixing import
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-29 02:55:37 +00:00
Chubby Granny Chaser
f99f8d9554 feat: forcing dev tools 2025-10-29 02:32:45 +00:00
Chubby Granny Chaser
274080069f feat: forcing dev tools 2025-10-29 02:12:17 +00:00
Chubby Granny Chaser
b1069426e4 chore: sync with main 2025-10-29 01:47:35 +00:00
Chubby Granny Chaser
dc6d578462 chore: sync with main 2025-10-28 23:49:09 +00:00
Chubby Granny Chaser
8a12c6e088 chore: sync with main 2025-10-28 23:26:28 +00:00
Chubby Granny Chaser
b795cea599 Merge branch 'main' of https://github.com/hydralauncher/hydra into release/v3.7.2 2025-10-28 23:20:44 +00:00
Chubby Granny Chaser
574a012d8c Merge pull request #1833 from hydralauncher/feat/settings-trailer-and-launch
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
Feat: New behavior settings: Trailers Auto-play and Hide on game launch
2025-10-28 23:11:57 +00:00
Chubby Granny Chaser
8e3bf29a21 Merge branch 'main' into feat/settings-trailer-and-launch 2025-10-28 23:11:19 +00:00
Chubby Granny Chaser
f6d21baff5 Merge pull request #1831 from hydralauncher/feat/catalogue-manual-pagination
Feat: Manual selection of the page in catalogue.
2025-10-28 23:09:53 +00:00
Chubby Granny Chaser
b2b7b36f70 Merge branch 'main' into feat/catalogue-manual-pagination 2025-10-28 23:08:46 +00:00
Chubby Granny Chaser
dc8a19e845 ci: adding ci vars 2025-10-28 23:02:40 +00:00
Chubby Granny Chaser
ce0619bbe3 ci: adding releases 2025-10-28 22:40:06 +00:00
Chubby Granny Chaser
4acb7f7001 Merge branch 'feat/improving-sources' of https://github.com/hydralauncher/hydra into feat/improving-sources 2025-10-28 21:38:24 +00:00
Chubby Granny Chaser
a11b3e8877 ci: fixing release pipeline 2025-10-28 21:38:07 +00:00
Chubby Granny Chaser
6b96c99bb1 ci: fixing release pipeline 2025-10-28 21:37:28 +00:00
Moyasee
dbf5d7afc7 fix: multiple imports 2025-10-28 17:43:19 +02:00
Moyasee
bfc4bb1a83 ci: formatting 2025-10-28 17:36:11 +02:00
Moyasee
120aad6c1c feat: Hide to tray on game startup and ability to disable trailers auto-play 2025-10-28 17:34:20 +02:00
Zamitto
1123aaa65e chore: remove zod dep 2025-10-28 06:48:42 -03:00
Zamitto
2f8d241ded Merge pull request #1829 from hydralauncher/chore/bump-electron-version
chore: bump electron version
2025-10-27 18:16:35 -03:00
Zamitto
61072aa02a fix: add theme editor dev tools back
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-27 15:25:18 -03:00
Zamitto
ddd6af0d4c fix: add theme editor dev tools back 2025-10-27 15:22:47 -03:00
Moyasee
5c770bc7e7 fix: unnecessary assertion 2025-10-27 20:12:24 +02:00
Moyasee
b431ed479c fix: converted conditional to boolean 2025-10-27 20:07:08 +02:00
Moyasee
9e09a5decb fix: translation key fix and formatting 2025-10-27 19:28:29 +02:00
Moyasee
1e1a1c61c9 feat: showing playtime in review and changed positions of elements in review 2025-10-27 19:22:59 +02:00
Chubby Granny Chaser
fc6068d603 fix: fixing dlls 2025-10-27 12:33:29 +00:00
Chubby Granny Chaser
3ab1e29578 ci: testing windows 2025-10-27 10:47:19 +00:00
Chubby Granny Chaser
1effa80311 ci: testing windows 2025-10-27 10:35:20 +00:00
Chubby Granny Chaser
549e1270ee ci: testing windows 2025-10-27 09:56:45 +00:00
Chubby Granny Chaser
eb006c5e90 ci: testing windows 2019 2025-10-27 09:51:11 +00:00
Chubby Granny Chaser
54632bd06d ci: testing windows 2019 2025-10-27 09:16:55 +00:00
Zamitto
a073cf7f8c chore: bump electron vite version 2025-10-27 04:50:32 -03:00
Chubby Granny Chaser
6921bfa3ff ci: testing windows 2019 2025-10-27 07:41:58 +00:00
Chubby Granny Chaser
2835207d79 fix: fixing download sources import status 2025-10-27 04:12:19 +00:00
Chubby Granny Chaser
2a90faeb42 fix: persisting is remote 2025-10-27 01:42:02 +00:00
Chubby Granny Chaser
87a57f7a37 feat: adding sources migration 2025-10-26 23:22:20 +00:00
Chubby Granny Chaser
7c272aeed8 Merge branch 'main' into feat/improving-sources 2025-10-26 21:42:58 +00:00
Moyasee
6565ce5316 fix: moved component out of parent component 2025-10-26 19:59:43 +02:00
Moyasee
fee3a4522a fix: duplications 2025-10-26 19:49:15 +02:00
Moyasee
cb3e52de34 fix: go to page button did not appear correctly for the last pages 2025-10-26 19:37:57 +02:00
Moyasee
7f2343413e feat: added manual page selection and changed functionality of pagination 2025-10-26 17:26:25 +02:00
Zamitto
ee35bc24b2 chore: undo remove hydra api logs
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-24 21:11:56 -03:00
Zamitto
4471bf0f8b chore: bump to electron 37 2025-10-24 21:05:40 -03:00
Zamitto
f239562bb3 Merge branch 'main' into chore/bump-electron-version 2025-10-24 21:05:00 -03:00
Zamitto
11c19f5fe5 chore: downgrade to latest of 34 2025-10-24 20:47:24 -03:00
Chubby Granny Chaser
0c7767de36 fix: remove unused useRef import
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-24 18:22:46 +01:00
Chubby Granny Chaser
a3d700bb60 feat: improving skeleton 2025-10-24 18:01:37 +01:00
Chubby Granny Chaser
881564daa7 fix: fixing game hero 2025-10-24 17:13:36 +01:00
Zamitto
ab50271399 Merge pull request #1830 from Lianela/main
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
feat: added missing strings and fixed typo
2025-10-24 06:57:48 -03:00
Zamitto
2c1a8bf639 Remove extra newline in Spanish translation file 2025-10-24 06:42:39 -03:00
Kyatto
362774a3cc fix: comma 2025-10-23 23:53:16 -07:00
Kyatto
dec0af8a80 feat: translated new strings 2025-10-23 23:49:18 -07:00
Moyasee
8de6c92d28 ci: formatting 2025-10-24 08:19:55 +03:00
Zamitto
29e822f2f1 fix: node version on gh actions files 2025-10-23 17:56:45 -03:00
Zamitto
a388acf948 chore: update node version on gh actions 2025-10-23 17:51:15 -03:00
Zamitto
40f7e6e2ad chore: bump electron version to 35 2025-10-23 17:47:54 -03:00
Zamitto
8aaa85e009 Merge pull request #1825 from GrimmDevel/translation-update
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
Added Latvian translation
2025-10-23 17:43:14 -03:00
Zamitto
d1c09299b1 Merge branch 'main' into translation-update 2025-10-23 17:19:02 -03:00
Zamitto
0a8db2a976 Fix newline at end of .env.example file 2025-10-23 17:18:46 -03:00
Zamitto
ef8c6c90fb remove debug 2025-10-23 17:16:54 -03:00
Zamitto
03770c03f1 debug 2025-10-23 17:14:08 -03:00
Zamitto
e23ee8940c debug 2025-10-23 17:06:55 -03:00
Zamitto
089d417950 debug 2025-10-23 17:04:35 -03:00
GrimmDevel
8a64b5e245 Fix 2025-10-23 23:04:02 +03:00
Grimm
fb93f06901 Merge branch 'main' into translation-update 2025-10-23 23:01:23 +03:00
Zamitto
7fc9962e04 chore: create builder user to run makepkg 2025-10-23 16:55:51 -03:00
Zamitto
2179086285 install missing arch package 2025-10-23 16:34:47 -03:00
Zamitto
0814c08459 update aur 2025-10-23 16:30:01 -03:00
Zamitto
9e84cd970e update aur 2025-10-23 16:24:49 -03:00
Zamitto
321d170634 force different version to test script 2025-10-23 16:13:24 -03:00
Zamitto
b96e6095dc update aur 2025-10-23 16:03:51 -03:00
Moyasee
29e1713824 fix: upvote/downvote button arent being disabled after click 2025-10-23 20:06:37 +03:00
Zamitto
e12fdf8f8f remove js script 2025-10-23 12:45:09 -03:00
Zamitto
52714e3323 remove v from tag 2025-10-23 12:38:31 -03:00
Zamitto
2529bdf5ca fix 2025-10-23 12:33:19 -03:00
Zamitto
6545c7d7cd update aur 2025-10-23 12:22:08 -03:00
Zamitto
7f28929c68 update yml 2025-10-23 12:19:12 -03:00
Zamitto
19d8a09f9d update aur 2025-10-23 12:17:02 -03:00
Zamitto
00e716375e clone with https for testing 2025-10-23 12:13:13 -03:00
Zamitto
95a5c3716c update-aur 2025-10-23 12:06:37 -03:00
Zamitto
4d3ba51b61 update-aur.yml 2025-10-23 11:47:38 -03:00
Zamitto
a1552020c0 chore: update aur
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-23 11:22:54 -03:00
Zamitto
65ae5991e7 chore: update-aur 2025-10-23 11:14:41 -03:00
Zamitto
805d67d2d1 fix: add missing package 2025-10-23 10:56:39 -03:00
Moyasee
81a77411cc ci: fix gap between game image and game name in reviews 2025-10-23 16:54:18 +03:00
Zamitto
313f2cd585 chore: try fixing action 2025-10-23 10:52:53 -03:00
Zamitto
1e8983d0c0 chore: add openssh in arch packages 2025-10-23 10:23:40 -03:00
Zamitto
face259167 chore: dont apply aur changes on workflow_dispatch 2025-10-23 10:02:31 -03:00
Zamitto
09b54addc1 Merge pull request #1827 from hydralauncher/chore/update-aur-on-release
chore: action to update aur
2025-10-23 09:59:35 -03:00
Zamitto
9a278dc614 chore: action to update aur 2025-10-23 09:49:30 -03:00
Moyasee
cc95deb709 fix: proreply reseting user reviews on profile changing 2025-10-23 14:40:02 +03:00
Moyasee
daf9751cf6 ci: import formatting 2025-10-23 14:27:03 +03:00
Moyasee
d21ec52814 ci: deleted comments 2025-10-23 12:06:23 +03:00
Moyasee
f539977431 fix: refactoring functions to prevent nesting more than 4 lvls 2025-10-23 11:53:35 +03:00
Moyasee
3ff20417d5 fix: extracted ternary operation 2025-10-23 11:37:50 +03:00
Moyasee
65f83399f5 ci: merge 2025-10-23 11:29:27 +03:00
Moyasee
eb34f051e1 Merge branch 'feat/reviews-in-profile' of https://github.com/hydralauncher/hydra into feat/reviews-in-profile 2025-10-23 11:28:40 +03:00
Moyasee
ab27f3295e fix: duplicate selectors and if statements should not be the only statement 2025-10-23 11:26:29 +03:00
Chubby Granny Chaser
3782f79100 Merge branch 'main' into feat/reviews-in-profile 2025-10-23 09:15:57 +01:00
Chubby Granny Chaser
214e8f9538 Merge pull request #1824 from spectre365/game-page-interface-changes
Interface modification for the default game page
2025-10-23 09:12:18 +01:00
Moyasee
86ab5b107b ci: formatting 2025-10-23 10:34:15 +03:00
Moyasee
acf8f340dd ci: review message ui change and fix loading reviews positioning 2025-10-23 10:33:29 +03:00
ctrlcat0x
f5470b29c0 style: adjust hover effects and dimensions for game cards; refine context menu actions 2025-10-23 10:58:31 +05:30
GrimmDevel
3df07fefe5 fixed lint error 2025-10-23 00:59:38 +03:00
GrimmDevel
00e597c910 Added Latvian translation 2025-10-23 00:51:00 +03:00
spectre365
a7b5bdb3b4 Interface modification for the default game page 2025-10-22 18:03:24 -03:00
spectre365
99e34ce060 Interface modification for the default game page 2025-10-22 17:56:20 -03:00
spectre365
f0421d9fe0 Interface modification for the default game page 2025-10-22 17:51:31 -03:00
spectre365
ca35da37ed Interface modification for the default game page 2025-10-22 17:20:48 -03:00
spectre365
7435bff64f Interface modification for the default game page 2025-10-22 17:17:37 -03:00
spectre365
864fd282f0 Interface modification for the default game page 2025-10-22 16:42:21 -03:00
spectre365
945173f48e Interface modification for the default game page 2025-10-22 16:32:39 -03:00
Moyasee
035f6e8d24 ci: formatting 2025-10-22 22:05:05 +03:00
Moyasee
362d6b634e feat: added reviews in profile and tabs 2025-10-22 21:13:05 +03:00
ctrlcat0x
a0a967aacd style: update compact view styles for game cards; adjust grid layout and add button order 2025-10-22 18:28:24 +05:30
ctrlcat0x
e19102ea66 style: update active state styles for filter and view options; adjust achievement progress bar styles 2025-10-22 16:12:12 +05:30
ctrlcat0x
107b61f663 style: update active state colors for filter and view options 2025-10-22 14:46:25 +05:30
ctrlcat0x
811a6ad955 refactor: remove unused imports and download logic from LibraryGameCard 2025-10-22 14:42:47 +05:30
ctrlcat0x
6fb8bbf744 he commit 2025-10-22 14:29:55 +05:30
ctrlcat0x
459017a4a6 Merge branch 'main' of https://github.com/hydralauncher/hydra into feat/game-library 2025-10-22 14:28:00 +05:30
Sahil Rana
d6ff8f670e Merge branch 'main' into feat/game-library 2025-10-22 14:26:09 +05:30
ctrlcat0x
33e0d50966 feat: add achievements tracking to game library
- Updated `get-library.ts` to include unlocked and total achievement counts for each game.
- Removed `library-game-card-detailed.tsx` and its associated styles as part of the refactor.
- Enhanced `library-game-card-large.tsx` to display achievements with progress bars.
- Modified `library-game-card.scss` and `library-game-card-large.scss` to style the achievements section.
- Introduced a new `search-bar` component for filtering the game library.
- Implemented fuzzy search functionality in the library view.
- Updated `view-options` to improve UI consistency.
- Added achievement-related properties to the `LibraryGame` type in `index.ts`.
- Created a new `copilot-instructions.md` for project guidelines.
2025-10-22 14:24:04 +05:30
Chubby Granny Chaser
73e378e26a Merge branch 'main' into refactor/remove-unnecessary-usememo 2025-10-21 21:11:37 +01:00
Zamitto
0d60ec8801 Merge pull request #1818 from slakgosh/main
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
Added finnish translation
2025-10-21 15:46:19 -03:00
Chubby Granny Chaser
3782d74ad2 Merge branch 'feat/improving-sources' of github.com:hydralauncher/hydra into feat/improving-sources 2025-10-21 04:22:17 +01:00
Chubby Granny Chaser
8a40c678f7 feat: using api download sources 2025-10-21 04:21:56 +01:00
Chubby Granny Chaser
e1ce5bc6cb feat: using api download sources 2025-10-21 04:20:11 +01:00
Chubby Granny Chaser
48ce9a2476 feat: using api download sources 2025-10-21 04:18:11 +01:00
Chubby Granny Chaser
2909be312a Merge branch 'main' into feat/improving-sources 2025-10-21 03:59:49 +01:00
Sahil Rana
361073d3f8 Merge branch 'main' into feat/game-library 2025-10-20 23:51:13 +05:30
ctrlcat0x
d168e20385 feat(library): implement large game card and enhance library UI
- Added `LibraryGameCardLarge` component for displaying games in a larger format with improved styling and animations.
- Introduced SCSS styles for the large game card, including hover effects and gradient overlays.
- Updated `LibraryGameCard` component to support mouse enter and leave events for better interaction.
- Enhanced the library view options with new styles and functionality for switching between grid, compact, and large views.
- Improved overall layout and responsiveness of the library page, ensuring a better user experience across different screen sizes.
- Added tooltips for playtime information and context menus for game actions.
2025-10-20 23:43:47 +05:30
Zamitto
0575e837c8 fix: game achievement cache
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-20 08:26:28 -03:00
Domas Linkis
5ff15b30b2 Added finnish lang
Worstest 2 hours of my life
2025-10-19 13:47:42 +05:00
Domas Linkis
2f1185bbf9 Finnish Language 2025-10-19 13:38:04 +05:00
Domas Linkis
19a57cb1e0 Added ukrainian lang 2025-10-19 13:30:10 +05:00
Chubby Granny Chaser
d2089ec7d4 Merge branch 'main' into feat/improving-sources 2025-10-18 14:08:31 +01:00
Chubby Granny Chaser
c2273dbf71 feat: moving sources to worker 2025-10-18 14:07:44 +01:00
Chubby Granny Chaser
bbd9ff76c4 Merge pull request #1815 from hydralauncher/feat/adding-review-translations
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
feat: adding translations
2025-10-17 15:38:30 +01:00
Chubby Granny Chaser
39e76f458f Merge branch 'main' into feat/adding-review-translations 2025-10-17 15:38:20 +01:00
Chubby Granny Chaser
393c55738c feat: removing pre and code 2025-10-17 15:33:10 +01:00
Chubby Granny Chaser
24f7ecb795 feat: adding translations 2025-10-17 15:04:42 +01:00
Zamitto
97b27a1785 fix: handle user not found on user-profile.context
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-16 11:01:20 -03:00
whintersnow0
3dc71a8d1f refactor: remove unnecessary useMemo hooks 2025-10-15 19:19:08 +02:00
Chubby Granny Chaser
e7ee049df5 ci: fixing env var
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-15 16:39:59 +01:00
Chubby Granny Chaser
f5a6a5c359 Merge pull request #1813 from hydralauncher/feat/remove-dexie
Feat/remove dexie
2025-10-15 16:05:41 +01:00
Chubby Granny Chaser
2cec9f6298 Merge branch 'feat/remove-dexie' of github.com:hydralauncher/hydra into feat/remove-dexie 2025-10-15 16:03:27 +01:00
Chubby Granny Chaser
5639c09c22 feat: improving caching 2025-10-15 16:02:50 +01:00
Chubby Granny Chaser
abc7d29e28 Merge branch 'main' into feat/remove-dexie 2025-10-15 15:59:28 +01:00
Chubby Granny Chaser
074d9d4fe2 feat: improving caching 2025-10-15 15:59:03 +01:00
Chubby Granny Chaser
24106eaeab feat: improving caching 2025-10-15 13:58:40 +01:00
Chubby Granny Chaser
136a44473f feat: adding o1 cache 2025-10-14 19:26:39 +01:00
Chubby Granny Chaser
41227b125e feat: improving performance on sources 2025-10-14 17:42:59 +01:00
Chubby Granny Chaser
311555386e fix: fixing bug with sources 2025-10-14 15:49:02 +01:00
Zamitto
a4cc35fc20 chore: update i18n strings
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-14 11:27:40 -03:00
Chubby Granny Chaser
aba206452f feat: improving gallery slider 2025-10-14 14:56:47 +01:00
Chubby Granny Chaser
0a5626c745 Merge branch 'feat/remove-dexie' of github.com:hydralauncher/hydra into feat/remove-dexie 2025-10-14 14:53:18 +01:00
Chubby Granny Chaser
bfa2fd6166 feat: improving download source import code 2025-10-14 14:52:47 +01:00
Chubby Granny Chaser
d530d7918a Merge branch 'main' into feat/remove-dexie 2025-10-14 13:22:33 +01:00
Chubby Granny Chaser
c60753547c feat: removing dexie 2025-10-14 13:18:42 +01:00
Chubby Granny Chaser
1a99305aa0 feat: removing dexie 2025-10-14 13:15:09 +01:00
Zamitto
89a60b7d76 Merge pull request #1811 from whintersnow0/fix/add-missing-uk-translations
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
fix: add missing uk translations
2025-10-14 05:44:49 -03:00
Chubby Granny Chaser
f9c585d12f ci: triggering
Some checks failed
Build Renderer / build (push) Has been cancelled
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-14 00:37:07 +01:00
Chubby Granny Chaser
594332ba53 ci: triggering 2025-10-14 00:34:01 +01:00
Chubby Granny Chaser
528dfafb93 ci: triggering 2025-10-14 00:23:40 +01:00
Chubby Granny Chaser
7980027a98 ci: triggering 2025-10-14 00:23:31 +01:00
Chubby Granny Chaser
1fedd8ffdd ci: triggering 2025-10-14 00:17:28 +01:00
Chubby Granny Chaser
2cad70a42e ci: triggering 2025-10-14 00:03:46 +01:00
Chubby Granny Chaser
7b2de7b310 Merge pull request #1812 from hydralauncher/feat/ota
Feat/ota
2025-10-13 23:56:39 +01:00
Chubby Granny Chaser
32b9f88702 feat: adding ota updates 2025-10-13 23:56:16 +01:00
Chubby Granny Chaser
c9fc4dfc02 feat: adding ota updates 2025-10-13 23:55:33 +01:00
Chubby Granny Chaser
0ae3e35cb4 feat: adding ota updates 2025-10-13 23:53:44 +01:00
Chubby Granny Chaser
cd136c07a6 ci: prod deployment wrangler 2025-10-13 23:20:26 +01:00
Chubby Granny Chaser
6e243822ff ci: prod deployment wrangler 2025-10-13 23:16:26 +01:00
Chubby Granny Chaser
12274b8c57 ci: prod deployment wrangler 2025-10-13 23:13:23 +01:00
whintersnow0
e1ee3a47d6 fix: add missing uk translations 2025-10-14 00:02:06 +02:00
Chubby Granny Chaser
a8bbb76190 ci: testing build 2025-10-13 22:59:09 +01:00
Chubby Granny Chaser
59d4545476 ci: testing build 2025-10-13 22:54:15 +01:00
Chubby Granny Chaser
621adbb1ab ci: testing build 2025-10-13 22:51:53 +01:00
Zamitto
d530c384c9 Merge pull request #1809 from whintersnow0/fix/get-user-data-db
fix: race condition in getUserData database update
2025-10-13 18:03:01 -03:00
Zamitto
d8e30a3f2f Merge pull request #1808 from hydralauncher/fix/game-not-auto-detecting-exe-on-linux
fix: game not auto detecting exe on linux
2025-10-13 18:02:42 -03:00
Chubby Granny Chaser
5e59e1a7d1 feat: adding uuid library 2025-10-13 18:12:07 +01:00
Chubby Granny Chaser
fc541daaed feat: adding uuid library 2025-10-13 18:08:41 +01:00
Chubby Granny Chaser
53d81018e9 feat: adding uuid library 2025-10-13 18:05:48 +01:00
Chubby Granny Chaser
25758a540f ci: adding dockerfile 2025-10-13 17:45:51 +01:00
Chubby Granny Chaser
e5659543ce ci: adding dockerfile 2025-10-13 17:01:45 +01:00
whintersnow0
612350ac19 fix: race condition in getUserData database update 2025-10-13 16:42:31 +02:00
Zamitto
b9c7f992dc fix: aria2 process not being killed 2025-10-13 09:10:31 -03:00
Zamitto
97dc7653b0 chore: bump deps 2025-10-13 09:10:12 -03:00
Zamitto
330f38776f feat: change disk usage library as old one did not compile with more recent electron 2025-10-13 08:18:54 -03:00
Zamitto
b874138641 fix: also test executable name without extension 2025-10-13 08:17:50 -03:00
Chubby Granny Chaser
a439095260 fix: fixing hu translation
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-12 22:51:41 +01:00
Chubby Granny Chaser
5ff263e8c8 Merge pull request #1807 from Stormm232/main
Hungarian Translation: Aligned to latest update.
2025-10-12 22:46:06 +01:00
Kiwo.2
864c47ee46 Missing "," fix 2025-10-12 23:45:34 +02:00
Kiwo.2
523e19d97a Merge branch 'main' into main 2025-10-12 23:41:08 +02:00
Zamitto
03b2c8d07f fix: missing abortController after assets promise 2025-10-12 18:32:06 -03:00
Kiwo.2
d296830533 Matching *HU* translation to Latest 2025-10-12 23:30:52 +02:00
Kiwo.2
8203399eda Matching to Latest Update 2025-10-12 23:27:20 +02:00
Kiwo.2
7fc4e17547 Merge branch 'hydralauncher:main' into main 2025-10-12 23:26:16 +02:00
Chubby Granny Chaser
636cf287c9 Merge branch 'main' of github.com:hydralauncher/hydra 2025-10-12 22:06:16 +01:00
Chubby Granny Chaser
84be238988 ci: version bump 2025-10-12 22:05:53 +01:00
Chubby Granny Chaser
494a2a0da5 Merge pull request #1806 from hydralauncher/fix/game_asset_changing_path
Fix: game asset changing path
2025-10-12 20:56:00 +01:00
Moyase
4e912b3b8d Merge branch 'main' into fix/game_asset_changing_path 2025-10-12 22:52:45 +03:00
Moyasee
e71211f1aa Fix: extracted ternary operations 2025-10-12 22:51:35 +03:00
Moyasee
a946f3bd5a Fix: extracted ternary operations 2025-10-12 22:48:33 +03:00
Chubby Granny Chaser
374b62983b feat: adding 2h constraint 2025-10-12 20:48:13 +01:00
Moyasee
0cd4c3ccf6 Fix: extracted ternary operations 2025-10-12 22:45:20 +03:00
Moyasee
7b97663b3a Merge branch 'fix/game_asset_changing_path' of https://github.com/hydralauncher/hydra into fix/game_asset_changing_path 2025-10-12 22:40:07 +03:00
Moyasee
68e2e2a772 Fix: conditional structure 2025-10-12 22:39:26 +03:00
Moyase
39979292e2 Merge branch 'main' into fix/game_asset_changing_path 2025-10-12 22:37:28 +03:00
Moyasee
60ae7d40fa Fix: Image path persists upon clearing image 2025-10-12 22:34:05 +03:00
Chubby Granny Chaser
63b6b0b44e Merge pull request #1805 from hydralauncher/feat/reviews-and-commenting
fix: fixing search on sources modal
2025-10-12 20:17:22 +01:00
Chubby Granny Chaser
6b6dfc7adc Merge branch 'main' into feat/reviews-and-commenting 2025-10-12 20:17:11 +01:00
Chubby Granny Chaser
7c33c43d9c fix: fixing search on sources modal 2025-10-12 20:16:37 +01:00
Moyasee
82c0dc0d97 Merge branch 'main' of https://github.com/hydralauncher/hydra into fix/game_asset_changing_path 2025-10-12 22:13:09 +03:00
Moyasee
1cba3f350c formatting 2025-10-12 22:12:15 +03:00
Chubby Granny Chaser
5d0f036de2 Merge pull request #1801 from hydralauncher/feat/reviews-and-commenting
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
Feat/reviews and commenting
2025-10-12 19:05:45 +01:00
Chubby Granny Chaser
c2e5bc0e91 fix: fixing translations 2025-10-12 19:04:10 +01:00
Chubby Granny Chaser
030b3b8f7c fix: fixing translations 2025-10-12 19:03:30 +01:00
Chubby Granny Chaser
38b04ee991 fix: fixing translations 2025-10-12 19:01:07 +01:00
Chubby Granny Chaser
5f643ecd5f fix: fixing translations 2025-10-12 18:59:19 +01:00
Chubby Granny Chaser
366ce953d4 Merge pull request #1803 from Wkeynhk/patch-4
Update Russian Translation
2025-10-12 18:53:20 +01:00
Chubby Granny Chaser
34aea2b0c4 feat: adding api call for decky plugin 2025-10-12 18:51:47 +01:00
Chubby Granny Chaser
dcec33ada1 feat: adding review styling 2025-10-12 18:40:27 +01:00
Chubby Granny Chaser
5877c8c798 feat: adding review styling 2025-10-12 18:40:05 +01:00
Chubby Granny Chaser
14204f1fbe feat: adding review styling 2025-10-12 18:39:41 +01:00
Moyasee
602b2fef91 Fix: TipTap formatting not displaying on the review message 2025-10-12 19:57:12 +03:00
Moyasee
2240a8c9fb Fix: TipTap formatting not displaying on the review message 2025-10-12 19:54:45 +03:00
Moyasee
6c34a1fcc0 Merge branch 'feat/reviews-and-commenting' of https://github.com/hydralauncher/hydra into feat/reviews-and-commenting 2025-10-12 19:52:12 +03:00
Moyasee
741f9de85c Fix: formatting 2025-10-12 19:51:26 +03:00
Zamitto
5510bb9c9e Merge pull request #1804 from hydralauncher/feat/separate-game-stats-from-assets
feat: separate game stats from assets
2025-10-12 12:19:20 -03:00
Chubby Granny Chaser
1e779a32c1 Merge branch 'main' into patch-4 2025-10-12 12:16:21 +01:00
Zamitto
7b8f7fc070 feat: add alternative steam path on linux
Some checks failed
Release / build (ubuntu-latest) (push) Has been cancelled
Release / build (windows-2022) (push) Has been cancelled
2025-10-10 15:17:27 -03:00
Kiwo.2
aa4def327a New lines added for update 2025-10-07 19:39:25 +02:00
Wkeynhk
b0d9d18c6c Update translation.json 2025-10-06 00:35:24 +03:00
Wkeynhk
e6d5a2e871 Update translation.json 2025-10-05 21:38:43 +03:00
369 changed files with 23630 additions and 10364 deletions

57
.cursorrules Normal file
View File

@@ -0,0 +1,57 @@
# Hydra Project Rules
## Logging
- **Always use `logger` instead of `console` for logging** in both main and renderer processes
- In main process: `import { logger } from "@main/services";`
- In renderer process: `import { logger } from "@renderer/logger";`
- Replace all instances of:
- `console.log()` → `logger.log()`
- `console.error()` → `logger.error()`
- `console.warn()` → `logger.warn()`
- `console.info()` → `logger.info()`
- `console.debug()` → `logger.debug()`
- Do not use `console` for any logging purposes
## Internationalization (i18n)
- All user-facing strings must be translated using i18next
- Use the `useTranslation` hook in React components: `const { t } = useTranslation("namespace");`
- Add new translation keys to `src/locales/en/translation.json`
- Never hardcode English strings in the UI code
- Placeholder text in form fields must also be translated
## Code Style
- Use ESLint and Prettier for code formatting
- Follow TypeScript strict mode conventions
- Use async/await instead of promises when possible
- Prefer named exports over default exports for utilities and services
## ESLint Issues
- **Always try to fix ESLint errors properly before disabling rules**
- When encountering ESLint errors, explore these solutions in order:
1. **Fix the code to comply with the rule** (e.g., add missing required elements, fix accessibility issues)
2. **Use minimal markup to satisfy the rule** (e.g., add empty `<track>` elements for videos without captions, add `role` attributes)
3. **Only disable the rule as a last resort** when no reasonable solution exists
- When disabling a rule, always include a comment explaining why it's necessary
- Examples of proper fixes:
- For `jsx-a11y/media-has-caption`: Add `<track kind="captions" />` even if no captions are available
- For `jsx-a11y/alt-text`: Add meaningful alt text or `alt=""` for decorative images
- For accessibility rules: Add appropriate ARIA attributes rather than disabling
## TypeScript Array Syntax
- **Always use `T[]` syntax instead of `Array<T>`** for array types
- Prefer: `string[]`, `number[]`, `MyType[]`
- Avoid: `Array<string>`, `Array<number>`, `Array<MyType>`
- This applies to all type annotations, type assertions, and generic type parameters
## Comments
- Keep comments concise and purposeful; avoid verbose explanations.
- Focus on the "why" or non-obvious context, not restating the code.
- Prefer self-explanatory naming and structure over excessive comments.
- Do not comment every line or obvious behavior; remove stale comments.
- Use docblocks only where they add value (public APIs, complex logic).

View File

@@ -1,5 +1,7 @@
MAIN_VITE_API_URL=
MAIN_VITE_AUTH_URL=
MAIN_VITE_WS_URL=
MAIN_VITE_NIMBUS_API_URL=
RENDERER_VITE_REAL_DEBRID_REFERRAL_ID=
RENDERER_VITE_TORBOX_REFERRAL_CODE=
MAIN_VITE_LAUNCHER_SUBDOMAIN=

View File

@@ -1,65 +0,0 @@
name: Bug Report
description: Create a report to help us improve. Write in English.
title: "[BUG] Write a title for your bug"
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thank you for creating a bug report to help us improve!
- type: textarea
id: bug-description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: bug-reproduce
attributes:
label: Steps to Reproduce
description: Steps to reproduce the behavior. For example, "1. Go to '...', 2. Click on '...', 3. See error"
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: false
- type: textarea
id: additional-info
attributes:
label: Additional information and data
description: |
Add screenshots and upload your all logs file here.
Logs location on Windows: "%appdata%/hydralauncher/logs"
Logs location on Linux: "~/.config/hydralauncher/logs"
validations:
required: true
- type: input
id: OS
attributes:
label: Operating System
description: Which operating system are you using (e.g., Windows 11/Linux Distro/Steam Deck)?
validations:
required: true
- type: input
id: hydra-version
attributes:
label: Hydra Version
description: Please provide the version of Hydra you are using.
validations:
required: true
- type: checkboxes
id: terms
attributes:
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
- label: I have read the [Frequently Asked Questions (FAQ)](https://github.com/hydralauncher/hydra/wiki/FAQ).
required: true

View File

@@ -1,37 +0,0 @@
name: Feature Request
description: Request a new feature.
title: "[REQUEST] "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to suggest a new feature!
- type: textarea
id: problem-related
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear and concise description of what the problem is.
validations:
required: true
- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: false
- type: textarea
id: additional-context
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
validations:
required: false

View File

@@ -2,11 +2,9 @@
**When submitting this pull request, I confirm the following (please check the boxes):**
- [ ] I have read and understood the [Contributor Guidelines](https://github.com/hydralauncher/hydra?tab=readme-ov-file#ways-you-can-contribute).
- [ ] I have read the [Hydra documentation](https://docs.hydralauncher.gg/getting-started.html).
- [ ] I have checked that there are no duplicate pull requests related to this request.
- [ ] I have considered, and confirm that this submission is valuable to others.
- [ ] I accept that this submission may not be used and the pull request may be closed at the discretion of the maintainers.
**Fill in the PR content:**
-

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

@@ -0,0 +1,54 @@
name: Build Renderer
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- release/**
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
env:
NODE_OPTIONS: --max-old-space-size=4096
BRANCH_NAME: ${{ github.ref_name }}
steps:
- name: Check out Git repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22.21.0
cache: "yarn"
- name: Enable Corepack (Yarn)
run: corepack enable
- name: Install dependencies
run: yarn install --frozen-lockfile --ignore-scripts
- name: Build Renderer
run: yarn build
env:
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
- name: Deploy to Cloudflare Pages
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
run: |
npx --yes wrangler@3 pages deploy out/renderer \
--project-name="hydra" \
--branch "$BRANCH_NAME" \
--commit-dirty

View File

@@ -1,11 +1,15 @@
name: Build
on:
pull_request:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on: pull_request
jobs:
build:
strategy:
@@ -22,7 +26,7 @@ jobs:
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20.18.0
node-version: 22.21.0
- name: Install dependencies
run: yarn --frozen-lockfile
@@ -38,17 +42,22 @@ jobs:
- name: Build with cx_Freeze
run: python python_rpc/setup.py build
- name: Copy OpenSSL DLLs
if: matrix.os == 'windows-2022'
run: |
cp hydra-python-rpc/lib/libcrypto-1_1.dll hydra-python-rpc/lib/libcrypto-1_1-x64.dll
cp hydra-python-rpc/lib/libssl-1_1.dll hydra-python-rpc/lib/libssl-1_1-x64.dll
- name: Build Linux
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y libarchive-tools
yarn build:linux
env:
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_STAGING_API_URL }}
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_STAGING_AUTH_URL }}
MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_STAGING_CHECKOUT_URL }}
MAIN_VITE_WS_URL: ${{ vars.MAIN_VITE_WS_STAGING_URL }}
MAIN_VITE_NIMBUS_API_URL: ${{ vars.MAIN_VITE_NIMBUS_API_URL }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -65,6 +74,7 @@ jobs:
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_STAGING_AUTH_URL }}
MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_STAGING_CHECKOUT_URL }}
MAIN_VITE_WS_URL: ${{ vars.MAIN_VITE_WS_STAGING_URL }}
MAIN_VITE_NIMBUS_API_URL: ${{ vars.MAIN_VITE_NIMBUS_API_URL }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -98,5 +108,4 @@ jobs:
dist/*.tar.gz
dist/*.yml
dist/*.blockmap
dist/*.pacman
dist/*.AppImage

View File

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

View File

@@ -6,7 +6,8 @@ concurrency:
on:
push:
branches: main
branches:
- release/**
jobs:
build:
@@ -23,7 +24,7 @@ jobs:
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20.18.0
node-version: 22.21.0
- name: Install dependencies
run: yarn --frozen-lockfile
@@ -39,24 +40,30 @@ jobs:
- name: Build with cx_Freeze
run: python python_rpc/setup.py build
- name: Copy OpenSSL DLLs
if: matrix.os == 'windows-2022'
run: |
cp hydra-python-rpc/lib/libcrypto-1_1.dll hydra-python-rpc/lib/libcrypto-1_1-x64.dll
cp hydra-python-rpc/lib/libssl-1_1.dll hydra-python-rpc/lib/libssl-1_1-x64.dll
- 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 }}
MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_CHECKOUT_URL }}
MAIN_VITE_WS_URL: ${{ vars.MAIN_VITE_WS_URL }}
MAIN_VITE_NIMBUS_API_URL: ${{ vars.MAIN_VITE_NIMBUS_API_URL }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_WS_URL: ${{ vars.MAIN_VITE_WS_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
RENDERER_VITE_SENTRY_DSN: ${{ vars.SENTRY_DSN }}
RENDERER_VITE_REAL_DEBRID_REFERRAL_ID: ${{ vars.RENDERER_VITE_REAL_DEBRID_REFERRAL_ID }}
RENDERER_VITE_TORBOX_REFERRAL_CODE: ${{ vars.RENDERER_VITE_TORBOX_REFERRAL_CODE }}
MAIN_VITE_LAUNCHER_SUBDOMAIN: ${{ vars.MAIN_VITE_LAUNCHER_SUBDOMAIN }}
- name: Build Windows
if: matrix.os == 'windows-2022'
@@ -65,14 +72,16 @@ jobs:
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }}
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_AUTH_URL }}
MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_CHECKOUT_URL }}
MAIN_VITE_WS_URL: ${{ vars.MAIN_VITE_WS_URL }}
MAIN_VITE_NIMBUS_API_URL: ${{ vars.MAIN_VITE_NIMBUS_API_URL }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.EXTERNAL_RESOURCES_URL }}
MAIN_VITE_WS_URL: ${{ vars.MAIN_VITE_WS_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
RENDERER_VITE_SENTRY_DSN: ${{ vars.SENTRY_DSN }}
RENDERER_VITE_REAL_DEBRID_REFERRAL_ID: ${{ vars.RENDERER_VITE_REAL_DEBRID_REFERRAL_ID }}
RENDERER_VITE_TORBOX_REFERRAL_CODE: ${{ vars.RENDERER_VITE_TORBOX_REFERRAL_CODE }}
MAIN_VITE_LAUNCHER_SUBDOMAIN: ${{ vars.MAIN_VITE_LAUNCHER_SUBDOMAIN }}
- name: Create artifact
uses: actions/upload-artifact@v4
@@ -88,7 +97,6 @@ jobs:
dist/*.tar.gz
dist/*.yml
dist/*.blockmap
dist/*.pacman
- name: Upload build
env:
@@ -117,6 +125,5 @@ jobs:
dist/*.tar.gz
dist/*.yml
dist/*.blockmap
dist/*.pacman
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

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

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

View File

@@ -1,6 +1,6 @@
<div align="center">
[<img src="./resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
[<img src="https://raw.githubusercontent.com/hydralauncher/hydra/refs/heads/main/resources/icon.png" width="144"/>](https://help.hydralauncher.gg)
<h1 align="center">Hydra Launcher</h1>
@@ -10,6 +10,7 @@
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions)
[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases)
[![chocolatey](https://img.shields.io/chocolatey/v/hydralauncher.svg)](https://community.chocolatey.org/packages/hydralauncher)
![Hydra Launcher Home Page](./docs/screenshot.png)

View File

@@ -56,7 +56,6 @@ linux:
- AppImage
- snap
- deb
- pacman
- rpm
maintainer: electronjs.org
category: Game

View File

@@ -1,6 +1,6 @@
{
"name": "hydralauncher",
"version": "3.6.8",
"version": "3.7.6",
"description": "Hydra",
"main": "./out/main/index.js",
"author": "Los Broxas",
@@ -32,13 +32,13 @@
"protoc": "npx protoc --ts_out src/main/generated --proto_path proto proto/*.proto"
},
"dependencies": {
"@electron-toolkit/preload": "^3.0.0",
"@electron-toolkit/utils": "^3.0.0",
"@fontsource/noto-sans": "^5.1.0",
"@hookform/resolvers": "^3.9.1",
"@electron-toolkit/preload": "^3.0.2",
"@electron-toolkit/utils": "^4.0.0",
"@fontsource/noto-sans": "^5.2.10",
"@hookform/resolvers": "^5.2.2",
"@monaco-editor/react": "^4.6.0",
"@primer/octicons-react": "^19.9.0",
"@radix-ui/react-dropdown-menu": "^2.1.2",
"@radix-ui/react-dropdown-menu": "^2.1.16",
"@reduxjs/toolkit": "^2.2.3",
"@tiptap/extension-bold": "^3.6.2",
"@tiptap/extension-italic": "^3.6.2",
@@ -47,8 +47,9 @@
"@tiptap/react": "^3.6.2",
"@tiptap/starter-kit": "^3.6.2",
"auto-launch": "^5.0.6",
"axios": "^1.7.9",
"axios": "^1.12.2",
"axios-cookiejar-support": "^5.0.5",
"check-disk-space": "^3.4.0",
"classic-level": "^2.0.0",
"classnames": "^2.5.1",
"color": "^4.2.3",
@@ -56,26 +57,27 @@
"crc": "^4.3.2",
"create-desktop-shortcuts": "^1.11.1",
"date-fns": "^3.6.0",
"dexie": "^4.0.10",
"diskusage": "^1.2.0",
"electron-log": "^5.2.4",
"electron-log": "^5.4.3",
"electron-updater": "^6.6.2",
"embla-carousel-autoplay": "^8.6.0",
"embla-carousel-react": "^8.6.0",
"file-type": "^20.5.0",
"framer-motion": "^12.15.0",
"hls.js": "^1.5.12",
"i18next": "^23.11.2",
"i18next-browser-languagedetector": "^7.2.1",
"jsdom": "^24.0.0",
"jsonwebtoken": "^9.0.2",
"lodash-es": "^4.17.21",
"lucide-react": "^0.544.0",
"node-7z": "^3.0.0",
"parse-torrent": "^11.0.18",
"rc-virtual-list": "^3.18.3",
"react-dnd": "^16.0.1",
"react-dnd-html5-backend": "^16.0.1",
"react-hook-form": "^7.53.0",
"react-i18next": "^14.1.0",
"react-infinite-scroll-component": "^6.1.0",
"react-loading-skeleton": "^3.4.0",
"react-redux": "^9.1.1",
"react-router-dom": "^6.22.3",
@@ -84,14 +86,14 @@
"sound-play": "^1.1.0",
"steam-shortcut-editor": "https://github.com/hydralauncher/steam-shortcut-editor",
"sudo-prompt": "^9.2.1",
"tar": "^7.4.3",
"tar": "^7.5.2",
"tough-cookie": "^5.1.1",
"user-agents": "^1.1.387",
"uuid": "^13.0.0",
"winreg": "^1.2.5",
"ws": "^8.18.1",
"yaml": "^2.6.1",
"yup": "^1.5.0",
"zod": "^3.24.1"
"yup": "^1.5.0"
},
"devDependencies": {
"@aws-sdk/client-s3": "^3.705.0",
@@ -116,9 +118,9 @@
"@types/winreg": "^1.2.36",
"@types/ws": "^8.18.1",
"@vitejs/plugin-react": "^4.2.1",
"electron": "^32.3.3",
"electron": "^37.7.1",
"electron-builder": "^26.0.12",
"electron-vite": "^3.0.0",
"electron-vite": "^4.0.1",
"eslint": "^8.56.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react": "^7.37.4",
@@ -130,8 +132,8 @@
"sass-embedded": "^1.80.6",
"ts-node": "^10.9.2",
"typescript": "^5.3.3",
"vite": "^5.0.12",
"vite-plugin-svgr": "^4.2.0"
"vite": "5.4.21",
"vite-plugin-svgr": "^4.5.0"
},
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}

2
proto

Submodule proto updated: 7a23620f93...6f11c99c57

View File

@@ -1,4 +1,5 @@
import aria2p
from aria2p.client import ClientException as DownloadNotFound
class HttpDownloader:
def __init__(self):
@@ -11,12 +12,16 @@ class HttpDownloader:
)
)
def start_download(self, url: str, save_path: str, header: str, out: str = None):
def start_download(self, url: str, save_path: str, header, out: str = None):
if self.download:
self.aria2.resume([self.download])
else:
downloads = self.aria2.add(url, options={"header": header, "dir": save_path, "out": out})
options = {"dir": save_path}
if header:
options["header"] = header
if out:
options["out"] = out
downloads = self.aria2.add(url, options=options)
self.download = downloads[0]
def pause_download(self):
@@ -32,7 +37,11 @@ class HttpDownloader:
if self.download == None:
return None
download = self.aria2.get_download(self.download.gid)
try:
download = self.aria2.get_download(self.download.gid)
except DownloadNotFound:
self.download = None
return None
response = {
'folderName': download.name,

View File

@@ -153,8 +153,11 @@ def profile_image():
data = request.get_json()
image_path = data.get('image_path')
# use webp as default value for target_extension
target_extension = data.get('target_extension') or 'webp'
try:
processed_image_path, mime_type = ProfileImageProcessor.process_image(image_path)
processed_image_path, mime_type = ProfileImageProcessor.process_image(image_path, target_extension)
return jsonify({'imagePath': processed_image_path, 'mimeType': mime_type}), 200
except Exception as e:
return jsonify({"error": str(e)}), 400

View File

@@ -4,7 +4,7 @@ import os, uuid, tempfile
class ProfileImageProcessor:
@staticmethod
def get_parsed_image_data(image_path):
def get_parsed_image_data(image_path, target_extension):
Image.MAX_IMAGE_PIXELS = 933120000
image = Image.open(image_path)
@@ -16,7 +16,7 @@ class ProfileImageProcessor:
return image_path, mime_type
else:
new_uuid = str(uuid.uuid4())
new_image_path = os.path.join(tempfile.gettempdir(), new_uuid) + ".webp"
new_image_path = os.path.join(tempfile.gettempdir(), new_uuid) + "." + target_extension
image.save(new_image_path)
new_image = Image.open(new_image_path)
@@ -26,5 +26,5 @@ class ProfileImageProcessor:
@staticmethod
def process_image(image_path):
return ProfileImageProcessor.get_parsed_image_data(image_path)
def process_image(image_path, target_extension):
return ProfileImageProcessor.get_parsed_image_data(image_path, target_extension)

View File

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

View File

@@ -13,6 +13,7 @@
},
"sidebar": {
"catalogue": "Catalogue",
"library": "Library",
"downloads": "Downloads",
"settings": "Settings",
"my_library": "My library",
@@ -25,6 +26,7 @@
"game_has_no_executable": "Game has no executable selected",
"sign_in": "Sign in",
"friends": "Friends",
"notifications": "Notifications",
"need_help": "Need help?",
"favorites": "Favorites",
"playable_button_title": "Show only games you can play now",
@@ -76,12 +78,32 @@
"edit_game_modal_drop_hero_image_here": "Drop hero image here",
"edit_game_modal_drop_to_replace_icon": "Drop to replace icon",
"edit_game_modal_drop_to_replace_logo": "Drop to replace logo",
"edit_game_modal_drop_to_replace_hero": "Drop to replace hero"
"edit_game_modal_drop_to_replace_hero": "Drop to replace hero",
"install_decky_plugin": "Install Decky Plugin",
"update_decky_plugin": "Update Decky Plugin",
"decky_plugin_installed_version": "Decky Plugin (v{{version}})",
"install_decky_plugin_title": "Install Hydra Decky Plugin",
"install_decky_plugin_message": "This will download and install the Hydra plugin for Decky Loader. This may require elevated permissions. Continue?",
"update_decky_plugin_title": "Update Hydra Decky Plugin",
"update_decky_plugin_message": "A new version of the Hydra Decky plugin is available. Would you like to update it now?",
"decky_plugin_installed": "Decky plugin v{{version}} installed successfully",
"decky_plugin_installation_failed": "Failed to install Decky plugin: {{error}}",
"decky_plugin_installation_error": "Error installing Decky plugin: {{error}}",
"confirm": "Confirm",
"cancel": "Cancel"
},
"header": {
"search": "Search games",
"search_library": "Search library",
"recent_searches": "Recent Searches",
"suggestions": "Suggestions",
"clear_history": "Clear",
"remove_from_history": "Remove from history",
"loading": "Loading...",
"no_results": "No results",
"home": "Home",
"catalogue": "Catalogue",
"library": "Library",
"downloads": "Downloads",
"search_results": "Search results",
"settings": "Settings",
@@ -94,6 +116,7 @@
"downloading": "Downloading {{title}}… ({{percentage}} complete) - Completion {{eta}} - {{speed}}",
"calculating_eta": "Downloading {{title}}… ({{percentage}} complete) - Calculating remaining time…",
"checking_files": "Checking {{title}} files… ({{percentage}} complete)",
"extracting": "Extracting {{title}}… ({{percentage}} complete)",
"installing_common_redist": "{{log}}…",
"installation_complete": "Installation complete",
"installation_complete_message": "Common redistributables installed successfully"
@@ -152,6 +175,7 @@
"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",
"loading": "Loading...",
"no_shop_details": "Could not retrieve shop details.",
"download_options": "Download options",
"download_path": "Download path",
@@ -181,7 +205,9 @@
"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",
"extracting": "Extracting",
"last_downloaded_option": "Last downloaded option",
"new_download_option": "New",
"create_steam_shortcut": "Create Steam shortcut",
"create_shortcut_success": "Shortcut created successfully",
"you_might_need_to_restart_steam": "You might need to restart Steam to see the changes",
@@ -211,6 +237,7 @@
"show_more": "Show more",
"show_less": "Show less",
"reviews": "Reviews",
"review_played_for": "Played for",
"leave_a_review": "Leave a Review",
"write_review_placeholder": "Share your thoughts about this game...",
"sort_newest": "Newest",
@@ -227,7 +254,7 @@
"rating_neutral": "Neutral",
"rating_positive": "Positive",
"rating_very_positive": "Very Positive",
"submit_review": "Submit Review",
"submit_review": "Submit",
"submitting": "Submitting...",
"review_submitted_successfully": "Review submitted successfully!",
"review_submission_failed": "Failed to submit review. Please try again.",
@@ -236,11 +263,11 @@
"review_deletion_failed": "Failed to delete review. Please try again.",
"loading_reviews": "Loading reviews...",
"loading_more_reviews": "Loading more reviews...",
"load_more_reviews": "Load More Reviews",
"load_more_reviews": "Load more reviews",
"you_seemed_to_enjoy_this_game": "You've seemed to enjoy this game",
"would_you_recommend_this_game": "Would you like to leave a review to this game?",
"yes": "Yes",
"maybe_later": "Maybe Later",
"maybe_later": "Maybe later",
"cloud_save": "Cloud save",
"cloud_save_description": "Save your progress in the cloud and continue playing on any device",
"backups": "Backups",
@@ -344,7 +371,15 @@
"delete_review_modal_title": "Are you sure you want to delete your review?",
"delete_review_modal_description": "This action cannot be undone.",
"delete_review_modal_delete_button": "Delete",
"delete_review_modal_cancel_button": "Cancel"
"delete_review_modal_cancel_button": "Cancel",
"vote_failed": "Failed to register your vote. Please try again.",
"show_original": "Show original",
"show_translation": "Show translation",
"show_original_translated_from": "Show original (translated from {{language}})",
"hide_original": "Hide original",
"review_from_blocked_user": "Review from blocked user",
"show": "Show",
"hide": "Hide"
},
"activation": {
"title": "Activate Hydra",
@@ -382,9 +417,14 @@
"stop_seeding": "Stop seeding",
"resume_seeding": "Resume seeding",
"options": "Manage",
"alldebrid_size_not_supported": "Download info for AllDebrid is not supported yet",
"extract": "Extract files",
"extracting": "Extracting files…"
"extracting": "Extracting files…",
"delete_archive_title": "Would you like to delete {{fileName}}?",
"delete_archive_description": "The file has been successfully extracted and it's no longer needed.",
"yes": "Yes",
"no": "No",
"network": "NETWORK",
"peak": "PEAK"
},
"settings": {
"downloads_path": "Downloads path",
@@ -412,6 +452,9 @@
"validate_download_source": "Validate",
"remove_download_source": "Remove",
"add_download_source": "Add source",
"adding": "Adding…",
"failed_add_download_source": "Failed to add download source. Please try again.",
"download_source_already_exists": "This download source URL already exists.",
"download_count_zero": "No download options",
"download_count_one": "{{countFormatted}} download option",
"download_count_other": "{{countFormatted}} download options",
@@ -419,9 +462,16 @@
"add_download_source_description": "Insert the URL of the .json file",
"download_source_up_to_date": "Up-to-date",
"download_source_errored": "Errored",
"download_source_pending_matching": "Updating soon",
"download_source_matched": "Up to date",
"download_source_matching": "Updating",
"download_source_failed": "Error",
"download_source_no_information": "No information available",
"sync_download_sources": "Sync sources",
"removed_download_source": "Download source removed",
"removed_download_sources": "Download sources removed",
"removed_all_download_sources": "All download sources removed",
"download_sources_synced_successfully": "All download sources are synced",
"cancel_button_confirmation_delete_all_sources": "No",
"confirm_button_confirmation_delete_all_sources": "Yes, delete everything",
"title_confirmation_delete_all_sources": "Delete all download sources",
@@ -434,6 +484,7 @@
"found_download_option_one": "Found {{countFormatted}} download option",
"found_download_option_other": "Found {{countFormatted}} download options",
"import": "Import",
"importing": "Importing...",
"public": "Public",
"private": "Private",
"friends_only": "Friends only",
@@ -451,6 +502,7 @@
"seed_after_download_complete": "Seed after download complete",
"show_hidden_achievement_description": "Show hidden achievements description before unlocking them",
"account": "Account",
"hydra_cloud": "Hydra Cloud",
"no_users_blocked": "You have no blocked users",
"subscription_active_until": "Your Hydra Cloud is active until {{date}}",
"manage_subscription": "Manage subscription",
@@ -486,23 +538,14 @@
"delete_theme_description": "This will delete the theme {{theme}}",
"cancel": "Cancel",
"appearance": "Appearance",
"debrid": "Debrid",
"debrid_description": "Debrid services are premium unrestricted downloaders that allow you to quickly download files hosted on various file hosting services, only limited by your internet speed.",
"enable_torbox": "Enable TorBox",
"torbox_description": "TorBox is your premium seedbox service rivaling even the best servers on the market.",
"torbox_account_linked": "TorBox account linked",
"create_real_debrid_account": "Click here if you don't have a Real-Debrid account yet",
"create_torbox_account": "Click here if you don't have a TorBox account yet",
"real_debrid_account_linked": "Real-Debrid account linked",
"enable_all_debrid": "Enable All-Debrid",
"all_debrid_description": "All-Debrid is an unrestricted downloader that allows you to quickly download files from various sources.",
"all_debrid_free_account_error": "The account \"{{username}}\" is a free account. Please subscribe to All-Debrid",
"all_debrid_account_linked": "All-Debrid account linked successfully",
"alldebrid_missing_key": "Please provide an API key",
"alldebrid_invalid_key": "Invalid API key",
"alldebrid_blocked": "Your API key is geo-blocked or IP-blocked",
"alldebrid_banned": "This account has been banned",
"alldebrid_unknown_error": "An unknown error occurred",
"alldebrid_invalid_response": "Invalid response from All-Debrid",
"alldebrid_network_error": "Network error. Please check your connection",
"name_min_length": "Theme name must be at least 3 characters long",
"import_theme": "Import theme",
"import_theme_description": "You will import {{theme}} from the theme store",
@@ -517,6 +560,7 @@
"show_download_speed_in_megabytes": "Show download speed in megabytes per second",
"extract_files_by_default": "Extract files by default after download",
"enable_steam_achievements": "Enable search for Steam achievements",
"enable_new_download_options_badges": "Show new download options badges",
"achievement_custom_notification_position": "Achievement custom notification position",
"top-left": "Top left",
"top-center": "Top center",
@@ -532,8 +576,19 @@
"platinum": "Platinum",
"hidden": "Hidden",
"test_notification": "Test notification",
"achievement_sound_volume": "Achievement sound volume",
"select_achievement_sound": "Select achievement sound",
"change_achievement_sound": "Change achievement sound",
"remove_achievement_sound": "Remove achievement sound",
"preview_sound": "Preview sound",
"select": "Select",
"preview": "Preview",
"remove": "Remove",
"no_sound_file_selected": "No sound file selected",
"notification_preview": "Achievement Notification Preview",
"enable_friend_start_game_notifications": "When a friend starts playing a game"
"enable_friend_start_game_notifications": "When a friend starts playing a game",
"autoplay_trailers_on_game_page": "Automatically start playing trailers on game page",
"hide_to_tray_on_game_start": "Hide Hydra to tray on game startup"
},
"notifications": {
"download_complete": "Download complete",
@@ -583,6 +638,7 @@
"activity": "Recent Activity",
"library": "Library",
"pinned": "Pinned",
"sort_by": "Sort by:",
"achievements_earned": "Achievements earned",
"played_recently": "Played recently",
"playtime": "Playtime",
@@ -609,6 +665,7 @@
"sending": "Sending",
"friend_request_sent": "Friend request sent",
"friends": "Friends",
"badges": "Badges",
"friends_list": "Friends list",
"user_not_found": "User not found",
"block_user": "Block user",
@@ -619,12 +676,16 @@
"ignore_request": "Ignore request",
"cancel_request": "Cancel request",
"undo_friendship": "Undo friendship",
"friendship_removed": "Friend removed",
"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 have no added friends",
"view_all": "View all",
"load_more": "Load more",
"loading": "Loading",
"pending": "Pending",
"no_pending_invites": "You have no pending invites",
"no_blocked_users": "You have no blocked users",
@@ -648,6 +709,7 @@
"report_reason_other": "Other",
"profile_reported": "Profile reported",
"your_friend_code": "Your friend code:",
"copy_friend_code": "Copy friend code",
"upload_banner": "Upload banner",
"uploading_banner": "Uploading banner…",
"background_image_updated": "Background image updated",
@@ -667,7 +729,34 @@
"game_added_to_pinned": "Game added to pinned",
"karma": "Karma",
"karma_count": "karma",
"karma_description": "Earned from positive likes on reviews"
"karma_description": "Earned from positive likes on reviews",
"user_reviews": "Reviews",
"delete_review": "Delete Review",
"loading_reviews": "Loading reviews...",
"wrapped_2025": "Wrapped 2025",
"view_my_wrapped_button": "View My Wrapped 2025",
"view_wrapped_button": "View {{displayName}}'s Wrapped 2025"
},
"library": {
"library": "Library",
"play": "Play",
"download": "Download",
"downloading": "Downloading",
"game": "game",
"games": "games",
"grid_view": "Grid view",
"compact_view": "Compact view",
"large_view": "Large view",
"no_games_title": "Your library is empty",
"no_games_description": "Add games from the catalogue or download them to get started",
"amount_hours": "{{amount}} hours",
"amount_minutes": "{{amount}} minutes",
"amount_hours_short": "{{amount}}h",
"amount_minutes_short": "{{amount}}m",
"manual_playtime_tooltip": "This playtime has been manually updated",
"all_games": "All Games",
"recently_played": "Recently Played",
"favorites": "Favorites"
},
"achievement": {
"achievement_unlocked": "Achievement unlocked",
@@ -697,5 +786,41 @@
"hydra_cloud_feature_found": "You've just discovered a Hydra Cloud feature!",
"learn_more": "Learn More",
"debrid_description": "Download up to 4x faster with Nimbus"
},
"notifications_page": {
"title": "Notifications",
"mark_all_as_read": "Mark all as read",
"clear_all": "Clear All",
"loading": "Loading...",
"empty_title": "No notifications",
"empty_description": "You're all caught up! Check back later for new updates.",
"empty_filter_description": "No notifications match this filter.",
"filter_all": "All",
"filter_unread": "Unread",
"filter_friends": "Friends",
"filter_badges": "Badges",
"filter_upvotes": "Upvotes",
"filter_local": "Local",
"load_more": "Load more",
"dismiss": "Dismiss",
"accept": "Accept",
"refuse": "Refuse",
"notification": "Notification",
"friend_request_received_title": "New friend request!",
"friend_request_received_description": "{{displayName}} wants to be your friend",
"friend_request_accepted_title": "Friend request accepted!",
"friend_request_accepted_description": "{{displayName}} accepted your friend request",
"badge_received_title": "You got a new badge!",
"badge_received_description": "{{badgeName}}",
"review_upvote_title": "Your review for {{gameTitle}} got upvotes!",
"review_upvote_description": "Your review received {{count}} new upvotes",
"marked_all_as_read": "All notifications marked as read",
"failed_to_mark_as_read": "Failed to mark notifications as read",
"cleared_all": "All notifications cleared",
"failed_to_clear": "Failed to clear notifications",
"failed_to_load": "Failed to load notifications",
"failed_to_dismiss": "Failed to dismiss notification",
"friend_request_accepted": "Friend request accepted",
"friend_request_refused": "Friend request refused"
}
}

View File

@@ -13,6 +13,7 @@
},
"sidebar": {
"catalogue": "Catálogo",
"library": "Librería",
"downloads": "Descargas",
"settings": "Ajustes",
"my_library": "Mi Librería",
@@ -70,12 +71,38 @@
"edit_game_modal_icon_resolution": "Resolución recomendada: 256x256px",
"edit_game_modal_logo_resolution": "Resolución recomendada: 640x360px",
"edit_game_modal_hero_resolution": "Resolución recomendada: 1920x620px",
"cancel": "Cancelar",
"confirm": "Confirmar",
"decky_plugin_installation_error": "Error instalando plugin Decky: {{error}}",
"decky_plugin_installation_failed": "Falló instalar plugin Decky: {{error}}",
"decky_plugin_installed": "Plugin Decky v{{version}} instalanda exitosamente",
"decky_plugin_installed_version": "Plugin Decky (v{{version}})",
"edit_game_modal_drop_hero_image_here": "Soltá la imagen hero acá",
"edit_game_modal_drop_icon_image_here": "Soltá la imagen de ícono hero acá",
"edit_game_modal_drop_logo_image_here": "Soltá la imagen de logo hero acá",
"edit_game_modal_drop_to_replace_hero": "Soltá para reemplazar hero",
"edit_game_modal_drop_to_replace_icon": "Soltá para reemplazar el ícono",
"edit_game_modal_drop_to_replace_logo": "Soltá para reemplazar el logo",
"install_decky_plugin": "Instalar plugin Decky",
"install_decky_plugin_message": "Esto va a descargar e instalar el plugin de Decky Loader para Hydra. Esto quizás requierea permisos elevados, ¿querés continuar?",
"install_decky_plugin_title": "Instarlar el plugin Decky Hydra",
"update_decky_plugin": "Actualizar plugin Decky",
"update_decky_plugin_message": "Una nueva versión del plugin Decky para Hydra está disponible. ¿Querés actualizarlo ahora?",
"update_decky_plugin_title": "Actualizar plugin Decky para Hydra",
"edit_game_modal_assets": "Recursos"
},
"header": {
"search": "Buscar juegos",
"search_library": "Buscar en la librería",
"recent_searches": "Búsquedas Recientes",
"suggestions": "Sugerencias",
"clear_history": "Limpiar",
"remove_from_history": "Eliminar del historial",
"loading": "Cargando...",
"no_results": "Sin resultados",
"home": "Inicio",
"catalogue": "Catálogo",
"library": "Librería",
"downloads": "Descargas",
"search_results": "Resultados de búsqueda",
"settings": "Ajustes",
@@ -174,6 +201,7 @@
"download_in_progress": "Descarga en progreso",
"download_paused": "Descarga pausada",
"last_downloaded_option": "Última opción de descarga",
"new_download_option": "Nuevo",
"create_steam_shortcut": "Crear atajo de Steam",
"create_shortcut_success": "Atajo creado con éxito",
"you_might_need_to_restart_steam": "Probablemente necesités reiniciar Steam para ver cambios",
@@ -285,9 +313,69 @@
"keyshop_price": "Precio de tiendas de terceros",
"historical_retail": "Precio de tiendas",
"historical_keyshop": "Precio de tiendas de terceros",
"add_to_favorites": "Añadir a favoritos",
"be_first_to_review": "¡Sé la primera persona en compartir lo que pensas de este juego!",
"create_shortcut_simple": "Crear atajo",
"delete_review": "Eliminar reseña",
"delete_review_modal_cancel_button": "Cancelar",
"delete_review_modal_delete_button": "Eliminar",
"delete_review_modal_description": "Esta acción no se puede deshacer.",
"delete_review_modal_title": "¿De verdad querés eliminar esta reseña?",
"failed_remove_files": "Error al eliminar los archivos",
"failed_remove_from_library": "Error al eliminar de la librería",
"failed_update_favorites": "Error al actualizar favoritos",
"files_removed_success": "Archivos eliminados correctamente",
"filter_by_source": "Filtrar por fuente",
"game_removed_from_library": "Juego eliminado de la librería",
"hide_original": "Ocultar original",
"leave_a_review": "Crear una reseña",
"load_more_reviews": "Cargar más reseñas",
"loading_more_reviews": "Cargando más reseñas...",
"loading_reviews": "Cargando reseñas...",
"maybe_later": "Tal vez después",
"no_repacks_found": "Sin fuentes encontradas para este juego",
"no_reviews_yet": "Sin reseñas aún",
"review_played_for": "Jugado por",
"properties": "Propiedades",
"rating": "Calificación",
"rating_count": "Calificación",
"rating_negative": "Negativa",
"rating_neutral": "Neutral",
"rating_positive": "Positiva",
"rating_stats": "Calificación",
"rating_very_negative": "Muy Negativa",
"rating_very_positive": "Muy Positiva",
"remove_from_favorites": "Eliminar de favoritos",
"remove_review": "Eliminar reseña",
"review_cannot_be_empty": "El campo de la reseña no puede estar vacío.",
"review_deleted_successfully": "Reseña eliminada exitosamente.",
"review_deletion_failed": "Error al eliminar reseña. Por favor intentá de nuevo.",
"review_submission_failed": "Error al subir reseña. Por favor intentá de nuevo.",
"review_submitted_successfully": "¡Reseña eliminada exitosamente!",
"reviews": "Reseñas",
"show_less": "Ver menos",
"show_more": "Ver más",
"show_original": "Ver original",
"show_original_translated_from": "Ver original (traducido del {{language}})",
"show_translation": "Ver traducción",
"sort_highest_score": "Puntuación más alta",
"sort_lowest_score": "Puntuación más baja",
"sort_most_voted": "Más votads",
"sort_newest": "Más nuevos",
"sort_oldest": "Más viejos",
"submit_review": "Enviar",
"submitting": "Subiendo...",
"vote_failed": "Error al registrar tu voto. Por favor intentá de nuevo.",
"would_you_recommend_this_game": "¿Querés escribir una reseña para este juego?",
"write_review_placeholder": "Compartí tus pensamientos sobre este juego...",
"yes": "Si",
"you_seemed_to_enjoy_this_game": "Parece que has disfrutado de este juego",
"language": "Idioma",
"caption": "Subtítulo",
"audio": "Audio"
"audio": "Audio",
"review_from_blocked_user": "Reseña de usuario bloqueado",
"show": "Mostrar",
"hide": "Ocultar"
},
"activation": {
"title": "Activar Hydra",
@@ -345,7 +433,7 @@
"enable_real_debrid": "Habilitar Real-Debrid",
"real_debrid_description": "Real-Debrid es un descargador que te permite descargar archivos más rápidos, solo límitado por la velocidad de tu internet.",
"debrid_invalid_token": "Token API inválido",
"debrid_api_token_hint": "Podés obtener la el token de tu API <0>acá</0>",
"debrid_api_token_hint": "Podés obtener el token de tu API <0>acá</0>",
"real_debrid_free_account_error": "La cuenta \"{{username}}\" es una cuenta gratis. Por favor suscribíte a Real-Debrid",
"debrid_linked_message": "Cuenta \"{{username}}\" vinculada",
"save_changes": "Guardar cambios",
@@ -357,7 +445,7 @@
"download_count_zero": "Sin opciones de descarga",
"download_count_one": "{{countFormatted}} opción de descarga",
"download_count_other": "{{countFormatted}} opciones de descarga",
"download_source_url": "Descargar fuente URL",
"download_source_url": "Añadir URL de una fuente",
"add_download_source_description": "Introducí la URL del archivo .json",
"download_source_up_to_date": "Actualizado",
"download_source_errored": "Error",
@@ -370,12 +458,14 @@
"description_confirmation_delete_all_sources": "Vas a eliminar todas las fuentes de descargas",
"button_delete_all_sources": "Eliminar todo",
"added_download_source": "Añadir fuente de descarga",
"adding": "Añadiendo…",
"download_sources_synced": "Todas las fuentes de descarga están sincronizadas",
"insert_valid_json_url": "Introducí una URL de json válida",
"found_download_option_zero": "Sin opciones de descargas encontrada",
"found_download_option_one": "Encontrada {{countFormatted}} fuente de descarga",
"found_download_option_other": "Encontradas {{countFormatted}} opciones de descargas",
"import": "Importar",
"importing": "Importando...",
"public": "Público",
"private": "Privado",
"friends_only": "Sólo amigos",
@@ -408,7 +498,7 @@
"subscription_renew_cancelled": "Renovación automática desactivada",
"subscription_renews_on": "Tu suscripción se renueva el {{date}}",
"bill_sent_until": "Tu próxima factura se enviará este día",
"no_themes": "Parece que no tenés ningún tema aún, pero no te preocupés, presiona acá para hacer tu primera obra maestra.",
"no_themes": "Parece que no tenés ningún tema aún, pero no te preocupes, presiona acá para hacer tu primera obra maestra.",
"editor_tab_code": "Código",
"editor_tab_info": "Info",
"editor_tab_save": "Guardar",
@@ -442,7 +532,7 @@
"enable_friend_request_notifications": "Cuando recibís una solicitud de amistad",
"enable_auto_install": "Descargar actualizaciones automáticamente",
"common_redist": "Common redistributables",
"common_redist_description": "Common redistributables son requeridos para algunos juegos. Es recomendable instalarlos para evitar algunos problemas.",
"common_redist_description": "Los common redistributables son requeridos para algunos juegos. Es recomendable instalarlos para evitar algunos problemas.",
"install_common_redist": "Instalar",
"installing_common_redist": "Instalando…",
"show_download_speed_in_megabytes": "Mostrar velocidad de descarga en megabytes por segundo",
@@ -463,8 +553,31 @@
"platinum": "Platino",
"hidden": "Oculto",
"test_notification": "Probar notificación",
"achievement_sound_volume": "Volumen del sonido de logro",
"select_achievement_sound": "Seleccionar sonido de logro",
"select": "Seleccionar",
"preview": "Vista previa",
"remove": "Remover",
"no_sound_file_selected": "No se seleccionó ningún archivo de sonido",
"notification_preview": "Probar notificación de logro",
"enable_friend_start_game_notifications": "Cuando un amigo está jugando un juego"
"debrid": "Debrid",
"debrid_description": "Los servicios Debrid son descargadores premium sin restricciones que te dejan descargar más rápido archivos alojados en servicios de alojamiento siendo que la única limitación es tu velocidad de internet.",
"enable_friend_start_game_notifications": "Cuando un amigo está jugando un juego",
"autoplay_trailers_on_game_page": "Reproducir trailers automáticamente en la página del juego",
"change_achievement_sound": "Cambiar sonido de logro",
"download_source_already_exists": "Esta fuente de descarga URL ya existe.",
"download_source_failed": "Error",
"download_source_matched": "Actualizado",
"download_source_matching": "Actualizando",
"download_source_no_information": "Sin información disponible",
"download_source_pending_matching": "Actualizando pronto",
"download_sources_synced_successfully": "Todas las fuentes de descarga están sincronizadas",
"failed_add_download_source": "Error al añadir la fuente de descarga. Por favor intentá de nuevo.",
"hydra_cloud": "Hydra Cloud",
"preview_sound": "Vista previa de sonido",
"remove_achievement_sound": "Eliminar sonido de logros",
"removed_all_download_sources": "Todas las fuentes de descarga eliminadas",
"hide_to_tray_on_game_start": "Ocultar Hydra en la bandeja al iniciar un juego"
},
"notifications": {
"download_complete": "Descarga completada",
@@ -491,6 +604,7 @@
"game_card": {
"available_one": "Disponible",
"available_other": "Disponibles",
"calculating": "Calculando",
"no_downloads": "Sin descargas disponibles"
},
"binary_not_found_modal": {
@@ -592,7 +706,17 @@
"error_adding_friend": "No se pudo enviar la solicitud de amistad. Por favor revisá el código",
"friend_code_length_error": "El código de amistad debe tener mínimo 8 caracteres",
"game_removed_from_pinned": "Juego removido de fijados",
"game_added_to_pinned": "Juego añadido a fijados"
"amount_hours_short": "{{amount}}h",
"amount_minutes_short": "{{amount}}m",
"karma": "Karma",
"karma_count": "karma",
"karma_description": "Conseguido por me gustas positivos en reseñas",
"sort_by": "Filtrar por:",
"game_added_to_pinned": "Juego añadido a fijados",
"user_reviews": "Reseñas",
"loading_reviews": "Cargando reseñas...",
"no_reviews": "Sin reseñas aún",
"delete_review": "Eliminar reseña"
},
"achievement": {
"achievement_unlocked": "Logro desbloqueado",
@@ -622,5 +746,26 @@
"hydra_cloud_feature_found": "¡Acabas de descubrir una característica de Hydra Cloud!",
"learn_more": "Descubrir más",
"debrid_description": "Descargas hasta x4 veces más rápidas con Nimbus"
},
"library": {
"library": "Librería",
"play": "Jugar",
"download": "Descargar",
"downloading": "Descargando",
"game": "juego",
"games": "juegos",
"grid_view": "Vista de cuadrícula",
"compact_view": "Vista compacta",
"large_view": "Vista grande",
"no_games_title": "Tu librería está vacía",
"no_games_description": "Agregá juegos del catálogo o descargalos para comenzar",
"amount_hours": "{{amount}} horas",
"amount_minutes": "{{amount}} minutos",
"amount_hours_short": "{{amount}}h",
"amount_minutes_short": "{{amount}}m",
"manual_playtime_tooltip": "Este tiempo de juego ha sido modificado manualmente",
"all_games": "Todos los Juegos",
"recently_played": "Jugados Recientemente",
"favorites": "Favoritos"
}
}

View File

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

View File

@@ -27,7 +27,69 @@
"friends": "Amis",
"need_help": "Besoin d'aide ?",
"favorites": "Favoris",
"playable_button_title": "Afficher uniquement les jeux que vous pouvez jouer maintenant"
"playable_button_title": "Afficher uniquement les jeux que vous pouvez jouer maintenant",
"library": "Bibliothèque",
"add_custom_game_tooltip": "Ajouter un jeu personnalisé",
"show_playable_only_tooltip": "Afficher uniquement les jeux jouables",
"custom_game_modal": "Ajouter un jeu personnalisé",
"custom_game_modal_description": "Ajoutez un jeu personnalisé à votre bibliothèque en sélectionnant un fichier exécutable",
"custom_game_modal_executable_path": "Chemin de l'exécutable",
"custom_game_modal_select_executable": "Sélectionner un fichier exécutable",
"custom_game_modal_title": "Titre",
"custom_game_modal_enter_title": "Entrer le titre",
"custom_game_modal_browse": "Parcourir",
"custom_game_modal_cancel": "Annuler",
"custom_game_modal_add": "Ajouter le jeu",
"custom_game_modal_adding": "Ajout du jeu…",
"custom_game_modal_success": "Jeu personnalisé ajouté avec succès",
"custom_game_modal_failed": "Échec de lajout du jeu personnalisé",
"custom_game_modal_executable": "Exécutable",
"edit_game_modal": "Personnaliser les ressources",
"edit_game_modal_description": "Personnalisez les ressources et les détails du jeu",
"edit_game_modal_title": "Titre",
"edit_game_modal_enter_title": "Entrer le titre",
"edit_game_modal_image": "Image",
"edit_game_modal_select_image": "Sélectionner une image",
"edit_game_modal_browse": "Parcourir",
"edit_game_modal_image_preview": "Aperçu de limage",
"edit_game_modal_icon": "Icône",
"edit_game_modal_select_icon": "Sélectionner une icône",
"edit_game_modal_icon_preview": "Aperçu de licône",
"edit_game_modal_logo": "Logo",
"edit_game_modal_select_logo": "Sélectionner un logo",
"edit_game_modal_logo_preview": "Aperçu du logo",
"edit_game_modal_hero": "Bannière de la bibliothèque",
"edit_game_modal_select_hero": "Sélectionner limage de bannière",
"edit_game_modal_hero_preview": "Aperçu de la bannière",
"edit_game_modal_cancel": "Annuler",
"edit_game_modal_update": "Mettre à jour",
"edit_game_modal_updating": "Mise à jour…",
"edit_game_modal_fill_required": "Veuillez remplir tous les champs requis",
"edit_game_modal_success": "Ressources mises à jour avec succès",
"edit_game_modal_failed": "Échec de la mise à jour des ressources",
"edit_game_modal_image_filter": "Image",
"edit_game_modal_icon_resolution": "Résolution recommandée : 256x256px",
"edit_game_modal_logo_resolution": "Résolution recommandée : 640x360px",
"edit_game_modal_hero_resolution": "Résolution recommandée : 1920x620px",
"edit_game_modal_assets": "Ressources",
"edit_game_modal_drop_icon_image_here": "Déposez limage de licône ici",
"edit_game_modal_drop_logo_image_here": "Déposez limage du logo ici",
"edit_game_modal_drop_hero_image_here": "Déposez limage de la bannière ici",
"edit_game_modal_drop_to_replace_icon": "Déposez pour remplacer licône",
"edit_game_modal_drop_to_replace_logo": "Déposez pour remplacer le logo",
"edit_game_modal_drop_to_replace_hero": "Déposez pour remplacer la bannière",
"install_decky_plugin": "Installer le plugin Decky",
"update_decky_plugin": "Mettre à jour le plugin Decky",
"decky_plugin_installed_version": "Plugin Decky (v{{version}})",
"install_decky_plugin_title": "Installer le plugin Decky Hydra",
"install_decky_plugin_message": "Cela téléchargera et installera le plugin Hydra pour Decky Loader. Des permissions élevées peuvent être requises. Continuer ?",
"update_decky_plugin_title": "Mettre à jour le plugin Decky Hydra",
"update_decky_plugin_message": "Une nouvelle version du plugin Decky Hydra est disponible. Souhaitez-vous la mettre à jour maintenant ?",
"decky_plugin_installed": "Plugin Decky v{{version}} installé avec succès",
"decky_plugin_installation_failed": "Échec de linstallation du plugin Decky : {{error}}",
"decky_plugin_installation_error": "Erreur lors de linstallation du plugin Decky : {{error}}",
"confirm": "Confirmer",
"cancel": "Annuler"
},
"header": {
"search": "Rechercher",
@@ -37,7 +99,15 @@
"search_results": "Résultats de la recherche",
"settings": "Paramètres",
"version_available_install": "Version {{version}} disponible. Cliquez ici pour redémarrer et installer.",
"version_available_download": "Version {{version}} disponible. Cliquez ici pour télécharger."
"version_available_download": "Version {{version}} disponible. Cliquez ici pour télécharger.",
"search_library": "Rechercher dans la bibliothèque",
"recent_searches": "Recherches récentes",
"suggestions": "Suggestions",
"clear_history": "Effacer",
"remove_from_history": "Supprimer de l'historique",
"loading": "Chargement…",
"no_results": "Aucun résultat",
"library": "Bibliothèque"
},
"bottom_panel": {
"no_downloads_in_progress": "Aucun téléchargement en cours",
@@ -47,7 +117,8 @@
"checking_files": "Vérification des fichiers de {{title}}… ({{percentage}} terminé)",
"installing_common_redist": "{{log}}…",
"installation_complete": "Installation terminée",
"installation_complete_message": "Redistribuables communs installés avec succès"
"installation_complete_message": "Redistribuables communs installés avec succès",
"extracting": "Extraction de {{title}}… ({{percentage}} terminé)"
},
"catalogue": {
"search": "Filtrer…",
@@ -198,7 +269,113 @@
"download_error_not_cached_on_hydra": "Ce téléchargement n'est pas disponible sur Nimbus.",
"game_removed_from_favorites": "Jeu retiré des favoris",
"game_added_to_favorites": "Jeu ajouté aux favoris",
"automatically_extract_downloaded_files": "Extraire automatiquement les fichiers téléchargés"
"automatically_extract_downloaded_files": "Extraire automatiquement les fichiers téléchargés",
"already_in_library": "Déjà dans la bibliothèque",
"create_shortcut_simple": "Créer un raccourci",
"properties": "Propriétés",
"extracting": "Extraction en cours",
"new_download_option": "Nouveau",
"create_steam_shortcut": "Créer un raccourci Steam",
"you_might_need_to_restart_steam": "Vous devrez peut-être redémarrer Steam pour voir les changements",
"add_to_favorites": "Ajouter aux favoris",
"remove_from_favorites": "Retirer des favoris",
"failed_update_favorites": "Échec de la mise à jour des favoris",
"game_removed_from_library": "Jeu retiré de la bibliothèque",
"failed_remove_from_library": "Échec de la suppression du jeu de la bibliothèque",
"files_removed_success": "Fichiers supprimés avec succès",
"failed_remove_files": "Échec de la suppression des fichiers",
"rating_count": "Évaluations",
"show_more": "Afficher plus",
"show_less": "Afficher moins",
"reviews": "Avis",
"review_played_for": "Temps de jeu",
"leave_a_review": "Laisser un avis",
"write_review_placeholder": "Partagez votre avis sur ce jeu…",
"sort_newest": "Les plus récents",
"sort_oldest": "Les plus anciens",
"sort_highest_score": "Meilleure note",
"sort_lowest_score": "Note la plus basse",
"sort_most_voted": "Les plus votés",
"no_reviews_yet": "Aucun avis pour le moment",
"be_first_to_review": "Soyez le premier à donner votre avis !",
"rating": "Note",
"rating_stats": "Évaluation",
"rating_very_negative": "Très négatif",
"rating_negative": "Négatif",
"rating_neutral": "Neutre",
"rating_positive": "Positif",
"rating_very_positive": "Très positif",
"submit_review": "Envoyer",
"submitting": "Envoi…",
"review_submitted_successfully": "Avis envoyé avec succès !",
"review_submission_failed": "Échec de lenvoi de lavis. Veuillez réessayer.",
"review_cannot_be_empty": "Le champ de lavis ne peut pas être vide.",
"review_deleted_successfully": "Avis supprimé avec succès.",
"review_deletion_failed": "Échec de la suppression de lavis.",
"loading_reviews": "Chargement des avis…",
"loading_more_reviews": "Chargement de plus davis…",
"load_more_reviews": "Charger plus davis",
"you_seemed_to_enjoy_this_game": "Vous semblez avoir apprécié ce jeu",
"would_you_recommend_this_game": "Souhaitez-vous laisser un avis sur ce jeu ?",
"yes": "Oui",
"maybe_later": "Peut-être plus tard",
"backup_failed": "Échec de la sauvegarde",
"update_playtime_title": "Mettre à jour le temps de jeu",
"update_playtime_description": "Mettre à jour manuellement le temps de jeu pour {{game}}",
"update_playtime": "Mettre à jour le temps de jeu",
"update_playtime_success": "Temps de jeu mis à jour avec succès",
"update_playtime_error": "Échec de la mise à jour du temps de jeu",
"update_game_playtime": "Mettre à jour le temps de jeu",
"manual_playtime_warning": "Vos heures seront marquées comme modifiées manuellement et cela ne peut pas être annulé.",
"manual_playtime_tooltip": "Ce temps de jeu a été modifié manuellement",
"game_removed_from_pinned": "Jeu retiré des épinglés",
"game_added_to_pinned": "Jeu ajouté aux épinglés",
"create_start_menu_shortcut": "Créer un raccourci dans le menu Démarrer",
"invalid_wine_prefix_path": "Chemin du préfixe Wine invalide",
"invalid_wine_prefix_path_description": "Le chemin du préfixe Wine est invalide. Veuillez vérifier et réessayer.",
"missing_wine_prefix": "Un préfixe Wine est requis pour créer une sauvegarde sous Linux",
"artifact_renamed": "Sauvegarde renommée avec succès",
"rename_artifact": "Renommer la sauvegarde",
"rename_artifact_description": "Renommez la sauvegarde avec un nom plus descriptif",
"artifact_name_label": "Nom de la sauvegarde",
"artifact_name_placeholder": "Entrez un nom pour la sauvegarde",
"save_changes": "Enregistrer les modifications",
"required_field": "Ce champ est requis",
"max_length_field": "Ce champ doit contenir moins de {{length}} caractères",
"freeze_backup": "Épingler pour éviter lécrasement automatique",
"unfreeze_backup": "Désépingler",
"backup_frozen": "Sauvegarde épinglée",
"backup_unfrozen": "Sauvegarde désépinglée",
"backup_freeze_failed": "Échec de lépinglage de la sauvegarde",
"backup_freeze_failed_description": "Vous devez laisser au moins un emplacement libre pour les sauvegardes automatiques",
"edit_game_modal_button": "Personnaliser les ressources du jeu",
"game_details": "Détails du jeu",
"prices": "Prix",
"no_prices_found": "Aucun prix trouvé",
"view_all_prices": "Cliquer pour voir tous les prix",
"retail_price": "Prix officiel",
"keyshop_price": "Prix Keyshop",
"historical_retail": "Historique officiel",
"historical_keyshop": "Historique Keyshop",
"language": "Langue",
"caption": "Sous-titres",
"audio": "Audio",
"filter_by_source": "Filtrer par source",
"no_repacks_found": "Aucune source trouvée pour ce jeu",
"delete_review": "Supprimer lavis",
"remove_review": "Retirer lavis",
"delete_review_modal_title": "Voulez-vous vraiment supprimer votre avis ?",
"delete_review_modal_description": "Cette action est irréversible.",
"delete_review_modal_delete_button": "Supprimer",
"delete_review_modal_cancel_button": "Annuler",
"vote_failed": "Échec de lenregistrement de votre vote. Veuillez réessayer.",
"show_original": "Afficher loriginal",
"show_translation": "Afficher la traduction",
"show_original_translated_from": "Afficher loriginal (traduit depuis {{language}})",
"hide_original": "Masquer loriginal",
"review_from_blocked_user": "Avis dun utilisateur bloqué",
"show": "Afficher",
"hide": "Masquer"
},
"activation": {
"title": "Activer Hydra",
@@ -237,7 +414,11 @@
"resume_seeding": "Reprendre le partage",
"options": "Gérer",
"extract": "Extraire les fichiers",
"extracting": "Extraction des fichiers…"
"extracting": "Extraction des fichiers…",
"delete_archive_title": "Voulez-vous supprimer {{fileName}} ?",
"delete_archive_description": "Le fichier a été extrait avec succès et nest plus nécessaire.",
"yes": "Oui",
"no": "Non"
},
"settings": {
"downloads_path": "Chemin des téléchargements",
@@ -366,7 +547,40 @@
"bottom-left": "En bas à gauche",
"bottom-center": "En bas au centre",
"bottom-right": "En bas à droite",
"enable_friend_start_game_notifications": "Quand un ami commence à jouer à un jeu"
"enable_friend_start_game_notifications": "Quand un ami commence à jouer à un jeu",
"adding": "Ajout…",
"failed_add_download_source": "Échec de lajout de la source de téléchargement. Veuillez réessayer.",
"download_source_already_exists": "Cette URL de source existe déjà",
"download_source_pending_matching": "Mise à jour imminente",
"download_source_matched": "À jour",
"download_source_matching": "Mise à jour",
"download_source_failed": "Erreur",
"download_source_no_information": "Aucune information disponible",
"removed_all_download_sources": "Toutes les sources de téléchargement supprimées",
"download_sources_synced_successfully": "Toutes les sources de téléchargement ont été synchronisées",
"importing": "Importation…",
"hydra_cloud": "Hydra Cloud",
"debrid": "Debrid",
"enable_steam_achievements": "Activer la recherche de succès Steam",
"alignment": "Alignement",
"variation": "Variation",
"default": "Par défaut",
"rare": "Rare",
"platinum": "Platine",
"hidden": "Caché",
"test_notification": "Notification de test",
"achievement_sound_volume": "Volume du son de succès",
"select_achievement_sound": "Sélectionner un son de succès",
"change_achievement_sound": "Changer le son de succès",
"remove_achievement_sound": "Supprimer le son de succès",
"preview_sound": "Prévisualiser le son",
"select": "Sélectionner",
"preview": "Aperçu",
"remove": "Supprimer",
"no_sound_file_selected": "Aucun fichier sonore sélectionné",
"notification_preview": "Aperçu de la notification de succès",
"autoplay_trailers_on_game_page": "Lire automatiquement les bandes-annonces sur la page du jeu",
"hide_to_tray_on_game_start": "Réduire Hydra dans la barre système au lancement dun jeu"
},
"notifications": {
"download_complete": "Téléchargement terminé",

View File

@@ -8,11 +8,12 @@
"no_results": "Nincs találat",
"start_typing": "Kereséshez gépelj...",
"hot": "Most felkapott",
"weekly": "📅 A hét felkapott játékai",
"weekly": "📅 Heti kiemeltek",
"achievements": "🏆 Achievement támogatott"
},
"sidebar": {
"catalogue": "Katalógus",
"library": "Könyvtár",
"downloads": "Letöltések",
"settings": "Beállítások",
"my_library": "Könyvtáram",
@@ -21,19 +22,19 @@
"downloading": "{{title}} ({{percentage}} - Letöltés…)",
"filter": "Könyvtár szűrése",
"home": "Főoldal",
"queued": "A(z) {{title}} (Várakozósorban van)",
"queued": "{{title}} (Várakozásban)",
"game_has_no_executable": "A játékhoz nincs tallózva futtatható fájl",
"sign_in": "Bejelentkezés",
"friends": "Barátok",
"need_help": "Elakadtál?",
"favorites": "Kedvenc játékok",
"favorites": "Kedvenc Játékaim",
"playable_button_title": "Csak az azonnal játszható játékokat mutasd",
"add_custom_game_tooltip": "Saját játék hozzáadása",
"show_playable_only_tooltip": "Csak játszható játék mutatása",
"custom_game_modal": "Saját játék hozzáadása:",
"custom_game_modal_description": "Adj meg egy futtatható fájlt",
"custom_game_modal_executable_path": "A fájl útvonala",
"custom_game_modal_select_executable": "Az útvonal",
"custom_game_modal_executable_path": "Futtatható fájl",
"custom_game_modal_select_executable": "Fájl útvonala",
"custom_game_modal_title": "Játékcím",
"custom_game_modal_enter_title": "Játék elnevezése",
"custom_game_modal_browse": "Tallózás",
@@ -43,7 +44,7 @@
"custom_game_modal_success": "Saját játék sikeresen hozzáadva",
"custom_game_modal_failed": "Saját játék hozzáadása sikertelen",
"custom_game_modal_executable": "Futtatható fájl",
"edit_game_modal": "Játékmegjelenés",
"edit_game_modal": "Játékmegjelenítése:",
"edit_game_modal_description": "Játékcím és vizuális elemek módosítása",
"edit_game_modal_title": "Játékcím",
"edit_game_modal_enter_title": "Játék elnevezése",
@@ -70,12 +71,38 @@
"edit_game_modal_icon_resolution": "Ajánlott felbontás: 256x256px",
"edit_game_modal_logo_resolution": "Ajánlott felbontás: 640x360px",
"edit_game_modal_hero_resolution": "Ajánlott felbontás: 1920x620px",
"edit_game_modal_assets": "Vizuális elemek:"
"edit_game_modal_assets": "Vizuális elemek:",
"edit_game_modal_drop_icon_image_here": "Húzd ide az ikon képét",
"edit_game_modal_drop_logo_image_here": "Húzd ide a logó képét",
"edit_game_modal_drop_hero_image_here": "Húzd ide a borítókép képét",
"edit_game_modal_drop_to_replace_icon": "Ikon kicserélése ráhúzással",
"edit_game_modal_drop_to_replace_logo": "Logó kicserélése ráhúzással",
"edit_game_modal_drop_to_replace_hero": "Borítókép kicserélése ráhúzással",
"install_decky_plugin": "Decky Plugin Telepítése",
"update_decky_plugin": "Decky Plugin Frissítése",
"decky_plugin_installed_version": "Decky Plugin (v{{version}})",
"install_decky_plugin_title": "Telepítsd a Hydra Decky Plugint",
"install_decky_plugin_message": "Ez letölti és telepíti a Hydra plugint a Decky Loaderhez. Előfordulhat, hogy rendszergazdai jogosultságra lesz szükség. Folytatod?",
"update_decky_plugin_title": "Hydra Decky Plugin Frissítése",
"update_decky_plugin_message": "Egy új verzió elérhető a Hydra Decky Pluginhoz. Szeretnéd frissíteni?",
"decky_plugin_installed": "Decky plugin v{{version}} sikeresen telepítve",
"decky_plugin_installation_failed": "Decky plugin telepítése sikertelen: {{error}}",
"decky_plugin_installation_error": "Decky plugin telepítése hibával járt el: {{error}}",
"confirm": "Megerősít",
"cancel": "Mégse"
},
"header": {
"search": "Keresés",
"search_library": "Könyvtár böngészése",
"recent_searches": "Korábbi Keresések",
"suggestions": "Találatok",
"clear_history": "Törlés",
"remove_from_history": "Törlés az előzményekből",
"loading": "Töltés...",
"no_results": "Nincs találat",
"home": "Főoldal",
"catalogue": "Katalógus",
"library": "Könyvtár",
"downloads": "Letöltések",
"search_results": "Keresési találatok",
"settings": "Beállítások",
@@ -88,6 +115,7 @@
"downloading": "{{title}} letöltése… ({{percentage}} kész) - Befejezés {{eta}} - {{speed}}",
"calculating_eta": "{{title}} letöltése… ({{percentage}} kész) - Hátralévő idő…",
"checking_files": "A(z) {{title}} fájljaiból… ({{percentage}} kész)",
"extracting": "{{title}} kicsomagolása… ({{percentage}} kicsomagolva)",
"installing_common_redist": "{{log}}…",
"installation_complete": "Telepítés befejezve",
"installation_complete_message": "A(z) Alapvető segédprogramok sikeresen telepítve"
@@ -99,7 +127,7 @@
"tags": "Címkék",
"publishers": "Kiadók",
"download_sources": "Letöltési források",
"result_count": "{{resultCount}} találatok",
"result_count": "{{resultCount}} találat",
"filter_count": "{{filterCount}} elérhető",
"clear_filters": "{{filterCount}} kiválaszott szűrő törlése"
},
@@ -120,7 +148,7 @@
"downloading_metadata": "Metaadat letöltése",
"filter": "Repackek szűrése",
"requirements": "Rendszerkövetelmények",
"minimum": "Minimum",
"minimum": "Minimális",
"recommended": "Ajánlott",
"paused": "Szüneteltetve",
"release_date": "Megjelenés: {{date}}",
@@ -144,15 +172,15 @@
"playing_now": "Játékban: ",
"change": "Változtatás",
"repacks_modal_description": "Válaszd ki a repacket amit leszeretnél tölteni",
"select_folder_hint": "Hogy megváltoztasd a letöltési mappát, menj a <0>Beállítások</0> menüjébe",
"select_folder_hint": "A letöltési mappát a <0>Beállításokban</0> változtathatod meg",
"download_now": "Letöltés",
"no_shop_details": "A bolt adatai nem érhetőek el.",
"download_options": "Letöltési opciók",
"download_path": "Letöltis hely",
"download_path": "Letöltési hely",
"previous_screenshot": "Előző screenshot",
"next_screenshot": "Következő screenshot",
"screenshot": "Screenshot {{number}}",
"open_screenshot": "Screenshot megnyitása {{number}}",
"open_screenshot": "{{number}} Screenshot megnyitása ",
"download_settings": "Letöltési beállítások",
"downloader": "Letöltési mód",
"select_executable": "Tallózás",
@@ -160,31 +188,43 @@
"open_folder": "Mappa megnyitása",
"open_download_location": "Letöltött fájlok megtekintése",
"create_shortcut": "Asztali parancsikon létrehozása",
"create_shortcut_simple": "Parancsikon létrehozása",
"clear": "Visszavon",
"remove_files": "Fájlok eltávolítása",
"remove_from_library_title": "Biztos vagy ebben?",
"remove_from_library_description": "Ezzel eltávolítod a játékot {{game}} a könyvtáradból",
"options": "Beállítások",
"properties": "További beállítások",
"executable_section_title": "Futtatható fájl",
"executable_section_description": "A fájl amely futtatásra fog kerülni amikor a \"Játék\" lenyomásra kerül",
"downloads_section_title": "Letöltések",
"downloads_section_description": "Csekkold le a játék frissítéseit vagy más verzióit",
"danger_zone_section_title": "Veszélyzóna",
"danger_zone_section_description": "Távolítsd el a játékot könyvtáradból, vagy a fájlokat amit a Hydra töltött le",
"danger_zone_section_description": "Itt eltávolítható a játék a könyvtáradból, vagy a fájlok amelyek a Hydra által lettek letöltve",
"download_in_progress": "Letöltés folyamatban",
"download_paused": "Letöltés szüneteltetve",
"extracting": "Kicsomagolás",
"last_downloaded_option": "Utoljára letöltött",
"new_download_option": "Új",
"create_steam_shortcut": "Steam parancsikon létrehozása",
"create_shortcut_success": "A parancsikon létrehozása sikeres",
"you_might_need_to_restart_steam": "Lehetséges hogy újrakell indítsd a Steamet hogy lásd a változást.",
"create_shortcut_error": "Hiba lépett fel létrehozás közben",
"nsfw_content_title": "Ez a játék nem megfelelő tartalmat tartalmaz.",
"nsfw_content_description": "{{title}} tartalmaz tartalmat amely nem megfelelő minden korosztálynak. Biztosan folytatni szeretnéd?",
"add_to_favorites": "Kedvencekhez adás",
"remove_from_favorites": "Eltávolítás a kedvencek közül",
"failed_update_favorites": "Kedvencek frissítése sikertelen",
"game_removed_from_library": "Játék eltávolítva a könyvtárból",
"failed_remove_from_library": "Játék eltávolítása a könyvtárból sikertelen",
"files_removed_success": "Fájlok eltávolítása sikeres",
"failed_remove_files": "Fájlok eltávolítása sikertelen",
"nsfw_content_title": "Ez a játék tartalmaz nem megfelelő tartalmat",
"nsfw_content_description": "A(z) {{title}} tartalma lehetséges hogy nem megfelelő minden korosztály számára. Biztosan folytatni szeretnéd?",
"allow_nsfw_content": "Folytatás",
"refuse_nsfw_content": "Vissza",
"stats": "Statisztikák",
"download_count": "Letöltések",
"player_count": "Aktív játékosok",
"rating_count": "Értékelés",
"download_error": "Ez a letöltési opció nem elérhető",
"download": "Letöltés",
"executable_path_in_use": "Ez a futtatható fájl már használatban van a(z) \"{{game}}\" által",
@@ -192,6 +232,40 @@
"hydra_needs_to_remain_open": "ehhez a letöltéshez, a Hydrának muszáj nyitva maradnia hogy letöltődjön. Ha a Hydra bezáródik letöltés előtt, a letöltés elveszik.",
"achievements": "Achievementek",
"achievements_count": "Achievementek {{unlockedCount}}/{{achievementsCount}}",
"show_more": "Mutass többet",
"show_less": "Mutass kevesebbet",
"reviews": "Vélemények",
"review_played_for": "Játszva",
"leave_a_review": "Hagyd itt a véleményed",
"write_review_placeholder": "Oszd meg gondolatod a játékról...",
"sort_newest": "Legújabb",
"no_reviews_yet": "Még nem lett vélemény megosztva",
"be_first_to_review": "Légy az első, aki megossza a véleményét a játékról!",
"sort_oldest": "Legrégibb",
"sort_highest_score": "Legmagasabb Pontszám",
"sort_lowest_score": "Legalacsonyabb Pontszám",
"sort_most_voted": "Legszavazottabb",
"rating": "Értékelés",
"rating_stats": "Értékelés",
"rating_very_negative": "Nagyon Negatív",
"rating_negative": "Negatív",
"rating_neutral": "Átlagos",
"rating_positive": "Pozitív",
"rating_very_positive": "Nagyon Pozitív",
"submit_review": "Küldés",
"submitting": "Küldés alatt...",
"review_submitted_successfully": "Vélemény beküldve sikeresen!",
"review_submission_failed": "Vélemény beküldése sikertelen. Kérlek próbáld újra.",
"review_cannot_be_empty": "A vélemény mező nem lehet üres.",
"review_deleted_successfully": "Vélemény sikeresen törölve.",
"review_deletion_failed": "Vélemény törlése sikertelen. Kérlek próbáld újra.",
"loading_reviews": "Vélemények betöltése...",
"loading_more_reviews": "Több vélemény betöltése...",
"load_more_reviews": "Több vélemény betöltése",
"you_seemed_to_enjoy_this_game": "Úgy látszik élvezted ezt a játékot",
"would_you_recommend_this_game": "Szeretnél véleményt írni erről a játékról?",
"yes": "Igen",
"maybe_later": "Talán később",
"cloud_save": "Mentés felhőben",
"cloud_save_description": "Mentsd el az előrehaladásod a felhőben, majd folytasd egy másik eszközön",
"backups": "Biztonsági másolatok",
@@ -204,6 +278,7 @@
"uploading_backup": "Biztonsági mentés feltöltése…",
"no_backups": "Még nem hoztál létre biztonsági másolatot ehhez a játékhoz",
"backup_uploaded": "Biztonsági mentés feltöltve",
"backup_failed": "Biztonsági mentés sikertelen",
"backup_deleted": "Biztonsági mentés törölve",
"backup_restored": "Biztonsági mentés helyreállítva",
"see_all_achievements": "Achievementlista megtekintése",
@@ -239,17 +314,17 @@
"reset_achievements_error": "Achievementek nullázása sikertelen",
"download_error_gofile_quota_exceeded": "Túllépted a Gofile havi kvótáját. Kérlek, várd meg amíg a kvóta lejár.",
"download_error_real_debrid_account_not_authorized": "A Real-Debrid fiókod nem jogosult új letöltésekre. Kérlek, ellenőrízd a fiókbeállításaidat, majd próbáld újra.",
"download_error_not_cached_on_real_debrid": "Ez a letöltés nem érhető el a Real-Debridnél, és lekérdezni letöltési állapotot még nem lehet vele.",
"download_error_not_cached_on_real_debrid": "Ez a letöltés nem elérhető a Real-Debriden, és lekérdezni letöltési állapotot még nem lehet.",
"update_playtime_title": "Játékidő frissítése",
"update_playtime_description": "Manuálisan frissíteni a Játékidőt a {{game}} játékhoz",
"update_playtime_description": "A(z) {{game}} játékidejének frissítése manuálisan",
"update_playtime": "Játékidő frissítése",
"update_playtime_success": "Játékidő sikeresen frissítve",
"update_playtime_error": "A Játékidőnek nem sikerült frissülnie",
"update_game_playtime": "Játékidő frissítése",
"manual_playtime_warning": "Az óráid 'manuálisan frissítve' lesznek megjelölve, és ez nem visszavonható.",
"manual_playtime_tooltip": "Ez a játékidő manuálisan lett frissítve",
"download_error_not_cached_on_torbox": "This download is not available on TorBox and polling download status from TorBox is not yet available.",
"download_error_not_cached_on_hydra": "This download is not available on Nimbus.",
"manual_playtime_warning": "A Játékidő „Manuálisan frissített”-ként lesz megjelölve, és ez nem visszavonható.",
"manual_playtime_tooltip": "Ez a Játékidő manuálisan lett frissítve",
"download_error_not_cached_on_torbox": "Ez a letöltés nem elérhető a TorBoxon, és lekérdezni letöltési állapotot még nem lehet.",
"download_error_not_cached_on_hydra": "Ez a letöltés nem elérhető a Nimbuson.",
"game_removed_from_favorites": "Játék eltávolítva a kedvencek közül",
"game_added_to_favorites": "Játék hozzáadva a kedvencekhez",
"game_removed_from_pinned": "Játék eltávolítva a kitűzöttek közül",
@@ -272,7 +347,7 @@
"backup_frozen": "Biztonsági mentés rögzítve",
"backup_unfrozen": "Biztonsági mentés leválasztva",
"backup_freeze_failed": "Biztonsági mentés rögzítése sikertelen",
"backup_freeze_failed_description": "Legalább egy szabad helyet kell hagyni az automatikus biztonsági mentéseknek.",
"backup_freeze_failed_description": "Legalább egy szabad helyet kell hagyni az automatikus biztonsági mentéseknek",
"edit_game_modal_button": "Játékadatok testreszabása",
"game_details": "Játék leírása",
"currency_symbol": "Ft",
@@ -286,13 +361,29 @@
"historical_keyshop": "Korábbi nem hivatalos ár",
"language": "Nyelv",
"caption": "Felirat",
"audio": "Hang"
"audio": "Hang",
"filter_by_source": "Szűrés forrás szerint",
"no_repacks_found": "Nem található forrás ehhez a játékhoz",
"delete_review": "Vélemény törlése",
"remove_review": "Vélemény eltávolítása",
"delete_review_modal_title": "Biztos vagy abban hogy törölni szeretnéd a véleményed?",
"delete_review_modal_description": "Ez a lépés nem vonható vissza.",
"delete_review_modal_delete_button": "Törlés",
"delete_review_modal_cancel_button": "Mégse",
"vote_failed": "A szavazatod nem regisztrálódott. Kérlek próbáld újra.",
"show_original": "Eredeti megjelenítése",
"show_translation": "Fordítás megjelenítése",
"show_original_translated_from": "Eredeti megjelenítése (fordítva: {{language}})",
"hide_original": "Eredeti elrejtése",
"review_from_blocked_user": "Letiltott felhasználó véleménye",
"show": "Megjelenítés",
"hide": "Elrejtés"
},
"activation": {
"title": "Hydra aktiválása",
"installation_id": "Telepítési azonosító:",
"title": "Hydra Aktiválása",
"installation_id": "Telepítési Azonosító:",
"enter_activation_code": "Írd be az aktiválási kódod",
"message": "Ha nem tudod kit kérdezz efelől, akkor nem kéne nálad legyen.",
"message": "Ha nem tudod merre kérdezz efelől, akkor nem kéne ilyened legyen.",
"activate": "Aktiválás",
"loading": "Töltés…"
},
@@ -314,9 +405,9 @@
"delete_modal_description": "Ez eltávolítja a telepítési fájlokat a számítógépedről",
"install": "Telepít",
"download_in_progress": "Folyamatban lévő",
"queued_downloads": "Várakozósoron lévő letöltések",
"queued_downloads": "Várakozásban lévő letöltések",
"downloads_completed": "Befejezett",
"queued": "Várakozási sorban",
"queued": "Várakozásban",
"no_downloads_title": "Oly üres..",
"no_downloads_description": "Még nem töltöttél le semmit a Hydra segítségével, de soha nem késő elkezdeni.",
"checking_files": "Fájlok ellenőrzése…",
@@ -325,7 +416,11 @@
"resume_seeding": "Seedelés folytatása",
"options": "Kezelés",
"extract": "Fájlok kibontása",
"extracting": "Fájlok kibontása…"
"extracting": "Fájlok kibontása…",
"delete_archive_title": "Szeretnéd törölni ezt a fájlt? {{fileName}}",
"delete_archive_description": "A tömörített fájl ki lett csomagolva, s többé nincs rá szükség. ",
"yes": "Igen",
"no": "Nem"
},
"settings": {
"downloads_path": "Letöltési útvonalak",
@@ -342,27 +437,37 @@
"language": "Nyelv",
"api_token": "API Token",
"enable_real_debrid": "Real-Debrid Bekapcsolása",
"real_debrid_description": "A Real-Debrid egy korlátozásmentes letöltőprogram, lehetővé teszi a fájlok gyors letöltését, és csak az internetkapcsolat sebessége szab határt.",
"real_debrid_description": "A Real-Debrid egy korlátozásmentes letöltőprogram, ami lehetővé teszi a fájlok gyors letöltését, és csak az internetkapcsolat sebessége szab határt.",
"debrid_invalid_token": "Érvénytelen API token",
"debrid_api_token_hint": "Az API tokened <0>itt</0> található",
"real_debrid_free_account_error": "Ez a fiók: \"{{username}}\" egy ingyenes fiók. Kérlek iratkozz fel a Real-Debrid-re",
"real_debrid_free_account_error": "Ez a fiók: \"{{username}}\" egy ingyenes fiók. Kérlek iratkozz fel a Real-Debridre",
"debrid_linked_message": "Fiók összekapcsolva: \"{{username}}\" ",
"save_changes": "Változtatások mentése",
"changes_saved": "Változtatások sikeresen mentve",
"download_sources_description": "A Hydra lefogja tölteni a letöltési linkeket a forrásokból. Az URL forrásnak közvetlen linknek kell lennie egy .json fájlhoz, ami tartalmazza a linkeket.",
"download_sources_description": "A Hydra lefogja tölteni a letöltési linkeket a forrásokból. Az URL Forrásnak közvetlen linknek kell lennie egy .json fájlhoz, ami tartalmazza a linkeket.",
"validate_download_source": "Érvényesítés",
"remove_download_source": "Eltávolítás",
"add_download_source": "Forrás hozáadása",
"adding": "Hozzáadás…",
"failed_add_download_source": "Letöltési forrás hozzáadása sikertelen. Kérlek próbáld újra.",
"download_source_already_exists": "Ez a letöltési forrás URL már létezik.",
"download_count_zero": "Nincs letöltési opció",
"download_count_one": "{{countFormatted}} letöltési opció",
"download_count_other": "{{countFormatted}} letöltési opció",
"download_source_url": "URL forrás:",
"download_source_url": "URL Forrás:",
"add_download_source_description": "Helyezd be a .json fájl URL-jét",
"download_source_up_to_date": "Naprakész",
"download_source_errored": "Hiba történt",
"download_source_pending_matching": "Frissítés hamarosan",
"download_source_matched": "Naprakész",
"download_source_matching": "Frissítés..",
"download_source_failed": "Hiba",
"download_source_no_information": "Nincs elérhető információ",
"sync_download_sources": "Források szinkronizálása",
"removed_download_source": "Letöltési forrás eltávolítva",
"removed_download_sources": "Letöltési források eltávolítva",
"removed_all_download_sources": "Összes letöltési forrás eltávolítva",
"download_sources_synced_successfully": "Az összes letöltési forrás szinkronizálva",
"cancel_button_confirmation_delete_all_sources": "Nem",
"confirm_button_confirmation_delete_all_sources": "Igen, törölj mindent",
"title_confirmation_delete_all_sources": "Az összes letöltési forrás törlése",
@@ -375,6 +480,7 @@
"found_download_option_one": "{{countFormatted}} Letöltési opció találva",
"found_download_option_other": "{{countFormatted}} Letöltési opciók találva",
"import": "Importálás",
"importing": "Importálás...",
"public": "Publikus",
"private": "Privát",
"friends_only": "Csak barátok",
@@ -392,6 +498,7 @@
"seed_after_download_complete": "Letöltés utáni seedelés",
"show_hidden_achievement_description": "Rejtett achievementek leírásának megjelenítése feloldás előtt",
"account": "Fiók",
"hydra_cloud": "Hydra Cloud",
"no_users_blocked": "Nincsenek letiltott felhasználóid",
"subscription_active_until": "Hydra Cloud előfizetésed aktív, eddig: {{date}}",
"manage_subscription": "Előfizetés kezelése",
@@ -401,13 +508,13 @@
"no_email_account": "Még nincs beállított emailed",
"account_data_updated_successfully": "Fiókadatok változtatása sikeres",
"renew_subscription": "Hydra Cloud Megújítása",
"subscription_expired_at": "Az előfizetésed lejárt, ekkor: {{date}}",
"subscription_expired_at": "Az előfizetésed lejárt: {{date}}",
"no_subscription": "Élvezd a Hydrát a lehető legjobb módon",
"become_subscriber": "Légy Hydra Cloud tag",
"subscription_renew_cancelled": "Automatikus megújítás kikapcsolva",
"subscription_renews_on": "Az előfizetésed megújul, ekkor: {{date}}",
"subscription_renews_on": "Az előfizetésed megújul: {{date}}",
"bill_sent_until": "A következő számlát ezen napon küldjük",
"no_themes": "Úgy látom nincs egyetlen témád sem még, de ne aggódj, kattints ide hogy elkészítsd a remekművedet.",
"no_themes": "Úgy látszik nincs egyetlen témád sem még, de ne aggódj, kattints ide hogy elkészítsd a remekművedet.",
"editor_tab_code": "Code",
"editor_tab_info": "Info",
"editor_tab_save": "Mentés",
@@ -427,13 +534,15 @@
"delete_theme_description": "Ez törölni fogja a(z) {{theme}} témát",
"cancel": "Mégsem",
"appearance": "Megjelenés",
"debrid": "Debrid",
"debrid_description": "A Debrid szolgáltatások prémium szolgáltatások amelyek lehetővé teszik, hogy gyorsan letölts különböző fájltároló szolgáltatásokon tárolt fájlokat, és csak az internet sebességed szab határt.",
"enable_torbox": "TorBox bekapcsolása",
"torbox_description": "A TorBox egy olyan premium seedbox szolgáltatás, amely még a piacon elérhető legjobb szerverekkel is felveszi a versenyt.",
"torbox_account_linked": "TorBox fiók összekapcsolva",
"create_real_debrid_account": "Kattints ide ha még nincs Real-Debrid fiókod",
"create_torbox_account": "Kattints ide ha még nincs TorBox fiókod",
"real_debrid_account_linked": "Real-Debrid fiók összekapcsolva",
"name_min_length": "A téma neve legalább 3 karakter hosszú legyen",
"name_min_length": "A téma neve legalább 3 karakter hosszú kell legyen",
"import_theme": "Téma importálása",
"import_theme_description": "Ezt a témát fogod importálni a Témaáruház-ból: {{theme}}",
"error_importing_theme": "Hiba lépett fel a téma importálása közben",
@@ -459,11 +568,22 @@
"variation": "Variáció",
"default": "Alapértelmezett",
"rare": "Ritka",
"platinum": "Platinum",
"platinum": "Platina",
"hidden": "Rejtett",
"test_notification": "Értesítés tesztelése",
"achievement_sound_volume": "Achievement hangereje",
"select_achievement_sound": "Achievement hang kiválasztása",
"change_achievement_sound": "Achievement hang megváltoztatása",
"remove_achievement_sound": "Achievement hang eltávolítása",
"preview_sound": "Hang előnézet",
"select": "Kiválaszt",
"preview": "Előnézet",
"remove": "Eltávolít",
"no_sound_file_selected": "Nincs hangfájl kiválasztva",
"notification_preview": "Achievement Értesítés Előnézete",
"enable_friend_start_game_notifications": "Amikor egy barátod elkezd játszani egy játékot"
"enable_friend_start_game_notifications": "Amikor egy barátod elkezd játszani egy játékot",
"autoplay_trailers_on_game_page": "Játékelőzetes automatikus lejátszása a játék oldalán",
"hide_to_tray_on_game_start": "Hydra elrejtése játék indításakor a tálcára"
},
"notifications": {
"download_complete": "Letöltés befejezve",
@@ -490,12 +610,13 @@
"game_card": {
"available_one": "Elérhető",
"available_other": "Elérhető",
"no_downloads": "Nincs elérhető letöltés"
"no_downloads": "Nincs elérhető letöltés",
"calculating": "Számítás alatt.."
},
"binary_not_found_modal": {
"title": "A programok nincsenek telepítve",
"title": "Hiányzó programok",
"description": "Wine vagy Lutris futtatható fájlok nem találhatók a rendszereden",
"instructions": "Ellenőrízd, hogy melyiket kell helyesen telepíteni a Linux disztribúcióra, hogy a játék normálisan fusson"
"instructions": "Ellenőrízd hogy melyiket kell helyesen telepíteni a Linux disztribúciódra, hogy a játék megfelelően fusson"
},
"modal": {
"close": "Bezárás gomb"
@@ -512,6 +633,7 @@
"activity": "Legutóbbi tevékenység",
"library": "Könyvtár",
"pinned": "Kitűzve",
"sort_by": "Rendezés:",
"achievements_earned": "Elért achievementek",
"played_recently": "Nemrég játszva",
"playtime": "Játszottidő",
@@ -559,7 +681,7 @@
"no_blocked_users": "Nincs letiltott felhasználó",
"friend_code_copied": "Barát kód kimásolva",
"undo_friendship_modal_text": "Ezáltal megszünteted a barátságod vele: {{displayName}}",
"privacy_hint": "Hogy beállítsd ki láthassa ezt, menj a <0>Beállítások</0> menüjébe",
"privacy_hint": "Hogy beállítsd ki láthassa ezt, menj a <0>Beállításokba</0>",
"locked_profile": "Ez a profil privát",
"image_process_failure": "Hiba a kép feldolgozása közben",
"required_field": "Ez a mező kötelező",
@@ -575,13 +697,13 @@
"report_reason_violence": "Fenyegető",
"report_reason_spam": "Spam",
"report_reason_other": "Egyéb",
"profile_reported": "Profil jelentve",
"profile_reported": "Profil bejelentve",
"your_friend_code": "A barát kódod:",
"upload_banner": "Borítókép feltöltés",
"upload_banner": "Borítókép feltöltése",
"uploading_banner": "Borítókép feltöltése…",
"background_image_updated": "Borítókép frissítve",
"stats": "Statisztikák",
"achievements": "achievementek",
"achievements": "achievement",
"games": "Játékok",
"top_percentile": "Top {{percentile}}%",
"ranking_updated_weekly": "A rangsor hetente frissül.",
@@ -593,17 +715,44 @@
"error_adding_friend": "Hiba, barátfelkérés sikertelen. Kérlek ellenőrízd a barát kódot",
"friend_code_length_error": "A barát kódnak 8 karakterből kell állnia",
"game_removed_from_pinned": "Játék eltávolítva a kitűzöttek közül",
"game_added_to_pinned": "Játék hozzáadva a kitűzöttekhez"
"game_added_to_pinned": "Játék hozzáadva a kitűzöttekhez",
"karma": "Karma",
"karma_count": "karma",
"karma_description": "Pozitív értékelésekkel szerzett pontok",
"user_reviews": "Vélemények",
"delete_review": "Vélemény Törlése",
"loading_reviews": "Vélemények betöltése..."
},
"library": {
"library": "Könyvtár",
"play": "Játék",
"download": "Letöltés",
"downloading": "Letöltés..",
"game": "játék",
"games": "játékok",
"grid_view": "Rács nézet",
"compact_view": "Kompakt nézet",
"large_view": "Nagy nézet",
"no_games_title": "A könyvtárad üres",
"no_games_description": "Adj játékokat a katalógusból hozzá vagy töltsd le őket hogy bele vágj",
"amount_hours": "{{amount}} óra",
"amount_minutes": "{{amount}} perc",
"amount_hours_short": "{{amount}}ó",
"amount_minutes_short": "{{amount}}p",
"manual_playtime_tooltip": "Ez a játszottidő manuálisan lett frissítve",
"all_games": "Összes Játék",
"recently_played": "Nemrég Játszva",
"favorites": "Kedvencek"
},
"achievement": {
"achievement_unlocked": "Achievement feloldva",
"user_achievements": "{{displayName}} Achievementjei",
"your_achievements": "A te Achievementjeid",
"unlocked_at": "Feloldva ekkor: {{date}}",
"user_achievements": "{{displayName}} achievementjei",
"your_achievements": "A te achievementjeid",
"unlocked_at": "Feloldva: {{date}}",
"subscription_needed": "A tartalom megtekintéséhez Hydra Cloud előfizetés szükséges",
"new_achievements_unlocked": "{{achievementCount}} új achievementet oldottál fel {{gameCount}} játékban",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} achievementek",
"achievements_unlocked_for_game": "{{achievementCount}} új achievementet oldottál fel a(z) {{gameTitle}} játékban",
"new_achievements_unlocked": "{{achievementCount}} új achievement feloldva {{gameCount}} játékban",
"achievement_progress": "{{unlockedCount}}/{{totalCount}} achievement",
"achievements_unlocked_for_game": "{{achievementCount}} új achievement feloldva itt: {{gameTitle}}",
"hidden_achievement_tooltip": "Ez egy rejtett achievement",
"achievement_earn_points": "Szerezz be {{points}} pontot ezzel az achievement-el",
"earned_points": "Megszerzett pontok:",

View File

@@ -26,7 +26,9 @@ import nb from "./nb/translation.json";
import et from "./et/translation.json";
import bg from "./bg/translation.json";
import uz from "./uz/translation.json";
import fi from "./fi/translation.json";
import sv from "./sv/translation.json";
import lv from "./lv/translation.json";
export default {
"pt-BR": ptBR,
@@ -49,6 +51,7 @@ export default {
da,
ar,
fa,
fi,
ro,
ca,
bg,
@@ -58,4 +61,5 @@ export default {
et,
uz,
sv,
lv,
};

View File

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

View File

@@ -13,6 +13,7 @@
},
"sidebar": {
"catalogue": "Catálogo",
"library": "Biblioteca",
"downloads": "Downloads",
"settings": "Ajustes",
"my_library": "Biblioteca",
@@ -27,29 +28,84 @@
"friends": "Amigos",
"need_help": "Precisa de ajuda?",
"favorites": "Favoritos",
"playable_button_title": "Mostrar apenas jogos que você pode jogar agora",
"add_custom_game_tooltip": "Adicionar jogo personalizado",
"show_playable_only_tooltip": "Mostrar Apenas Jogáveis",
"custom_game_modal": "Adicionar jogo personalizado",
"custom_game_modal_description": "Adicione um jogo personalizado à sua biblioteca selecionando um arquivo executável",
"custom_game_modal_executable_path": "Caminho do Executável",
"custom_game_modal_select_executable": "Selecionar arquivo executável",
"custom_game_modal_title": "Título",
"custom_game_modal_enter_title": "Insira o título",
"edit_game_modal_title": "Título",
"playable_button_title": "",
"custom_game_modal_add": "Adicionar Jogo",
"custom_game_modal_adding": "Adicionando...",
"custom_game_modal_browse": "Buscar",
"custom_game_modal_cancel": "Cancelar",
"edit_game_modal_assets": "Imagens",
"edit_game_modal_icon": "Ícone",
"edit_game_modal_browse": "Buscar",
"edit_game_modal_cancel": "Cancelar",
"custom_game_modal_add": "Adicionar Jogo",
"custom_game_modal_adding": "Adicionando...",
"custom_game_modal_success": "Jogo personalizado adicionado com sucesso",
"custom_game_modal_failed": "Falha ao adicionar jogo personalizado",
"custom_game_modal_executable": "Executável",
"edit_game_modal": "Personalizar detalhes",
"edit_game_modal_description": "Personalize os recursos e detalhes do jogo",
"edit_game_modal_enter_title": "Insira o título",
"edit_game_modal_image": "Imagem",
"edit_game_modal_select_image": "Selecionar imagem",
"edit_game_modal_browse": "Buscar",
"edit_game_modal_image_preview": "Visualização da imagem",
"edit_game_modal_icon": "Ícone",
"edit_game_modal_select_icon": "Selecionar ícone",
"edit_game_modal_icon_preview": "Visualização do ícone",
"edit_game_modal_logo": "Logo",
"edit_game_modal": "Personalizar detalhes"
"edit_game_modal_select_logo": "Selecionar logo",
"edit_game_modal_logo_preview": "Visualização do logo",
"edit_game_modal_hero": "Hero da Biblioteca",
"edit_game_modal_select_hero": "Selecionar imagem hero da biblioteca",
"edit_game_modal_hero_preview": "Visualização da imagem hero da biblioteca",
"edit_game_modal_cancel": "Cancelar",
"edit_game_modal_update": "Atualizar",
"edit_game_modal_updating": "Atualizando...",
"edit_game_modal_fill_required": "Por favor, preencha todos os campos obrigatórios",
"edit_game_modal_success": "Recursos atualizados com sucesso",
"edit_game_modal_failed": "Falha ao atualizar recursos",
"edit_game_modal_image_filter": "Imagem",
"edit_game_modal_icon_resolution": "Resolução recomendada: 256x256px",
"edit_game_modal_logo_resolution": "Resolução recomendada: 640x360px",
"edit_game_modal_hero_resolution": "Resolução recomendada: 1920x620px",
"edit_game_modal_assets": "Imagens",
"edit_game_modal_drop_icon_image_here": "Solte a imagem do ícone aqui",
"edit_game_modal_drop_logo_image_here": "Solte a imagem do logo aqui",
"edit_game_modal_drop_hero_image_here": "Solte a imagem hero aqui",
"edit_game_modal_drop_to_replace_icon": "Solte para substituir o ícone",
"edit_game_modal_drop_to_replace_logo": "Solte para substituir o logo",
"edit_game_modal_drop_to_replace_hero": "Solte para substituir o hero",
"install_decky_plugin": "Instalar Plugin Decky",
"update_decky_plugin": "Atualizar Plugin Decky",
"decky_plugin_installed_version": "Plugin Decky (v{{version}})",
"install_decky_plugin_title": "Instalar Plugin Hydra Decky",
"install_decky_plugin_message": "Isso irá baixar e instalar o plugin Hydra para Decky Loader. Pode ser necessário permissões elevadas. Continuar?",
"update_decky_plugin_title": "Atualizar Plugin Hydra Decky",
"update_decky_plugin_message": "Uma nova versão do plugin Hydra Decky está disponível. Gostaria de atualizar agora?",
"decky_plugin_installed": "Plugin Decky v{{version}} instalado com sucesso",
"decky_plugin_installation_failed": "Falha ao instalar plugin Decky: {{error}}",
"decky_plugin_installation_error": "Erro ao instalar plugin Decky: {{error}}",
"confirm": "Confirmar",
"cancel": "Cancelar"
},
"header": {
"search": "Buscar jogos",
"search_library": "Buscar na biblioteca",
"recent_searches": "Buscas Recentes",
"suggestions": "Sugestões",
"clear_history": "Limpar",
"remove_from_history": "Remover do histórico",
"loading": "Carregando...",
"no_results": "Sem resultados",
"home": "Início",
"catalogue": "Catálogo",
"library": "Biblioteca",
"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."
},
@@ -59,6 +115,7 @@
"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}}…",
"extracting": "Extraindo {{title}}… ({{percentage}} concluído)",
"installing_common_redist": "{{log}}…",
"installation_complete": "Instalação concluída",
"installation_complete_message": "Componentes recomendados instalados com sucesso"
@@ -134,7 +191,9 @@
"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",
"extracting": "Extraindo",
"last_downloaded_option": "Última opção baixada",
"new_download_option": "Novo",
"create_steam_shortcut": "Criar atalho na Steam",
"create_shortcut_success": "Atalho criado com sucesso",
"you_might_need_to_restart_steam": "Você pode precisar reiniciar a Steam para ver as alterações",
@@ -165,6 +224,7 @@
"uploading_backup": "Criando backup…",
"no_backups": "Você ainda não fez nenhum backup deste jogo",
"backup_uploaded": "Backup criado",
"backup_failed": "Falha no backup",
"backup_deleted": "Backup apagado",
"backup_restored": "Backup restaurado",
"see_all_achievements": "Ver todas as conquistas",
@@ -256,7 +316,56 @@
"update_playtime": "Modificar tempo de jogo",
"update_playtime_description": "Atualizar manualmente o tempo de jogo de {{game}}",
"update_playtime_error": "Falha ao atualizar tempo de jogo",
"update_playtime_title": "Atualizar tempo de jogo"
"update_playtime_title": "Atualizar tempo de jogo",
"update_playtime_success": "Tempo de jogo atualizado com sucesso",
"show_more": "Mostrar mais",
"show_less": "Mostrar menos",
"reviews": "Avaliações",
"leave_a_review": "Deixar uma Avaliação",
"write_review_placeholder": "Compartilhe seus pensamentos sobre este jogo...",
"sort_newest": "Mais Recentes",
"sort_oldest": "Mais Antigas",
"sort_highest_score": "Maior Nota",
"sort_lowest_score": "Menor Nota",
"sort_most_voted": "Mais Votadas",
"no_reviews_yet": "Ainda não há avaliações",
"review_played_for": "Jogado por",
"be_first_to_review": "Seja o primeiro a compartilhar seus pensamentos sobre este jogo!",
"rating": "Avaliação",
"rating_stats": "Avaliação",
"rating_very_negative": "Muito Negativo",
"rating_negative": "Negativo",
"rating_neutral": "Neutro",
"rating_positive": "Positivo",
"rating_very_positive": "Muito Positivo",
"submit_review": "Enviar",
"submitting": "Enviando...",
"review_submitted_successfully": "Avaliação enviada com sucesso!",
"review_submission_failed": "Falha ao enviar avaliação. Por favor, tente novamente.",
"review_cannot_be_empty": "O campo de texto da avaliação não pode estar vazio.",
"review_deleted_successfully": "Avaliação excluída com sucesso.",
"review_deletion_failed": "Falha ao excluir avaliação. Por favor, tente novamente.",
"loading_reviews": "Carregando avaliações...",
"loading_more_reviews": "Carregando mais avaliações...",
"load_more_reviews": "Carregar mais avaliações",
"you_seemed_to_enjoy_this_game": "Parece que você gostou deste jogo",
"would_you_recommend_this_game": "Gostaria de deixar uma avaliação para este jogo?",
"yes": "Sim",
"maybe_later": "Talvez mais tarde",
"delete_review": "Excluir avaliação",
"remove_review": "Remover Avaliação",
"delete_review_modal_title": "Tem certeza de que deseja excluir sua avaliação?",
"delete_review_modal_description": "Esta ação não pode ser desfeita.",
"delete_review_modal_delete_button": "Excluir",
"delete_review_modal_cancel_button": "Cancelar",
"show_original": "Mostrar original",
"show_translation": "Mostrar tradução",
"show_original_translated_from": "Mostrar original (traduzido do {{language}})",
"hide_original": "Ocultar original",
"rating_count": "Avaliação",
"review_from_blocked_user": "Avaliação de usuário bloqueado",
"show": "Mostrar",
"hide": "Ocultar"
},
"activation": {
"title": "Ativação",
@@ -295,7 +404,13 @@
"resume_seeding": "Semear",
"options": "Gerenciar",
"extract": "Extrair arquivos",
"extracting": "Extraindo arquivos…"
"extracting": "Extraindo arquivos…",
"delete_archive_title": "Deseja deletar {{fileName}}?",
"delete_archive_description": "O arquivo foi extraído com sucesso e não é mais necessário.",
"yes": "Sim",
"no": "Não",
"network": "REDE",
"peak": "PICO"
},
"settings": {
"downloads_path": "Diretório dos downloads",
@@ -323,6 +438,9 @@
"validate_download_source": "Validar",
"remove_download_source": "Remover",
"add_download_source": "Adicionar fonte",
"adding": "Adicionando…",
"failed_add_download_source": "Falha ao adicionar fonte de download. Tente novamente.",
"download_source_already_exists": "Esta URL de fonte de download já existe.",
"download_count_zero": "Sem downloads na lista",
"download_count_one": "{{countFormatted}} download na lista",
"download_count_other": "{{countFormatted}} downloads na lista",
@@ -330,7 +448,13 @@
"add_download_source_description": "Insira a URL contendo o arquivo .json",
"download_source_up_to_date": "Sincronizada",
"download_source_errored": "Falhou",
"download_source_pending_matching": "Importando em breve",
"download_source_matched": "Sincronizada",
"download_source_matching": "Sincronizando",
"download_source_failed": "Erro",
"download_source_no_information": "Sem informações",
"sync_download_sources": "Sincronizar",
"download_sources_synced_successfully": "Fontes de download sincronizadas",
"removed_download_source": "Fonte removida",
"removed_download_sources": "Fontes removidas",
"cancel_button_confirmation_delete_all_sources": "Não",
@@ -345,6 +469,7 @@
"found_download_option_one": "{{countFormatted}} opção de download encontrada",
"found_download_option_other": "{{countFormatted}} opções de download encontradas",
"import": "Importar",
"importing": "Importando...",
"privacy": "Privacidade",
"private": "Privado",
"friends_only": "Apenas amigos",
@@ -378,6 +503,8 @@
"subscription_renews_on": "Sua assinatura renova dia {{date}}",
"bill_sent_until": "Sua próxima cobrança será enviada até esse dia",
"no_themes": "Parece que você ainda não tem nenhum tema. Não se preocupe, clique aqui para criar sua primeira obra de arte.",
"editor_tab_code": "Código",
"editor_tab_info": "Info",
"editor_tab_save": "Salvar",
"web_store": "Loja de temas",
"clear_themes": "Limpar",
@@ -395,6 +522,8 @@
"delete_theme_description": "Isso irá deletar o tema {{theme}}",
"cancel": "Cancelar",
"appearance": "Aparência",
"debrid": "Debrid",
"debrid_description": "Serviços Debrid são downloaders premium sem restrições que permitem baixar rapidamente arquivos hospedados em vários serviços de hospedagem de arquivos, limitados apenas pela sua velocidade de internet.",
"enable_torbox": "Habilitar TorBox",
"torbox_description": "TorBox é o seu serviço de seedbox premium que rivaliza até com os melhores servidores do mercado.",
"torbox_account_linked": "Conta do TorBox vinculada",
@@ -430,9 +559,16 @@
"platinum": "Platina",
"hidden": "Oculta",
"test_notification": "Testar notificação",
"achievement_sound_volume": "Volume do som de conquista",
"select_achievement_sound": "Selecionar som de conquista",
"select": "Selecionar",
"preview": "Reproduzir",
"remove": "Remover",
"no_sound_file_selected": "Nenhum arquivo de som selecionado",
"notification_preview": "Prévia da Notificação de Conquistas",
"enable_friend_start_game_notifications": "Quando um amigo iniciar um jogo",
"editor_tab_code": "Código"
"autoplay_trailers_on_game_page": "Reproduzir trailers automaticamente na página do jogo",
"hide_to_tray_on_game_start": "Ocultar o Hydra na bandeja ao iniciar um jogo"
},
"notifications": {
"download_complete": "Download concluído",
@@ -448,7 +584,9 @@
"game_extracted": "{{title}} extraído com sucesso",
"friend_started_playing_game": "{{displayName}} começou a jogar",
"test_achievement_notification_title": "Esta é uma notificação de teste",
"test_achievement_notification_description": "Bem legal, né?"
"test_achievement_notification_description": "Bem legal, né?",
"notification_achievement_unlocked_title": "Conquista desbloqueada para {{game}}",
"notification_achievement_unlocked_body": "{{achievement}} e outras {{count}} foram desbloqueadas"
},
"system_tray": {
"open": "Abrir Hydra",
@@ -457,7 +595,8 @@
"game_card": {
"available_one": "Disponível",
"available_other": "Disponíveis",
"no_downloads": "Sem downloads disponíveis"
"no_downloads": "Sem downloads disponíveis",
"calculating": "Calculando"
},
"binary_not_found_modal": {
"title": "Programas não instalados",
@@ -484,10 +623,18 @@
"user_profile": {
"amount_hours": "{{amount}} horas",
"amount_minutes": "{{amount}} minutos",
"amount_hours_short": "{{amount}}h",
"amount_minutes_short": "{{amount}}m",
"last_time_played": "Última sessão {{period}}",
"activity": "Atividades recentes",
"library": "Biblioteca",
"pinned": "Fixados",
"sort_by": "Ordenar por:",
"achievements_earned": "Conquistas obtidas",
"played_recently": "Jogados recentemente",
"playtime": "Tempo de jogo",
"total_play_time": "Tempo total de jogo",
"manual_playtime_tooltip": "Este tempo de jogo foi atualizado manualmente",
"no_recent_activity_title": "Hmmm… nada por aqui",
"no_recent_activity_description": "Parece que você não jogou nada recentemente. Que tal começar agora?",
"display_name": "Nome de exibição",
@@ -569,7 +716,16 @@
"amount_minutes_short": "{{amount}}m",
"amount_hours_short": "{{amount}}h",
"game_added_to_pinned": "Jogo adicionado aos fixados",
"achievements_earned": "Conquistas recebidas"
"game_removed_from_pinned": "Jogo removido dos fixados",
"achievements_earned": "Conquistas recebidas",
"karma": "Karma",
"karma_count": "karma",
"karma_description": "Ganho a partir de curtidas positivas em avaliações",
"manual_playtime_tooltip": "Este tempo de jogo foi atualizado manualmente",
"user_reviews": "Avaliações",
"loading_reviews": "Carregando avaliações...",
"no_reviews": "Ainda não há avaliações",
"delete_review": "Excluir avaliação"
},
"achievement": {
"achievement_unlocked": "Conquista desbloqueada",
@@ -599,5 +755,26 @@
"hydra_cloud_feature_found": "Você descobriu uma funcionalidade Hydra Cloud!",
"learn_more": "Saiba mais",
"debrid_description": "Baixe até 4x mais rápido com Nimbus"
},
"library": {
"library": "Biblioteca",
"play": "Jogar",
"download": "Baixar",
"downloading": "Baixando",
"game": "jogo",
"games": "jogos",
"grid_view": "Visualização em grade",
"compact_view": "Visualização compacta",
"large_view": "Visualização grande",
"no_games_title": "Sua biblioteca está vazia",
"no_games_description": "Adicione jogos do catálogo ou baixe-os para começar",
"amount_hours": "{{amount}} horas",
"amount_minutes": "{{amount}} minutos",
"amount_hours_short": "{{amount}}h",
"amount_minutes_short": "{{amount}}m",
"manual_playtime_tooltip": "Este tempo de jogo foi atualizado manualmente",
"all_games": "Todos os Jogos",
"recently_played": "Jogados Recentemente",
"favorites": "Favoritos"
}
}

View File

@@ -30,11 +30,19 @@
},
"header": {
"search": "Procurar jogos",
"search_library": "Procurar na biblioteca",
"recent_searches": "Pesquisas Recentes",
"suggestions": "Sugestões",
"clear_history": "Limpar",
"remove_from_history": "Remover do histórico",
"loading": "A carregar...",
"no_results": "Sem resultados",
"home": "Início",
"catalogue": "Catálogo",
"library": "Biblioteca",
"downloads": "Transferências",
"search_results": "Resultados da pesquisa",
"settings": "Definições",
"home": "Início",
"version_available_install": "Versão {{version}} disponível. Clica aqui para reiniciar e instalar.",
"version_available_download": "Versão {{version}} disponível. Clica aqui para fazer o download."
},
@@ -180,7 +188,11 @@
"download_error_not_cached_on_torbox": "Este download não está disponível no TorBox e a verificação do status do download não está disponível.",
"game_removed_from_favorites": "Jogo removido dos favoritos",
"game_added_to_favorites": "Jogo adicionado aos favoritos",
"create_start_menu_shortcut": "Criar atalho no Menu Iniciar"
"create_start_menu_shortcut": "Criar atalho no Menu Iniciar",
"review_from_blocked_user": "Avaliação de utilizador bloqueado",
"show": "Mostrar",
"hide": "Ocultar",
"review_played_for": "Jogado por"
},
"activation": {
"title": "Ativação",
@@ -252,7 +264,13 @@
"add_download_source_description": "Insere o URL que contém o ficheiro .json",
"download_source_up_to_date": "Sincronizada",
"download_source_errored": "Falhou",
"download_source_pending_matching": "A atualizar em breve",
"download_source_matched": "Atualizado",
"download_source_matching": "A atualizar",
"download_source_failed": "Erro",
"download_source_no_information": "Sem informações",
"sync_download_sources": "Sincronizar",
"download_sources_synced_successfully": "Fontes de download sincronizadas",
"removed_download_source": "Fonte removida",
"cancel_button_confirmation_delete_all_sources": "Não",
"confirm_button_confirmation_delete_all_sources": "Sim, apague tudo",
@@ -267,6 +285,7 @@
"found_download_option_one": "{{countFormatted}} opção de transferência encontrada",
"found_download_option_other": "{{countFormatted}} opções de transferência encontradas",
"import": "Importar",
"importing": "A importar...",
"privacy": "Privacidade",
"private": "Privado",
"friends_only": "Apenas amigos",
@@ -376,10 +395,18 @@
"user_profile": {
"amount_hours": "{{amount}} horas",
"amount_minutes": "{{amount}} minutos",
"amount_hours_short": "{{amount}}h",
"amount_minutes_short": "{{amount}}m",
"last_time_played": "Última sessão {{period}}",
"activity": "Atividade recente",
"library": "Biblioteca",
"pinned": "Fixados",
"sort_by": "Ordenar por:",
"achievements_earned": "Conquistas obtidas",
"played_recently": "Jogados recentemente",
"playtime": "Tempo de jogo",
"total_play_time": "Tempo total de jogo",
"manual_playtime_tooltip": "Este tempo de jogo foi atualizado manualmente",
"no_recent_activity_title": "Hmmm… não há nada por aqui",
"no_recent_activity_description": "Parece que não jogaste nada recentemente. Que tal começar agora?",
"display_name": "Nome de apresentação",
@@ -451,7 +478,11 @@
"achievements_unlocked": "Conquistas desbloqueadas",
"earned_points": "Pontos ganhos",
"show_achievements_on_profile": "Mostre as suas conquistas no perfil",
"show_points_on_profile": "Mostre os seus pontos ganhos no perfil"
"show_points_on_profile": "Mostre os seus pontos ganhos no perfil",
"user_reviews": "Avaliações",
"loading_reviews": "A carregar avaliações...",
"no_reviews": "Ainda não há avaliações",
"delete_review": "Eliminar avaliação"
},
"achievement": {
"achievement_unlocked": "Conquista desbloqueada",

View File

@@ -135,11 +135,7 @@
"real_debrid_free_account_error": "Contul \"{{username}}\" este un cont gratuit. Te rugăm să te abonezi la Real-Debrid",
"debrid_linked_message": "Contul \"{{username}}\" a fost legat",
"save_changes": "Salvează modificările",
"changes_saved": "Modificările au fost salvate cu succes",
"enable_all_debrid": "Activează All-Debrid",
"all_debrid_description": "All-Debrid este un descărcător fără restricții care îți permite să descarci fișiere din diverse surse.",
"all_debrid_free_account_error": "Contul \"{{username}}\" este un cont gratuit. Te rugăm să te abonezi la All-Debrid",
"all_debrid_account_linked": "Contul All-Debrid a fost conectat cu succes"
"changes_saved": "Modificările au fost salvate cu succes"
},
"notifications": {
"download_complete": "Descărcare completă",

View File

@@ -6,13 +6,14 @@
"home": {
"surprise_me": "Удиви меня",
"no_results": "Ничего не найдено",
"hot": "Сейчас популярно",
"start_typing": "Начинаю вводить текст...",
"hot": "Сейчас популярно",
"weekly": "📅 Лучшие игры недели",
"achievements": "🏆 Игры с достижениями"
},
"sidebar": {
"catalogue": "Каталог",
"library": "Библиотека",
"downloads": "Загрузки",
"settings": "Настройки",
"my_library": "Библиотека",
@@ -28,6 +29,8 @@
"need_help": "Нужна помощь?",
"favorites": "Избранное",
"playable_button_title": "Показать только установленные игры.",
"add_custom_game_tooltip": "Добавить пользовательскую игру",
"show_playable_only_tooltip": "Показать только доступные для игры",
"custom_game_modal": "Добавить пользовательскую игру",
"custom_game_modal_description": "Добавьте пользовательскую игру в библиотеку, выбрав исполняемый файл",
"custom_game_modal_executable_path": "Путь к исполняемому файлу",
@@ -74,12 +77,32 @@
"edit_game_modal_drop_hero_image_here": "Перетащите изображение обложки сюда",
"edit_game_modal_drop_to_replace_icon": "Перетащите для замены иконки",
"edit_game_modal_drop_to_replace_logo": "Перетащите для замены логотипа",
"edit_game_modal_drop_to_replace_hero": "Перетащите для замены обложки"
"edit_game_modal_drop_to_replace_hero": "Перетащите для замены обложки",
"install_decky_plugin": "Установить плагин Decky",
"update_decky_plugin": "Обновить плагин Decky",
"decky_plugin_installed_version": "Плагин Decky (v{{version}})",
"install_decky_plugin_title": "Установить плагин Hydra Decky",
"install_decky_plugin_message": "Это загрузит и установит плагин Hydra для Decky Loader. Может потребоваться повышенные разрешения. Продолжить?",
"update_decky_plugin_title": "Обновить плагин Hydra Decky",
"update_decky_plugin_message": "Доступна новая версия плагина Hydra Decky. Хотите обновить его сейчас?",
"decky_plugin_installed": "Плагин Decky v{{version}} успешно установлен",
"decky_plugin_installation_failed": "Не удалось установить плагин Decky: {{error}}",
"decky_plugin_installation_error": "Ошибка установки плагина Decky: {{error}}",
"confirm": "Подтвердить",
"cancel": "Отмена"
},
"header": {
"search": "Поиск",
"search_library": "Поиск в библиотеке",
"recent_searches": "Недавние поиски",
"suggestions": "Предложения",
"clear_history": "Очистить",
"remove_from_history": "Удалить из истории",
"loading": "Загрузка...",
"no_results": "Нет результатов",
"home": "Главная",
"catalogue": "Каталог",
"library": "Библиотека",
"downloads": "Загрузки",
"search_results": "Результаты поиска",
"settings": "Настройки",
@@ -135,6 +158,7 @@
"amount_minutes": "{{amount}} минут",
"accuracy": "точность {{accuracy}}%",
"add_to_library": "Добавить в библиотеку",
"already_in_library": "Уже в библиотеке",
"remove_from_library": "Удалить из библиотеки",
"no_downloads": "Нет доступных источников",
"play_time": "Сыграно {{amount}}",
@@ -163,11 +187,13 @@
"open_folder": "Открыть папку",
"open_download_location": "Просмотреть папку загрузок",
"create_shortcut": "Создать ярлык на рабочем столе",
"create_shortcut_simple": "Создать ярлык",
"clear": "Очистить",
"remove_files": "Удалить файлы",
"remove_from_library_title": "Вы уверены?",
"remove_from_library_description": "{{game}} будет удалена из вашей библиотеки.",
"options": "Настройки",
"properties": "Свойства",
"executable_section_title": "Файл",
"executable_section_description": "Путь к файлу, который будет запущен при нажатии на \"Play\"",
"downloads_section_title": "Загрузки",
@@ -177,26 +203,67 @@
"download_in_progress": "Идёт загрузка",
"download_paused": "Загрузка приостановлена",
"last_downloaded_option": "Последний вариант загрузки",
"new_download_option": "Новый",
"create_steam_shortcut": "Создать ярлык Steam",
"create_shortcut_success": "Ярлык создан",
"you_might_need_to_restart_steam": "Возможно, вам потребуется перезапустить Steam, чтобы увидеть изменения",
"create_shortcut_error": "Не удалось создать ярлык",
"allow_nsfw_content": "Продолжить",
"download": "Скачать",
"download_count": "Загрузки",
"download_error": "Этот вариант загрузки недоступен",
"executable_path_in_use": "Исполняемый файл уже используется \"{{game}}\"",
"nsfw_content_description": "{{title}} содержит контент, который может не подходить для всех возрастов. \nВы уверены, что хотите продолжить?",
"add_to_favorites": "Добавить в избранное",
"remove_from_favorites": "Удалить из избранного",
"failed_update_favorites": "Не удалось обновить избранное",
"game_removed_from_library": "Игра удалена из библиотеки",
"failed_remove_from_library": "Не удалось удалить из библиотеки",
"files_removed_success": "Файлы успешно удалены",
"failed_remove_files": "Не удалось удалить файлы",
"nsfw_content_title": "Эта игра содержит неприемлемый контент",
"nsfw_content_description": "{{title}} содержит контент, который может не подходить для всех возрастов. \nВы уверены, что хотите продолжить?",
"allow_nsfw_content": "Продолжить",
"refuse_nsfw_content": "Назад",
"stats": "Статистика",
"download_count": "Загрузки",
"player_count": "Активные игроки",
"rating_count": "Рейтинг",
"rating_count": "Оценка",
"download_error": "Этот вариант загрузки недоступен",
"download": "Скачать",
"executable_path_in_use": "Исполняемый файл уже используется \"{{game}}\"",
"warning": "Внимание:",
"hydra_needs_to_remain_open": "Для этой загрузки Hydra должна оставаться открытой до завершения. Если Hydra закроется до завершения, вы потеряете прогресс.",
"achievements": "Достижения",
"achievements_count": "Достижения {{unlockedCount}}/{{achievementsCount}}",
"show_more": "Показать больше",
"show_less": "Показать меньше",
"reviews": "Отзывы",
"leave_a_review": "Оставить отзыв",
"write_review_placeholder": "Поделитесь своими мыслями об этой игре...",
"sort_newest": "Сначала новые",
"no_reviews_yet": "Пока нет отзывов",
"review_played_for": "Играли",
"be_first_to_review": "Станьте первым, кто поделится своими мыслями об этой игре!",
"sort_oldest": "Сначала старые",
"sort_highest_score": "Высший балл",
"sort_lowest_score": "Низший балл",
"sort_most_voted": "Самые популярные",
"rating": "Оценка",
"rating_stats": "Оценка",
"rating_very_negative": "Очень негативно",
"rating_negative": "Негативно",
"rating_neutral": "Нейтрально",
"rating_positive": "Позитивно",
"rating_very_positive": "Очень позитивно",
"submit_review": "Отправить",
"submitting": "Отправка...",
"review_submitted_successfully": "Отзыв успешно отправлен!",
"review_submission_failed": "Не удалось отправить отзыв. Пожалуйста, попробуйте снова.",
"review_cannot_be_empty": "Текстовое поле отзыва не может быть пустым.",
"review_deleted_successfully": "Отзыв успешно удален.",
"review_deletion_failed": "Не удалось удалить отзыв. Пожалуйста, попробуйте снова.",
"loading_reviews": "Загрузка отзывов...",
"loading_more_reviews": "Загрузка дополнительных отзывов...",
"load_more_reviews": "Загрузить больше отзывов",
"you_seemed_to_enjoy_this_game": "Похоже, вам понравилась эта игра",
"would_you_recommend_this_game": "Хотите оставить отзыв об этой игре?",
"yes": "Да",
"maybe_later": "Возможно позже",
"cloud_save": "Облачное сохранение",
"cloud_save_description": "Сохраняйте ваш прогресс в облаке и продолжайте играть на любом устройстве",
"backups": "Резервные копии",
@@ -209,6 +276,7 @@
"uploading_backup": "Загрузка резервной копии…",
"no_backups": "Вы еще не создали резервных копий для этой игры",
"backup_uploaded": "Резервная копия загружена",
"backup_failed": "Ошибка резервного копирования",
"backup_deleted": "Резервная копия удалена",
"backup_restored": "Резервная копия восстановлена",
"see_all_achievements": "Просмотреть все достижения",
@@ -248,26 +316,29 @@
"update_playtime_title": "Обновить время игры",
"update_playtime_description": "Вручную обновите время игры для {{game}}",
"update_playtime": "Обновить время игры",
"update_playtime_success": "Время игры успешно обновлено",
"update_playtime_error": "Не удалось обновить время игры",
"update_game_playtime": "Обновить время игры",
"manual_playtime_warning": "Ваши часы будут отмечены как обновленные вручную. Это действие нельзя отменить.",
"manual_playtime_tooltip": "Это время игры было обновлено вручную",
"download_error_not_cached_on_torbox": "Эта загрузка недоступна на TorBox, и получить статус загрузки с TorBox пока невозможно.",
"game_added_to_favorites": "Игра добавлена в избранное",
"download_error_not_cached_on_hydra": "Эта загрузка недоступна на Nimbus.",
"game_removed_from_favorites": "Игра удалена из избранного",
"game_added_to_favorites": "Игра добавлена в избранное",
"game_removed_from_pinned": "Игра удалена из закрепленных",
"game_added_to_pinned": "Игра добавлена в закрепленные",
"automatically_extract_downloaded_files": "Автоматическая распаковка загруженных файлов",
"create_steam_shortcut": "Создать ярлык Steam",
"you_might_need_to_restart_steam": "Возможно, вам потребуется перезапустить Steam, чтобы увидеть изменения",
"create_start_menu_shortcut": "Создать ярлык в меню «Пуск»",
"invalid_wine_prefix_path": "Недопустимый путь префикса Wine",
"invalid_wine_prefix_path_description": "Путь к префиксу Wine недействителен. Пожалуйста, проверьте путь и попробуйте снова.",
"missing_wine_prefix": "Префикс Wine необходим для создания резервной копии в Linux",
"download_error_not_cached_on_hydra": "Эта загрузка недоступна на Nimbus.",
"update_playtime_success": "Время игры успешно обновлено",
"update_playtime_error": "Не удалось обновить время игры",
"manual_playtime_warning": "Ваши часы будут отмечены как обновленные вручную. Это действие нельзя отменить.",
"artifact_renamed": "Резервная копия успешно переименована",
"rename_artifact": "Переименовать резервную копию",
"rename_artifact_description": "Переименуйте резервную копию, присвоив ей более описательное имя.",
"artifact_name_label": "Название резервной копии",
"artifact_name_placeholder": "Введите название для резервной копии",
"save_changes": "Сохранить изменения",
"required_field": "Это поле обязательно к заполнению",
"max_length_field": "Это поле должно содержать менее {{length}} символов",
"freeze_backup": "Закрепить, чтобы она не была перезаписана автоматическими резервными копиями",
"unfreeze_backup": "Открепить",
@@ -275,41 +346,36 @@
"backup_unfrozen": "Резервная копия откреплена",
"backup_freeze_failed": "Не удалось закрепить резервную копию",
"backup_freeze_failed_description": "Вы должны оставить как минимум один свободный слот для автоматических резервных копий",
"manual_playtime_tooltip": "Это время игры было обновлено вручную",
"write_review_placeholder": "Поделитесь своими мыслями об этой игре...",
"sort_newest": "Новые",
"no_reviews_yet": "Пока нет отзывов",
"be_first_to_review": "Будьте первым, кто поделится своими мыслями об этой игре!",
"sort_oldest": "Старые",
"sort_highest_score": "Высший балл",
"sort_lowest_score": "Низший балл",
"sort_most_voted": "Самые популярные",
"rating": "Рейтинг",
"rating_stats": "Рейтинг",
"rating_very_negative": "Очень негативный",
"rating_negative": "Негативный",
"rating_neutral": "Нейтральный",
"rating_positive": "Позитивный",
"rating_very_positive": "Очень позитивный",
"submit_review": "Отправить отзыв",
"submitting": "Отправка...",
"edit_game_modal_button": "Изменить детали игры",
"game_details": "Детали игры",
"currency_symbol": "",
"currency_country": "ru",
"prices": "Цены",
"no_prices_found": "Цены не найдены",
"view_all_prices": "Нажмите, чтобы посмотреть все цены",
"retail_price": "Розничная цена",
"keyshop_price": "Цена в магазине ключей",
"historical_retail": "Исторические розничные цены",
"historical_keyshop": "Исторические цены в магазинах ключей",
"language": "Язык",
"caption": "Субтитры",
"audio": "Аудио",
"filter_by_source": "Фильтр по источнику",
"no_repacks_found": "Источники для этой игры не найдены",
"show": "Показать",
"hide": "Скрыть",
"delete_review": "Удалить отзыв",
"remove_review": "Удалить отзыв",
"delete_review_modal_title": "Вы уверены, что хотите удалить свой отзыв?",
"delete_review_modal_description": "Это действие нельзя отменить.",
"delete_review_modal_delete_button": "Удалить",
"delete_review_modal_cancel_button": "Отмена",
"review_submitted_successfully": "Отзыв успешно отправлен!",
"review_submission_failed": "Не удалось отправить отзыв. Попробуйте еще раз.",
"review_cannot_be_empty": "Поле отзыва не может быть пустым.",
"review_deleted_successfully": "Отзыв успешно удален.",
"review_deletion_failed": "Не удалось удалить отзыв. Попробуйте еще раз.",
"loading_reviews": "Загрузка отзывов...",
"loading_more_reviews": "Загрузка дополнительных отзывов...",
"load_more_reviews": "Загрузить больше отзывов",
"you_seemed_to_enjoy_this_game": "Похоже, вам понравилась эта игра",
"would_you_recommend_this_game": "Хотели бы вы оставить отзыв об этой игре?",
"yes": "Да",
"maybe_later": "Может быть позже"
"vote_failed": "Не удалось зарегистрировать ваш голос. Пожалуйста, попробуйте снова.",
"show_original": "Показать оригинал",
"show_translation": "Показать перевод",
"show_original_translated_from": "Показать оригинал (переведено с {{language}})",
"hide_original": "Скрыть оригинал",
"review_from_blocked_user": "Отзыв от заблокированного пользователя"
},
"activation": {
"title": "Активировать Hydra",
@@ -355,13 +421,10 @@
"change": "Изменить",
"notifications": "Уведомления",
"enable_download_notifications": "По завершении загрузки",
"enable_achievement_notifications": "Когда достижение разблокировано",
"enable_repack_list_notifications": "При добавлении нового репака",
"real_debrid_api_token_label": "Real-Debrid API-токен",
"quit_app_instead_hiding": "Закрывать приложение вместо сворачивания в трей",
"launch_with_system": "Запускать Hydra вместе с системой",
"launch_minimized": "Запустить Hydra в свернутом виде",
"disable_nsfw_alert": "Отключить предупреждение о непристойном контенте",
"general": "Основные",
"behavior": "Поведение",
"download_sources": "Источники загрузки",
@@ -379,6 +442,9 @@
"validate_download_source": "Проверить",
"remove_download_source": "Удалить",
"add_download_source": "Добавить источник",
"adding": "Добавление…",
"failed_add_download_source": "Не удалось добавить источник. Пожалуйста, попробуйте снова.",
"download_source_already_exists": "Этот URL источника уже существует.",
"download_count_zero": "В списке нет загрузок",
"download_count_one": "{{countFormatted}} загрузка в списке",
"download_count_other": "{{countFormatted}} загрузок в списке",
@@ -386,13 +452,20 @@
"add_download_source_description": "Вставьте ссылку на .json-файл",
"download_source_up_to_date": "Обновлён",
"download_source_errored": "Ошибка",
"download_source_pending_matching": "Скоро обновится",
"download_source_matched": "Обновлен",
"download_source_matching": "Обновление",
"download_source_failed": "Ошибка",
"download_source_no_information": "Информация отсутствует",
"sync_download_sources": "Обновить источники",
"removed_download_source": "Источник удален",
"removed_download_sources": "Источники удалены",
"removed_all_download_sources": "Все источники удалены",
"download_sources_synced_successfully": "Все источники синхронизированы",
"cancel_button_confirmation_delete_all_sources": "Нет",
"confirm_button_confirmation_delete_all_sources": "Да, удалить все",
"description_confirmation_delete_all_sources": "Вы удалите все источники",
"title_confirmation_delete_all_sources": "Удалить все источники",
"removed_download_sources": "Источники удалены",
"description_confirmation_delete_all_sources": "Вы удалите все источники",
"button_delete_all_sources": "Удалить все источники",
"added_download_source": "Источник добавлен",
"download_sources_synced": "Все источники обновлены",
@@ -401,20 +474,25 @@
"found_download_option_one": "Найден {{countFormatted}} вариант загрузки",
"found_download_option_other": "Найдено {{countFormatted}} вариантов загрузки",
"import": "Импортировать",
"blocked_users": "Заблокированные пользователи",
"friends_only": "Только для друзей",
"must_be_valid_url": "У источника должен быть правильный URL",
"privacy": "Конфиденциальность",
"importing": "Импортируется...",
"public": "Публичный",
"private": "Частный",
"friends_only": "Только для друзей",
"privacy": "Конфиденциальность",
"profile_visibility": "Видимость профиля",
"profile_visibility_description": "Выберите, кто может видеть ваш профиль и библиотеку",
"public": "Публичный",
"required_field": "Это поле обязательно к заполнению",
"source_already_exists": "Этот источник уже добавлен",
"must_be_valid_url": "У источника должен быть правильный URL",
"blocked_users": "Заблокированные пользователи",
"user_unblocked": "Пользователь разблокирован",
"enable_achievement_notifications": "Когда достижение разблокировано",
"launch_minimized": "Запускать Hydra в свернутом виде",
"disable_nsfw_alert": "Отключить предупреждение о непристойном контенте",
"seed_after_download_complete": "Раздавать после завершения загрузки",
"show_hidden_achievement_description": "Показывать описание скрытых достижений перед их получением",
"account": "Аккаунт",
"hydra_cloud": "Hydra Cloud",
"no_users_blocked": "У вас нет заблокированных пользователей",
"subscription_active_until": "Ваша подписка на Hydra Cloud активна до {{date}}",
"manage_subscription": "Управлять подпиской",
@@ -450,12 +528,14 @@
"delete_theme_description": "Это приведет к удалению темы {{theme}}",
"cancel": "Отменить",
"appearance": "Внешний вид",
"debrid": "Debrid",
"debrid_description": "Сервисы Debrid - это премиум-загрузчики без ограничений, которые позволяют быстро скачивать файлы с различных файлообменников, ограничиваясь только скоростью вашего интернета.",
"enable_torbox": "Включить TorBox",
"torbox_description": "TorBox - это ваш премиум-сервис, конкурирующий даже с лучшими серверами на рынке.",
"torbox_account_linked": "Аккаунт TorBox привязан",
"real_debrid_account_linked": "Аккаунт Real-Debrid привязан",
"create_real_debrid_account": "Нажмите здесь, если у вас еще нет аккаунта Real-Debrid",
"create_torbox_account": "Нажмите здесь, если у вас еще нет учетной записи TorBox",
"real_debrid_account_linked": "Аккаунт Real-Debrid привязан",
"name_min_length": "Название темы должно содержать не менее 3 символов",
"import_theme": "Импортировать тему",
"import_theme_description": "Вы импортируете {{theme}} из магазина тем",
@@ -469,6 +549,7 @@
"installing_common_redist": "Установка…",
"show_download_speed_in_megabytes": "Показать скорость загрузки в мегабайтах в секунду",
"extract_files_by_default": "Извлекать файлы по умолчанию после загрузки",
"enable_steam_achievements": "Включить поиск достижений Steam",
"achievement_custom_notification_position": "Позиция уведомлений достижений",
"top-left": "Верхний левый угол",
"top-center": "Верхний центр",
@@ -484,9 +565,16 @@
"platinum": "Платиновый",
"hidden": "Скрытый",
"test_notification": "Тестовое уведомление",
"achievement_sound_volume": "Громкость звука достижения",
"select_achievement_sound": "Выбрать звук достижения",
"select": "Выбрать",
"preview": "Предпросмотр",
"remove": "Удалить",
"no_sound_file_selected": "Файл звука не выбран",
"notification_preview": "Предварительный просмотр уведомления о достижении",
"enable_friend_start_game_notifications": "Когда друг начинает играть в игру",
"enable_steam_achievements": "Включить поиск достижений Steam"
"autoplay_trailers_on_game_page": "Автоматически начинать воспроизведение трейлеров на странице игры",
"hide_to_tray_on_game_start": "Скрывать Hydra в трей при запуске игры"
},
"notifications": {
"download_complete": "Загрузка завершена",
@@ -498,13 +586,13 @@
"restart_to_install_update": "Перезапустите Hydra для установки обновления",
"notification_achievement_unlocked_title": "Достижение разблокировано для {{game}}",
"notification_achievement_unlocked_body": "были разблокированы {{achievement}} и другие {{count}}",
"new_friend_request_description": "{{displayName}} отправил вам запрос в друзья",
"new_friend_request_title": "Новый запрос на добавление в друзья",
"extraction_complete": "Распаковка завершена",
"game_extracted": "{{title}} успешно распакован",
"friend_started_playing_game": "{{displayName}} начал играть в игру",
"test_achievement_notification_title": "Это тестовое уведомление",
"test_achievement_notification_description": "Довольно круто, да?",
"new_friend_request_description": "{{displayName}} отправил вам запрос в друзья"
"test_achievement_notification_description": "Довольно круто, да?"
},
"system_tray": {
"open": "Открыть Hydra",
@@ -535,6 +623,11 @@
"last_time_played": "Последняя игра {{period}}",
"activity": "Недавняя активность",
"library": "Библиотека",
"pinned": "Закрепленные",
"sort_by": "Сортировать по:",
"achievements_earned": "Заработанные достижения",
"played_recently": "Недавно сыгранные",
"playtime": "Время игры",
"total_play_time": "Всего сыграно",
"manual_playtime_tooltip": "Время игры было обновлено вручную",
"no_recent_activity_title": "Хммм... Тут ничего нет",
@@ -578,24 +671,24 @@
"no_pending_invites": "У вас нет запросов ожидающих ответа",
"no_blocked_users": "Вы не заблокировали ни одного пользователя",
"friend_code_copied": "Код друга скопирован",
"displayname_max_length": "Отображаемое имя должно содержать не более 50 символов.",
"displayname_min_length": "Отображаемое имя должно содержать не менее 3 символов.",
"image_process_failure": "Сбой при обработке изображения",
"locked_profile": "Этот профиль является частным",
"undo_friendship_modal_text": "Это отменит вашу дружбу с {{displayName}}.",
"privacy_hint": "Чтобы указать, кто может это видеть, перейдите в <0>Настройки</0>.",
"profile_reported": "Профиль сообщил",
"report": "Отчет",
"report_description": "Дополнительная информация",
"report_description_placeholder": "Дополнительная информация",
"locked_profile": "Этот профиль является частным",
"image_process_failure": "Сбой при обработке изображения",
"required_field": "Это поле обязательно к заполнению",
"displayname_min_length": "Отображаемое имя должно содержать не менее 3 символов.",
"displayname_max_length": "Отображаемое имя должно содержать не более 50 символов.",
"report_profile": "Пожаловаться на этот профиль",
"report_reason": "Почему вы жалуетесь на этот профиль?",
"report_description": "Дополнительная информация",
"report_description_placeholder": "Дополнительная информация",
"report": "Пожаловаться",
"report_reason_hate": "Разжигание ненависти",
"report_reason_other": "Другой",
"report_reason_sexual_content": "Сексуальный контент",
"report_reason_spam": "Спам",
"report_reason_violence": "Насилие",
"required_field": "Это поле обязательно к заполнению",
"undo_friendship_modal_text": "Это отменит вашу дружбу с {{displayName}}.",
"report_reason_spam": "Спам",
"report_reason_other": "Другое",
"profile_reported": "Жалоба на профиль отправлена",
"your_friend_code": "Код вашего друга:",
"upload_banner": "Загрузить баннер",
"uploading_banner": "Загрузка баннера...",
@@ -616,7 +709,11 @@
"game_added_to_pinned": "Игра добавлена в закрепленные",
"karma": "Карма",
"karma_count": "карма",
"karma_description": "Заработано от положительных лайков на отзывах"
"karma_description": "Заработана положительными оценками отзывов",
"user_reviews": "Отзывы",
"loading_reviews": "Загрузка отзывов...",
"no_reviews": "Пока нет отзывов",
"delete_review": "Удалить отзыв"
},
"achievement": {
"achievement_unlocked": "Достижение разблокировано",
@@ -646,5 +743,26 @@
"hydra_cloud_feature_found": "Вы только что открыли для себя функцию Hydra Cloud!",
"learn_more": "Подробнее",
"debrid_description": "Скачивайте в 4 раза быстрее с Nimbus"
},
"library": {
"library": "Библиотека",
"play": "Играть",
"download": "Скачать",
"downloading": "Скачивание",
"game": "игра",
"games": "игры",
"grid_view": "Вид сетки",
"compact_view": "Компактный вид",
"large_view": "Большой вид",
"no_games_title": "Ваша библиотека пуста",
"no_games_description": "Добавьте игры из каталога или скачайте их, чтобы начать",
"amount_hours": "{{amount}} часов",
"amount_minutes": "{{amount}} минут",
"amount_hours_short": "{{amount}}ч",
"amount_minutes_short": "{{amount}}м",
"manual_playtime_tooltip": "Время игры было обновлено вручную",
"all_games": "Все игры",
"recently_played": "Недавно сыгранные",
"favorites": "Избранное"
}
}

View File

@@ -16,6 +16,7 @@
"downloads": "İndirilenler",
"settings": "Ayarlar",
"my_library": "Kütüphanem",
"library": "Kütüphane",
"downloading_metadata": "{{title}} (Meta verileri indiriliyor…)",
"paused": "{{title}} (Duraklatıldı)",
"downloading": "{{title}} (%{{percentage}} - İndiriliyor…)",
@@ -26,7 +27,69 @@
"sign_in": "Giriş Yap",
"friends": "Arkadaşlar",
"need_help": "Yardıma mı ihtiyacınız var?",
"favorites": "Favoriler"
"favorites": "Favoriler",
"playable_button_title": "Şu anda oynayabileceğin oyunları göster",
"add_custom_game_tooltip": "Özel Oyun Ekle",
"show_playable_only_tooltip": "Sadece Oynanabilirleri Göster",
"custom_game_modal": "Özel Oyun Ekle",
"custom_game_modal_description": "Çalıştırılabilir bir dosya seçerek kütüphanene özel oyun ekle",
"custom_game_modal_executable_path": "Çalıştırılabilir Dosya Yolu",
"custom_game_modal_select_executable": "Çalıştırılabilir dosya seç",
"custom_game_modal_title": "Başlık",
"custom_game_modal_enter_title": "Başlık gir",
"custom_game_modal_browse": "Gözat",
"custom_game_modal_cancel": "İptal",
"custom_game_modal_add": "Oyun Ekle",
"custom_game_modal_adding": "Oyun Ekleniyor...",
"custom_game_modal_success": "Özel oyun başarıyla eklendi",
"custom_game_modal_failed": "Özel oyun eklenemedi",
"custom_game_modal_executable": "Çalıştırılabilir",
"edit_game_modal": "Varlıkları Özelleştir",
"edit_game_modal_description": "Oyun varlıklarını ve detaylarını özelleştir",
"edit_game_modal_title": "Başlık",
"edit_game_modal_enter_title": "Başlık gir",
"edit_game_modal_image": "Görsel",
"edit_game_modal_select_image": "Görsel seç",
"edit_game_modal_browse": "Gözat",
"edit_game_modal_image_preview": "Görsel önizleme",
"edit_game_modal_icon": "İkon",
"edit_game_modal_select_icon": "İkon seç",
"edit_game_modal_icon_preview": "İkon önizleme",
"edit_game_modal_logo": "Logo",
"edit_game_modal_select_logo": "Logo seç",
"edit_game_modal_logo_preview": "Logo önizleme",
"edit_game_modal_hero": "Kütüphane Hero",
"edit_game_modal_select_hero": "Kütüphane hero görseli seç",
"edit_game_modal_hero_preview": "Kütüphane hero görseli önizleme",
"edit_game_modal_cancel": "İptal et",
"edit_game_modal_update": "Güncelle",
"edit_game_modal_updating": "Güncelleniyor...",
"edit_game_modal_fill_required": "Lütfen tüm gerekli alanları doldur",
"edit_game_modal_success": "Varlıklar başarıyla güncellendi",
"edit_game_modal_failed": "Varlıklar güncellenemedi",
"edit_game_modal_image_filter": "Görsel",
"edit_game_modal_icon_resolution": "Önerilen çözünürlük: 256x256px",
"edit_game_modal_logo_resolution": "Önerilen çözünürlük: 640x360px",
"edit_game_modal_hero_resolution": "Önerilen çözünürlük: 1920x620px",
"edit_game_modal_assets": "Varlıklar",
"edit_game_modal_drop_icon_image_here": "İkon görselini buraya bırak",
"edit_game_modal_drop_logo_image_here": "Logo görselini buraya bırak",
"edit_game_modal_drop_hero_image_here": "Hero görselini buraya bırak",
"edit_game_modal_drop_to_replace_icon": "İkonu değiştirmek için buraya bırak",
"edit_game_modal_drop_to_replace_logo": "Logoyu değiştirmek için buraya bırak",
"edit_game_modal_drop_to_replace_hero": "Hero'yu değiştirmek için buraya bırak",
"install_decky_plugin": "Decky Plugin Kur",
"update_decky_plugin": "Decky Plugin Güncelle",
"decky_plugin_installed_version": "Decky Plugin (v{{version}})",
"install_decky_plugin_title": "Hydra Decky Plugin Kur",
"install_decky_plugin_message": "Bu işlem Decky Loader için Hydra plugin'ini indirecek ve kuracak. Bu işlem yükseltilmiş izinler gerektirebilir. Devam et?",
"update_decky_plugin_title": "Hydra Decky Plugin Güncelle",
"update_decky_plugin_message": "Hydra Decky plugin'inin yeni bir sürümü mevcut. Şimdi güncellemek ister misin?",
"decky_plugin_installed": "Decky plugin v{{version}} başarıyla kuruldu",
"decky_plugin_installation_failed": "Decky plugin kurulamadı: {{error}}",
"decky_plugin_installation_error": "Decky plugin kurulumu hatası: {{error}}",
"confirm": "Onayla",
"cancel": "İptal"
},
"header": {
"search": "Oyunlarda Ara",
@@ -35,6 +98,8 @@
"downloads": "İndirilenler",
"search_results": "Arama Sonuçları",
"settings": "Ayarlar",
"search_library": "Kütüphanede ara",
"library": "Kütüphane",
"version_available_install": "{{version}} sürümü mevcut. Yeniden başlatıp yüklemek için tıklayın.",
"version_available_download": "{{version}} sürümü mevcut. İndirmek için tıklayın."
},
@@ -203,7 +268,108 @@
"create_start_menu_shortcut": "Başlat Menüsüne kısayol oluştur",
"invalid_wine_prefix_path": "Geçersiz Wine ön ek yolu",
"invalid_wine_prefix_path_description": "Wine ön ek yolu hatalı. Lütfen yolu kontrol edin ve tekrar deneyin.",
"missing_wine_prefix": "Linux'ta yedekleme oluşturmak için Wine ön eki gereklidir"
"missing_wine_prefix": "Linux'ta yedekleme oluşturmak için Wine ön eki gereklidir",
"already_in_library": "Zaten kütüphanede",
"create_shortcut_simple": "Kısayol oluştur",
"properties": "Özellikler",
"new_download_option": "Yeni",
"add_to_favorites": "Favorilere ekle",
"remove_from_favorites": "Favorilerden çıkar",
"failed_update_favorites": "Favoriler güncellenemedi",
"game_removed_from_library": "Oyun kütüphaneden çıkarıldı",
"failed_remove_from_library": "Kütüphaneden çıkarılamadı",
"files_removed_success": "Dosyalar başarıyla kaldırıldı",
"failed_remove_files": "Dosyalar kaldırılamadı",
"rating_count": "Puan",
"show_more": "Daha fazla göster",
"show_less": "Daha az göster",
"reviews": "İncelemeler",
"review_played_for": "Oynama süresi",
"leave_a_review": "İnceleme Yap",
"write_review_placeholder": "Bu oyun hakkındaki düşüncelerini paylaş...",
"sort_newest": "En yeni",
"no_reviews_yet": "Henüz inceleme yok",
"be_first_to_review": "Bu oyun hakkındaki düşüncelerini paylaşan ilk kişi ol!",
"sort_oldest": "En eski",
"sort_highest_score": "En yüksek puan",
"sort_lowest_score": "En düşük puan",
"sort_most_voted": "En çok oy",
"rating": "Puan",
"rating_stats": "Puan",
"rating_very_negative": "Çok Olumsuz",
"rating_negative": "Olumsuz",
"rating_neutral": "Nötr",
"rating_positive": "Olumlu",
"rating_very_positive": "Çok Olumlu",
"submit_review": "Gönder",
"submitting": "Gönderiliyor...",
"review_submitted_successfully": "İnceleme başarıyla gönderildi!",
"review_submission_failed": "İnceleme gönderilemedi. Lütfen tekrar dene.",
"review_cannot_be_empty": "İnceleme metin alanı boş olamaz.",
"review_deleted_successfully": "İnceleme başarıyla silindi.",
"review_deletion_failed": "İnceleme silinemedi. Lütfen tekrar dene.",
"loading_reviews": "İncelemeler yükleniyor...",
"loading_more_reviews": "Daha fazla inceleme yükleniyor...",
"load_more_reviews": "Daha fazla inceleme yükle",
"you_seemed_to_enjoy_this_game": "Bu oyunu beğenmiş görünüyorsun",
"would_you_recommend_this_game": "Bu oyun hakkında bir inceleme yazmak ister misin?",
"yes": "Evet",
"maybe_later": "Belki sonra",
"backup_failed": "Yedekleme başarısız",
"update_playtime_title": "Oynama süresini güncelle",
"update_playtime_description": "{{game}} için oynama süresini manuel olarak güncelle",
"update_playtime": "Oynama süresini güncelle",
"update_playtime_success": "Oynama süresi başarıyla güncellendi",
"update_playtime_error": "Oynama süresi güncellenemedi",
"update_game_playtime": "Oyun oynama süresini güncelle",
"manual_playtime_warning": "Saatlerin manuel olarak güncellendiği işaretlenecek ve bu geri alınamaz.",
"manual_playtime_tooltip": "Bu oynama süresi manuel olarak güncellendi",
"game_removed_from_pinned": "Oyun sabitlenmişlerden çıkarıldı",
"game_added_to_pinned": "Oyun sabitlenmişlere eklendi",
"artifact_renamed": "Yedekleme başarıyla yeniden adlandırıldı",
"rename_artifact": "Yedeklemeyi Yeniden Adlandır",
"rename_artifact_description": "Yedeklemeyi daha açıklayıcı bir isimle yeniden adlandır",
"artifact_name_label": "Yedekleme adı",
"artifact_name_placeholder": "Yedekleme için bir isim gir",
"save_changes": "Değişiklikleri kaydet",
"required_field": "Bu alan gereklidir",
"max_length_field": "Bu alan {{length}} karakterden az olmalıdır",
"freeze_backup": "Otomatik yedeklemeler tarafından üzerine yazılmasın diye sabitle",
"unfreeze_backup": "Sabitlemeyi kaldır",
"backup_frozen": "Yedekleme sabitlendi",
"backup_unfrozen": "Yedekleme sabitlemesi kaldırıldı",
"backup_freeze_failed": "Yedekleme sabitlenemedi",
"backup_freeze_failed_description": "Otomatik yedeklemeler için en az bir boş alan bırakmalısın",
"edit_game_modal_button": "Oyun varlıklarını özelleştir",
"game_details": "Oyun Detayları",
"currency_symbol": "₺",
"currency_country": "tr",
"prices": "Fiyatlar",
"no_prices_found": "Fiyat bulunamadı",
"view_all_prices": "Tüm fiyatları görüntülemek için tıkla",
"retail_price": "Perakende fiyatı",
"keyshop_price": "Anahtar dükkanı fiyatı",
"historical_retail": "Geçmiş perakende",
"historical_keyshop": "Geçmiş anahtar dükkanı",
"language": "Dil",
"caption": "Altyazı",
"audio": "Ses",
"filter_by_source": "Kaynağa göre filtrele",
"no_repacks_found": "Bu oyun için kaynak bulunamadı",
"delete_review": "İncelemeyi sil",
"remove_review": "İncelemeyi Kaldır",
"delete_review_modal_title": "İncelemeni silmek istediğinden emin misin?",
"delete_review_modal_description": "Bu işlem geri alınamaz.",
"delete_review_modal_delete_button": "Sil",
"delete_review_modal_cancel_button": "İptal",
"vote_failed": "Oyun kaydı başarısız oldu. Lütfen tekrar dene.",
"show_original": "Orijinali göster",
"show_translation": "Çeviriyi göster",
"show_original_translated_from": "Orijinali göster ({{language}} dilinden çevrilmiştir)",
"hide_original": "Orijinali gizle",
"review_from_blocked_user": "Engellenen kullanıcıdan gelen inceleme",
"show": "Göster",
"hide": "Gizle"
},
"activation": {
"title": "Hydra'yı Etkinleştir",
@@ -379,7 +545,33 @@
"hidden": "Gizli",
"test_notification": "Test bildirimi",
"notification_preview": "Başarı Bildirimi Önizlemesi",
"enable_friend_start_game_notifications": "Bir arkadaşınız oyun oynamaya başladığında"
"enable_friend_start_game_notifications": "Bir arkadaşınız oyun oynamaya başladığında",
"adding": "Ekleniyor…",
"failed_add_download_source": "İndirme kaynağı eklenemedi. Lütfen tekrar dene.",
"download_source_already_exists": "Bu indirme kaynağı URL'si zaten mevcut.",
"download_source_pending_matching": "Yakında güncellenecek",
"download_source_matched": "Güncel",
"download_source_matching": "Güncelleniyor",
"download_source_failed": "Hata",
"download_source_no_information": "Bilgi mevcut değil",
"removed_all_download_sources": "Tüm indirme kaynakları kaldırıldı",
"download_sources_synced_successfully": "Tüm indirme kaynakları senkronize edildi",
"importing": "İçe aktarılıyor...",
"hydra_cloud": "Hydra Cloud",
"debrid": "Debrid",
"debrid_description": "Debrid servisleri, internet hızınızla sınırlı, çeşitli dosya barındırma hizmetlerinde barındırılan dosyaları hızla indirmenize olanak tanıyan premium sınırsız indiricilerdir.",
"enable_steam_achievements": "Steam başarımları aramasını etkinleştir",
"achievement_sound_volume": "Başarım ses seviyesi",
"select_achievement_sound": "Başarım sesi seç",
"change_achievement_sound": "Başarım sesini değiştir",
"remove_achievement_sound": "Başarım sesini kaldır",
"preview_sound": "Sesi önizle",
"select": "Seç",
"preview": "Önizle",
"remove": "Kaldır",
"no_sound_file_selected": "Ses dosyası seçilmedi",
"autoplay_trailers_on_game_page": "Oyun sayfasında fragmanları otomatik olarak oynat",
"hide_to_tray_on_game_start": "Oyun başlatıldığında Hydra'yı sistem tepsisine gizle"
},
"notifications": {
"download_complete": "İndirme tamamlandı",
@@ -406,7 +598,8 @@
"game_card": {
"available_one": "Mevcut",
"available_other": "Mevcut",
"no_downloads": "İndirme mevcut değil"
"no_downloads": "İndirme mevcut değil",
"calculating": "Hesaplanıyor"
},
"binary_not_found_modal": {
"title": "Programlar Yüklü Değil",
@@ -498,7 +691,46 @@
"achievements_unlocked": "Açılan başarımlar",
"earned_points": "Kazanılan puanlar",
"show_achievements_on_profile": "Başarımlarını profilinde göster",
"show_points_on_profile": "Kazanılan puanlarını profilinde göster"
"show_points_on_profile": "Kazanılan puanlarını profilinde göster",
"amount_hours_short": "{{amount}}s",
"amount_minutes_short": "{{amount}}d",
"pinned": "Sabitlenmiş",
"sort_by": "Sırala:",
"achievements_earned": "Kazanılan başarımlar",
"played_recently": "Son oynanan",
"playtime": "Oynama süresi",
"manual_playtime_tooltip": "Bu oynama süresi manuel olarak güncellendi",
"error_adding_friend": "Arkadaş isteği gönderilemedi. Lütfen arkadaş kodunu kontrol et",
"friend_code_length_error": "Arkadaş kodu 8 karakter olmalıdır",
"game_removed_from_pinned": "Oyun sabitlenmişlerden çıkarıldı",
"game_added_to_pinned": "Oyun sabitlenmişlere eklendi",
"karma": "Karma",
"karma_count": "karma",
"karma_description": "İncelemelerdeki olumlu beğenilerden kazanılır",
"user_reviews": "İncelemeler",
"delete_review": "İncelemeyi Sil",
"loading_reviews": "İncelemeler yükleniyor..."
},
"library": {
"library": "Kütüphane",
"play": "Oyna",
"download": "İndir",
"downloading": "İndiriliyor",
"game": "oyun",
"games": "oyunlar",
"grid_view": "Izgara görünümü",
"compact_view": "Kompakt görünüm",
"large_view": "Büyük görünüm",
"no_games_title": "Kütüphanen boş",
"no_games_description": "Başlamak için katalogdan oyun ekle veya indir",
"amount_hours": "{{amount}} saat",
"amount_minutes": "{{amount}} dakika",
"amount_hours_short": "{{amount}}s",
"amount_minutes_short": "{{amount}}d",
"manual_playtime_tooltip": "Bu oynama süresi manuel olarak güncellendi",
"all_games": "Tüm Oyunlar",
"recently_played": "Son Oynanan",
"favorites": "Favoriler"
},
"achievement": {
"achievement_unlocked": "Başarım açıldı",

View File

@@ -27,7 +27,68 @@
"favorites": "Улюблені",
"friends": "Друзі",
"need_help": "Потрібна допомога?",
"playable_button_title": "Показати лише ігри, які можна грати зараз"
"playable_button_title": "Показати лише ігри, які можна грати зараз",
"add_custom_game_tooltip": "Додати власну гру",
"show_playable_only_tooltip": "Показати лише доступні для гри",
"custom_game_modal": "Додати власну гру",
"custom_game_modal_description": "Додайте власну гру до бібліотеки, вибравши виконуваний файл",
"custom_game_modal_executable_path": "Шлях до виконуваного файлу",
"custom_game_modal_select_executable": "Виберіть виконуваний файл",
"custom_game_modal_title": "Назва гри",
"custom_game_modal_enter_title": "Введіть назву гри",
"custom_game_modal_browse": "Огляд",
"custom_game_modal_cancel": "Скасувати",
"custom_game_modal_add": "Додати гру",
"custom_game_modal_adding": "Додавання гри...",
"custom_game_modal_success": "Власну гру успішно додано",
"custom_game_modal_failed": "Не вдалося додати власну гру",
"custom_game_modal_executable": "Виконуваний файл",
"edit_game_modal": "Налаштувати ресурси",
"edit_game_modal_description": "Налаштуйте ресурси та деталі гри",
"edit_game_modal_title": "Назва",
"edit_game_modal_enter_title": "Введіть назву",
"edit_game_modal_image": "Зображення",
"edit_game_modal_select_image": "Виберіть зображення",
"edit_game_modal_browse": "Огляд",
"edit_game_modal_image_preview": "Попередній перегляд зображення",
"edit_game_modal_icon": "Іконка",
"edit_game_modal_select_icon": "Виберіть іконку",
"edit_game_modal_icon_preview": "Попередній перегляд іконки",
"edit_game_modal_logo": "Логотип",
"edit_game_modal_select_logo": "Виберіть логотип",
"edit_game_modal_logo_preview": "Попередній перегляд логотипу",
"edit_game_modal_hero": "Зображення обкладинки гри",
"edit_game_modal_select_hero": "Виберіть обкладинку гри",
"edit_game_modal_hero_preview": "Попередній перегляд обкладинки гри",
"edit_game_modal_cancel": "Скасувати",
"edit_game_modal_update": "Оновити",
"edit_game_modal_updating": "Оновлення...",
"edit_game_modal_fill_required": "Будь ласка, заповніть всі обов'язкові поля",
"edit_game_modal_success": "Ресурси успішно оновлено",
"edit_game_modal_failed": "Не вдалося оновити ресурси",
"edit_game_modal_image_filter": "Зображення",
"edit_game_modal_icon_resolution": "Рекомендована роздільна здатність: 256x256px",
"edit_game_modal_logo_resolution": "Рекомендована роздільна здатність: 640x360px",
"edit_game_modal_hero_resolution": "Рекомендована роздільна здатність: 1920x620px",
"edit_game_modal_assets": "Ресурси",
"edit_game_modal_drop_icon_image_here": "Перетягніть зображення іконки сюди",
"edit_game_modal_drop_logo_image_here": "Перетягніть зображення логотипу сюди",
"edit_game_modal_drop_hero_image_here": "Перетягніть зображення обкладинки сюди",
"edit_game_modal_drop_to_replace_icon": "Перетягніть для заміни іконки",
"edit_game_modal_drop_to_replace_logo": "Перетягніть для заміни логотипу",
"edit_game_modal_drop_to_replace_hero": "Перетягніть для заміни обкладинки",
"install_decky_plugin": "Встановити плагін Decky",
"update_decky_plugin": "Оновити плагін Decky",
"decky_plugin_installed_version": "Плагін Decky (v{{version}})",
"install_decky_plugin_title": "Встановити плагін Hydra Decky",
"install_decky_plugin_message": "Це завантажить і встановить плагін Hydra для Decky Loader. Можуть знадобитися підвищені дозволи. Продовжити?",
"update_decky_plugin_title": "Оновити плагін Hydra Decky",
"update_decky_plugin_message": "Доступна нова версія плагіна Hydra Decky. Бажаєте оновити його зараз?",
"decky_plugin_installed": "Плагін Decky v{{version}} успішно встановлено",
"decky_plugin_installation_failed": "Не вдалося встановити плагін Decky: {{error}}",
"decky_plugin_installation_error": "Помилка встановлення плагіна Decky: {{error}}",
"confirm": "Підтвердити",
"cancel": "Скасувати"
},
"header": {
"search": "Пошук",
@@ -86,6 +147,7 @@
"amount_minutes": "{{amount}} хвилин",
"accuracy": "{{accuracy}}% точність",
"add_to_library": "Додати до бібліотеки",
"already_in_library": "Вже в бібліотеці",
"remove_from_library": "Видалити з бібліотеки",
"no_downloads": "Немає доступних завантажень",
"play_time": "Час гри: {{amount}}",
@@ -102,6 +164,7 @@
"download_now": "Завантажити зараз",
"calculating_eta": "Обчислення залишкового часу…",
"create_shortcut": "Створити ярлик на робочому столі",
"create_shortcut_simple": "Створити ярлик",
"create_shortcut_success": "Ярлик успішно створено",
"create_shortcut_error": "Виникла помилка під час створення ярлику",
"nsfw_content_title": "Ця гра містить неприйнятний контент",
@@ -135,6 +198,7 @@
"open_folder": "Відкрити папку",
"open_screenshot": "Відкрити скріншот",
"options": "Налаштування",
"properties": "Властивості",
"paused": "Призупинено",
"previous_screenshot": "Попередній скріншот",
"remove_files": "Видалити файли",
@@ -171,7 +235,7 @@
"loading_save_preview": "Виконується пошук збережень гри...",
"wine_prefix": "Префікс Wine",
"wine_prefix_description": "Префікс Wine використовувався для запуску цієї гри",
"launch_options": "Параметри загрузки",
"launch_options": "Параметри завантаження",
"launch_options_description": "Досвідчені користувачі можуть ввести власні модифікації до параметрів запуску (експериментальна функція).",
"launch_options_placeholder": "Параметри не вказано",
"no_download_option_info": "Немає інформації",
@@ -198,11 +262,105 @@
"download_error_not_cached_on_hydra": "Це завантаження недоступне через Nimbus.",
"game_removed_from_favorites": "Гра видалена з улюбленних",
"game_added_to_favorites": "Гра була добавлена у улюблені",
"automatically_extract_downloaded_files": "Автоматично розархівувати завантаженні файли"
"automatically_extract_downloaded_files": "Автоматично розархівувати завантаженні файли",
"create_steam_shortcut": "Створити ярлик Steam",
"you_might_need_to_restart_steam": "Можливо, вам знадобиться перезапустити Steam, щоб побачити зміни",
"add_to_favorites": "Додати до улюбленого",
"remove_from_favorites": "Видалити з улюбленого",
"failed_update_favorites": "Не вдалося оновити улюблене",
"game_removed_from_library": "Гру видалено з бібліотеки",
"failed_remove_from_library": "Не вдалося видалити з бібліотеки",
"files_removed_success": "Файли успішно видалено",
"failed_remove_files": "Не вдалося видалити файли",
"show_more": "Показати більше",
"show_less": "Показати менше",
"reviews": "Відгуки",
"leave_a_review": "Залишити відгук",
"write_review_placeholder": "Поділіться своїми думками про цю гру...",
"sort_newest": "Спочатку нові",
"no_reviews_yet": "Поки що немає відгуків",
"be_first_to_review": "Станьте першим, хто поділиться своїми думками про цю гру!",
"sort_oldest": "Спочатку старі",
"sort_highest_score": "Найвища оцінка",
"sort_lowest_score": "Найнижча оцінка",
"sort_most_voted": "Найпопулярніші",
"rating": "Оцінка",
"rating_stats": "Оцінка",
"rating_very_negative": "Дуже негативно",
"rating_negative": "Негативно",
"rating_neutral": "Нейтрально",
"rating_positive": "Позитивно",
"rating_very_positive": "Дуже позитивно",
"submit_review": "Відправити",
"submitting": "Відправка...",
"review_submitted_successfully": "Відгук успішно відправлено!",
"review_submission_failed": "Не вдалося відправити відгук. Будь ласка, спробуйте ще раз.",
"review_cannot_be_empty": "Текстове поле відгуку не може бути порожнім.",
"review_deleted_successfully": "Відгук успішно видалено.",
"review_deletion_failed": "Не вдалося видалити відгук. Будь ласка, спробуйте ще раз.",
"loading_reviews": "Завантаження відгуків...",
"loading_more_reviews": "Завантаження додаткових відгуків...",
"load_more_reviews": "Завантажити більше відгуків",
"you_seemed_to_enjoy_this_game": "Схоже, вам сподобалася ця гра",
"would_you_recommend_this_game": "Бажаєте залишити відгук про цю гру?",
"yes": "Так",
"maybe_later": "Можливо пізніше",
"rating_count": "Оцінка",
"delete_review": "Видалити відгук",
"remove_review": "Видалити відгук",
"delete_review_modal_title": "Ви впевнені, що хочете видалити свій відгук?",
"delete_review_modal_description": "Цю дію не можна скасувати.",
"delete_review_modal_delete_button": "Видалити",
"delete_review_modal_cancel_button": "Скасувати",
"backup_failed": "Помилка резервного копіювання",
"update_playtime_title": "Оновити час гри",
"update_playtime_description": "Вручну оновіть час гри для {{game}}",
"update_playtime": "Оновити час гри",
"update_playtime_success": "Час гри успішно оновлено",
"update_playtime_error": "Не вдалося оновити час гри",
"update_game_playtime": "Оновити час гри",
"manual_playtime_warning": "Ваші години будуть позначені як оновлені вручну. Цю дію не можна скасувати.",
"manual_playtime_tooltip": "Цей час гри було оновлено вручну",
"game_removed_from_pinned": "Гру видалено із закріплених",
"game_added_to_pinned": "Гру додано до закріплених",
"create_start_menu_shortcut": "Створити ярлик у меню «Пуск»",
"invalid_wine_prefix_path": "Недійсний шлях префікса Wine",
"invalid_wine_prefix_path_description": "Шлях до префікса Wine недійсний. Будь ласка, перевірте шлях і спробуйте знову.",
"missing_wine_prefix": "Префікс Wine необхідний для створення резервної копії в Linux",
"artifact_renamed": "Резервну копію успішно перейменовано",
"rename_artifact": "Перейменувати резервну копію",
"rename_artifact_description": "Перейменуйте резервну копію, надавши їй більш описову назву.",
"artifact_name_label": "Назва резервної копії",
"artifact_name_placeholder": "Введіть назву для резервної копії",
"save_changes": "Зберегти зміни",
"required_field": "Це поле обов'язкове",
"max_length_field": "Це поле має містити менше ніж {{length}} символів",
"freeze_backup": "Закріпити, щоб вона не була перезаписана автоматичними резервними копіями",
"unfreeze_backup": "Відкріпити",
"backup_frozen": "Резервну копію закріплено",
"backup_unfrozen": "Резервну копію відкріплено",
"backup_freeze_failed": "Не вдалося закріпити резервну копію",
"backup_freeze_failed_description": "Ви повинні залишити принаймні один вільний слот для автоматичних резервних копій",
"edit_game_modal_button": "Змінити деталі гри",
"game_details": "Деталі гри",
"currency_symbol": "₴",
"currency_country": "ua",
"prices": "Ціни",
"no_prices_found": "Ціни не знайдено",
"view_all_prices": "Натисніть, щоб переглянути всі ціни",
"retail_price": "Роздрібна ціна",
"keyshop_price": "Ціна в магазині ключів",
"historical_retail": "Історичні роздрібні ціни",
"historical_keyshop": "Історичні ціни в магазинах ключів",
"language": "Мова",
"caption": "Субтитри",
"audio": "Аудіо",
"filter_by_source": "Фільтр за джерелом",
"no_repacks_found": "Джерела для цієї гри не знайдено"
},
"activation": {
"title": "Активувати Hydra",
"installation_id": "ID установки:",
"installation_id": "ID встановлення:",
"enter_activation_code": "Введіть ваш активаційний код",
"message": "Якщо ви не знаєте, де його запросити, то не повинні мати його.",
"activate": "Активувати",
@@ -226,7 +384,7 @@
"install": "Встановити",
"download_in_progress": "В процесі",
"downloads_completed": "Завершено",
"no_downloads_description": "Ви ще нічого не завантажили через Hydra, але ніколи не пізно почати!",
"no_downloads_description": "Ви ще нічого не завантажили через Hydra, але ніколи не пізно почати",
"no_downloads_title": "Тут так пусто...",
"queued": "В черзі",
"queued_downloads": "Завантаження в черзі",
@@ -339,6 +497,8 @@
"delete_theme_description": "Це видалить тему {{theme}}",
"cancel": "Відмінити",
"appearance": "Вигляд",
"debrid": "Debrid",
"debrid_description": "Сервіси Debrid - це преміум-завантажувачі без обмежень, які дозволяють швидко завантажувати файли з різних файлообмінників, обмежуючись лише швидкістю вашого інтернету.",
"enable_torbox": "Включити TorBox",
"torbox_description": "TorBox — це ваш преміум-сервіс для сідінгу, що конкурує навіть з найкращими серверами на ринку.",
"torbox_account_linked": "TorBox акаунт прив'язано",
@@ -357,7 +517,25 @@
"install_common_redist": "Встановити",
"installing_common_redist": "Встановлюється…",
"show_download_speed_in_megabytes": "Показувати швидкість завантаження в мегабайтах на секунду",
"extract_files_by_default": "Розпаковувати файли після завантаження"
"extract_files_by_default": "Розпаковувати файли після завантаження",
"enable_steam_achievements": "Увімкнути пошук досягнень Steam",
"achievement_custom_notification_position": "Позиція сповіщень про досягнення",
"top-left": "Верхній лівий кут",
"top-center": "Верхній центр",
"top-right": "Верхній правий кут",
"bottom-left": "Нижній лівий кут",
"bottom-center": "Нижній центр",
"bottom-right": "Нижній правий кут",
"enable_achievement_custom_notifications": "Увімкнути сповіщення про досягнення",
"alignment": "Вирівнювання",
"variation": "Варіація",
"default": "За замовчуванням",
"rare": "Рідкісне",
"platinum": "Платиновий",
"hidden": "Прихований",
"test_notification": "Тестове сповіщення",
"notification_preview": "Попередній перегляд сповіщення про досягнення",
"enable_friend_start_game_notifications": "Коли друг починає грати в гру"
},
"notifications": {
"download_complete": "Завантаження завершено",
@@ -372,7 +550,10 @@
"new_friend_request_description": "Ви отримали новий запит на дружбу",
"new_friend_request_title": "Новий запит на дружбу",
"extraction_complete": "Витягування завершено",
"game_extracted": "{{title}} успішно витягнуто"
"game_extracted": "{{title}} успішно витягнуто",
"friend_started_playing_game": "{{displayName}} почав грати в гру",
"test_achievement_notification_title": "Це тестове сповіщення",
"test_achievement_notification_description": "Досить круто, чи не так?"
},
"system_tray": {
"open": "Відкрити Hydra",
@@ -381,7 +562,8 @@
"game_card": {
"no_downloads": "Немає доступних завантажень",
"available_one": "Доступний",
"available_other": "Доступні"
"available_other": "Доступні",
"calculating": "Обчислення"
},
"binary_not_found_modal": {
"title": "Програми не встановлені",
@@ -398,11 +580,17 @@
"activity": "Остання активність",
"amount_hours": "{{amount}} годин",
"amount_minutes": "{{amount}} хвилин",
"amount_hours_short": "{{amount}}год",
"amount_minutes_short": "{{amount}}хв",
"cancel": "Скасувати",
"display_name": "Відображуване ім'я",
"edit_profile": "Редагувати профіль",
"last_time_played": "Остання гра {{period}}",
"library": "Бібліотека",
"pinned": "Закріплені",
"achievements_earned": "Зароблені досягнення",
"played_recently": "Недавно зіграні",
"playtime": "Час гри",
"no_recent_activity_description": "Ви давно не грали в ігри. Пора це змінити!",
"no_recent_activity_title": "Хммм... Тут нічого немає",
"playing_for": "Зіграно {{amount}}",
@@ -414,9 +602,10 @@
"sign_out_modal_title": "Ви впевнені?",
"successfully_signed_out": "Успішний вихід з акаунту",
"total_play_time": "Всього зіграно",
"manual_playtime_tooltip": "Час гри було оновлено вручну",
"try_again": "Будь ласка, попробуйте ще раз",
"add_friends": "Добавити друзів",
"add": "Добавити",
"add_friends": "Додати друзів",
"add": "Додати",
"friend_code": "Код друга",
"see_profile": "Переглянути профіль",
"sending": "Надсилання",
@@ -425,7 +614,7 @@
"friends_list": "Список друзів",
"user_not_found": "Користувача не найдено",
"block_user": "Заблокувати користувача",
"add_friend": "Добавити друга",
"add_friend": "Додати друга",
"request_sent": "надіслано запит на дружбу",
"request_received": "Отримано запит на дружбу",
"accept_request": "Прийняти запит",
@@ -473,7 +662,14 @@
"achievements_unlocked": "Досягнень розблоковано",
"earned_points": "Отримано балів",
"show_achievements_on_profile": "Покажіть свої досягнення у своєму профілі",
"show_points_on_profile": "Покажіть ваші отриманні бали у своєму профілі"
"show_points_on_profile": "Покажіть ваші отриманні бали у своєму профілі",
"error_adding_friend": "Не вдалося відправити запит на дружбу. Будь ласка, перевірте код друга",
"friend_code_length_error": "Код друга має містити 8 символів",
"game_removed_from_pinned": "Гру видалено із закріплених",
"game_added_to_pinned": "Гру додано до закріплених",
"karma": "Карма",
"karma_count": "карма",
"karma_description": "Зароблена позитивними оцінками на відгуках"
},
"achievement": {
"achievement_unlocked": "Досягнення розблоковано",

View File

@@ -27,7 +27,68 @@
"friends": "好友",
"favorites": "收藏",
"need_help": "需要帮助?",
"playable_button_title": "仅显示现在可以游玩的游戏"
"playable_button_title": "仅显示现在可以游玩的游戏",
"add_custom_game_tooltip": "添加自定义游戏",
"cancel": "取消",
"confirm": "确认",
"custom_game_modal": "添加自定义游戏",
"custom_game_modal_add": "添加游戏",
"custom_game_modal_adding": "正在添加游戏...",
"custom_game_modal_browse": "浏览",
"custom_game_modal_cancel": "取消",
"custom_game_modal_description": "通过选择可执行文件将自定义游戏添加到您的库中",
"custom_game_modal_enter_title": "输入标题",
"custom_game_modal_executable": "可执行文件",
"custom_game_modal_executable_path": "可执行文件路径",
"custom_game_modal_failed": "添加自定义游戏失败",
"custom_game_modal_select_executable": "选择可执行文件",
"custom_game_modal_success": "自定义游戏添加成功",
"custom_game_modal_title": "标题",
"decky_plugin_installation_error": "安装 Decky 插件出错: {{error}}",
"decky_plugin_installation_failed": "Decky 插件安装失败: {{error}}",
"decky_plugin_installed": "Decky 插件 v{{version}} 安装成功",
"decky_plugin_installed_version": "Decky 插件 (v{{version}})",
"edit_game_modal": "自定义资源",
"edit_game_modal_assets": "资源",
"edit_game_modal_browse": "浏览",
"edit_game_modal_cancel": "取消",
"edit_game_modal_description": "自定义游戏资源和详情",
"edit_game_modal_drop_hero_image_here": "拖放主图像到此处",
"edit_game_modal_drop_icon_image_here": "拖放图标到此处",
"edit_game_modal_drop_logo_image_here": "拖放Logo到此处",
"edit_game_modal_drop_to_replace_hero": "拖放以替换主图像",
"edit_game_modal_drop_to_replace_icon": "拖放以替换图标",
"edit_game_modal_drop_to_replace_logo": "拖放以替换Logo",
"edit_game_modal_enter_title": "输入标题",
"edit_game_modal_failed": "资源更新失败",
"edit_game_modal_fill_required": "请填写所有必填项",
"edit_game_modal_hero": "库主图",
"edit_game_modal_hero_preview": "库主图预览",
"edit_game_modal_hero_resolution": "推荐分辨率: 1920x620px",
"edit_game_modal_icon": "图标",
"edit_game_modal_icon_preview": "图标预览",
"edit_game_modal_icon_resolution": "推荐分辨率: 256x256px",
"edit_game_modal_image": "图片",
"edit_game_modal_image_filter": "图片",
"edit_game_modal_image_preview": "图片预览",
"edit_game_modal_logo": "Logo",
"edit_game_modal_logo_preview": "Logo预览",
"edit_game_modal_logo_resolution": "推荐分辨率: 640x360px",
"edit_game_modal_select_hero": "选择库主图",
"edit_game_modal_select_icon": "选择图标",
"edit_game_modal_select_image": "选择图片",
"edit_game_modal_select_logo": "选择Logo",
"edit_game_modal_success": "资源更新成功",
"edit_game_modal_title": "标题",
"edit_game_modal_update": "更新",
"edit_game_modal_updating": "正在更新...",
"install_decky_plugin": "安装 Decky 插件",
"install_decky_plugin_message": "这将下载并安装 Hydra 的 Decky Loader 插件。可能需要提升权限。继续吗?",
"install_decky_plugin_title": "安装 Hydra Decky 插件",
"show_playable_only_tooltip": "仅显示可游玩",
"update_decky_plugin": "更新 Decky 插件",
"update_decky_plugin_message": "有新版本的 Hydra Decky 插件可用。现在要更新吗?",
"update_decky_plugin_title": "更新 Hydra Decky 插件"
},
"header": {
"search": "搜索游戏",
@@ -218,7 +279,93 @@
"reset_achievements_title": "您确定吗?",
"save_changes": "保存更改",
"unfreeze_backup": "取消固定",
"you_might_need_to_restart_steam": "您可能需要重启Steam才能看到更改"
"you_might_need_to_restart_steam": "您可能需要重启Steam才能看到更改",
"add_to_favorites": "添加到收藏",
"already_in_library": "已在游戏库中",
"audio": "音频",
"backup_failed": "备份失败",
"be_first_to_review": "成为第一个分享游戏感受的人!",
"caption": "标题",
"create_shortcut_simple": "创建快捷方式",
"currency_country": "zh",
"currency_symbol": "¥",
"delete_review": "删除评价",
"delete_review_modal_cancel_button": "取消",
"delete_review_modal_delete_button": "删除",
"delete_review_modal_description": "此操作无法撤销。",
"delete_review_modal_title": "确定要删除您的评价吗?",
"edit_game_modal_button": "自定义游戏资源",
"failed_remove_files": "文件删除失败",
"failed_remove_from_library": "移出游戏库失败",
"failed_update_favorites": "收藏更新失败",
"files_removed_success": "文件已成功删除",
"filter_by_source": "按来源筛选",
"game_added_to_pinned": "游戏已添加到置顶",
"game_details": "游戏详情",
"game_removed_from_library": "游戏已从库中移除",
"game_removed_from_pinned": "游戏已从置顶移除",
"hide": "隐藏",
"hide_original": "隐藏原文",
"historical_keyshop": "历史密钥商店",
"historical_retail": "历史零售",
"keyshop_price": "密钥商店价格",
"language": "语言",
"leave_a_review": "留下评价",
"load_more_reviews": "加载更多评价",
"loading_more_reviews": "正在加载更多评价...",
"loading_reviews": "正在加载评价...",
"manual_playtime_tooltip": "该游戏时长已手动更新",
"manual_playtime_warning": "您的游戏时长将被标记为手动更新,且无法撤销。",
"maybe_later": "以后再说",
"no_prices_found": "未找到价格信息",
"no_repacks_found": "未找到该游戏的下载来源",
"no_reviews_yet": "暂无评价",
"prices": "价格",
"properties": "属性",
"rating": "评分",
"rating_count": "评分数",
"rating_negative": "差评",
"rating_neutral": "中性",
"rating_positive": "好评",
"rating_stats": "评分统计",
"rating_very_negative": "极差",
"rating_very_positive": "极好",
"remove_from_favorites": "移出收藏",
"remove_review": "移除评价",
"retail_price": "零售价格",
"review_cannot_be_empty": "评价内容不能为空。",
"review_deleted_successfully": "评价已成功删除。",
"review_deletion_failed": "评价删除失败,请重试。",
"review_from_blocked_user": "来自被屏蔽用户的评价",
"review_played_for": "已游玩",
"review_submission_failed": "评价提交失败,请重试。",
"review_submitted_successfully": "评价提交成功!",
"reviews": "评价",
"show": "显示",
"show_less": "收起",
"show_more": "展开",
"show_original": "显示原文",
"show_original_translated_from": "显示原文(由{{language}}翻译)",
"show_translation": "显示翻译",
"sort_highest_score": "最高分",
"sort_lowest_score": "最低分",
"sort_most_voted": "最多投票",
"sort_newest": "最新",
"sort_oldest": "最旧",
"submit_review": "提交",
"submitting": "正在提交...",
"update_game_playtime": "更新游戏时长",
"update_playtime": "更新时长",
"update_playtime_description": "手动更新 {{game}} 的游玩时长",
"update_playtime_error": "游戏时长更新失败",
"update_playtime_success": "游戏时长已成功更新",
"update_playtime_title": "更新游戏时长",
"view_all_prices": "点击查看所有价格",
"vote_failed": "投票失败,请重试。",
"would_you_recommend_this_game": "您想为此游戏留下评价吗?",
"write_review_placeholder": "分享您对本游戏的看法...",
"yes": "是",
"you_seemed_to_enjoy_this_game": "您似乎很喜欢这款游戏"
},
"activation": {
"title": "激活 Hydra",
@@ -394,7 +541,24 @@
"update_email": "更新邮箱",
"update_password": "更新密码",
"variation": "变体",
"web_store": "网络商店"
"web_store": "网络商店",
"adding": "添加中…",
"autoplay_trailers_on_game_page": "在游戏页面自动播放预告片",
"debrid": "Debrid下载服务",
"debrid_description": "Debrid服务是一种高级不限速下载器可让您以最快的网速下载托管在各类网盘上的文件仅受您的网络速度限制。",
"download_source_already_exists": "该下载源URL已存在。",
"download_source_failed": "出错",
"download_source_matched": "已更新",
"download_source_matching": "正在更新",
"download_source_no_information": "暂无信息",
"download_source_pending_matching": "即将更新",
"download_sources_synced_successfully": "所有下载源已同步",
"enable_steam_achievements": "启用Steam成就搜索",
"failed_add_download_source": "添加下载源失败,请重试。",
"hide_to_tray_on_game_start": "启动游戏时隐藏到托盘",
"hydra_cloud": "Hydra Cloud",
"importing": "导入中…",
"removed_all_download_sources": "已移除所有下载源"
},
"notifications": {
"download_complete": "下载完成",
@@ -421,7 +585,8 @@
"game_card": {
"no_downloads": "无可用下载选项",
"available_one": "可用",
"available_other": "可用"
"available_other": "可用",
"calculating": "正在计算"
},
"binary_not_found_modal": {
"title": "程序未安装",
@@ -515,7 +680,23 @@
"show_achievements_on_profile": "在您的个人资料上显示成就",
"show_points_on_profile": "在您的个人资料上显示获得的积分",
"stats": "统计",
"top_percentile": "前 {{percentile}}%"
"top_percentile": "前 {{percentile}}%",
"achievements_earned": "已获得成就",
"amount_hours_short": "{{amount}}小时",
"amount_minutes_short": "{{amount}}分钟",
"delete_review": "删除评价",
"game_added_to_pinned": "游戏已添加到置顶",
"game_removed_from_pinned": "游戏已从置顶移除",
"karma": "业力",
"karma_count": "业力值",
"karma_description": "通过评论获得的点赞",
"loading_reviews": "正在加载评价...",
"manual_playtime_tooltip": "该游戏时长已手动更新",
"pinned": "已置顶",
"played_recently": "最近游玩",
"playtime": "游戏时长",
"sort_by": "排序方式:",
"user_reviews": "用户评价"
},
"achievement": {
"achievement_unlocked": "成就已解锁",

View File

@@ -41,4 +41,19 @@ export const appVersion = app.getVersion() + (isStaging ? "-staging" : "");
export const ASSETS_PATH = path.join(SystemPath.getPath("userData"), "Assets");
export const THEMES_PATH = path.join(SystemPath.getPath("userData"), "themes");
export const MAIN_LOOP_INTERVAL = 2000;
export const DEFAULT_ACHIEVEMENT_SOUND_VOLUME = 0.15;
export const DECKY_PLUGINS_LOCATION = path.join(
SystemPath.getPath("home"),
"homebrew",
"plugins"
);
export const HYDRA_DECKY_PLUGIN_LOCATION = path.join(
DECKY_PLUGINS_LOCATION,
"Hydra"
);

View File

@@ -0,0 +1,3 @@
import "./get-session-hash";
import "./open-auth-window";
import "./sign-out";

View File

@@ -0,0 +1,2 @@
import "./check-for-updates";
import "./restart-and-install-update";

View File

@@ -1,15 +0,0 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
import type { GameShop } from "@types";
const checkGameReview = async (
_event: Electron.IpcMainInvokeEvent,
shop: GameShop,
objectId: string
) => {
return HydraApi.get(`/games/${shop}/${objectId}/reviews/check`, null, {
needsAuth: true,
});
};
registerEvent("checkGameReview", checkGameReview);

View File

@@ -1,18 +0,0 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
import type { GameShop } from "@types";
const createGameReview = async (
_event: Electron.IpcMainInvokeEvent,
shop: GameShop,
objectId: string,
reviewHtml: string,
score: number
) => {
return HydraApi.post(`/games/${shop}/${objectId}/reviews`, {
reviewHtml,
score,
});
};
registerEvent("createGameReview", createGameReview);

View File

@@ -1,14 +0,0 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
import type { GameShop } from "@types";
const deleteReview = async (
_event: Electron.IpcMainInvokeEvent,
shop: GameShop,
objectId: string,
reviewId: string
) => {
return HydraApi.delete(`/games/${shop}/${objectId}/reviews/${reviewId}`);
};
registerEvent("deleteReview", deleteReview);

View File

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

View File

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

View File

@@ -6,6 +6,10 @@ import { gamesShopAssetsSublevel, levelKeys } from "@main/level";
const LOCAL_CACHE_EXPIRATION = 1000 * 60 * 60 * 8; // 8 hours
export const getGameAssets = async (objectId: string, shop: GameShop) => {
if (shop === "custom") {
return null;
}
const cachedAssets = await gamesShopAssetsSublevel.get(
levelKeys.game(shop, objectId)
);

View File

@@ -1,26 +0,0 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
import type { GameShop } from "@types";
const getGameReviews = async (
_event: Electron.IpcMainInvokeEvent,
shop: GameShop,
objectId: string,
take: number = 20,
skip: number = 0,
sortBy: string = "newest"
) => {
const params = new URLSearchParams({
take: take.toString(),
skip: skip.toString(),
sortBy,
});
return HydraApi.get(
`/games/${shop}/${objectId}/reviews?${params.toString()}`,
null,
{ needsAuth: false }
);
};
registerEvent("getGameReviews", getGameReviews);

View File

@@ -26,6 +26,8 @@ const getGameShopDetails = async (
shop: GameShop,
language: string
): Promise<ShopDetailsWithAssets | null> => {
if (shop === "custom") return null;
if (shop === "steam") {
const [cachedData, cachedAssets] = await Promise.all([
gamesShopCacheSublevel.get(

View File

@@ -10,6 +10,10 @@ const getGameStats = async (
objectId: string,
shop: GameShop
) => {
if (shop === "custom") {
return null;
}
const cachedStats = await gamesStatsCacheSublevel.get(
levelKeys.game(shop, objectId)
);

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,4 @@
import "./get-game-assets";
import "./get-game-shop-details";
import "./get-game-stats";
import "./get-random-game";

View File

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

View File

@@ -1,18 +0,0 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
import type { GameShop } from "@types";
const voteReview = async (
_event: Electron.IpcMainInvokeEvent,
shop: GameShop,
objectId: string,
reviewId: string,
voteType: "upvote" | "downvote"
) => {
return HydraApi.put(
`/games/${shop}/${objectId}/reviews/${reviewId}/${voteType}`,
{}
);
};
registerEvent("voteReview", voteReview);

View File

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

View File

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

View File

@@ -0,0 +1,4 @@
import "./download-game-artifact";
import "./get-game-backup-preview";
import "./select-game-backup-path";
import "./upload-save-game";

View File

@@ -1,14 +0,0 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
const renameGameArtifact = async (
_event: Electron.IpcMainInvokeEvent,
gameArtifactId: string,
label: string
) => {
await HydraApi.put(`/profile/games/artifacts/${gameArtifactId}`, {
label,
});
};
registerEvent("renameGameArtifact", renameGameArtifact);

View File

@@ -1,16 +0,0 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
const toggleArtifactFreeze = async (
_event: Electron.IpcMainInvokeEvent,
gameArtifactId: string,
freeze: boolean
) => {
if (freeze) {
await HydraApi.put(`/profile/games/artifacts/${gameArtifactId}/freeze`);
} else {
await HydraApi.put(`/profile/games/artifacts/${gameArtifactId}/unfreeze`);
}
};
registerEvent("toggleArtifactFreeze", toggleArtifactFreeze);

View File

@@ -0,0 +1,50 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services/hydra-api";
import { downloadSourcesSublevel } from "@main/level";
import type { DownloadSource } from "@types";
import { logger } from "@main/services";
const addDownloadSource = async (
_event: Electron.IpcMainInvokeEvent,
url: string
) => {
try {
const existingSources = await downloadSourcesSublevel.values().all();
const urlExists = existingSources.some((source) => source.url === url);
if (urlExists) {
throw new Error("Download source with this URL already exists");
}
const downloadSource = await HydraApi.post<DownloadSource>(
"/download-sources",
{
url,
},
{ needsAuth: false }
);
if (HydraApi.isLoggedIn() && HydraApi.hasActiveSubscription()) {
try {
await HydraApi.post("/profile/download-sources", {
urls: [url],
});
} catch (error) {
logger.error("Failed to add download source to profile:", error);
}
}
await downloadSourcesSublevel.put(downloadSource.id, {
...downloadSource,
isRemote: true,
createdAt: new Date().toISOString(),
});
return downloadSource;
} catch (error) {
logger.error("Failed to add download source:", error);
throw error;
}
};
registerEvent("addDownloadSource", addDownloadSource);

View File

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

View File

@@ -0,0 +1,13 @@
import { getDownloadSourcesCheckBaseline } from "@main/level";
import { registerEvent } from "../register-event";
const getDownloadSourcesCheckBaselineHandler = async (
_event: Electron.IpcMainInvokeEvent
) => {
return await getDownloadSourcesCheckBaseline();
};
registerEvent(
"getDownloadSourcesCheckBaseline",
getDownloadSourcesCheckBaselineHandler
);

View File

@@ -0,0 +1,13 @@
import { getDownloadSourcesSinceValue } from "@main/level";
import { registerEvent } from "../register-event";
const getDownloadSourcesSinceValueHandler = async (
_event: Electron.IpcMainInvokeEvent
) => {
return await getDownloadSourcesSinceValue();
};
registerEvent(
"getDownloadSourcesSinceValue",
getDownloadSourcesSinceValueHandler
);

View File

@@ -1,8 +1,10 @@
import { HydraApi } from "@main/services";
import { downloadSourcesSublevel } from "@main/level";
import { registerEvent } from "../register-event";
import { orderBy } from "lodash-es";
const getDownloadSources = async (_event: Electron.IpcMainInvokeEvent) => {
return HydraApi.get("/profile/download-sources");
const allSources = await downloadSourcesSublevel.values().all();
return orderBy(allSources, "createdAt", "desc");
};
registerEvent("getDownloadSources", getDownloadSources);

View File

@@ -0,0 +1,6 @@
import "./add-download-source";
import "./get-download-sources-check-baseline";
import "./get-download-sources-since-value";
import "./get-download-sources";
import "./remove-download-source";
import "./sync-download-sources";

View File

@@ -1,17 +0,0 @@
import { HydraApi } from "@main/services";
import { registerEvent } from "../register-event";
const putDownloadSource = async (
_event: Electron.IpcMainInvokeEvent,
objectIds: string[]
) => {
return HydraApi.put<{ fingerprint: string }>(
"/download-sources",
{
objectIds,
},
{ needsAuth: false }
);
};
registerEvent("putDownloadSource", putDownloadSource);

View File

@@ -1,18 +1,27 @@
import { HydraApi } from "@main/services";
import { downloadSourcesSublevel } from "@main/level";
import { registerEvent } from "../register-event";
const removeDownloadSource = async (
_event: Electron.IpcMainInvokeEvent,
url?: string,
removeAll = false
removeAll = false,
downloadSourceId?: string
) => {
const params = new URLSearchParams({
all: removeAll.toString(),
});
if (url) params.set("url", url);
if (downloadSourceId) params.set("downloadSourceId", downloadSourceId);
return HydraApi.delete(`/profile/download-sources?${params.toString()}`);
if (HydraApi.isLoggedIn() && HydraApi.hasActiveSubscription()) {
void HydraApi.delete(`/profile/download-sources?${params.toString()}`);
}
if (removeAll) {
await downloadSourcesSublevel.clear();
} else if (downloadSourceId) {
await downloadSourcesSublevel.del(downloadSourceId);
}
};
registerEvent("removeDownloadSource", removeDownloadSource);

View File

@@ -0,0 +1,29 @@
import { HydraApi } from "@main/services";
import { registerEvent } from "../register-event";
import { downloadSourcesSublevel } from "@main/level";
import type { DownloadSource } from "@types";
const syncDownloadSources = async (_event: Electron.IpcMainInvokeEvent) => {
const downloadSources = await downloadSourcesSublevel.values().all();
const response = await HydraApi.post<DownloadSource[]>(
"/download-sources/sync",
{
ids: downloadSources.map((downloadSource) => downloadSource.id),
},
{ needsAuth: false }
);
for (const downloadSource of response) {
const existingDownloadSource = downloadSources.find(
(source) => source.id === downloadSource.id
);
await downloadSourcesSublevel.put(downloadSource.id, {
...existingDownloadSource,
...downloadSource,
});
}
};
registerEvent("syncDownloadSources", syncDownloadSources);

View File

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

View File

@@ -0,0 +1,2 @@
import "./check-folder-write-permission";
import "./get-disk-free-space";

View File

@@ -1,124 +1,22 @@
import { appVersion, defaultDownloadsPath, isStaging } from "@main/constants";
import { ipcMain } from "electron";
import "./catalogue/get-catalogue";
import "./catalogue/get-game-shop-details";
import "./catalogue/get-how-long-to-beat";
import "./catalogue/get-random-game";
import "./catalogue/search-games";
import "./catalogue/get-game-stats";
import "./catalogue/get-trending-games";
import "./catalogue/get-publishers";
import "./catalogue/get-developers";
import "./catalogue/create-game-review";
import "./catalogue/get-game-reviews";
import "./catalogue/vote-review";
import "./catalogue/delete-review";
import "./catalogue/check-game-review";
import "./hardware/get-disk-free-space";
import "./hardware/check-folder-write-permission";
import "./library/add-game-to-library";
import "./library/add-custom-game-to-library";
import "./library/update-custom-game";
import "./library/update-game-custom-assets";
import "./library/add-game-to-favorites";
import "./library/remove-game-from-favorites";
import "./library/toggle-game-pin";
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/extract-game-download";
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/update-launch-options";
import "./library/verify-executable-path";
import "./library/remove-game";
import "./library/remove-game-from-library";
import "./library/select-game-wine-prefix";
import "./library/reset-game-achievements";
import "./library/change-game-playtime";
import "./library/toggle-automatic-cloud-sync";
import "./library/get-default-wine-prefix-selection-path";
import "./library/cleanup-unused-assets";
import "./library/create-steam-shortcut";
import "./library/copy-custom-game-asset";
import "./misc/open-checkout";
import "./misc/open-external";
import "./misc/show-open-dialog";
import "./misc/get-features";
import "./misc/show-item-in-folder";
import "./misc/get-badges";
import "./misc/install-common-redist";
import "./misc/can-install-common-redist";
import "./misc/save-temp-file";
import "./misc/delete-temp-file";
import "./torrenting/cancel-game-download";
import "./torrenting/pause-game-download";
import "./torrenting/resume-game-download";
import "./torrenting/start-game-download";
import "./torrenting/pause-game-seed";
import "./torrenting/resume-game-seed";
import "./torrenting/check-debrid-availability";
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 "./user-preferences/authenticate-all-debrid";
import "./user-preferences/authenticate-torbox";
import "./download-sources/put-download-source";
import "./auth/sign-out";
import "./auth/open-auth-window";
import "./auth/get-session-hash";
import "./user/get-user";
import "./user/get-user-library";
import "./user/get-blocked-users";
import "./user/block-user";
import "./user/unblock-user";
import "./user/get-user-friends";
import "./user/get-auth";
import "./user/get-user-stats";
import "./user/report-user";
import "./user/get-unlocked-achievements";
import "./user/get-compared-unlocked-achievements";
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 "./cloud-save/download-game-artifact";
import "./cloud-save/get-game-artifacts";
import "./cloud-save/get-game-backup-preview";
import "./cloud-save/upload-save-game";
import "./cloud-save/delete-game-artifact";
import "./cloud-save/select-game-backup-path";
import "./cloud-save/toggle-artifact-freeze";
import "./cloud-save/rename-game-artifact";
import "./notifications/publish-new-repacks-notification";
import "./notifications/update-achievement-notification-window";
import "./notifications/show-achievement-test-notification";
import "./themes/add-custom-theme";
import "./themes/delete-custom-theme";
import "./themes/get-all-custom-themes";
import "./themes/delete-all-custom-themes";
import "./themes/update-custom-theme";
import "./themes/open-editor-window";
import "./themes/get-custom-theme-by-id";
import "./themes/get-active-custom-theme";
import "./themes/close-editor-window";
import "./themes/toggle-custom-theme";
import "./download-sources/create-download-sources";
import "./download-sources/remove-download-source";
import "./download-sources/get-download-sources";
import "./auth";
import "./autoupdater";
import "./catalogue";
import "./cloud-save";
import "./download-sources";
import "./hardware";
import "./library";
import "./leveldb";
import "./misc";
import "./notifications";
import "./profile";
import "./themes";
import "./torrenting";
import "./user";
import "./user-preferences";
import { isPortableVersion } from "@main/helpers";
ipcMain.handle("ping", () => "pong");

View File

@@ -0,0 +1,27 @@
import { db } from "@main/level";
const sublevelCache = new Map<
string,
ReturnType<typeof db.sublevel<string, unknown>>
>();
/**
* Gets a sublevel by name, creating it if it doesn't exist.
* All sublevels use "json" encoding by default.
* @param sublevelName - The name of the sublevel to get or create
* @returns The sublevel instance
*/
export const getSublevelByName = (
sublevelName: string
): ReturnType<typeof db.sublevel<string, unknown>> => {
if (sublevelCache.has(sublevelName)) {
return sublevelCache.get(sublevelName)!;
}
// All sublevels use "json" encoding - this cannot be changed per sublevel
const sublevel = db.sublevel<string, unknown>(sublevelName, {
valueEncoding: "json",
});
sublevelCache.set(sublevelName, sublevel);
return sublevel;
};

View File

@@ -0,0 +1,6 @@
import "./leveldb-get";
import "./leveldb-put";
import "./leveldb-del";
import "./leveldb-clear";
import "./leveldb-values";
import "./leveldb-iterator";

View File

@@ -0,0 +1,18 @@
import { registerEvent } from "../register-event";
import { getSublevelByName } from "./helpers";
import { logger } from "@main/services";
const leveldbClear = async (
_event: Electron.IpcMainInvokeEvent,
sublevelName: string
) => {
try {
const sublevel = getSublevelByName(sublevelName);
await sublevel.clear();
} catch (error) {
logger.error("Error in leveldbClear", error);
throw error;
}
};
registerEvent("leveldbClear", leveldbClear);

View File

@@ -0,0 +1,28 @@
import { registerEvent } from "../register-event";
import { db } from "@main/level";
import { getSublevelByName } from "./helpers";
import { logger } from "@main/services";
const leveldbDel = async (
_event: Electron.IpcMainInvokeEvent,
key: string,
sublevelName?: string | null
) => {
try {
if (sublevelName) {
const sublevel = getSublevelByName(sublevelName);
await sublevel.del(key);
} else {
await db.del(key);
}
} catch (error) {
if (error instanceof Error && error.name === "NotFoundError") {
// NotFoundError on delete is not an error, just return
return;
}
logger.error("Error in leveldbDel", error);
throw error;
}
};
registerEvent("leveldbDel", leveldbDel);

View File

@@ -0,0 +1,28 @@
import { registerEvent } from "../register-event";
import { db } from "@main/level";
import { getSublevelByName } from "./helpers";
import { logger } from "@main/services";
const leveldbGet = async (
_event: Electron.IpcMainInvokeEvent,
key: string,
sublevelName?: string | null,
valueEncoding: "json" | "utf8" = "json"
) => {
try {
if (sublevelName) {
// Note: sublevels always use "json" encoding, valueEncoding parameter is ignored
const sublevel = getSublevelByName(sublevelName);
return sublevel.get(key);
}
return db.get<string, unknown>(key, { valueEncoding });
} catch (error) {
if (error instanceof Error && error.name === "NotFoundError") {
return null;
}
logger.error("Error in leveldbGet", error);
throw error;
}
};
registerEvent("leveldbGet", leveldbGet);

View File

@@ -0,0 +1,18 @@
import { registerEvent } from "../register-event";
import { getSublevelByName } from "./helpers";
import { logger } from "@main/services";
const leveldbIterator = async (
_event: Electron.IpcMainInvokeEvent,
sublevelName: string
) => {
try {
const sublevel = getSublevelByName(sublevelName);
return sublevel.iterator().all();
} catch (error) {
logger.error("Error in leveldbIterator", error);
throw error;
}
};
registerEvent("leveldbIterator", leveldbIterator);

View File

@@ -0,0 +1,27 @@
import { registerEvent } from "../register-event";
import { db } from "@main/level";
import { getSublevelByName } from "./helpers";
import { logger } from "@main/services";
const leveldbPut = async (
_event: Electron.IpcMainInvokeEvent,
key: string,
value: unknown,
sublevelName?: string | null,
valueEncoding: "json" | "utf8" = "json"
) => {
try {
if (sublevelName) {
// Note: sublevels always use "json" encoding, valueEncoding parameter is ignored
const sublevel = getSublevelByName(sublevelName);
await sublevel.put(key, value);
} else {
await db.put<string, unknown>(key, value, { valueEncoding });
}
} catch (error) {
logger.error("Error in leveldbPut", error);
throw error;
}
};
registerEvent("leveldbPut", leveldbPut);

View File

@@ -0,0 +1,18 @@
import { registerEvent } from "../register-event";
import { getSublevelByName } from "./helpers";
import { logger } from "@main/services";
const leveldbValues = async (
_event: Electron.IpcMainInvokeEvent,
sublevelName: string
) => {
try {
const sublevel = getSublevelByName(sublevelName);
return sublevel.values().all();
} catch (error) {
logger.error("Error in leveldbValues", error);
throw error;
}
};
registerEvent("leveldbValues", leveldbValues);

View File

@@ -1,6 +1,6 @@
import { registerEvent } from "../register-event";
import { gamesSublevel, gamesShopAssetsSublevel, levelKeys } from "@main/level";
import { randomUUID } from "crypto";
import { randomUUID } from "node:crypto";
import type { GameShop } from "@types";
const addCustomGameToLibrary = async (
@@ -37,6 +37,7 @@ const addCustomGameToLibrary = async (
logoImageUrl: logoImageUrl || "",
logoPosition: null,
coverImageUrl: iconUrl || "",
downloadSources: [],
};
await gamesShopAssetsSublevel.put(gameKey, assets);

View File

@@ -13,7 +13,9 @@ const addGameToFavorites = async (
const game = await gamesSublevel.get(gameKey);
if (!game) return;
HydraApi.put(`/profile/games/${shop}/${objectId}/favorite`).catch(() => {});
if (shop !== "custom") {
HydraApi.put(`/profile/games/${shop}/${objectId}/favorite`).catch(() => {});
}
try {
await gamesSublevel.put(gameKey, {

View File

@@ -19,7 +19,6 @@ const getAllCustomGameAssets = async (): Promise<string[]> => {
};
const getUsedAssetPaths = async (): Promise<Set<string>> => {
// Get all custom games from the level database
const { gamesSublevel } = await import("@main/level");
const allGames = await gamesSublevel.iterator().all();
@@ -30,7 +29,6 @@ const getUsedAssetPaths = async (): Promise<Set<string>> => {
const usedPaths = new Set<string>();
customGames.forEach((game) => {
// Extract file paths from local URLs
if (game.iconUrl?.startsWith("local:")) {
usedPaths.add(game.iconUrl.replace("local:", ""));
}

View File

@@ -0,0 +1,27 @@
import { registerEvent } from "../register-event";
import { gamesSublevel, levelKeys } from "@main/level";
import { logger } from "@main/services";
import type { GameShop } from "@types";
const clearNewDownloadOptions = async (
_event: Electron.IpcMainInvokeEvent,
shop: GameShop,
objectId: string
) => {
const gameKey = levelKeys.game(shop, objectId);
const game = await gamesSublevel.get(gameKey);
if (!game) return;
try {
await gamesSublevel.put(gameKey, {
...game,
newDownloadOptionsCount: undefined,
});
logger.info(`Cleared newDownloadOptionsCount for game ${gameKey}`);
} catch (error) {
logger.error(`Failed to clear newDownloadOptionsCount: ${error}`);
}
};
registerEvent("clearNewDownloadOptions", clearNewDownloadOptions);

View File

@@ -1,7 +1,7 @@
import { registerEvent } from "../register-event";
import fs from "node:fs";
import path from "node:path";
import { randomUUID } from "crypto";
import { randomUUID } from "node:crypto";
import { ASSETS_PATH } from "@main/constants";
const copyCustomGameAsset = async (
@@ -13,29 +13,23 @@ const copyCustomGameAsset = async (
throw new Error("Source file does not exist");
}
// Ensure assets directory exists
if (!fs.existsSync(ASSETS_PATH)) {
fs.mkdirSync(ASSETS_PATH, { recursive: true });
}
// Create custom games assets subdirectory
const customGamesAssetsPath = path.join(ASSETS_PATH, "custom-games");
if (!fs.existsSync(customGamesAssetsPath)) {
fs.mkdirSync(customGamesAssetsPath, { recursive: true });
}
// Get file extension
const fileExtension = path.extname(sourcePath);
// Generate unique filename
const uniqueId = randomUUID();
const fileName = `${assetType}-${uniqueId}${fileExtension}`;
const destinationPath = path.join(customGamesAssetsPath, fileName);
// Copy the file
await fs.promises.copyFile(sourcePath, destinationPath);
// Return the local URL format
return `local:${destinationPath}`;
};

View File

@@ -0,0 +1,23 @@
import fs from "node:fs";
import { registerEvent } from "../register-event";
import { logger } from "@main/services";
const deleteArchive = async (
_event: Electron.IpcMainInvokeEvent,
filePath: string
) => {
try {
if (fs.existsSync(filePath)) {
await fs.promises.unlink(filePath);
logger.info(`Deleted archive: ${filePath}`);
return true;
}
return true;
} catch (err) {
logger.error(`Failed to delete archive: ${filePath}`, err);
return false;
}
};
registerEvent("deleteArchive", deleteArchive);

View File

@@ -22,6 +22,7 @@ const extractGameDownload = async (
await downloadsSublevel.put(gameKey, {
...download,
extracting: true,
extractionProgress: 0,
});
const gameFilesManager = new GameFilesManager(shop, objectId);

View File

@@ -2,6 +2,7 @@ import type { LibraryGame } from "@types";
import { registerEvent } from "../register-event";
import {
downloadsSublevel,
gameAchievementsSublevel,
gamesShopAssetsSublevel,
gamesSublevel,
} from "@main/level";
@@ -18,15 +19,28 @@ const getLibrary = async (): Promise<LibraryGame[]> => {
const download = await downloadsSublevel.get(key);
const gameAssets = await gamesShopAssetsSublevel.get(key);
let unlockedAchievementCount = game.unlockedAchievementCount ?? 0;
if (!game.unlockedAchievementCount) {
const achievements = await gameAchievementsSublevel.get(key);
unlockedAchievementCount =
achievements?.unlockedAchievements.length ?? 0;
}
return {
id: key,
...game,
download: download ?? null,
unlockedAchievementCount,
achievementCount: game.achievementCount ?? 0,
// Spread gameAssets last to ensure all image URLs are properly set
...gameAssets,
// Ensure compatibility with LibraryGame type
libraryHeroImageUrl:
game.libraryHeroImageUrl ?? gameAssets?.libraryHeroImageUrl,
} as LibraryGame;
// Preserve custom image URLs from game if they exist
customIconUrl: game.customIconUrl,
customLogoImageUrl: game.customLogoImageUrl,
customHeroImageUrl: game.customHeroImageUrl,
};
})
);
});

View File

@@ -0,0 +1,33 @@
import "./add-custom-game-to-library";
import "./add-game-to-favorites";
import "./add-game-to-library";
import "./change-game-playtime";
import "./cleanup-unused-assets";
import "./clear-new-download-options";
import "./close-game";
import "./copy-custom-game-asset";
import "./create-game-shortcut";
import "./create-steam-shortcut";
import "./delete-archive";
import "./delete-game-folder";
import "./extract-game-download";
import "./get-default-wine-prefix-selection-path";
import "./get-game-by-object-id";
import "./get-library";
import "./open-game-executable-path";
import "./open-game-installer-path";
import "./open-game-installer";
import "./open-game";
import "./refresh-library-assets";
import "./remove-game-from-favorites";
import "./remove-game-from-library";
import "./remove-game";
import "./reset-game-achievements";
import "./select-game-wine-prefix";
import "./toggle-automatic-cloud-sync";
import "./toggle-game-pin";
import "./update-custom-game";
import "./update-executable-path";
import "./update-game-custom-assets";
import "./update-launch-options";
import "./verify-executable-path";

View File

@@ -0,0 +1,8 @@
import { registerEvent } from "../register-event";
import { mergeWithRemoteGames } from "@main/services";
const refreshLibraryAssets = async () => {
await mergeWithRemoteGames();
};
registerEvent("refreshLibraryAssets", refreshLibraryAssets);

View File

@@ -13,7 +13,11 @@ const removeGameFromFavorites = async (
const game = await gamesSublevel.get(gameKey);
if (!game) return;
HydraApi.put(`/profile/games/${shop}/${objectId}/unfavorite`).catch(() => {});
if (shop !== "custom") {
HydraApi.put(`/profile/games/${shop}/${objectId}/unfavorite`).catch(
() => {}
);
}
try {
await gamesSublevel.put(gameKey, {

View File

@@ -84,7 +84,7 @@ const removeGameFromLibrary = async (
await resetShopAssets(gameKey);
}
if (game?.remoteId) {
if (game.remoteId) {
HydraApi.delete(`/profile/games/${game.remoteId}`).catch(() => {});
}

View File

@@ -0,0 +1,13 @@
import { registerEvent } from "../register-event";
import { DECKY_PLUGINS_LOCATION } from "@main/constants";
import fs from "node:fs";
import path from "node:path";
const checkHomebrewFolderExists = async (
_event: Electron.IpcMainInvokeEvent
): Promise<boolean> => {
const homebrewPath = path.dirname(DECKY_PLUGINS_LOCATION);
return fs.existsSync(homebrewPath);
};
registerEvent("checkHomebrewFolderExists", checkHomebrewFolderExists);

View File

@@ -1,22 +0,0 @@
import { Badge } from "@types";
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
import { db, levelKeys } from "@main/level";
const getBadges = async (_event: Electron.IpcMainInvokeEvent) => {
const language = await db
.get<string, string>(levelKeys.language, {
valueEncoding: "utf8",
})
.then((language) => language || "en");
const params = new URLSearchParams({
locale: language,
});
return HydraApi.get<Badge[]>(`/badges?${params.toString()}`, null, {
needsAuth: false,
});
};
registerEvent("getBadges", getBadges);

View File

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

View File

@@ -0,0 +1,94 @@
import { registerEvent } from "../register-event";
import { logger, HydraApi } from "@main/services";
import { HYDRA_DECKY_PLUGIN_LOCATION } from "@main/constants";
import fs from "node:fs";
import path from "node:path";
interface DeckyReleaseInfo {
version: string;
downloadUrl: string;
}
const getHydraDeckyPluginInfo = async (
_event: Electron.IpcMainInvokeEvent
): Promise<{
installed: boolean;
version: string | null;
path: string;
outdated: boolean;
expectedVersion: string | null;
}> => {
try {
// Fetch the expected version from API
let expectedVersion: string | null = null;
try {
const releaseInfo = await HydraApi.get<DeckyReleaseInfo>(
"/decky/release",
{},
{ needsAuth: false }
);
expectedVersion = releaseInfo.version;
} catch (error) {
logger.error("Failed to fetch Decky release info:", error);
}
// Check if plugin folder exists
if (!fs.existsSync(HYDRA_DECKY_PLUGIN_LOCATION)) {
logger.log("Hydra Decky plugin not installed");
return {
installed: false,
version: null,
path: HYDRA_DECKY_PLUGIN_LOCATION,
outdated: true,
expectedVersion,
};
}
// Check if package.json exists
const packageJsonPath = path.join(
HYDRA_DECKY_PLUGIN_LOCATION,
"package.json"
);
if (!fs.existsSync(packageJsonPath)) {
logger.log("Hydra Decky plugin package.json not found");
return {
installed: false,
version: null,
path: HYDRA_DECKY_PLUGIN_LOCATION,
outdated: true,
expectedVersion,
};
}
// Read and parse package.json
const packageJsonContent = fs.readFileSync(packageJsonPath, "utf-8");
const packageJson = JSON.parse(packageJsonContent);
const version = packageJson.version;
const outdated = expectedVersion ? version !== expectedVersion : false;
logger.log(
`Hydra Decky plugin installed, version: ${version}, expected: ${expectedVersion}, outdated: ${outdated}`
);
return {
installed: true,
version,
path: HYDRA_DECKY_PLUGIN_LOCATION,
outdated,
expectedVersion,
};
} catch (error) {
logger.error("Failed to get plugin info:", error);
return {
installed: false,
version: null,
path: HYDRA_DECKY_PLUGIN_LOCATION,
outdated: true,
expectedVersion: null,
};
}
};
registerEvent("getHydraDeckyPluginInfo", getHydraDeckyPluginInfo);

View File

@@ -0,0 +1,38 @@
import { registerEvent } from "../register-event";
import { HydraApi } from "@main/services";
interface HydraApiCallPayload {
method: "get" | "post" | "put" | "patch" | "delete";
url: string;
data?: unknown;
params?: unknown;
options?: {
needsAuth?: boolean;
needsSubscription?: boolean;
ifModifiedSince?: Date;
};
}
const hydraApiCall = async (
_event: Electron.IpcMainInvokeEvent,
payload: HydraApiCallPayload
) => {
const { method, url, data, params, options } = payload;
switch (method) {
case "get":
return HydraApi.get(url, params, options);
case "post":
return HydraApi.post(url, data, options);
case "put":
return HydraApi.put(url, data, options);
case "patch":
return HydraApi.patch(url, data, options);
case "delete":
return HydraApi.delete(url, options);
default:
throw new Error(`Unsupported HTTP method: ${method}`);
}
};
registerEvent("hydraApiCall", hydraApiCall);

View File

@@ -0,0 +1,12 @@
import "./can-install-common-redist";
import "./check-homebrew-folder-exists";
import "./delete-temp-file";
import "./get-hydra-decky-plugin-info";
import "./hydra-api-call";
import "./install-common-redist";
import "./install-hydra-decky-plugin";
import "./open-checkout";
import "./open-external";
import "./save-temp-file";
import "./show-item-in-folder";
import "./show-open-dialog";

View File

@@ -0,0 +1,50 @@
import { registerEvent } from "../register-event";
import { logger, DeckyPlugin } from "@main/services";
import { HYDRA_DECKY_PLUGIN_LOCATION } from "@main/constants";
const installHydraDeckyPlugin = async (
_event: Electron.IpcMainInvokeEvent
): Promise<{
success: boolean;
path: string;
currentVersion: string | null;
expectedVersion: string;
error?: string;
}> => {
try {
logger.log("Installing/updating Hydra Decky plugin...");
const result = await DeckyPlugin.checkPluginVersion();
if (result.exists && !result.outdated) {
logger.log("Plugin installed successfully");
return {
success: true,
path: HYDRA_DECKY_PLUGIN_LOCATION,
currentVersion: result.currentVersion,
expectedVersion: result.expectedVersion,
};
} else {
logger.error("Failed to install plugin");
return {
success: false,
path: HYDRA_DECKY_PLUGIN_LOCATION,
currentVersion: result.currentVersion,
expectedVersion: result.expectedVersion,
error: "Plugin installation failed",
};
}
} catch (error) {
const errorMessage = error instanceof Error ? error.message : String(error);
logger.error("Failed to install plugin:", error);
return {
success: false,
path: HYDRA_DECKY_PLUGIN_LOCATION,
currentVersion: null,
expectedVersion: "unknown",
error: errorMessage,
};
}
};
registerEvent("installHydraDeckyPlugin", installHydraDeckyPlugin);

View File

@@ -0,0 +1,8 @@
import { registerEvent } from "../register-event";
import { LocalNotificationManager } from "@main/services";
const clearAllLocalNotifications = async () => {
await LocalNotificationManager.clearAll();
};
registerEvent("clearAllLocalNotifications", clearAllLocalNotifications);

View File

@@ -0,0 +1,11 @@
import { registerEvent } from "../register-event";
import { LocalNotificationManager } from "@main/services";
const deleteLocalNotification = async (
_event: Electron.IpcMainInvokeEvent,
id: string
) => {
await LocalNotificationManager.deleteNotification(id);
};
registerEvent("deleteLocalNotification", deleteLocalNotification);

View File

@@ -0,0 +1,8 @@
import { registerEvent } from "../register-event";
import { LocalNotificationManager } from "@main/services";
const getLocalNotificationsCount = async () => {
return LocalNotificationManager.getUnreadCount();
};
registerEvent("getLocalNotificationsCount", getLocalNotificationsCount);

View File

@@ -0,0 +1,8 @@
import { registerEvent } from "../register-event";
import { LocalNotificationManager } from "@main/services";
const getLocalNotifications = async () => {
return LocalNotificationManager.getNotifications();
};
registerEvent("getLocalNotifications", getLocalNotifications);

View File

@@ -0,0 +1,9 @@
import "./publish-new-repacks-notification";
import "./show-achievement-test-notification";
import "./update-achievement-notification-window";
import "./get-local-notifications";
import "./get-local-notifications-count";
import "./mark-local-notification-read";
import "./mark-all-local-notifications-read";
import "./delete-local-notification";
import "./clear-all-local-notifications";

View File

@@ -0,0 +1,8 @@
import { registerEvent } from "../register-event";
import { LocalNotificationManager } from "@main/services";
const markAllLocalNotificationsRead = async () => {
await LocalNotificationManager.markAllAsRead();
};
registerEvent("markAllLocalNotificationsRead", markAllLocalNotificationsRead);

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