diff --git a/.env.example b/.env.example index 47d1a1e3..34502a20 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,5 @@ -MAIN_VITE_STEAMGRIDDB_API_KEY=YOUR_API_KEY MAIN_VITE_API_URL=API_URL +MAIN_VITE_AUTH_URL=AUTH_URL +MAIN_VITE_STEAMGRIDDB_API_KEY=YOUR_API_KEY MAIN_VITE_SENTRY_DSN=YOUR_SENTRY_DSN SENTRY_AUTH_TOKEN= diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 9b4b0250..0ae5b577 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -33,18 +33,11 @@ body: attributes: label: Additional information and data description: | - If possible, add screenshots and upload your logs file here. + Add screenshots and upload your logs file here. Logs location on Windows: "%appdata%/hydra" Logs location on Linux: "~/.config/hydra/" validations: - required: false - - type: textarea - id: screenshots - attributes: - label: Screenshots - description: If possible, add screenshots to help explain your problem. - validations: - required: false + required: true - type: input id: OS attributes: diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 85a7fe1f..5cc4aa4d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,6 +41,7 @@ jobs: yarn build:linux env: MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }} + MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_AUTH_URL }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -50,6 +51,7 @@ jobs: run: yarn build:win env: MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }} + MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_AUTH_URL }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e21acfcb..96b6a08d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -43,6 +43,7 @@ jobs: yarn build:linux env: MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }} + MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_AUTH_URL }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -52,6 +53,7 @@ jobs: run: yarn build:win env: MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_API_URL }} + MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_AUTH_URL }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} MAIN_VITE_SENTRY_DSN: ${{ vars.MAIN_VITE_SENTRY_DSN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.be.md b/README.be.md index f2b5243c..cc6bafb5 100644 --- a/README.be.md +++ b/README.be.md @@ -7,7 +7,7 @@
- Hydra - гэта гульнявы лаўнчар з уласным убудаваным кліентам BitTorrent і самастойным scraper`ам для рэпакаў. + Hydra - гэта гульнявы лаўнчар з уласным убудаваным кліентам BitTorrent.
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) @@ -24,6 +24,7 @@ [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) [![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md) [![da](https://img.shields.io/badge/lang-da-red)](README.da.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -140,9 +141,8 @@ pip install -r requirements.txt ## Пераменныя асяроддзі Вам спатрэбіцца ключ API SteamGridDB, каб атрымаць значкі гульняў пры ўсталёўкі. -Калі вы жадаеце выкарыстоўваць onlinefix у якасці рэпака, вам трэба дадаць вашыя ўліковыя дадзеныя ў файл .env. -Як толькі вы атрымаеце ключ, вы зможаце скапіяваць або пераназваць файл `.env.example` у `.env` і змясціць у яго `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`. +Як толькі вы атрымаеце ключ, вы зможаце скапіяваць або пераназваць файл `.env.example` у `.env` і змясціць у яго `STEAMGRIDDB_API_KEY`. ## Запуск diff --git a/README.cs.md b/README.cs.md index 83903406..7179711a 100644 --- a/README.cs.md +++ b/README.cs.md @@ -24,6 +24,7 @@ [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) [![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md) [![da](https://img.shields.io/badge/lang-da-red)](README.da.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Katalog](./docs/screenshot.png) diff --git a/README.de.md b/README.de.md index 143ad40b..1d7f05f8 100644 --- a/README.de.md +++ b/README.de.md @@ -24,6 +24,7 @@ [![de](https://img.shields.io/badge/lang-de-black)](README.de.md) [![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md) [![da](https://img.shields.io/badge/lang-da-red)](README.da.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Katalog](./docs/screenshot.png) diff --git a/README.es.md b/README.es.md index 2c5911a4..09d8e4e2 100644 --- a/README.es.md +++ b/README.es.md @@ -7,7 +7,7 @@- Hydra es un launcher de juegos con su propio cliente de bittorrent y gestor propio de repacks. + Hydra es un launcher de juegos con su propio cliente de bittorrent.
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) @@ -24,6 +24,7 @@ [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) [![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md) [![da](https://img.shields.io/badge/lang-da-red)](README.da.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -56,17 +57,15 @@ ## Acerca de -**Hydra** es un **Launcher de Juegos** con su propio **Cliente Bittorrent** y **autogestor de Repacks**. +**Hydra** es un **Launcher de Juegos** con su propio **Cliente Bittorrent**.- Hydra est un lanceur de jeux avec son propre client bittorrent intégré et un scraper de repack auto-géré. + Hydra est un lanceur de jeux avec son propre client bittorrent intégré.
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) @@ -24,6 +24,7 @@ [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) [![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md) [![da](https://img.shields.io/badge/lang-da-red)](README.da.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Catalogue Hydra](./docs/screenshot.png) @@ -56,17 +57,15 @@ ## À propos -**Hydra** est un **lanceur de jeux** avec son propre **client BitTorrent** intégré et un **scraper de repack auto-géré**. +**Hydra** est un **lanceur de jeux** avec son propre **client BitTorrent** intégré.- Hydra è un game launcher con il proprio client bittorrent e autogestore di repacks. + Hydra è un game launcher con il proprio client bittorrent.
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) @@ -24,6 +24,7 @@ [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) [![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md) [![da](https://img.shields.io/badge/lang-da-red)](README.da.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -56,17 +57,15 @@ ## A proposito -**Hydra** è un **Game Launcher** con il proprio **Client BitTorrent** e **autogestore di repack**. +**Hydra** è un **Game Launcher** con il proprio **Client BitTorrent**.+ Hydra er en spill launcher sin egen innebygt bittorrent klient. +
+ +[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) +[![release](https://img.shields.io/github/package-json/v/hydralauncher/hydra)](https://github.com/hydralauncher/hydra/releases) + +[![pt-BR](https://img.shields.io/badge/lang-pt--BR-green.svg)](README.pt-BR.md) +[![en](https://img.shields.io/badge/lang-en-red.svg)](README.md) +[![ru](https://img.shields.io/badge/lang-ru-yellow.svg)](README.ru.md) +[![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) +[![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) +[![es](https://img.shields.io/badge/lang-es-red)](README.es.md) +[![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) +[![de](https://img.shields.io/badge/lang-de-black)](README.de.md) +[![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) +[![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) + +![Hydra Catalogue](./docs/screenshot.png) + +- Hydra - to program uruchamiający gry z własnym wbudowanym klientem bittorrent i samodzielnie zarządzanym repackagerem.. + Hydra - to program uruchamiający gry z własnym wbudowanym klientem bittorrent.
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) @@ -24,6 +24,7 @@ [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) [![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md) [![da](https://img.shields.io/badge/lang-da-red)](README.da.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -56,17 +57,15 @@ ## O nas -**Hydra** - jest **programem uruchamiającym gry** z wbudowanym **klientem BitTorrent** i **samozarządzającym się repackagerem**. +**Hydra** - jest **programem uruchamiającym gry** z wbudowanym **klientem BitTorrent**.- Hydra é um Launcher de Jogos com seu próprio cliente de bittorrent integrado e um wrapper autogerenciado para busca de repacks. + Hydra é um Launcher de Jogos com seu próprio cliente de bittorrent integrado.
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) @@ -24,6 +24,7 @@ [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) [![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md) [![da](https://img.shields.io/badge/lang-da-red)](README.da.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -56,17 +57,15 @@ ## Sobre -**Hydra** é um **Launcher de Jogos** com seu próprio **Cliente BitTorrent incorporado** e um **raspador de repack auto-gerenciado**. +**Hydra** é um **Launcher de Jogos** com seu próprio **Cliente BitTorrent incorporado**.- Hydra - это игровой лаунчер с собственным встроенным клиентом BitTorrent и самостоятельным scraper`ом для репаков. + Hydra - это игровой лаунчер с собственным встроенным клиентом BitTorrent.
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) @@ -24,6 +24,7 @@ [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) [![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md) [![da](https://img.shields.io/badge/lang-da-red)](README.da.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -140,9 +141,8 @@ pip install -r requirements.txt ## Переменные среды Вам понадобится ключ API SteamGridDB, чтобы получить значки игр при установке. -Если вы хотите использовать onlinefix в качестве репака, вам нужно добавить ваши учетные данные в файл .env. -Как только у вас будет ключ, вы можете скопировать или переименовать файл `.env.example` в `.env` и поместить в него `STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`. +Как только у вас будет ключ, вы можете скопировать или переименовать файл `.env.example` в `.env` и поместить в него `STEAMGRIDDB_API_KEY`. ## Запуск diff --git a/README.uk-UA.md b/README.uk-UA.md index 69bb69f7..d69ffc21 100644 --- a/README.uk-UA.md +++ b/README.uk-UA.md @@ -7,7 +7,7 @@- Hydra - це ігровий лаунчер з власним вбудованим bittorrent-клієнтом і самокерованим збирачем репаків. + Hydra - це ігровий лаунчер з власним вбудованим bittorrent-клієнтом.
[![build](https://img.shields.io/github/actions/workflow/status/hydralauncher/hydra/build.yml)](https://github.com/hydralauncher/hydra/actions) @@ -24,6 +24,7 @@ [![ita](https://img.shields.io/badge/lang-it-red)](README.it.md) [![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md) [![da](https://img.shields.io/badge/lang-da-red)](README.da.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) @@ -144,9 +145,8 @@ pip install -r requirements.txt ## Змінні середовища Вам знадобиться ключ API SteamGridDB, щоб отримати іконки ігор під час встановлення. -Якщо ви хочете використовувати onlinefix як перепакувальник, вам потрібно додати свої облікові дані до .env -Отримавши його, ви можете скопіювати або перейменувати файл `.env.example` на `.env`і помістити його на`STEAMGRIDDB_API_KEY`, `ONLINEFIX_USERNAME`, `ONLINEFIX_PASSWORD`. +Отримавши його, ви можете скопіювати або перейменувати файл `.env.example` на `.env`і помістити його на`STEAMGRIDDB_API_KEY`. ## Запустіть diff --git a/build/installer.nsh b/build/installer.nsh new file mode 100644 index 00000000..9ae2d42b --- /dev/null +++ b/build/installer.nsh @@ -0,0 +1,7 @@ +!macro customUnInstall + ${ifNot} ${isUpdated} + RMDir /r "$APPDATA\${APP_PACKAGE_NAME}" + RMDir /r "$APPDATA\hydra" + RMDir /r "$LOCALAPPDATA\hydralauncher-updater" + ${endIf} +!macroend diff --git a/electron-builder.yml b/electron-builder.yml index 8d94d3ed..a085b1e9 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -27,6 +27,7 @@ nsis: createDesktopShortcut: always oneClick: false allowToChangeInstallationDirectory: true + include: installer.nsh portable: artifactName: ${name}-${version}-portable.${ext} mac: diff --git a/package.json b/package.json index c9f3885f..a9fd7786 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hydralauncher", - "version": "2.1.4", + "version": "2.1.7", "description": "Hydra", "main": "./out/main/index.js", "author": "Los Broxas", diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 312b1870..784da11e 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -311,6 +311,7 @@ "report_reason_violence": "Violence", "report_reason_spam": "Spam", "report_reason_other": "Other", - "profile_reported": "Profile reported" + "profile_reported": "Profile reported", + "your_friend_code": "Your friend code:" } } diff --git a/src/locales/index.ts b/src/locales/index.ts index fcb8d09e..8b5f9d9a 100644 --- a/src/locales/index.ts +++ b/src/locales/index.ts @@ -22,6 +22,7 @@ import ro from "./ro/translation.json"; import ca from "./ca/translation.json"; import kk from "./kk/translation.json"; import cs from "./cs/translation.json"; +import nb from "./nb/translation.json"; export default { "pt-BR": ptBR, @@ -48,4 +49,5 @@ export default { ca, kk, cs, + nb, }; diff --git a/src/locales/nb/translation.json b/src/locales/nb/translation.json new file mode 100644 index 00000000..b00b3fa3 --- /dev/null +++ b/src/locales/nb/translation.json @@ -0,0 +1,316 @@ +{ + "language_name": "Norsk Bokmål", + "app": { + "successfully_signed_in": "Logget inn vellykket" + }, + "home": { + "featured": "Anbefalinger", + "trending": "Trender", + "surprise_me": "Overrask meg", + "no_results": "Ingen resultater fundet", + "start_typing": "Begynn å skrive for å søke...", + "hot": "Populært akkurat nå", + "weekly": "📅 De mest populære spillene denne uken" + }, + "sidebar": { + "catalogue": "Katalog", + "downloads": "Nedlastinger", + "settings": "Innstillinger", + "my_library": "Mitt bibliotek", + "downloading_metadata": "{{title}} (Laster ned metadata…)", + "paused": "{{title}} (Satt på pause)", + "downloading": "{{title}} ({{percentage}} - Laster ned…)", + "filter": "Filtrér bibliotek", + "home": "Hjem", + "queued": "{{title}} (I køen)", + "game_has_no_executable": "Spillet har ikke noen kjørbar fil valgt", + "sign_in": "Logge inn", + "friends": "Venner" + }, + "header": { + "search": "Søk efter spill", + "home": "Hjem", + "catalogue": "Katalog", + "downloads": "Nedlastinger", + "search_results": "Søkeresultater", + "settings": "Innstillinger", + "version_available_install": "Versjon {{version}} tilgjengelig. Klikk her for å gjenstarte og installere.", + "version_available_download": "Versjon {{version}} tilgjengelig. Klikk her for at laste ned." + }, + "bottom_panel": { + "no_downloads_in_progress": "Ingen nedlastinger pågår", + "downloading_metadata": "Laster ned {{title}} metadata…", + "downloading": "Laster ned {{title}}… ({{percentage}} ferdig) - Fullstendig nedlastet {{eta}} - {{speed}}", + "calculating_eta": "Laster ned {{title}}… ({{percentage}} ferdig) - Regner ut resterende tid…", + "checking_files": "Sjekker {{title}} filer… ({{percentage}} ferdig)" + }, + "catalogue": { + "next_page": "Neste side", + "previous_page": "Forrige side" + }, + "game_details": { + "open_download_options": "Åpne nedlastingsmuligheter", + "download_options_zero": "Ingen nedlastingsmulighet", + "download_options_one": "{{count}} nedlastingsmulighet", + "download_options_other": "{{count}} nedlastingsmuligheter", + "updated_at": "Oppdatert {{updated_at}}", + "install": "Installere", + "resume": "Fortsett", + "pause": "Pause", + "cancel": "Kansellere", + "remove": "Fjern", + "space_left_on_disk": "{{space}} tilbake på harddisken", + "eta": "Konklusjon {{eta}}", + "calculating_eta": "Utregner resterende tid…", + "downloading_metadata": "Laster ned metadata…", + "filter": "Filtrér gjennpakkinger", + "requirements": "Systemkrav", + "minimum": "Mindste", + "recommended": "Anbefalet", + "paused": "Satt på pause", + "release_date": "Offentliggjort den {{date}}", + "publisher": "Gitt ut av {{publisher}}", + "hours": "timer", + "minutes": "minutter", + "amount_hours": "{{amount}} timer", + "amount_minutes": "{{amount}} minutter", + "accuracy": "{{accuracy}}% nøyaktighet", + "add_to_library": "Tilføy til biblioteket", + "remove_from_library": "Fjern fra biblioteket", + "no_downloads": "Ingen nedlastinger tilgjengelig", + "play_time": "Spilt i {{amount}}", + "last_time_played": "Sist spilt {{period}}", + "not_played_yet": "Du har ikke spilt {{title}} enda", + "next_suggestion": "Neste forslag", + "play": "Spil", + "deleting": "Sletter installatør…", + "close": "Lukk", + "playing_now": "Spiller nå", + "change": "Endre", + "repacks_modal_description": "Velg den gjennpakking du vil laste ned", + "select_folder_hint": "For å endre standard mappen, gå til <0>Innstillingene0>", + "download_now": "Last ned nå", + "no_shop_details": "Kunne ikke modta butikksdetaljene.", + "download_options": "Nedlastingsmuligheter", + "download_path": "Nedlastingssti", + "previous_screenshot": "Forrige skjermbilde", + "next_screenshot": "Neste skjermbilde", + "screenshot": "Skjermbilde {{number}}", + "open_screenshot": "Åpen skjermbilde {{number}}", + "download_settings": "Nedlastingsinnstillinger", + "downloader": "Laster ned", + "select_executable": "Velg", + "no_executable_selected": "Ingen kjørbar fil valgt", + "open_folder": "Åpne mappe", + "open_download_location": "Se nedlastingede filer", + "create_shortcut": "Opprett snarvei på skrivebordet", + "remove_files": "Fjern filer", + "remove_from_library_title": "Er du sikker?", + "remove_from_library_description": "Dette vil fjerne {{game}} fra biblioteket ditt", + "options": "Valgmuligheter", + "executable_section_title": "Kjørbar fil", + "executable_section_description": "Sti til filen som skal brukes når det trykkes på \"Spill\"", + "downloads_secion_title": "Nedlastinger", + "downloads_section_description": "Sjekk for oppdateringer eller andre versjoner af dette spillet", + "danger_zone_section_title": "Faresonen", + "danger_zone_section_description": "Fjern dette spillet fra biblioteket ditt eller filene som har blitt lastet ned av Hydra", + "download_in_progress": "Nedlasting pågår", + "download_paused": "Nedlasting satt på pause", + "last_downloaded_option": "Siste nedlastingsmulighet", + "create_shortcut_success": "Opprettelse av snarvei vellykket", + "create_shortcut_error": "Feil under oprettelsen av snarvei", + "nsfw_content_title": "Dette spillet inneholder upassende innhold", + "nsfw_content_description": "{{title}} inneholder innhold som ikke passer til alle aldre. Er du sikker på at du vil fortsette?", + "allow_nsfw_content": "Fortsett", + "refuse_nsfw_content": "Gå tilbake", + "stats": "Statistikk", + "download_count": "Nedlastinger", + "player_count": "Aktive spillere", + "download_error": "Denne nedlastingsmulighet er ikke tilgjengelig", + "download": "Last ned", + "executable_path_in_use": "Kjørbar fil blir allerede brukt av \"{{game}}\"", + "warning": "Advarsel:", + "hydra_needs_to_remain_open": "Hydra skal forbli åpent for at denne nedlastingen kan gjennomføres. I tilfelle av at Hydra lukker før nedlastingen er ferdig, mister du fremskrittet ditt." + }, + "activation": { + "title": "Aktivér Hydra", + "installation_id": "Installasjons ID:", + "enter_activation_code": "Inntast aktiveringskoden din", + "message": "Hvis du ikke vet hvor du skal spørre om dette, burde du ikke ha dette.", + "activate": "Aktivér", + "loading": "Innleser…" + }, + "downloads": { + "resume": "Fortsett", + "pause": "Pause", + "eta": "Konklusjon {{eta}}", + "paused": "Satt på pause", + "verifying": "Verifiserer…", + "completed": "Ferdig", + "removed": "Ikke lastet ned", + "cancel": "Kansellér", + "filter": "Filtrér nedlastede spill", + "remove": "Fjern", + "downloading_metadata": "Laster ned metadata…", + "deleting": "Sletter installatør…", + "delete": "Fjern installatør", + "delete_modal_title": "Er du sikker?", + "delete_modal_description": "Dette vil fjerne alle installasjonsfilene fra datamaskinen din", + "install": "Installér", + "download_in_progress": "Pågår", + "queued_downloads": "Nedlastingskø", + "downloads_completed": "Gjennomførte", + "queued": "I kø", + "no_downloads_title": "Ganske tomt", + "no_downloads_description": "Du har ikke lastet ned noe med Hydra enda, men det er aldri for sent å begynne.", + "checking_files": "Undersøker filer…" + }, + "settings": { + "downloads_path": "Nedlastingssti", + "change": "Oppdater", + "notifications": "Notifikasjoner", + "enable_download_notifications": "Når en nedlasting blir ferdig", + "enable_repack_list_notifications": "Når en ny gjennpakking bliver lagt til", + "real_debrid_api_token_label": "Real-Debrid API nøkkel", + "quit_app_instead_hiding": "Avslut Hydra i stedet for å minimere til prosesslinjen", + "launch_with_system": "Åpne Hydra ved oppstart av datamaskinen", + "general": "Generelt", + "behavior": "Oppførsel", + "download_sources": "Nedlastingskilder", + "language": "Språk", + "real_debrid_api_token": "API nøkkel", + "enable_real_debrid": "Slå på Real-Debrid", + "real_debrid_description": "Real-Debrid er en ubegrenset nedlaster som gør det mulig for deg å laste ned filer med en gang og med den beste utnyttelsen av internethastigheten din.", + "real_debrid_invalid_token": "Ugyldig API nøkkel", + "real_debrid_api_token_hint": "Du kan få API nøkkelen din <0>her0>", + "real_debrid_free_account_error": "Brukeren \"{{username}}\" er en gratis bruker. Vennligst abboner på Real-Debrid", + "real_debrid_linked_message": "Brukeren \"{{username}}\" er forbunnet", + "save_changes": "Lagre endringer", + "changes_saved": "Lagring av endringer vellykket", + "download_sources_description": "Hydra vil hente nedlastingslenker fra disse kildene. Kilde URLen skal være en direkte lenke til en .json fil som inneholder nedlastingslenkene.", + "validate_download_source": "Validér", + "remove_download_source": "Fjern", + "add_download_source": "Legg til kilde", + "download_count_zero": "Ingen nedlastingsmuligheter", + "download_count_one": "{{countFormatted}} nedlastingsmulighet", + "download_count_other": "{{countFormatted}} nedlastingsmuligheter", + "download_source_url": "Last ned kilde URL", + "add_download_source_description": "Sett inn URLen som inneholder .json filen", + "download_source_up_to_date": "Oppdatert", + "download_source_errored": "Mislyktes", + "sync_download_sources": "Synkroniser kilder", + "removed_download_source": "Nedlastingskilde fjernet", + "added_download_source": "La til Nedlastingskilde", + "download_sources_synced": "Alle nedlastingskilder er synkroniserte", + "insert_valid_json_url": "Innsett en gyldig JSON url", + "found_download_option_zero": "Ingen nedlastingsmulighet funnet", + "found_download_option_one": "Fant {{countFormatted}} nedlastingsmulighet", + "found_download_option_other": "Fant {{countFormatted}} nedlastingsmuligheter", + "import": "Importer", + "public": "Offentlig", + "private": "Privat", + "friends_only": "Kun blant venner", + "privacy": "Privatliv", + "profile_visibility": "Synlighet av profil", + "profile_visibility_description": "Velg hvem som kan se profilen din og biblioteket ditt", + "required_field": "Dette feltet er påkrevet", + "source_already_exists": "Denne kilden har allerede blitt lagt til", + "must_be_valid_url": "Kilden må være en gyldig URL", + "blocked_users": "Blokerte brukere", + "user_unblocked": "Brukeren har blit avblokert" + }, + "notifications": { + "download_complete": "Nedlasting ferdig", + "game_ready_to_install": "{{title}} er klar til å bli installert", + "repack_list_updated": "Gjennpakkingslisten er opdateret", + "repack_count_one": "{{count}} gjennpakking lagt til", + "repack_count_other": "{{count}} gjennpakkinger lagt til", + "new_update_available": "Versjon {{version}} tilgjengelig", + "restart_to_install_update": "Gjenstart Hydra for å installere oppdateringen" + }, + "system_tray": { + "open": "Åpne Hydra", + "quit": "Avslutt" + }, + "game_card": { + "no_downloads": "Ingen nedlastinger tilgjengelig" + }, + "binary_not_found_modal": { + "title": "Programmer ikke installert", + "description": "Wine eller Lutris kjørbar ble ikke funnet på systemet ditt", + "instructions": "Sjekk den korrekte måten å installere noen av de, på Linux distributionen din, så spillet kan kjøre på vanlig måte" + }, + "modal": { + "close": "Lukk knapp" + }, + "forms": { + "toggle_password_visibility": "Skift synlighet af passord" + }, + "user_profile": { + "amount_hours": "{{amount}} timer", + "amount_minutes": "{{amount}} minutter", + "last_time_played": "Sist spilt {{period}}", + "activity": "Seneste aktivitet", + "library": "Bibliotek", + "total_play_time": "Samlet spilltid: {{amount}}", + "no_recent_activity_title": "Hmmm… ikke noe her", + "no_recent_activity_description": "Du har ikke spilt noen spill for på det seneste. Det er det på tide at endre på!", + "display_name": "Brukernavn", + "saving": "Lagrer", + "save": "Lagre", + "edit_profile": "Rediger Profil", + "saved_successfully": "Lagring vellykket", + "try_again": "Vennligst, prøv igjen", + "sign_out_modal_title": "Er du sikker?", + "cancel": "Kansellér", + "successfully_signed_out": "Utlogging vellykket", + "sign_out": "Log ut", + "playing_for": "Spiller i {{amount}}", + "sign_out_modal_text": "Biblioteket ditt er sammenkobelt med den nåverende brukeren. Når du logger ut er biblioteket ditt ikke synlig lenger, og hvilken som helst form for fremskritt bliver ikke lagret. Vil du fortsette med å logge ut?", + "add_friends": "Legg til venner", + "add": "Legg til", + "friend_code": "Vennekode", + "see_profile": "Se profil", + "sending": "Sender", + "friend_request_sent": "Venneforespørsel sendt", + "friends": "Venner", + "friends_list": "Venneliste", + "user_not_found": "Bruker ikke funnet", + "block_user": "Blokkere bruker", + "add_friend": "Legg til venn", + "request_sent": "Forespørsel sendt", + "request_received": "Forespørsel modtatt", + "accept_request": "Akseptere forespørsel", + "ignore_request": "Ignorere forespørsel", + "cancel_request": "Kansellre forespørsel", + "undo_friendship": "Angre venskab", + "request_accepted": "Forespørsel akseptert", + "user_blocked_successfully": "Blokkering av bruker vellykket", + "user_block_modal_text": "Dette blokerer {{displayName}}", + "blocked_users": "Blokerte brukere", + "unblock": "Avblokere", + "no_friends_added": "Du har fortsatt ikke lagt til noen venner", + "pending": "Avventer", + "no_pending_invites": "Du har ingen avventende invitasjoner", + "no_blocked_users": "Du har ingen blokerte brukere", + "friend_code_copied": "Vennekode kopiert", + "undo_friendship_modal_text": "Dette vil angre venskapet ditt med {{displayName}}", + "privacy_hint": "For å justere på hvem som kan se dette, gå til <0>Innstillingene0>", + "locked_profile": "Denne profilen er privat", + "image_process_failure": "Mislyktes under håndteringen av bildet", + "required_field": "Dette feltet er påkrevet", + "displayname_min_length": "Brukernavnet skal være minst 3 karakterer langt", + "displayname_max_length": "Brukernavnet skal være maksimalt 50 karakterer langt", + "report_profile": "Rapportér denne profilen", + "report_reason": "Hvorfor rapportérer du denne profilen?", + "report_description": "Mer informasjon", + "report_description_placeholder": "Mer informasjon", + "report": "Rapportér", + "report_reason_hate": "Hatytringer", + "report_reason_sexual_content": "Seksuelt innhold", + "report_reason_violence": "Vold", + "report_reason_spam": "Spam", + "report_reason_other": "Annet", + "profile_reported": "Profil rapportert" + } +} diff --git a/src/locales/pt-BR/translation.json b/src/locales/pt-BR/translation.json index 168e5b5f..fcb18659 100644 --- a/src/locales/pt-BR/translation.json +++ b/src/locales/pt-BR/translation.json @@ -315,6 +315,7 @@ "report_reason_violence": "Violência", "report_reason_spam": "Spam", "report_reason_other": "Outro", - "profile_reported": "Perfil reportado" + "profile_reported": "Perfil reportado", + "your_friend_code": "Seu código de amigo:" } } diff --git a/src/locales/pt-PT/translation.json b/src/locales/pt-PT/translation.json index 7e16f762..85c1a3c5 100644 --- a/src/locales/pt-PT/translation.json +++ b/src/locales/pt-PT/translation.json @@ -275,6 +275,7 @@ "no_pending_invites": "Não tens convites de amizade pendentes", "no_blocked_users": "Não tens nenhum utilizador bloqueado", "friend_code_copied": "Código de amigo copiado", - "image_process_failure": "Falha ao processar a imagem" + "image_process_failure": "Falha ao processar a imagem", + "your_friend_code": "Seu código de amigo:" } } diff --git a/src/main/constants.ts b/src/main/constants.ts index c8cf182f..92973118 100644 --- a/src/main/constants.ts +++ b/src/main/constants.ts @@ -11,3 +11,5 @@ export const logsPath = path.join(app.getPath("appData"), "hydra", "logs"); export const seedsPath = app.isPackaged ? path.join(process.resourcesPath, "seeds") : path.join(__dirname, "..", "..", "seeds"); + +export const appVersion = app.getVersion(); diff --git a/src/main/events/index.ts b/src/main/events/index.ts index 54e63a3b..0337c9d8 100644 --- a/src/main/events/index.ts +++ b/src/main/events/index.ts @@ -1,5 +1,5 @@ -import { defaultDownloadsPath } from "@main/constants"; -import { app, ipcMain } from "electron"; +import { appVersion, defaultDownloadsPath } from "@main/constants"; +import { ipcMain } from "electron"; import "./catalogue/get-catalogue"; import "./catalogue/get-game-shop-details"; @@ -63,6 +63,6 @@ import "./profile/sync-friend-requests"; import { isPortableVersion } from "@main/helpers"; ipcMain.handle("ping", () => "pong"); -ipcMain.handle("getVersion", () => app.getVersion()); +ipcMain.handle("getVersion", () => appVersion); ipcMain.handle("isPortableVersion", () => isPortableVersion()); ipcMain.handle("getDefaultDownloadsPath", () => defaultDownloadsPath); diff --git a/src/main/knex-client.ts b/src/main/knex-client.ts index d7206677..b6ec3e3d 100644 --- a/src/main/knex-client.ts +++ b/src/main/knex-client.ts @@ -5,6 +5,7 @@ import { RepackUris } from "./migrations/20240830143906_RepackUris"; import { UpdateUserLanguage } from "./migrations/20240913213944_update_user_language"; import { EnsureRepackUris } from "./migrations/20240915035339_ensure_repack_uris"; import { app } from "electron"; +import { FixMissingColumns } from "./migrations/20240918001920_FixMissingColumns"; export type HydraMigration = Knex.Migration & { name: string }; @@ -15,6 +16,7 @@ class MigrationSource implements Knex.MigrationSourceSeu código de amigo:
+{t("your_friend_code")}