Merge branch 'main' into main

This commit is contained in:
Zamitto 2024-05-13 18:20:39 -03:00 committed by GitHub
commit e421aa0c5a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 440 additions and 74 deletions

View File

@ -19,5 +19,11 @@ module.exports = {
},
],
"@typescript-eslint/no-explicit-any": "warn",
"prettier/prettier": [
"error",
{
endOfLine: "auto",
},
],
},
};

View File

@ -1 +0,0 @@
npx --no -- commitlint --edit $1

181
README.be.md Normal file
View File

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

View File

@ -17,6 +17,7 @@
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
![Hydra Catalogue](./docs/screenshot.png)

View File

@ -17,6 +17,8 @@
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
![Hydra Catalogue](./docs/screenshot.png)

View File

@ -17,6 +17,7 @@
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
![Hydra Catalogue](./docs/screenshot.png)

View File

@ -17,6 +17,7 @@
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md)
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md)
![Hydra Catalogue](./docs/screenshot.png)

View File

@ -3,18 +3,18 @@
"featured": "Рэкамэндаванае",
"recently_added": "Нядаўна дададзенае",
"trending": "Актуальнае",
"surprise_me": "Зьдзіві мяне",
"surprise_me": "Здзіві мяне",
"no_results": "Няма вынікаў"
},
"sidebar": {
"catalogue": "Каталёг",
"downloads": "Сьцягваньні",
"catalogue": "Каталог",
"downloads": "Сцягванні",
"settings": "Налады",
"my_library": "Мая бібліятэка",
"downloading_metadata": "{{title}} (Сьцягваньне мэтаданых…)",
"downloading_metadata": "{{title}} (Сцягванне мэтаданых…)",
"checking_files": "{{title}} ({{percentage}} - Праверка файлаў…)",
"paused": "{{title}} (Спынена)",
"downloading": "{{title}} ({{percentage}} - Сьцягваньне…)",
"downloading": "{{title}} ({{percentage}} - Сцягванне…)",
"filter": "Фільтар бібліятэкі",
"follow_us": "Падпісвайцеся на нас",
"home": "Галоўная",
@ -26,26 +26,26 @@
"header": {
"search": "Пошук",
"home": "Галоўная",
"catalogue": "Каталёг",
"downloads": "Сьцягваньні",
"catalogue": "Каталог",
"downloads": "Сцягванні",
"search_results": "Вынікі пошуку",
"settings": "Налады"
},
"bottom_panel": {
"no_downloads_in_progress": "Няма актыўных сьцягваньняў",
"downloading_metadata": "Сьцягваньне мэтаданых {{title}}…",
"no_downloads_in_progress": "Няма актыўных сцягванняў",
"downloading_metadata": "Сцягванне мэтаданых {{title}}…",
"checking_files": "Праверка файлаў {{title}}… ({{percentage}} скончана)",
"downloading": "Сьцягваньне {{title}}… ({{percentage}} скончана) - Заканчэньне {{eta}} - {{speed}}"
"downloading": "Сцягванне {{title}}… ({{percentage}} скончана) - Канчатак {{eta}} - {{speed}}"
},
"catalogue": {
"next_page": "Наступная старонка",
"previous_page": "Папярэдняя старонка"
},
"game_details": {
"open_download_options": "Адкрыць варыянты сьцягваньня",
"download_options_zero": "Няма варыянтаў сьцягваньня",
"download_options_one": "{{count}} варыянт сьцягваньня",
"download_options_other": "{{count}} варыянтаў сьцягваньня",
"open_download_options": "Адкрыць варыянты сцягвання",
"download_options_zero": "Няма варыянтаў сцягвання",
"download_options_one": "{{count}} варыянт сцягвання",
"download_options_other": "{{count}} варыянтаў сцягвання",
"updated_at": "Абноўлена {{updated_at}}",
"install": "Усталяваць",
"resume": "Працягнуць",
@ -54,45 +54,45 @@
"remove": "Выдаліць",
"remove_from_list": "Выдаліць",
"space_left_on_disk": "{{space}} засталося на дыску",
"eta": "Заканчэньне {{eta}}",
"downloading_metadata": "Сьцягваньне мэтаданых…",
"eta": "Канчатак {{eta}}",
"downloading_metadata": "Сцягванне мэтаданых…",
"checking_files": "Праверка файлаў…",
"filter": "Фільтар рэпакаў",
"requirements": "Сыстэмныя патрабаваньні",
"requirements": "Сістэмныя патрэбаванни",
"minimum": "Мінімальныя",
"recommended": "Рэкамэндуемыя",
"no_minimum_requirements": "{{title}} ня ўтрымлівае інфармацыі пра мінімальныя патрабаваньні",
"no_recommended_requirements": "{{title}} ня ўтрымлівае інфармацыі пра рэкамэндуемыя патрабаваньні",
"recommended": "Рэкамендуемыя",
"no_minimum_requirements": "{{title}} ня ўтрымлівае інфармацыі пра мінімальныя патрабаванні",
"no_recommended_requirements": "{{title}} ня ўтрымлівае інфармацыі пра рэкамендуемыя патрабаванні",
"paused_progress": "{{progress}} (Спынена)",
"release_date": "Выпушчана {{date}}",
"publisher": "Выдана {{publisher}}",
"copy_link_to_clipboard": "Скапіяваць спасылку",
"copied_link_to_clipboard": "Спасылка скапіявана",
"hours": "гадзінаў",
"minutes": "хвілінаў",
"amount_hours": "{{amount}} гадзінаў",
"amount_minutes": "{{amount}} хвілінаў",
"accuracy": "{{accuracy}}% дакладнасьць",
"hours": "гадзін",
"minutes": "хвілін",
"amount_hours": "{{amount}} гадзін",
"amount_minutes": "{{amount}} хвілін",
"accuracy": "{{accuracy}}% дакладнасць",
"add_to_library": "Дадаць да бібліятэкі",
"remove_from_library": "Выдаліць зь бібліятэкі",
"no_downloads": "Няма даступных сьцягваньняў",
"remove_from_library": "Выдаліць з бібліятэкі",
"no_downloads": "Няма даступных сцягванняў",
"play_time": "Гулялі {{amount}}",
"last_time_played": "Апошні раз гулялі {{period}}",
"not_played_yet": "Вы яшчэ не гулялі ў {{title}}",
"next_suggestion": "Наступная прапанова",
"play": "Гуляць",
"deleting": "Выдаленьне ўсталёўшчыка…",
"deleting": "Выдаленне ўсталёўшчыка…",
"close": "Закрыць",
"playing_now": "Зараз гуляе",
"change": "Зьмяніць",
"repacks_modal_description": "Абярыце рэпак, які хочаце сьцягнуць",
"downloads_path": "Шлях сьцягваньня",
"select_folder_hint": "Каб зьмяніць папку па змоўчаньні, адкрыйце",
"download_now": "Сьцягнуць зараз",
"change": "Змяніць",
"repacks_modal_description": "Абярыце рэпак, які хочаце сцягнуць",
"downloads_path": "Шлях сцягвання",
"select_folder_hint": "Каб змяніць папку па змоўчанні, адкрыйце",
"download_now": "Сцягнуць зараз",
"installation_instructions": "Інструкцыя ўсталёўкі",
"installation_instructions_description": "Усталёўка гэтай гульні патрабуе дадатковых крокаў",
"online_fix_instruction": "Гульні з OnlineFix патрабуюць пароль для выманьня. Калі неабходна, выкарыстоўвайце наступны пароль:",
"dodi_installation_instruction": "Калі вы адкрыеце ўсталёўшчык DODI, націсьніце на клявіятуры клявішу 'уверх' <0 />, каб пачаць працэс усталёўкі:",
"online_fix_instruction": "Гульні з OnlineFix патрабуюць пароль для вымання. Калі неабходна, выкарыстоўвайце наступны пароль:",
"dodi_installation_instruction": "Калі вы адкрыеце ўсталёўшчык DODI, націсніце на клявіятуры клявішу 'уверх' <0 />, каб пачаць працэс усталёўкі:",
"dont_show_it_again": "Не паказваць зноў",
"copy_to_clipboard": "Капіяваць",
"copied_to_clipboard": "Скапіявана",
@ -102,27 +102,27 @@
"title": "Актываваць Hydra",
"installation_id": "ID усталёўкі:",
"enter_activation_code": "Увядзіце ваш код актывацыі",
"message": "Калі вы ня ведаеце, дзе яго атрымаць, то ня мусіце мець гэта.",
"message": "Калі вы ня ведаеце, дзе яго атрымаць, то не мусіць гэтага рабіць.",
"activate": "Актываваць",
"loading": "Загрузка…"
},
"downloads": {
"resume": "Працягнуць",
"pause": "Спыніць",
"eta": "Заканчэньне {{eta}}",
"eta": "Канчатак {{eta}}",
"paused": "Спынена",
"verifying": "Праверка…",
"completed_at": "Скончана а {{date}}",
"completed": "Скончана",
"cancelled": "Скасавана",
"download_again": "Сьцягнуць зноў",
"download_again": "Сцягнуць зноў",
"cancel": "Скасаваць",
"filter": "Фільтар сьцягнутых гульняў",
"filter": "Фільтар сцягнутых гульняў",
"remove": "Выдаліць",
"downloading_metadata": "Сьцягваньне мэтаданых…",
"downloading_metadata": "Сцягванне мэтаданых…",
"checking_files": "Праверка файлаў…",
"starting_download": "Пачатак сьцягваньня…",
"deleting": "Выдаленьне ўсталёўшчыка…",
"starting_download": "Пачатак сцягвання…",
"deleting": "Выдаленне ўсталёўшчыка…",
"delete": "Выдаліць усталёўшчык",
"remove_from_list": "Выдаліць",
"delete_modal_title": "Вы ўпэўнены?",
@ -130,21 +130,21 @@
"install": "Усталяваць"
},
"settings": {
"downloads_path": "Шлях сьцягваньня",
"change": "Зьмяніць шлях",
"notifications": "Апавяшчэньні",
"enable_download_notifications": "Па сканчэньні сьцягваньні",
"enable_repack_list_notifications": "Пры даданьні новага рэпака",
"telemetry": "Тэлемэтрыя",
"telemetry_description": "Уключыць ананімную статыстыку выкарыстаньня",
"downloads_path": "Шлях сцягвання",
"change": "Змяніць шлях",
"notifications": "Апавяшчэнні",
"enable_download_notifications": "Па сканчэнні сцягванні",
"enable_repack_list_notifications": "Пры даданні новага рэпака",
"telemetry": "Тэлеметрыя",
"telemetry_description": "Уключыць ананімную статыстыку выкарыстання",
"behavior": "Паводзіны",
"quit_app_instead_hiding": "Закрываць праграму замест таго, каб хаваць яе ў трэй",
"launch_with_system": "Запускаць праграму пры запуску сыстэмы"
},
"notifications": {
"download_complete": "Сьцягваньне скончана",
"download_complete": "Сцягванне скончана",
"game_ready_to_install": "{{title}} гатова да ўсталёўкі",
"repack_list_updated": "Сьпіс рэпакаў абноўлены",
"repack_list_updated": "Спіс рэпакаў абноўлены",
"repack_count_one": "{{count}} рэпак дададзены",
"repack_count_other": "{{count}} рэпакаў дададзена"
},
@ -153,14 +153,14 @@
"quit": "Выйсьці"
},
"game_card": {
"no_downloads": "Няма даступных сьцягваньняў"
"no_downloads": "Няма даступных сцягванняў"
},
"binary_not_found_modal": {
"title": "Праграмы не ўсталяваныя",
"description": "Выканальныя файлы Wine ці Lutris ня знойдзеныя ў вашай сістэме",
"instructions": "Даведайцеся, як правільна ўсталяваць любы зь іх на вашым дыстрыбутыве Linux, каб гульня магла працаваць нармальна"
"instructions": "Даведайцеся, як правільна ўсталяваць любы з іх на вашым дыстрыбутыве Linux, каб гульня магла працаваць нармальна"
},
"modal": {
"close": "Кнопка закрыцьця"
"close": "Кнопка закрыцця"
}
}

View File

@ -12,5 +12,6 @@ export { default as be } from "./be/translation.json";
export { default as uk } from "./uk/translation.json";
export { default as zh } from "./zh/translation.json";
export { default as id } from "./id/translation.json";
export { default as ko } from "./ko/translation.json";
export { default as da } from "./da/translation.json";
export { default as fa } from "./fa/translation.json";

View File

@ -0,0 +1,174 @@
{
"home": {
"featured": "추천",
"recently_added": "최근 추가됨",
"trending": "인기",
"surprise_me": "무작위 추천",
"no_results": "결과 없음"
},
"sidebar": {
"catalogue": "카탈로그",
"downloads": "다운로드",
"settings": "설정",
"my_library": "내 라이브러리",
"downloading_metadata": "{{title}} (메타데이터 다운로드 중…)",
"checking_files": "{{title}} ({{percentage}} - 파일 검사 중…)",
"paused": "{{title}} (일시 정지됨)",
"downloading": "{{title}} ({{percentage}} - 다운로드 중…)",
"filter": "필터 라이브러리",
"follow_us": "공식 SNS",
"home": "홈",
"discord": "공식 디스코드",
"telegram": "공식 텔레그램",
"x": "공식 X (구 트위터)",
"github": "GitHub에서 기여하기"
},
"header": {
"search": "게임 검색하기",
"home": "홈",
"catalogue": "카탈로그",
"downloads": "다운로드",
"search_results": "검색 결과",
"settings": "설정"
},
"bottom_panel": {
"no_downloads_in_progress": "진행중인 다운로드 없음",
"downloading_metadata": "{{title}}의 메타데이터를 다운로드 중…",
"checking_files": "{{title}}의 파일들을 검사 중… ({{percentage}} 완료)",
"downloading": "{{title}}의 파일들을 다운로드 중… ({{percentage}} 완료) - 완료까지 {{eta}} - {{speed}}"
},
"catalogue": {
"next_page": "다음 페이지",
"previous_page": "이전 페이지"
},
"game_details": {
"open_download_options": "다운로드 선택지 열기",
"download_options_zero": "다운로드 선택지 없음",
"download_options_one": "{{count}}개의 다운로드 선택지가 존재함",
"download_options_other": "{{count}}개의 다운로드 선택지들이 존재함",
"updated_at": "{{updated_at}}에 업데이트 됨",
"install": "설치",
"resume": "재개",
"pause": "일시 정지",
"cancel": "취소",
"remove": "제거",
"remove_from_list": "목록에서 제거",
"space_left_on_disk": "여유 저장 용량 {{space}} 남음",
"eta": "왼료까지 {{eta}}",
"downloading_metadata": "메타데이터 다운로드 중…",
"checking_files": "파일 검사 중…",
"filter": "리팩들을 다음과 같이 걸러내기",
"requirements": "시스템 사양",
"minimum": "최저 사양",
"recommended": "권장 사양",
"no_minimum_requirements": "{{title}}의 최저 사양을 제공받지 못 함",
"no_recommended_requirements": "{{title}}의 권장 사양을 제공받지 못 함",
"paused_progress": "{{progress}} (일시 정지)",
"release_date": "{{date}}에 발매됨",
"publisher": "{{publisher}} 배급",
"copy_link_to_clipboard": "링크 복사하기",
"copied_link_to_clipboard": "링크 복사됨",
"hours": "시",
"minutes": "분",
"amount_hours": "{{amount}} 시간",
"amount_minutes": "{{amount}} 분",
"accuracy": "정확도 {{accuracy}}%",
"add_to_library": "라이브러리에 추가",
"remove_from_library": "라이브러리에서 제거",
"no_downloads": "가능한 다운로드 없음",
"play_time": "{{amount}}동안 플레이 함",
"last_time_played": "마지막 플레이 날짜 {{period}}",
"not_played_yet": "{{title}}의 플레이 기록 아직 없음",
"next_suggestion": "다음 추천",
"play": "실행",
"deleting": "인스톨러 삭제 중…",
"close": "닫기",
"playing_now": "현재 플레이 중",
"change": "바꾸기",
"repacks_modal_description": "다운로드 할 리팩을 선택해 주세요",
"downloads_path": "다운로드 경로",
"select_folder_hint": "기본 폴더를 바꾸려면 <0>설정</0>으로 가세요",
"download_now": "지금 다운로드",
"installation_instructions": "설치 방법",
"installation_instructions_description": "이 게임을 설치하기 위해서는 추가적인 단계가 필요합니다",
"online_fix_instruction": "OnlineFix 게임들은 추출 시 암호가 필요합니다. 비밀번호를 물을 때 다음을 암호로 사용하기:",
"dodi_installation_instruction": "DODI 인스톨러를 열었다면 키보드의 위 방향키를 눌러 설치를 시작하세요:",
"dont_show_it_again": "다시 보지 않기",
"copy_to_clipboard": "복사하기",
"copied_to_clipboard": "복사됨",
"got_it": "알았습니다"
},
"activation": {
"title": "Hydra 실행",
"installation_id": "설치 ID:",
"enter_activation_code": "활성 코드를 입력하세요",
"message": "이것을 어디에서 구해야 할 지 모르겠다면 애초에 갖고 있으면 안 됩니다.",
"activate": "활성화",
"loading": "불러오는중..."
},
"downloads": {
"resume": "재개",
"pause": "일시 정지",
"eta": "완료까지 {{eta}}",
"paused": "일시 정지됨",
"verifying": "검증중…",
"completed_at": "{{date}}에 완료됨",
"completed": "완료됨",
"cancelled": "취소됨",
"download_again": "다시 다운로드 하기",
"cancel": "취소",
"filter": "다운로드 된 게임들을 정렬하기",
"remove": "제거하기",
"downloading_metadata": "메타데이터 다운로드 중…",
"checking_files": "파일 검사 중…",
"starting_download": "다운로드 개시 중…",
"deleting": "인스톨러 삭제 중…",
"delete": "인스톨러 삭제하기",
"remove_from_list": "제거하기",
"delete_modal_title": "정말로 하시겠습니까?",
"delete_modal_description": "이 기기의 모든 설치 파일들이 제거될 것입니다",
"install": "설치",
"real_debrid": "Real Debrid",
"torrent": "Torrent"
},
"settings": {
"downloads_path": "다운로드 경로",
"change": "업데이트",
"notifications": "알림",
"enable_download_notifications": "다운로드가 완료되었을 때",
"enable_repack_list_notifications": "새 리팩이 추가되었을 때",
"telemetry": "자동 데이터 수집",
"telemetry_description": "익명 사용 통계를 활성화",
"real_debrid_api_token_description": "Real Debrid API 토큰",
"quit_app_instead_hiding": "작업 표시줄 트레이로 최소화하는 대신 Hydra를 종료",
"launch_with_system": "컴퓨터가 시작되었을 때 Hydra 실행",
"general": "일반",
"behavior": "행동",
"enable_real_debrid": "Real Debrid 활성화",
"real_debrid": "Real Debrid",
"real_debrid_api_token_hint": "API 키를 <0>이곳</0>에서 얻으세요.",
"save_changes": "변경 사항 저장"
},
"notifications": {
"download_complete": "다운로드 완료",
"game_ready_to_install": "이제 {{title}} 설치할 수 있습니다",
"repack_list_updated": "리팩 목록 갱신됨",
"repack_count_one": "{{count}}개의 리팩이 추가됨",
"repack_count_other": "{{count}}개의 리팩들이 추가됨"
},
"system_tray": {
"open": "Hydra 열기",
"quit": "닫기"
},
"game_card": {
"no_downloads": "가능한 다운로드 없음"
},
"binary_not_found_modal": {
"title": "프로그램이 설치되지 않음",
"description": "Wine 또는 Lutris 실행 파일이 시스템에서 발견되지 않았습니다",
"instructions": "게임이 정상적으로 실행될 수 있게 당신의 리눅스 배포판에 Wine 또는 Lutris를 올바르게 설치해 주세요"
},
"modal": {
"close": "닫기 버튼"
}
}

View File

@ -124,21 +124,20 @@ export class TorrentDownloader extends Downloader {
stdio: "inherit",
windowsHide: true,
});
return;
} else {
const scriptPath = path.join(
__dirname,
"..",
"..",
"torrent-client",
"main.py"
);
cp.spawn("python3", [scriptPath, ...commonArgs], {
stdio: "inherit",
});
}
const scriptPath = path.join(
__dirname,
"..",
"..",
"torrent-client",
"main.py"
);
cp.spawn("python3", [scriptPath, ...commonArgs], {
stdio: "inherit",
});
Promise.all([writePipe.createPipe(), readPipe.createPipe()]).then(
async () => {
this.attachListener();

View File

@ -29,7 +29,7 @@ export const getSteamGridData = async (
const searchParams = new URLSearchParams(params);
if (!import.meta.env.MAIN_VITE_STEAMGRIDDB_API_KEY) {
throw new Error("STEAMGRIDDB_API_KEY is not set");
throw new Error("MAIN_VITE_STEAMGRIDDB_API_KEY is not set");
}
const response = await axios.get(

View File

@ -45,6 +45,11 @@ export function SettingsGeneral({
const { t } = useTranslation("settings");
const handleChange = (values: Partial<typeof form>) => {
setForm((prev) => ({ ...prev, ...values }));
updateUserPreferences(values);
};
const handleChooseDownloadsPath = async () => {
const { filePaths } = await window.electron.showOpenDialog({
defaultPath: form.downloadsPath,
@ -53,15 +58,11 @@ export function SettingsGeneral({
if (filePaths && filePaths.length > 0) {
const path = filePaths[0];
handleChange({ downloadsPath: path });
updateUserPreferences({ downloadsPath: path });
}
};
const handleChange = (values: Partial<typeof form>) => {
setForm((prev) => ({ ...prev, ...values }));
updateUserPreferences(values);
};
return (
<>
<div className={styles.downloadsPathField}>