mirror of
https://github.com/hydralauncher/hydra.git
synced 2025-01-23 13:34:54 +03:00
fix: fixing be translation
This commit is contained in:
commit
9e0b69d8aa
29
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
29
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve. Write in English, please
|
||||
title: "[BUG]"
|
||||
labels: bug
|
||||
assignees: ""
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Additional context**
|
||||
|
||||
- OS: [Windows 11/Linux Distro/Steam Deck]
|
||||
- Hydra Version:
|
||||
- Additional information and context of your problem:
|
19
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
19
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for Hydra. Write in English, please
|
||||
title: "[REQUEST]"
|
||||
labels: enhancement
|
||||
assignees: ""
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is.
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
14
.github/workflows/contributors.yml
vendored
14
.github/workflows/contributors.yml
vendored
@ -1,14 +0,0 @@
|
||||
name: Contributors
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: main
|
||||
|
||||
jobs:
|
||||
contributors:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: akhilmhdh/contributors-readme-action@v2.3.8
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
200
README.md
200
README.md
@ -1,38 +1,34 @@
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<a href="https://hydralauncher.site">
|
||||
<img src="./resources/icon.png" width="144"/>
|
||||
</a>
|
||||
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra is a game launcher with its own embedded bittorrent client and a self-managed repack scraper.</strong>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://discord.gg/hydralauncher">
|
||||
<img src ="https://img.shields.io/discord/1220692017311645737?style=flat&logo=discord&label=Hydra&labelColor=%231c1c1c"/>
|
||||
</a>
|
||||
<a href="https://github.com/hydralauncher/hydra">
|
||||
<img src="https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml" />
|
||||
</a>
|
||||
<a href="https://github.com/hydralauncher/hydra">
|
||||
<img src="https://img.shields.io/github/package-json/v/hydralauncher/hydra" />
|
||||
</a>
|
||||
</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)
|
||||
|
||||
![Hydra Catalogue](./docs/screenshot.png)
|
||||
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [About](#about)
|
||||
- [Features](#features)
|
||||
- [Installation](#installation)
|
||||
- [Contributing](#contributing)
|
||||
- [Join our Discord](#join-our-discord)
|
||||
- [Join our Telegram](#join-our-telegram)
|
||||
- [Fork and clone your repository](#fork-and-clone-your-repository)
|
||||
- [Ways you can contribute](#ways-you-can-contribute)
|
||||
- [Project Structure](#project-structure)
|
||||
@ -76,15 +72,11 @@ Follow the steps below to install:
|
||||
2. Run the downloaded file.
|
||||
3. Enjoy Hydra!
|
||||
|
||||
## Contributing
|
||||
## <a name="contributing"> Contributing
|
||||
|
||||
### Join our Discord
|
||||
### <a name="join-our-telegram"></a> Join our Telegram
|
||||
|
||||
We concentrate our discussions on our [Discord](https://discord.gg/hydralauncher) server.
|
||||
|
||||
1. Join our server
|
||||
2. Go to the roles channel and grab the Collaborator role
|
||||
3. Go to the dev channel, talk to us and share your ideas.
|
||||
We concentrate our discussions on our [Telegram](https://t.me/hydralauncher) channel.
|
||||
|
||||
### Fork and clone your repository
|
||||
|
||||
@ -97,7 +89,7 @@ We concentrate our discussions on our [Discord](https://discord.gg/hydralauncher
|
||||
### Ways you can contribute
|
||||
|
||||
- Translation: We want Hydra to be available to as many people as possible. Feel free to help translate to new languages or update and improve the ones that are already available on Hydra.
|
||||
- Code: Hydra is built with Typescript, Electron and a little bit of Python. If you want to contribute, join our Discord server!
|
||||
- Code: Hydra is built with Typescript, Electron and a little bit of Python. If you want to contribute, join our [Telegram](https://t.me/hydralauncher)!
|
||||
|
||||
### Project Structure
|
||||
|
||||
@ -179,161 +171,9 @@ yarn build:linux
|
||||
|
||||
## Contributors
|
||||
|
||||
<!-- readme: contributors -start -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/hydralauncher">
|
||||
<img src="https://avatars.githubusercontent.com/u/164102380?v=4" width="100;" alt="hydralauncher"/>
|
||||
<br />
|
||||
<sub><b>Hydra</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/zamitto">
|
||||
<img src="https://avatars.githubusercontent.com/u/167933696?v=4" width="100;" alt="zamitto"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/fzanutto">
|
||||
<img src="https://avatars.githubusercontent.com/u/15229294?v=4" width="100;" alt="fzanutto"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/lilezek">
|
||||
<img src="https://avatars.githubusercontent.com/u/2767229?v=4" width="100;" alt="lilezek"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/JackEnx">
|
||||
<img src="https://avatars.githubusercontent.com/u/167036558?v=4" width="100;" alt="JackEnx"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Magrid0">
|
||||
<img src="https://avatars.githubusercontent.com/u/73496008?v=4" width="100;" alt="Magrid0"/>
|
||||
<br />
|
||||
<sub><b>Magrid</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/fhilipecrash">
|
||||
<img src="https://avatars.githubusercontent.com/u/36455575?v=4" width="100;" alt="fhilipecrash"/>
|
||||
<br />
|
||||
<sub><b>Fhilipe Coelho</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/shadowtosser">
|
||||
<img src="https://avatars.githubusercontent.com/u/168544958?v=4" width="100;" alt="shadowtosser"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Mkdantas">
|
||||
<img src="https://avatars.githubusercontent.com/u/50972667?v=4" width="100;" alt="Mkdantas"/>
|
||||
<br />
|
||||
<sub><b>Matheus Dantas</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Hachi-R">
|
||||
<img src="https://avatars.githubusercontent.com/u/58823742?v=4" width="100;" alt="Hachi-R"/>
|
||||
<br />
|
||||
<sub><b>Hachi</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/pmenta">
|
||||
<img src="https://avatars.githubusercontent.com/u/71457671?v=4" width="100;" alt="pmenta"/>
|
||||
<br />
|
||||
<sub><b>João Martins</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/ferivoq">
|
||||
<img src="https://avatars.githubusercontent.com/u/36544651?v=4" width="100;" alt="ferivoq"/>
|
||||
<br />
|
||||
<sub><b>FeriVOQ</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/xbozo">
|
||||
<img src="https://avatars.githubusercontent.com/u/119091492?v=4" width="100;" alt="xbozo"/>
|
||||
<br />
|
||||
<sub><b>Guilherme Viana</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/eltociear">
|
||||
<img src="https://avatars.githubusercontent.com/u/22633385?v=4" width="100;" alt="eltociear"/>
|
||||
<br />
|
||||
<sub><b>Ikko Eltociear Ashimine</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Netflixyapp">
|
||||
<img src="https://avatars.githubusercontent.com/u/91623880?v=4" width="100;" alt="Netflixyapp"/>
|
||||
<br />
|
||||
<sub><b>Netflixy</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/vnumex">
|
||||
<img src="https://avatars.githubusercontent.com/u/10434535?v=4" width="100;" alt="vnumex"/>
|
||||
<br />
|
||||
<sub><b>Vnumex</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Tunchichi">
|
||||
<img src="https://avatars.githubusercontent.com/u/118926729?v=4" width="100;" alt="Tunchichi"/>
|
||||
<br />
|
||||
<sub><b>Ruslan</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/FerNikoMF">
|
||||
<img src="https://avatars.githubusercontent.com/u/76095334?v=4" width="100;" alt="FerNikoMF"/>
|
||||
<br />
|
||||
<sub><b>Firdavs</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/PCTroller">
|
||||
<img src="https://avatars.githubusercontent.com/u/146987801?v=4" width="100;" alt="PCTroller"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Chr1s0Blood">
|
||||
<img src="https://avatars.githubusercontent.com/u/166660500?v=4" width="100;" alt="Chr1s0Blood"/>
|
||||
<br />
|
||||
<sub><b>Cristian S.</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/userMacieG">
|
||||
<img src="https://avatars.githubusercontent.com/u/24211405?v=4" width="100;" alt="userMacieG"/>
|
||||
<br />
|
||||
<sub><b>Maciej Ratyński</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
</table>
|
||||
<!-- readme: contributors -end -->
|
||||
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
|
||||
</a>
|
||||
|
||||
## License
|
||||
|
||||
|
180
README.pt-BR.md
Normal file
180
README.pt-BR.md
Normal file
@ -0,0 +1,180 @@
|
||||
<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 é um Launcher de Jogos com seu próprio cliente de bittorrent integrado e um wrapper autogerenciado para busca de repacks.</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)
|
||||
|
||||
![Hydra Catalogue](./docs/screenshot.png)
|
||||
|
||||
</div>
|
||||
|
||||
## Índice
|
||||
|
||||
- [Sobre](#about)
|
||||
- [Recursos](#features)
|
||||
- [Instalação](#installation)
|
||||
- [Contribuindo](#contributing)
|
||||
- [Junte-se ao nosso Telegram](#join-our-telegram)
|
||||
- [Fork e clone seu repositorio](#fork-and-clone-your-repository)
|
||||
- [Como contribuir](#ways-you-can-contribute)
|
||||
- [Estrutura do projeto](#project-structure)
|
||||
- [Compile a partir do código-fonte](#build-from-source)
|
||||
- [Instale Node.js](#install-nodejs)
|
||||
- [Instale Yarn](#install-yarn)
|
||||
- [Instale Node Dependencies](#install-node-dependencies)
|
||||
- [Instale Python 3.9](#install-python-39)
|
||||
- [Instale Python Dependencies](#install-python-dependencies)
|
||||
- [variaveis de ambiente](#environment-variables)
|
||||
- [Rodando o programa](#running)
|
||||
- [Compilando](#build)
|
||||
- [Compile o client bittorrent](#build-the-bittorrent-client)
|
||||
- [Compile a aplicação Electron](#build-the-electron-application)
|
||||
- [Contribuidores](#contributors)
|
||||
|
||||
## <a name="about"> Sobre
|
||||
|
||||
**Hydra** é um **Launcher de Jogos** com seu próprio **Cliente BitTorrent incorporado** e um **raspador de repack auto-gerenciado**.
|
||||
<br>
|
||||
O launcher é escrito em TypeScript (Electron) e Python, que lida com o sistema de torrent usando libtorrent.
|
||||
|
||||
## <a name="features"> Recursos
|
||||
|
||||
- Wrapper de repacks auto-gerenciado entre todos os sites mais confiáveis no [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/")
|
||||
- Cliente BitTorrent incorporado próprio
|
||||
- Integração com [How Long To Beat (HLTB)](https://howlongtobeat.com/) na página do jogo
|
||||
- Personalização do caminho de downloads
|
||||
- Notificações de atualização da lista de repacks
|
||||
- Suporte para Windows e Linux
|
||||
- Constantemente atualizado
|
||||
- E mais ...
|
||||
|
||||
## <a name="installation"> Instalação
|
||||
|
||||
Siga os passos abaixo para instalar:
|
||||
|
||||
1. Baixe a versão mais recente do Hydra na página de [Releases](https://github.com/hydralauncher/hydra/releases/latest).
|
||||
- Baixe apenas o .exe se quiser instalar o Hydra no Windows.
|
||||
- Baixe .deb ou .rpm ou .zip se quiser instalar o Hydra no Linux. (depende da sua distribuição Linux)
|
||||
2. Execute o arquivo baixado.
|
||||
3. Aproveite o Hydra!
|
||||
|
||||
## <a name="contributing"> Contribuindo
|
||||
|
||||
### <a name="join-our-telegram"></a> Junte-se ao nosso Telegram
|
||||
|
||||
Concentramos nossas discussões no nosso canal do [Telegram](https://t.me/hydralauncher).
|
||||
|
||||
### <a name="fork-and-clone-your-repository"></a> Fork e clone o seu repositório
|
||||
|
||||
1. Faça um fork do repositório [(clique aqui para fazer o fork agora)](https://github.com/hydralauncher/hydra/fork)
|
||||
2. Clone o código do seu fork `git clone https://github.com/seu_nome_de_usuário/hydra`
|
||||
3. Crie uma nova branch
|
||||
4. Faça o push dos seus commits
|
||||
5. Envie um novo Pull Request
|
||||
|
||||
### <a name="ways-you-can-contribute"></a> Formas de contribuir
|
||||
|
||||
- **Tradução**: Queremos que o Hydra esteja disponível para o maior número possível de pessoas. Sinta-se à vontade para ajudar a traduzir para novos idiomas ou atualizar e melhorar aqueles que já estão disponíveis no Hydra.
|
||||
- **Código**: O Hydra é construído com Typescript, Electron e um pouco de Python. Se você deseja contribuir, junte-se ao nosso [Telegram](https://t.me/hydralauncher)!
|
||||
|
||||
### <a name="project-structure"></a> Estrutura do Projeto
|
||||
|
||||
- torrent-client: Utilizamos o libtorrent, uma biblioteca Python, para gerenciar downloads via torrent.
|
||||
- src/renderer: A interface de usuário (UI) da aplicação.
|
||||
- src/main: Toda a lógica da aplicação reside aqui.
|
||||
|
||||
## <a name="build-from-source"></a> Compile a partir do código-fonte
|
||||
|
||||
### <a name="install-nodejs"></a> Instale Node.js
|
||||
|
||||
Certifique-se de ter o Node.js instalado em sua máquina. Se não, faça o download e instale-o em [nodejs.org](https://nodejs.org/).
|
||||
|
||||
### <a name="install-yarn"></a> Instale Yarn
|
||||
|
||||
Yarn é um gerenciador de pacotes para Node.js. Se você ainda não o instalou, pode fazê-lo seguindo as instruções em [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
|
||||
|
||||
### <a name="install-node-dependencies"></a> Instale Dependencias do Node
|
||||
|
||||
Navegue até o diretório do projeto e instale as dependências do Node usando o Yarn:
|
||||
|
||||
```bash
|
||||
cd hydra
|
||||
yarn
|
||||
```
|
||||
|
||||
### <a name="install-python-39"></a> Instale Python 3.9
|
||||
|
||||
Certifique-se de ter o Python 3.9 instalado em sua máquina. Você pode baixá-lo e instalá-lo em [python.org](https://www.python.org/downloads/release/python-3919/).
|
||||
|
||||
### <a name="install-python-dependencies"></a> Instale Python Dependencies
|
||||
|
||||
Instale as dependências Python necessárias usando o pip:
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## <a name="environment-variables"></a> Environment variables
|
||||
|
||||
Você precisará de uma chave da API SteamGridDB para buscar os ícones do jogo durante a instalação.
|
||||
Se você deseja ter o onlinefix como um repacker, precisará adicionar suas credenciais ao arquivo .env.
|
||||
|
||||
Depois de obtê-lo, você pode copiar ou renomear o arquivo `.env.example` para `.env` e inserir `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME` e `ONLINEFIX_PASSWORD`.
|
||||
|
||||
## <a name="running"></a> Running
|
||||
|
||||
Uma vez que você tenha configurado tudo, você pode executar o seguinte comando para iniciar tanto o processo Electron quanto o cliente BitTorrent:
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
## <a name="build"></a> Build
|
||||
|
||||
### <a name="build-the-bittorrent-client"></a> Build the bittorrent client
|
||||
|
||||
Compile o cliente BitTorrent usando este comando
|
||||
|
||||
```bash
|
||||
python torrent-client/setup.py build
|
||||
```
|
||||
|
||||
### <a name="build-the-electron-application"></a> Build the Electron application
|
||||
|
||||
Compile a aplicação Electron usando este comando:
|
||||
|
||||
No Windows:
|
||||
|
||||
```bash
|
||||
yarn build:win
|
||||
```
|
||||
|
||||
No Linux:
|
||||
|
||||
```bash
|
||||
yarn build:linux
|
||||
```
|
||||
|
||||
## <a name="contributors"></a> Contributors
|
||||
|
||||
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
|
||||
</a>
|
||||
|
||||
## <a name="license"></a> Licença
|
||||
|
||||
O Hydra é licenciado sob a [Licença MIT](LICENSE).
|
298
README.ru.md
298
README.ru.md
@ -1,137 +1,126 @@
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<a href="https://hydralauncher.site">
|
||||
<img src="./resources/icon.png" width="144"/>
|
||||
</a>
|
||||
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra-это игровой лаунчер со своим собственным встроенным клиентом BitTorrent и самоуправляемым скребком репаков.</strong>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://discord.gg/hydralauncher">
|
||||
<img src ="https://img.shields.io/discord/1220692017311645737?style=flat&logo=discord&label=Hydra&labelColor=%231c1c1c"/>
|
||||
</a>
|
||||
<a href="https://github.com/hydralauncher/hydra">
|
||||
<img src="https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml" />
|
||||
</a>
|
||||
<a href="https://github.com/hydralauncher/hydra">
|
||||
<img src="https://img.shields.io/github/package-json/v/hydralauncher/hydra" />
|
||||
</a>
|
||||
<strong>Hydra - это игровой лаунчер с собственным встроенным клиентом BitTorrent и самостоятельным scraper`ом для репаков.</strong>
|
||||
</p>
|
||||
|
||||
![Hydra Catalogue](./docs/screenshot.png)
|
||||
[![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)
|
||||
|
||||
![Hydra Catalogue](./docs/screenshot.png)
|
||||
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
### Язык
|
||||
[![ru](https://img.shields.io/badge/lang-ru-red)](https://github.com/hydralauncher/hydra/blob/main/README.ru.md)
|
||||
|
||||
## Содержание
|
||||
|
||||
- [О нас](#о-нас)
|
||||
- [Функции](#функции)
|
||||
- [Описание](#описание)
|
||||
- [Особенности](#особенности)
|
||||
- [Установка](#установка)
|
||||
- [Сотрудничество](#сотрудничество)
|
||||
- [Присоединяйтесь к нашему Discord](#присоединяйтесь-к-нашему-discord)
|
||||
- [Ответвлить и клонировать свой репозиторий](#ответвлить-и-клонировать-свой-репозиторий)
|
||||
- [Вклад](#contributing)
|
||||
- [Присоединяйтесь к нашему Telegram](#join-our-telegram)
|
||||
- [Форк и клонирование репозитория](#форк-и-клонирование-репозитория)
|
||||
- [Способы внести свой вклад](#способы-внести-свой-вклад)
|
||||
- [Структура проекта](#структура-проекта)
|
||||
- [Создать из источника](#создать-из-источника)
|
||||
- [Установите Node.js](#установите-nodejs)
|
||||
- [Установите Yarn](#установите-yarn)
|
||||
- [Установите зависимости Node](#установите-зависимости-node)
|
||||
- [Установите Python 3.9](#установите-python-39)
|
||||
- [Установите зависимости Python](#установите-зависимости-python)
|
||||
- [Сборка из исходного кода](#сборка-из-исходного-кода)
|
||||
- [Установка Node.js](#установка-nodejs)
|
||||
- [Установка Yarn](#установка-yarn)
|
||||
- [Установка зависимостей Node](#установка-зависимостей-node)
|
||||
- [Установка Python 3.9](#установка-python-39)
|
||||
- [Установка зависимостей Python](#установка-зависимостей-python)
|
||||
- [Переменные среды](#переменные-среды)
|
||||
- [Запуск](#запуск)
|
||||
- [Создание](#создание)
|
||||
- [Создайте клиент BitTorrent](#создайте-клиент-bittorrent)
|
||||
- [Создайте приложение Electron](#создайте-приложение-electron)
|
||||
- [Сборка](#сборка)
|
||||
- [Сборка клиента BitTorrent](#сборка-клиента-bittorrent)
|
||||
- [Сборка приложения Electron](#сборка-приложения-electron)
|
||||
- [Участники](#участники)
|
||||
|
||||
## О нас
|
||||
## Описание
|
||||
|
||||
**Hydra**-это **Игровой Лаунчер** со своим собственным встроенным **BitTorrent Client** и **самоуправляемым скребком репаков**.
|
||||
**Hydra** - это **Игровой Лаунчер** с собственным встроенным **Клиентом BitTorrent** и **самостоятельным scraper`ом для репаков**.
|
||||
<br>
|
||||
Лаунчер написан на TypeScript (Electron) и Python, который обрабатывает систему торрента с использованием LibTorrent.
|
||||
Лаунчер написан на TypeScript (Electron) и Python, который управляет системой торрентов с помощью libtorrent.
|
||||
|
||||
## Функции
|
||||
## Особенности
|
||||
|
||||
- Самоуправляемый скребок репаков среди всех самых надежных веб-сайтов на [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/")
|
||||
- Собственный встроенный клиент BitTorrent
|
||||
- Как долго пробиться (HLTB) интеграция на странице игры
|
||||
- Загрузка настройки пути
|
||||
- Самостоятельный 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!
|
||||
1. Скачайте последнюю версию Hydra с [страницы релизов](https://github.com/hydralauncher/hydra/releases/latest).
|
||||
- Загрузите только .exe, если хотите установить Hydra на Windows.
|
||||
- Загрузите .deb или .rpm или .zip, если хотите установить Hydra на Linux (в зависимости от вашего дистрибутива Linux).
|
||||
2. Запустите скачанный файл.
|
||||
3. Наслаждайтесь Hydra!
|
||||
|
||||
## Сотрудничество
|
||||
## <a name="contributing"> Вклад
|
||||
|
||||
### Присоединяйтесь к нашему Discord
|
||||
### <a name="join-our-telegram"></a> Присоединяйтесь к нашему Telegram
|
||||
|
||||
Мы концентрируем наши обсуждения на нашем [Discord](https://discord.gg/hydralauncher) сервере.
|
||||
Мы сосредотачиваем наши обсуждения в нашем канале [Telegram](https://t.me/hydralauncher).
|
||||
|
||||
1. Присоединяйтесь к нашему серверу
|
||||
2. Перейдите на роли канала и возьмите роль сотрудничества
|
||||
3. Зайдите на канал Dev, поговорите с нами и поделитесь своими идеями.
|
||||
### Форк и клонирование репозитория
|
||||
|
||||
### Ответвлить и клонировать свой репозиторий
|
||||
|
||||
1. Ответвление репозитория [(Нажмите здесь, чтобы сейчас ответвлить)](https://github.com/hydralauncher/hydra/fork)
|
||||
2. Клонировать свой ответвленный код `git clone https://github.com/your_username/hydra`
|
||||
3. Создать новую ветку
|
||||
4. Подтолкнуть свои коммиты
|
||||
5. Отправить новый запрос на привлечение
|
||||
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.Если вы хотите внести свой вклад, присоединяйтесь к нашему серверу Discord!
|
||||
- Перевод: Мы хотим, чтобы Hydra была доступна как можно большему количеству людей. Не стесняйтесь помогать переводить на новые языки или обновлять и улучшать те, которые уже доступны в Hydra.
|
||||
- Код: Hydra создан с использованием TypeScript, Electron и немного Python. Если хотите внести свой вклад, присоединяйтесь к нашему серверу [Telegram](https://t.me/hydralauncher)!
|
||||
|
||||
### Структура проекта
|
||||
|
||||
- torrent-client: Мы используем LibTorrent, библиотеку Python, чтобы управлять загрузками торрента
|
||||
- src/renderer: пользовательский интерфейс приложения
|
||||
- src/main: Вся логика отдыхает здесь.
|
||||
- torrent-client: Мы используем libtorrent, библиотеку Python, для управления загрузками торрентов.
|
||||
- src/renderer: пользовательский интерфейс приложения.
|
||||
- src/main: весь основной функционал здесь.
|
||||
|
||||
## Создать из источника
|
||||
## Сборка из исходного кода
|
||||
|
||||
### Установите Node.js
|
||||
### Установка Node.js
|
||||
|
||||
Убедитесь, что у вас установлен Node.js на вашем компьютере.Если нет, загрузите и установите из [nodejs.org](https://nodejs.org/).
|
||||
Убедитесь, что у вас установлен Node.js на вашем компьютере. Если нет, загрузите и установите его с [nodejs.org](https://nodejs.org/).
|
||||
|
||||
### Установите Yarn
|
||||
### Установка Yarn
|
||||
|
||||
Yarn является менеджером пакетов для node.js. Если вы еще не установили Yarn, вы можете сделать это, следуя инструкциям на [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
|
||||
Yarn - менеджер пакетов для Node.js. Если вы еще не установили Yarn, сделайте это, следуя инструкциям на [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/).
|
||||
|
||||
### Установите зависимости Node
|
||||
### Установка зависимостей Node
|
||||
|
||||
Перейдите к каталогу проекта и установите Node зависимости с использованием Yarn:
|
||||
Перейдите в каталог проекта и установите зависимости Node, используя Yarn:
|
||||
|
||||
```bash
|
||||
cd hydra
|
||||
yarn
|
||||
```
|
||||
|
||||
### Установите Python 3.9
|
||||
### Установка Python 3.9
|
||||
|
||||
Убедитесь, что на вашем компьютере установлен Python 3.9. Вы можете скачать и установить его из [python.org](https://www.python.org/downloads/release/python-3919/).
|
||||
Убедитесь, что у вас установлен Python 3.9 на вашем компьютере. Вы можете загрузить и установить его с [python.org](https://www.python.org/downloads/release/python-3919/).
|
||||
|
||||
### Установите зависимости Python
|
||||
### Установка зависимостей Python
|
||||
|
||||
Установите необходимые зависимости Python, используя pip:
|
||||
|
||||
@ -141,40 +130,40 @@ pip install -r requirements.txt
|
||||
|
||||
## Переменные среды
|
||||
|
||||
Вам понадобится ключ API SteamGridDB, чтобы принести значки игры при установке.
|
||||
Если вы хотите получить онлайн -фикс в качестве репака, вам нужно добавить свои учетные данные в .env
|
||||
Вам понадобится ключ API SteamGridDB, чтобы получить значки игр при установке.
|
||||
Если вы хотите использовать onlinefix в качестве репака, вам нужно добавить ваши учетные данные в файл .env.
|
||||
|
||||
Как только он у вас есть, вы можете скопировать или переименовать `.env.example` файл в `.env`и заполнить это`STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
|
||||
Как только у вас будет ключ, вы можете скопировать или переименовать файл `.env.example` в `.env` и поместить в него `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`.
|
||||
|
||||
## Запуск
|
||||
|
||||
После того, как у вас все настроено, вы можете запустить следующую команду, чтобы запустить приложение Electron и клиент BitTorrent:
|
||||
После того как все настроено, вы можете выполнить следующую команду, чтобы запустить процесс Electron и клиента BitTorrent:
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
## Создание
|
||||
## Сборка
|
||||
|
||||
### Создайте клиент BitTorrent
|
||||
### Сборка клиента BitTorrent
|
||||
|
||||
Создайте клиент BitTorrent, используя эту команду:
|
||||
Соберите клиент BitTorrent с помощью этой команды:
|
||||
|
||||
```bash
|
||||
python torrent-client/setup.py build
|
||||
```
|
||||
|
||||
### Создайте приложение Electron
|
||||
### Сборка приложения Electron
|
||||
|
||||
Создайте приложение Electron с помощью этой команды:
|
||||
Соберите приложение Electron, используя эту команду:
|
||||
|
||||
В Windows:
|
||||
На Windows:
|
||||
|
||||
```bash
|
||||
yarn build:win
|
||||
```
|
||||
|
||||
В Linux:
|
||||
На Linux:
|
||||
|
||||
```bash
|
||||
yarn build:linux
|
||||
@ -182,133 +171,10 @@ yarn build:linux
|
||||
|
||||
## Участники
|
||||
|
||||
<!-- readme: contributors -start -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/hydralauncher">
|
||||
<img src="https://avatars.githubusercontent.com/u/164102380?v=4" width="100;" alt="hydralauncher"/>
|
||||
<br />
|
||||
<sub><b>Hydra</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/zamitto">
|
||||
<img src="https://avatars.githubusercontent.com/u/167933696?v=4" width="100;" alt="zamitto"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/fzanutto">
|
||||
<img src="https://avatars.githubusercontent.com/u/15229294?v=4" width="100;" alt="fzanutto"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/JackEnx">
|
||||
<img src="https://avatars.githubusercontent.com/u/167036558?v=4" width="100;" alt="JackEnx"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Magrid0">
|
||||
<img src="https://avatars.githubusercontent.com/u/73496008?v=4" width="100;" alt="Magrid0"/>
|
||||
<br />
|
||||
<sub><b>Magrid</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/fhilipecrash">
|
||||
<img src="https://avatars.githubusercontent.com/u/36455575?v=4" width="100;" alt="fhilipecrash"/>
|
||||
<br />
|
||||
<sub><b>Fhilipe Coelho</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/jps14">
|
||||
<img src="https://avatars.githubusercontent.com/u/168477146?v=4" width="100;" alt="jps14"/>
|
||||
<br />
|
||||
<sub><b>José Luís</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/shadowtosser">
|
||||
<img src="https://avatars.githubusercontent.com/u/168544958?v=4" width="100;" alt="shadowtosser"/>
|
||||
<br />
|
||||
<sub><b>Null</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/pmenta">
|
||||
<img src="https://avatars.githubusercontent.com/u/71457671?v=4" width="100;" alt="pmenta"/>
|
||||
<br />
|
||||
<sub><b>João Martins</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/ferivoq">
|
||||
<img src="https://avatars.githubusercontent.com/u/36544651?v=4" width="100;" alt="ferivoq"/>
|
||||
<br />
|
||||
<sub><b>FeriVOQ</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/xbozo">
|
||||
<img src="https://avatars.githubusercontent.com/u/119091492?v=4" width="100;" alt="xbozo"/>
|
||||
<br />
|
||||
<sub><b>Guilherme Viana</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/eltociear">
|
||||
<img src="https://avatars.githubusercontent.com/u/22633385?v=4" width="100;" alt="eltociear"/>
|
||||
<br />
|
||||
<sub><b>Ikko Eltociear Ashimine</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Netflixyapp">
|
||||
<img src="https://avatars.githubusercontent.com/u/91623880?v=4" width="100;" alt="Netflixyapp"/>
|
||||
<br />
|
||||
<sub><b>Netflixy</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Hachi-R">
|
||||
<img src="https://avatars.githubusercontent.com/u/58823742?v=4" width="100;" alt="Hachi-R"/>
|
||||
<br />
|
||||
<sub><b>Hachi</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/FerNikoMF">
|
||||
<img src="https://avatars.githubusercontent.com/u/76095334?v=4" width="100;" alt="FerNikoMF"/>
|
||||
<br />
|
||||
<sub><b>Firdavs</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/userMacieG">
|
||||
<img src="https://avatars.githubusercontent.com/u/24211405?v=4" width="100;" alt="userMacieG"/>
|
||||
<br />
|
||||
<sub><b>Maciej Ratyński</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Tunchichi">
|
||||
<img src="https://avatars.githubusercontent.com/u/118926729?v=4" width="100;" alt="Tunchichi"/>
|
||||
<br />
|
||||
<sub><b>Ruslan</b></sub>
|
||||
</a>
|
||||
</td></tr>
|
||||
</table>
|
||||
<!-- readme: contributors -end -->
|
||||
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
|
||||
</a>
|
||||
|
||||
## License
|
||||
|
||||
Hydra лицензирована в соответствии с лицензией [MIT License](LICENSE).
|
||||
Hydra лицензирована в соответствии с [MIT License](LICENSE).
|
||||
|
184
README.uk-UA.md
Normal file
184
README.uk-UA.md
Normal file
@ -0,0 +1,184 @@
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[<img src="./resources/icon.png" width="144"/>](https://hydralauncher.site)
|
||||
|
||||
<h1 align="center">Hydra Launcher</h1>
|
||||
|
||||
<p align="center">
|
||||
<strong>Hydra - це ігровий лаунчер з власним вбудованим bittorrent-клієнтом і самокерованим збирачем репаків.</strong>
|
||||
</p>
|
||||
|
||||
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions)
|
||||
[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases)
|
||||
|
||||
[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md)
|
||||
[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md)
|
||||
[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md)
|
||||
[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md)
|
||||
|
||||
![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 client](#зробіть-білд-bittorrent-client)
|
||||
- [Зробіть білд Electron застосунку](#зробіть-білд-electron-застосунку)
|
||||
- [Контриб'ютори](#контрибютори)
|
||||
|
||||
## Про нас
|
||||
|
||||
**Hydra** - це **ігровий лаунчер** з власним вбудованим **BitTorrent-клієнтом** і **самокерованим збирачем репаків**.
|
||||
<br>
|
||||
Цей лаунчер написано мовами TypeScript (Electron) та Python, який працює з торрент-системою за допомогою libtorrent.
|
||||
|
||||
## Функції
|
||||
|
||||
- Самокерований збирач репаків серед усіх найнадійніших сайтів на [Megathread]("https://www.reddit.com/r/Piracy/wiki/megathread/")
|
||||
- Власний вбудований клієнт bittorrent
|
||||
- Інтеграція How Long To Beat (HLTB) на сторінці гри
|
||||
- Налаштування теки завантаження
|
||||
- Сповіщення про оновлення списку репаків
|
||||
- Підтримка Windows і Linux
|
||||
- Постійно оновлюється
|
||||
- І не тільки ...
|
||||
|
||||
## Встановлення
|
||||
|
||||
Follow the steps below to install:
|
||||
|
||||
1. Завантажте останню версію Hydra зі сторінки [Releases](https://github.com/hydralauncher/hydra/releases/latest).
|
||||
- Завантажте лише .exe, якщо ви хочете встановити Hydra на Windows.
|
||||
- Завантажте .deb або .rpm або .zip, якщо ви хочете встановити Hydra на Linux. (залежить від вашого дистрибутива Linux)
|
||||
2. Запустіть завантажений файл.
|
||||
3. Насолоджуйтесь Гідрою!
|
||||
|
||||
## <a name="contributing"> Зробити свій внесок
|
||||
|
||||
### <a name="join-our-telegram"></a> Приєднуйтесь до нашого Telegram
|
||||
|
||||
Ми зосереджуємо наші дискусії на нашому сервері [Telegram](https://t.me/hydralauncher).
|
||||
|
||||
1. Приєднуйтесь до нашого сервера
|
||||
2. Перейдіть на канал ролей і виберіть роль Співробітник
|
||||
3. Заходьте на dev-канал, спілкуйтеся з нами та діліться своїми ідеями.
|
||||
|
||||
### Форк і клонування вашого репозиторію
|
||||
|
||||
1. Зробіть форк репозиторію [(натисніть тут, щоб зробити форк зараз)](https://github.com/hydralauncher/hydra/fork)
|
||||
2. Клонуйте ваш форк-код `git clone https://github.com/your_username/hydra`
|
||||
3. Створіть новий бранч
|
||||
4. Зробіть пуш своїх комітів
|
||||
5. Надішліть новий Pull Request
|
||||
|
||||
### Як ви можете зробити свій внесок
|
||||
|
||||
- Translation: We want Hydra to be available to as many people as possible. Feel free to help translate to new languages or update and improve the ones that are already available on Hydra.
|
||||
- Code: Hydra is built with Typescript, Electron and a little bit of Python. If you want to contribute, join our Telegram!
|
||||
|
||||
### Структура проекту
|
||||
|
||||
- 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 client
|
||||
|
||||
Зробіть білд bittorrent client за допомогою цієї команди:
|
||||
|
||||
```bash
|
||||
python torrent-client/setup.py build
|
||||
```
|
||||
|
||||
### Зробіть білд Electron застосунку
|
||||
|
||||
Зробіть білд Electron застосунку за допомогою цієї команди:
|
||||
|
||||
На Windows:
|
||||
|
||||
```bash
|
||||
yarn build:win
|
||||
```
|
||||
|
||||
На Linux:
|
||||
|
||||
```bash
|
||||
yarn build:linux
|
||||
```
|
||||
|
||||
## Контриб'ютори
|
||||
|
||||
<a href="https://github.com/hydralauncher/hydra/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=hydralauncher/hydra" />
|
||||
</a>
|
||||
|
||||
## License
|
||||
|
||||
Hydra має ліцензію [MIT License](LICENSE).
|
167
src/locales/be/translation.json
Normal file
167
src/locales/be/translation.json
Normal file
@ -0,0 +1,167 @@
|
||||
{
|
||||
"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": "Падпісвайцеся на нас",
|
||||
"home": "Галоўная",
|
||||
"discord": "Далучайцеся да Discord",
|
||||
"telegram": "Далучайцеся да 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": "Каб зьмяніць папку па змоўчаньні, адкрыйце",
|
||||
"settings": "Налады Hydra",
|
||||
"download_now": "Сьцягнуць зараз",
|
||||
"installation_instructions": "Інструкцыя ўсталёўкі",
|
||||
"installation_instructions_description": "Усталёўка гэтай гульні патрабуе дадатковых крокаў",
|
||||
"online_fix_instruction": "Гульні з OnlineFix патрабуюць пароль для выманьня. Калі неабходна, выкарыстоўвайце наступны пароль:",
|
||||
"dodi_installation_instruction": "Калі вы адкрыеце ўсталёўшчык DODI, націсьніце на клявіятуры клявішу 'уверх' <0 />, каб пачаць працэс усталёўкі:",
|
||||
"dont_show_it_again": "Не паказваць зноў",
|
||||
"copy_to_clipboard": "Капіяваць",
|
||||
"copied_to_clipboard": "Скапіявана",
|
||||
"got_it": "Зразумела"
|
||||
},
|
||||
"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": "Усталяваць"
|
||||
},
|
||||
"settings": {
|
||||
"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": "Сьцягваньне скончана",
|
||||
"game_ready_to_install": "{{title}} гатова да ўсталёўкі",
|
||||
"repack_list_updated": "Сьпіс рэпакаў абноўлены",
|
||||
"repack_count_one": "{{count}} рэпак дададзены",
|
||||
"repack_count_other": "{{count}} рэпакаў дададзена"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Адкрыць Hydra",
|
||||
"quit": "Выйсьці"
|
||||
},
|
||||
"game_card": {
|
||||
"no_downloads": "Няма даступных сьцягваньняў"
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Праграмы не ўсталяваныя",
|
||||
"description": "Выканальныя файлы Wine ці Lutris ня знойдзеныя ў вашай сістэме",
|
||||
"instructions": "Даведайцеся, як правільна ўсталяваць любы зь іх на вашым дыстрыбутыве Linux, каб гульня магла працаваць нармальна"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Кнопка закрыцьця"
|
||||
}
|
||||
}
|
@ -19,6 +19,7 @@
|
||||
"follow_us": "Follow us",
|
||||
"home": "Home",
|
||||
"discord": "Join our Discord",
|
||||
"telegram": "Join our Telegram",
|
||||
"x": "Follow on X",
|
||||
"github": "Contribute on GitHub"
|
||||
},
|
||||
@ -63,7 +64,7 @@
|
||||
"no_minimum_requirements": "{{title}} doesn't provide minimum requirements information",
|
||||
"no_recommended_requirements": "{{title}} doesn't provide recommended requirements information",
|
||||
"paused_progress": "{{progress}} (Paused)",
|
||||
"release_date": "Released in {{date}}",
|
||||
"release_date": "Released on {{date}}",
|
||||
"publisher": "Published by {{publisher}}",
|
||||
"copy_link_to_clipboard": "Copy link",
|
||||
"copied_link_to_clipboard": "Link copied",
|
||||
|
@ -19,6 +19,7 @@
|
||||
"follow_us": "Síguenos",
|
||||
"home": "Inicio",
|
||||
"discord": "Únete a nuestro Discord",
|
||||
"telegram": "Únete a nuestro Telegram",
|
||||
"x": "Síguenos en X",
|
||||
"github": "Contribuye en GitHub"
|
||||
},
|
||||
|
@ -7,3 +7,5 @@ export { default as it } from "./it/translation.json";
|
||||
export { default as pl } from "./pl/translation.json";
|
||||
export { default as ru } from "./ru/translation.json";
|
||||
export { default as tr } from "./tr/translation.json";
|
||||
export { default as be } from "./be/translation.json";
|
||||
export { default as uk } from "./uk/translation.json";
|
||||
|
@ -19,6 +19,7 @@
|
||||
"follow_us": "Seguici",
|
||||
"home": "Home",
|
||||
"discord": "Unisciti al nostro Discord",
|
||||
"telegram": "Unisciti al nostro Telegram",
|
||||
"x": "Segui su X",
|
||||
"github": "Contribuisci su GitHub"
|
||||
},
|
||||
|
@ -19,6 +19,7 @@
|
||||
"home": "Início",
|
||||
"follow_us": "Acompanhe-nos",
|
||||
"discord": "Entre no nosso Discord",
|
||||
"telegram": "Entre no nosso Telegram",
|
||||
"x": "Siga-nos no X",
|
||||
"github": "Contribua no GitHub"
|
||||
},
|
||||
@ -153,7 +154,7 @@
|
||||
"binary_not_found_modal": {
|
||||
"title": "Programas não instalados",
|
||||
"description": "Não foram encontrados no seu sistema os executáveis do Wine ou Lutris",
|
||||
"instructions": "Verifique a forma correta de instalar algum deles na sua distro Linux para que o jogo possa ser executado normalmente"
|
||||
"instructions": "Verifique a forma correta de instalar algum deles no seu distro Linux, garantindo assim a execução normal do jogo"
|
||||
},
|
||||
"catalogue": {
|
||||
"next_page": "Próxima página",
|
||||
|
@ -1,26 +1,27 @@
|
||||
{
|
||||
"home": {
|
||||
"featured": "Рекомендованное",
|
||||
"recently_added": "Недавно добавленное",
|
||||
"trending": "Тенденции",
|
||||
"recently_added": "Новинки",
|
||||
"trending": "В тренде",
|
||||
"surprise_me": "Удиви меня",
|
||||
"no_results": "Результатов не найдено"
|
||||
"no_results": "Ничего не найдено"
|
||||
},
|
||||
"sidebar": {
|
||||
"catalogue": "Каталог",
|
||||
"downloads": "Загрузки",
|
||||
"settings": "Настройки",
|
||||
"my_library": "Моя библиотека",
|
||||
"my_library": "Библиотека",
|
||||
"downloading_metadata": "{{title}} (Загрузка метаданных…)",
|
||||
"checking_files": "{{title}} ({{percentage}} - Проверка файлов…)",
|
||||
"paused": "{{title}} (Приостановлено)",
|
||||
"downloading": "{{title}} ({{percentage}} - Загрузка…)",
|
||||
"filter": "Фильтровать библиотеку",
|
||||
"filter": "Фильтр библиотеки",
|
||||
"follow_us": "Подписывайтесь на нас",
|
||||
"home": "Главная",
|
||||
"discord": "Присоединяйся к Discord",
|
||||
"discord": "Присоединяйтесь к Discord",
|
||||
"telegram": "Присоединяйтесь к Telegram",
|
||||
"x": "Подписывайтесь на X",
|
||||
"github": "Внести свой вклад в GitHub"
|
||||
"github": "Внести свой вклад на GitHub"
|
||||
},
|
||||
"header": {
|
||||
"search": "Поиск",
|
||||
@ -41,7 +42,7 @@
|
||||
"previous_page": "Предыдущая страница"
|
||||
},
|
||||
"game_details": {
|
||||
"open_download_options": "Открыть опции загрузки",
|
||||
"open_download_options": "Открыть варианты загрузки",
|
||||
"download_options_zero": "Нет вариантов загрузки",
|
||||
"download_options_one": "{{count}} вариант загрузки",
|
||||
"download_options_other": "{{count}} вариантов загрузки",
|
||||
@ -52,7 +53,7 @@
|
||||
"cancel": "Отменить",
|
||||
"remove": "Удалить",
|
||||
"remove_from_list": "Удалить",
|
||||
"space_left_on_disk": "{{space}} осталось на диске",
|
||||
"space_left_on_disk": "{{space}} свободно на диске",
|
||||
"eta": "Окончание {{eta}}",
|
||||
"downloading_metadata": "Загрузка метаданных…",
|
||||
"checking_files": "Проверка файлов…",
|
||||
@ -60,40 +61,40 @@
|
||||
"requirements": "Системные требования",
|
||||
"minimum": "Минимальные",
|
||||
"recommended": "Рекомендуемые",
|
||||
"no_minimum_requirements": "{{title}} не предоставляет информации о минимальных требованиях",
|
||||
"no_recommended_requirements": "{{title}} не предоставляет информации о рекомендуемых требованиях",
|
||||
"no_minimum_requirements": "Для {{title}} не указаны минимальные требования",
|
||||
"no_recommended_requirements": "Для {{title}} не указаны рекомендуемые требования",
|
||||
"paused_progress": "{{progress}} (Приостановлено)",
|
||||
"release_date": "Выпущено в {{date}}",
|
||||
"publisher": "Опубликовано {{publisher}}",
|
||||
"copy_link_to_clipboard": "Скопировать ссылку",
|
||||
"release_date": "Выпущено {{date}}",
|
||||
"publisher": "Издатель {{publisher}}",
|
||||
"copy_link_to_clipboard": "Копировать ссылку",
|
||||
"copied_link_to_clipboard": "Ссылка скопирована",
|
||||
"hours": "часов",
|
||||
"minutes": "минут",
|
||||
"amount_hours": "{{amount}} часов",
|
||||
"amount_minutes": "{{amount}} минут",
|
||||
"accuracy": "{{accuracy}}% точность",
|
||||
"accuracy": "точность {{accuracy}}%",
|
||||
"add_to_library": "Добавить в библиотеку",
|
||||
"remove_from_library": "Удалить из библиотеки",
|
||||
"no_downloads": "Нет доступных загрузок",
|
||||
"play_time": "Сыграно {{amount}}",
|
||||
"last_time_played": "Последний раз сыграно {{period}}",
|
||||
"not_played_yet": "Вы еще не сыграли в {{title}}",
|
||||
"last_time_played": "Последний запуск {{period}}",
|
||||
"not_played_yet": "Вы ещё не играли в {{title}}",
|
||||
"next_suggestion": "Следующее предложение",
|
||||
"play": "Играть",
|
||||
"deleting": "Удаление установщика…",
|
||||
"close": "Закрыть",
|
||||
"playing_now": "Сейчас играет",
|
||||
"playing_now": "Запущено",
|
||||
"change": "Изменить",
|
||||
"repacks_modal_description": "Выберите репак, который хотите загрузить",
|
||||
"repacks_modal_description": "Выберите репак для загрузки",
|
||||
"downloads_path": "Путь загрузок",
|
||||
"select_folder_hint": "Чтобы изменить папку по умолчанию, откройте",
|
||||
"select_folder_hint": "Изменить папку по умолчанию",
|
||||
"settings": "Настройки Hydra",
|
||||
"download_now": "Загрузить сейчас",
|
||||
"installation_instructions": "Инструкция по установке",
|
||||
"installation_instructions_description": "Для установки этой игры требуются дополнительные шаги",
|
||||
"online_fix_instruction": "В играх с OnlineFix требуется ввести пароль для извлеченияя.При необходимости используйте следующий пароль:",
|
||||
"dodi_installation_instruction": "При открытии установщика Dodi нажмите клавишу вверх клавиатуру <0 />, чтобы запустить процесс установки:",
|
||||
"dont_show_it_again": "Не показывать это снова",
|
||||
"online_fix_instruction": "В играх с OnlineFix требуется ввести пароль для извлечения. При необходимости используйте следующий пароль:",
|
||||
"dodi_installation_instruction": "Когда вы откроете установщик DODI, нажмите на клавиатуре клавишу 'вверх' <0 />, чтобы начать процесс установки:",
|
||||
"dont_show_it_again": "Не показывать снова",
|
||||
"copy_to_clipboard": "Копировать",
|
||||
"copied_to_clipboard": "Скопировано",
|
||||
"got_it": "Понятно"
|
||||
@ -102,7 +103,7 @@
|
||||
"title": "Активировать Hydra",
|
||||
"installation_id": "ID установки:",
|
||||
"enter_activation_code": "Введите ваш активационный код",
|
||||
"message": "Если вы не знаете, где его запросить, то не должны иметь это.",
|
||||
"message": "Если вы не знаете, где его запросить, у вас его не должно быть.",
|
||||
"activate": "Активировать",
|
||||
"loading": "Загрузка…"
|
||||
},
|
||||
@ -117,7 +118,7 @@
|
||||
"cancelled": "Отменено",
|
||||
"download_again": "Загрузить снова",
|
||||
"cancel": "Отменить",
|
||||
"filter": "Фильтровать загруженные игры",
|
||||
"filter": "Фильтр загруженных игр",
|
||||
"remove": "Удалить",
|
||||
"downloading_metadata": "Загрузка метаданных…",
|
||||
"checking_files": "Проверка файлов…",
|
||||
@ -126,20 +127,20 @@
|
||||
"delete": "Удалить установщик",
|
||||
"remove_from_list": "Удалить",
|
||||
"delete_modal_title": "Вы уверены?",
|
||||
"delete_modal_description": "Это удалит все установочные файлы с вашего компьютера",
|
||||
"delete_modal_description": "Это удалит все установщики с вашего компьютера",
|
||||
"install": "Установить"
|
||||
},
|
||||
"settings": {
|
||||
"downloads_path": "Путь загрузок",
|
||||
"change": "Изменить путь",
|
||||
"change": "Изменить",
|
||||
"notifications": "Уведомления",
|
||||
"enable_download_notifications": "По завершении загрузки",
|
||||
"enable_repack_list_notifications": "При добавлении нового репака",
|
||||
"telemetry": "Телеметрия",
|
||||
"telemetry_description": "Включить анонимную статистику использования",
|
||||
"telemetry_description": "Отправлять анонимную статистику использования",
|
||||
"behavior": "Поведение",
|
||||
"quit_app_instead_hiding": "Закрывать приложение вместо того, чтобы сворачивать его в трей",
|
||||
"launch_with_system": "Запуск приложения при запуске системы"
|
||||
"quit_app_instead_hiding": "Закрывать Hydra вместо того, чтобы сворачивать его в трей",
|
||||
"launch_with_system": "Запуск Hydra вместе с системой"
|
||||
},
|
||||
"notifications": {
|
||||
"download_complete": "Загрузка завершена",
|
||||
@ -157,10 +158,10 @@
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Программы не установлены",
|
||||
"description": "Исполняемые файлы Wine или Lutris не найдены на вашей системе",
|
||||
"instructions": "Узнайте правильный способ установить любой из них на вашем дистрибутиве Linux, чтобы игра могла нормально работать"
|
||||
"description": "Wine или Lutris не найдены",
|
||||
"instructions": "Узнайте правильный способ установить любой из них на ваш дистрибутив Linux, чтобы игра могла нормально работать"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Кнопка закрытия"
|
||||
"close": "Закрыть"
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,7 @@
|
||||
"follow_us": "Bizi takip et",
|
||||
"home": "Ana menü",
|
||||
"discord": "Discord'umuza katıl",
|
||||
"telegram": "Telegram'umuza katıl",
|
||||
"x": "X'te bizi takip et",
|
||||
"github": "GitHub'da bize katkı yap"
|
||||
},
|
||||
|
167
src/locales/uk/translation.json
Normal file
167
src/locales/uk/translation.json
Normal file
@ -0,0 +1,167 @@
|
||||
{
|
||||
"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": "Підписуйтесь на нас",
|
||||
"home": "Головна",
|
||||
"discord": "Приєднуйтесь до Discord",
|
||||
"telegram": "Приєднуйтесь до 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": "Щоб змінити теку за замовчуванням, відкрийте",
|
||||
"settings": "Налаштування Hydra",
|
||||
"download_now": "Завантажити зараз",
|
||||
"installation_instructions": "Інструкція зі встановлення",
|
||||
"installation_instructions_description": "Для встановлення цієї гри потрібні додаткові кроки",
|
||||
"online_fix_instruction": "В іграх з OnlineFix потрібно ввести пароль для вилучення. За необхідності використовуйте наступний пароль:",
|
||||
"dodi_installation_instruction": "Коли ви відкриєте інсталятор DODI, натисніть на клавіатурі клавішу 'вгору' <0 />, щоб почати процес встановлення:",
|
||||
"dont_show_it_again": "Не показувати це знову",
|
||||
"copy_to_clipboard": "Копіювати",
|
||||
"copied_to_clipboard": "Скопійовано",
|
||||
"got_it": "Зрозуміло"
|
||||
},
|
||||
"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": "Встановити"
|
||||
},
|
||||
"settings": {
|
||||
"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": "Завантаження завершено",
|
||||
"game_ready_to_install": "{{title}} готова до встановлення",
|
||||
"repack_list_updated": "Список репаків оновлено",
|
||||
"repack_count_one": "{{count}} репак додано",
|
||||
"repack_count_other": "{{count}} репаків додано"
|
||||
},
|
||||
"system_tray": {
|
||||
"open": "Відкрити Hydra",
|
||||
"quit": "Вийти"
|
||||
},
|
||||
"game_card": {
|
||||
"no_downloads": "Немає доступних завантажень"
|
||||
},
|
||||
"binary_not_found_modal": {
|
||||
"title": "Програми не встановлені",
|
||||
"description": "Виконувані файли Wine або Lutris не знайдено у вашій системі",
|
||||
"instructions": "Дізнайтеся правильний спосіб встановити будь-який з них на ваш дистрибутив Linux, щоб гра могла нормально працювати"
|
||||
},
|
||||
"modal": {
|
||||
"close": "Закрити"
|
||||
}
|
||||
}
|
@ -41,7 +41,7 @@ export const databasePath = path.join(
|
||||
"hydra.db"
|
||||
);
|
||||
|
||||
export const imageCachePath = path.join(app.getPath("userData"), ".imagecache");
|
||||
console.log(databasePath);
|
||||
|
||||
export const INSTALLATION_ID_LENGTH = 6;
|
||||
export const ACTIVATION_KEY_MULTIPLIER = 7;
|
||||
|
@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0,0,256,256" width="16px" height="16px"><g fill="#8e919b" fill-rule="nonzero" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode: normal"><g transform="scale(5.12,5.12)"><path d="M41.625,10.76953c-3.98047,-3.20313 -10.27734,-3.74609 -10.54687,-3.76563c-0.41797,-0.03516 -0.81641,0.19922 -0.98828,0.58594c-0.01562,0.02344 -0.15234,0.33984 -0.30469,0.83203c2.63281,0.44531 5.86719,1.33984 8.79297,3.15625c0.46875,0.28906 0.61328,0.90625 0.32422,1.375c-0.19141,0.30859 -0.51562,0.47656 -0.85156,0.47656c-0.17969,0 -0.36328,-0.05078 -0.52734,-0.15234c-5.03125,-3.12109 -11.3125,-3.27734 -12.52344,-3.27734c-1.21094,0 -7.49609,0.15625 -12.52344,3.27734c-0.46875,0.29297 -1.08594,0.14844 -1.375,-0.32031c-0.29297,-0.47266 -0.14844,-1.08594 0.32031,-1.37891c2.92578,-1.8125 6.16016,-2.71094 8.79297,-3.15234c-0.15234,-0.49609 -0.28906,-0.80859 -0.30078,-0.83594c-0.17578,-0.38672 -0.57031,-0.62891 -0.99219,-0.58594c-0.26953,0.01953 -6.56641,0.5625 -10.60156,3.80859c-2.10547,1.94922 -6.32031,13.33984 -6.32031,23.1875c0,0.17578 0.04688,0.34375 0.13281,0.49609c2.90625,5.10938 10.83984,6.44531 12.64844,6.50391c0.00781,0 0.01953,0 0.03125,0c0.32031,0 0.62109,-0.15234 0.80859,-0.41016l1.82813,-2.51562c-4.93359,-1.27344 -7.45312,-3.4375 -7.59766,-3.56641c-0.41406,-0.36328 -0.45312,-0.99609 -0.08594,-1.41016c0.36328,-0.41406 0.99609,-0.45312 1.41016,-0.08984c0.05859,0.05469 4.69922,3.99219 13.82422,3.99219c9.14063,0 13.78125,-3.95312 13.82813,-3.99219c0.41406,-0.35937 1.04297,-0.32422 1.41016,0.09375c0.36328,0.41406 0.32422,1.04297 -0.08984,1.40625c-0.14453,0.12891 -2.66406,2.29297 -7.59766,3.56641l1.82813,2.51563c0.1875,0.25781 0.48828,0.41016 0.80859,0.41016c0.01172,0 0.02344,0 0.03125,0c1.80859,-0.05859 9.74219,-1.39453 12.64844,-6.50391c0.08594,-0.15234 0.13281,-0.32031 0.13281,-0.49609c0,-9.84766 -4.21484,-21.23828 -6.375,-23.23047zM18.5,30c-1.93359,0 -3.5,-1.78906 -3.5,-4c0,-2.21094 1.56641,-4 3.5,-4c1.93359,0 3.5,1.78906 3.5,4c0,2.21094 -1.56641,4 -3.5,4zM31.5,30c-1.93359,0 -3.5,-1.78906 -3.5,-4c0,-2.21094 1.56641,-4 3.5,-4c1.93359,0 3.5,1.78906 3.5,4c0,2.21094 -1.56641,4 -3.5,4z"></path></g></g></svg>
|
Before Width: | Height: | Size: 2.3 KiB |
1
src/renderer/src/assets/telegram-icon.svg
Normal file
1
src/renderer/src/assets/telegram-icon.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M41.4193 7.30899C41.4193 7.30899 45.3046 5.79399 44.9808 9.47328C44.8729 10.9883 43.9016 16.2908 43.1461 22.0262L40.5559 39.0159C40.5559 39.0159 40.3401 41.5048 38.3974 41.9377C36.4547 42.3705 33.5408 40.4227 33.0011 39.9898C32.5694 39.6652 24.9068 34.7955 22.2086 32.4148C21.4531 31.7655 20.5897 30.4669 22.3165 28.9519L33.6487 18.1305C34.9438 16.8319 36.2389 13.8019 30.8426 17.4812L15.7331 27.7616C15.7331 27.7616 14.0063 28.8437 10.7686 27.8698L3.75342 25.7055C3.75342 25.7055 1.16321 24.0823 5.58815 22.459C16.3807 17.3729 29.6555 12.1786 41.4193 7.30899Z" fill="#6f7279"></path> </g></svg>
|
After Width: | Height: | Size: 833 B |
@ -17,9 +17,9 @@ export function Button({
|
||||
}: ButtonProps) {
|
||||
return (
|
||||
<button
|
||||
{...props}
|
||||
type="button"
|
||||
className={cn(styles.button[theme], className)}
|
||||
{...props}
|
||||
>
|
||||
{children}
|
||||
</button>
|
||||
|
@ -10,7 +10,7 @@ import { useDownload, useLibrary } from "@renderer/hooks";
|
||||
import { routes } from "./routes";
|
||||
|
||||
import { MarkGithubIcon } from "@primer/octicons-react";
|
||||
import DiscordLogo from "@renderer/assets/discord-icon.svg?react";
|
||||
import TelegramLogo from "@renderer/assets/telegram-icon.svg?react";
|
||||
import XLogo from "@renderer/assets/x-icon.svg?react";
|
||||
|
||||
import * as styles from "./sidebar.css";
|
||||
@ -36,9 +36,9 @@ export function Sidebar() {
|
||||
|
||||
const socials = [
|
||||
{
|
||||
url: "https://discord.gg/hydralauncher",
|
||||
icon: <DiscordLogo />,
|
||||
label: t("discord"),
|
||||
url: "https://t.me/hydralauncher",
|
||||
icon: <TelegramLogo />,
|
||||
label: t("telegram"),
|
||||
},
|
||||
{
|
||||
url: "https://twitter.com/hydralauncher",
|
||||
|
@ -21,7 +21,7 @@ export const getSteamLanguage = (language: string) => {
|
||||
if (language.startsWith("pt")) return "brazilian";
|
||||
if (language.startsWith("es")) return "spanish";
|
||||
if (language.startsWith("fr")) return "french";
|
||||
if (language.startsWith("ru")) return "russian";
|
||||
if (language.startsWith("ru") || language.startsWith("be")) return "russian";
|
||||
if (language.startsWith("it")) return "italian";
|
||||
if (language.startsWith("hu")) return "hungarian";
|
||||
if (language.startsWith("pl")) return "polish";
|
||||
|
@ -1,20 +1,23 @@
|
||||
import { formatDistance } from "date-fns";
|
||||
import type { FormatDistanceOptions } from "date-fns";
|
||||
import { ptBR, enUS, es, fr, pl, hu, tr, ru, it } from "date-fns/locale";
|
||||
import { ptBR, enUS, es, fr, pl, hu, tr, ru, it, be } from "date-fns/locale";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
export function useDate() {
|
||||
const { i18n } = useTranslation();
|
||||
|
||||
const { language } = i18n;
|
||||
|
||||
const getDateLocale = () => {
|
||||
if (i18n.language.startsWith("pt")) return ptBR;
|
||||
if (i18n.language.startsWith("es")) return es;
|
||||
if (i18n.language.startsWith("fr")) return fr;
|
||||
if (i18n.language.startsWith("hu")) return hu;
|
||||
if (i18n.language.startsWith("pl")) return pl;
|
||||
if (i18n.language.startsWith("tr")) return tr;
|
||||
if (i18n.language.startsWith("ru")) return ru;
|
||||
if (i18n.language.startsWith("it")) return it;
|
||||
if (language.startsWith("pt")) return ptBR;
|
||||
if (language.startsWith("es")) return es;
|
||||
if (language.startsWith("fr")) return fr;
|
||||
if (language.startsWith("hu")) return hu;
|
||||
if (language.startsWith("pl")) return pl;
|
||||
if (language.startsWith("tr")) return tr;
|
||||
if (language.startsWith("ru")) return ru;
|
||||
if (language.startsWith("it")) return it;
|
||||
if (language.startsWith("be")) return be;
|
||||
|
||||
return enUS;
|
||||
};
|
||||
|
@ -84,16 +84,17 @@ export function GallerySlider({ gameDetails }: GallerySliderProps) {
|
||||
<source src={video.webm.max.replace("http", "https")} />
|
||||
</video>
|
||||
))}
|
||||
|
||||
{gameDetails.screenshots.map((image: SteamScreenshot) => (
|
||||
<img
|
||||
key={image.id}
|
||||
className={styles.gallerySliderMedia}
|
||||
src={image.path_full}
|
||||
style={{ translate: `${-100 * mediaIndex}%` }}
|
||||
/>
|
||||
))}
|
||||
|
||||
{gameDetails.screenshots &&
|
||||
gameDetails.screenshots.map(
|
||||
(image: SteamScreenshot, i: number) => (
|
||||
<img
|
||||
key={"image-" + i}
|
||||
className={styles.gallerySliderMedia}
|
||||
src={image.path_full}
|
||||
style={{ translate: `${-100 * mediaIndex}%` }}
|
||||
/>
|
||||
)
|
||||
)}
|
||||
{arrowShow && (
|
||||
<>
|
||||
<button
|
||||
@ -127,21 +128,21 @@ export function GallerySlider({ gameDetails }: GallerySliderProps) {
|
||||
className={`${styles.gallerySliderMediaPreview} ${mediaIndex === i ? styles.gallerySliderMediaPreviewActive : ""}`}
|
||||
/>
|
||||
))}
|
||||
|
||||
{gameDetails.screenshots.map(
|
||||
(image: SteamScreenshot, i: number) => (
|
||||
<img
|
||||
key={image.id}
|
||||
onClick={() =>
|
||||
setMediaIndex(
|
||||
i + (gameDetails.movies ? gameDetails.movies.length : 0)
|
||||
)
|
||||
}
|
||||
className={`${styles.gallerySliderMediaPreview} ${mediaIndex === i + (gameDetails.movies ? gameDetails.movies.length : 0) ? styles.gallerySliderMediaPreviewActive : ""}`}
|
||||
src={image.path_full}
|
||||
/>
|
||||
)
|
||||
)}
|
||||
{gameDetails.screenshots &&
|
||||
gameDetails.screenshots.map(
|
||||
(image: SteamScreenshot, i: number) => (
|
||||
<img
|
||||
key={"image-thumb-" + i}
|
||||
onClick={() =>
|
||||
setMediaIndex(
|
||||
i + (gameDetails.movies ? gameDetails.movies.length : 0)
|
||||
)
|
||||
}
|
||||
className={`${styles.gallerySliderMediaPreview} ${mediaIndex === i + (gameDetails.movies ? gameDetails.movies.length : 0) ? styles.gallerySliderMediaPreviewActive : ""}`}
|
||||
src={image.path_full}
|
||||
/>
|
||||
)
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
60
src/renderer/src/pages/settings/settings-behavior.tsx
Normal file
60
src/renderer/src/pages/settings/settings-behavior.tsx
Normal file
@ -0,0 +1,60 @@
|
||||
import { useEffect, useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import type { UserPreferences } from "@types";
|
||||
|
||||
import { CheckboxField } from "@renderer/components";
|
||||
|
||||
export interface SettingsBehaviorProps {
|
||||
userPreferences: UserPreferences | null;
|
||||
updateUserPreferences: (values: Partial<UserPreferences>) => void;
|
||||
}
|
||||
|
||||
export function SettingsBehavior({
|
||||
updateUserPreferences,
|
||||
userPreferences,
|
||||
}: SettingsBehaviorProps) {
|
||||
const [form, setForm] = useState({
|
||||
preferQuitInsteadOfHiding: false,
|
||||
runAtStartup: false,
|
||||
});
|
||||
|
||||
const { t } = useTranslation("settings");
|
||||
|
||||
useEffect(() => {
|
||||
if (userPreferences) {
|
||||
setForm({
|
||||
preferQuitInsteadOfHiding: userPreferences.preferQuitInsteadOfHiding,
|
||||
runAtStartup: userPreferences.runAtStartup,
|
||||
});
|
||||
}
|
||||
}, [userPreferences]);
|
||||
|
||||
const handleChange = (values: Partial<typeof form>) => {
|
||||
setForm((prev) => ({ ...prev, ...values }));
|
||||
updateUserPreferences(values);
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<CheckboxField
|
||||
label={t("quit_app_instead_hiding")}
|
||||
checked={form.preferQuitInsteadOfHiding}
|
||||
onChange={() =>
|
||||
handleChange({
|
||||
preferQuitInsteadOfHiding: !form.preferQuitInsteadOfHiding,
|
||||
})
|
||||
}
|
||||
/>
|
||||
|
||||
<CheckboxField
|
||||
label={t("launch_with_system")}
|
||||
onChange={() => {
|
||||
handleChange({ runAtStartup: !form.runAtStartup });
|
||||
window.electron.autoLaunch(!form.runAtStartup);
|
||||
}}
|
||||
checked={form.runAtStartup}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
@ -57,6 +57,11 @@ export function SettingsGeneral({
|
||||
}
|
||||
};
|
||||
|
||||
const handleChange = (values: Partial<typeof form>) => {
|
||||
setForm((prev) => ({ ...prev, ...values }));
|
||||
updateUserPreferences(values);
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className={styles.downloadsPathField}>
|
||||
@ -82,7 +87,7 @@ export function SettingsGeneral({
|
||||
label={t("enable_download_notifications")}
|
||||
checked={form.downloadNotificationsEnabled}
|
||||
onChange={() =>
|
||||
updateUserPreferences({
|
||||
handleChange({
|
||||
downloadNotificationsEnabled: !form.downloadNotificationsEnabled,
|
||||
})
|
||||
}
|
||||
@ -92,7 +97,7 @@ export function SettingsGeneral({
|
||||
label={t("enable_repack_list_notifications")}
|
||||
checked={form.repackUpdatesNotificationsEnabled}
|
||||
onChange={() =>
|
||||
updateUserPreferences({
|
||||
handleChange({
|
||||
repackUpdatesNotificationsEnabled:
|
||||
!form.repackUpdatesNotificationsEnabled,
|
||||
})
|
||||
@ -105,7 +110,7 @@ export function SettingsGeneral({
|
||||
label={t("telemetry_description")}
|
||||
checked={form.telemetryEnabled}
|
||||
onChange={() =>
|
||||
updateUserPreferences({
|
||||
handleChange({
|
||||
telemetryEnabled: !form.telemetryEnabled,
|
||||
})
|
||||
}
|
||||
|
@ -35,7 +35,9 @@ export function SettingsRealDebrid({
|
||||
|
||||
const handleFormSubmit: React.FormEventHandler<HTMLFormElement> = (event) => {
|
||||
event.preventDefault();
|
||||
updateUserPreferences({ realDebridApiToken: form.realDebridApiToken });
|
||||
updateUserPreferences({
|
||||
realDebridApiToken: form.useRealDebrid ? form.realDebridApiToken : null,
|
||||
});
|
||||
};
|
||||
|
||||
const isButtonDisabled = form.useRealDebrid && !form.realDebridApiToken;
|
||||
|
@ -1,11 +1,12 @@
|
||||
import { useEffect, useState } from "react";
|
||||
import { Button, CheckboxField } from "@renderer/components";
|
||||
import { Button } from "@renderer/components";
|
||||
|
||||
import * as styles from "./settings.css";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { UserPreferences } from "@types";
|
||||
import { SettingsRealDebrid } from "./settings-real-debrid";
|
||||
import { SettingsGeneral } from "./settings-general";
|
||||
import { SettingsBehavior } from "./settings-behavior";
|
||||
|
||||
const categories = ["general", "behavior", "real_debrid"];
|
||||
|
||||
@ -46,27 +47,10 @@ export function Settings() {
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<CheckboxField
|
||||
label={t("quit_app_instead_hiding")}
|
||||
checked={form.preferQuitInsteadOfHiding}
|
||||
onChange={() =>
|
||||
updateUserPreferences(
|
||||
"preferQuitInsteadOfHiding",
|
||||
!form.preferQuitInsteadOfHiding
|
||||
)
|
||||
}
|
||||
/>
|
||||
|
||||
<CheckboxField
|
||||
label={t("launch_with_system")}
|
||||
onChange={() => {
|
||||
updateUserPreferences("runAtStartup", !form.runAtStartup);
|
||||
window.electron.autoLaunch(!form.runAtStartup);
|
||||
}}
|
||||
checked={form.runAtStartup}
|
||||
/>
|
||||
</>
|
||||
<SettingsBehavior
|
||||
userPreferences={userPreferences}
|
||||
updateUserPreferences={handleUpdateUserPreferences}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user