From aa2ecfad96b78a8ea7437180bfa41cc0298cc1f3 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Tue, 17 Sep 2024 21:49:30 -0300 Subject: [PATCH 01/18] feat: add migration to add missing columns from installations before 2.0 --- src/main/knex-client.ts | 2 + .../20240918001920_FixMissingColumns.ts | 41 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 src/main/migrations/20240918001920_FixMissingColumns.ts 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.MigrationSource { RepackUris, UpdateUserLanguage, EnsureRepackUris, + FixMissingColumns, ]); } getMigrationName(migration: HydraMigration): string { diff --git a/src/main/migrations/20240918001920_FixMissingColumns.ts b/src/main/migrations/20240918001920_FixMissingColumns.ts new file mode 100644 index 00000000..d23662ed --- /dev/null +++ b/src/main/migrations/20240918001920_FixMissingColumns.ts @@ -0,0 +1,41 @@ +import type { HydraMigration } from "@main/knex-client"; +import type { Knex } from "knex"; + +export const FixMissingColumns: HydraMigration = { + name: "FixMissingColumns", + up: async (knex: Knex) => { + const timestamp = new Date().getTime(); + await knex.schema + .hasColumn("repack", "downloadSourceId") + .then(async (exists) => { + if (!exists) { + await knex.schema.table("repack", (table) => { + table + .integer("downloadSourceId") + .references("download_source.id") + .onDelete("CASCADE"); + }); + } + }); + + await knex.schema.hasColumn("game", "remoteId").then(async (exists) => { + if (!exists) { + await knex.schema.table("game", (table) => { + table + .text("remoteId") + .unique({ indexName: "game_remoteId_unique_" + timestamp }); + }); + } + }); + + await knex.schema.hasColumn("game", "uri").then(async (exists) => { + if (!exists) { + await knex.schema.table("game", (table) => { + table.text("uri"); + }); + } + }); + }, + + down: async (_knex: Knex) => {}, +}; From e139423b525865036dfd1973627556f0bb12f458 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Tue, 17 Sep 2024 21:49:59 -0300 Subject: [PATCH 02/18] feat: add axios user agent header with Hydra version --- src/main/constants.ts | 2 ++ src/main/events/index.ts | 6 +++--- src/main/services/hydra-api.ts | 7 ++++++- 3 files changed, 11 insertions(+), 4 deletions(-) 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/services/hydra-api.ts b/src/main/services/hydra-api.ts index 90149038..769447a6 100644 --- a/src/main/services/hydra-api.ts +++ b/src/main/services/hydra-api.ts @@ -7,6 +7,7 @@ import { clearGamesRemoteIds } from "./library-sync/clear-games-remote-id"; import { logger } from "./logger"; import { UserNotLoggedInError } from "@shared"; import { omit } from "lodash-es"; +import { appVersion } from "@main/constants"; interface HydraApiOptions { needsAuth: boolean; @@ -80,12 +81,16 @@ export class HydraApi { static async setupApi() { this.instance = axios.create({ baseURL: import.meta.env.MAIN_VITE_API_URL, + headers: { "User-Agent": `Hydra Launcher v${appVersion}` }, }); this.instance.interceptors.request.use( (request) => { logger.log(" ---- REQUEST -----"); - logger.log(request.method, request.url, request.params, request.data); + const data = Array.isArray(request.data) + ? request.data + : omit(request.data, ["refreshToken"]); + logger.log(request.method, request.url, request.params, data); return request; }, (error) => { From 227136819929fd5a901b57d6fed23473fc76fc8d Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Tue, 17 Sep 2024 21:56:50 -0300 Subject: [PATCH 03/18] chore: bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c9f3885f..36fe8898 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hydralauncher", - "version": "2.1.4", + "version": "2.1.5", "description": "Hydra", "main": "./out/main/index.js", "author": "Los Broxas", From df5f34119f68ec914fbbd8b1ae879d0214d172b5 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Tue, 17 Sep 2024 23:02:12 -0300 Subject: [PATCH 04/18] feat: add script to remove hydra folders on uninstall --- build/installer.nsh | 4 ++++ electron-builder.yml | 1 + 2 files changed, 5 insertions(+) create mode 100644 build/installer.nsh diff --git a/build/installer.nsh b/build/installer.nsh new file mode 100644 index 00000000..cdc0be30 --- /dev/null +++ b/build/installer.nsh @@ -0,0 +1,4 @@ +!macro customUnInstall + RMDir /r "$APPDATA\${APP_PACKAGE_NAME}" + RMDir /r "$APPDATA\hydra" +!macroend \ No newline at end of file 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: From 2e87ae848613af4edcc55ff1d80870326a4dd314 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Wed, 18 Sep 2024 06:50:20 -0300 Subject: [PATCH 05/18] fix: new line --- build/installer.nsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/installer.nsh b/build/installer.nsh index cdc0be30..2c9c98c9 100644 --- a/build/installer.nsh +++ b/build/installer.nsh @@ -1,4 +1,4 @@ !macro customUnInstall RMDir /r "$APPDATA\${APP_PACKAGE_NAME}" RMDir /r "$APPDATA\hydra" -!macroend \ No newline at end of file +!macroend From 2bc98317e97f68dacc67352b93616e7ddcc0fe2a Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Wed, 18 Sep 2024 07:07:29 -0300 Subject: [PATCH 06/18] fix: conditional to check if hydra is updating --- build/installer.nsh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build/installer.nsh b/build/installer.nsh index 2c9c98c9..89693a5c 100644 --- a/build/installer.nsh +++ b/build/installer.nsh @@ -1,4 +1,6 @@ !macro customUnInstall - RMDir /r "$APPDATA\${APP_PACKAGE_NAME}" - RMDir /r "$APPDATA\hydra" + ${ifNot} ${isUpdated} + RMDir /r "$APPDATA\${APP_PACKAGE_NAME}" + RMDir /r "$APPDATA\hydra" + ${endIf} !macroend From 74d2ec8238e151e20ee862be0f0cac517fe70b0b Mon Sep 17 00:00:00 2001 From: Alexander Hostrup Date: Wed, 18 Sep 2024 19:53:46 +0200 Subject: [PATCH 07/18] =?UTF-8?q?Added=20translation=20and=20README=20in?= =?UTF-8?q?=20Norwegian=20Bokm=C3=A5l?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.be.md | 1 + README.cs.md | 1 + README.de.md | 1 + README.es.md | 1 + README.fr.md | 1 + README.it.md | 1 + README.md | 1 + README.nb.md | 187 +++++++++++++++++++ README.pl.md | 1 + README.pt-BR.md | 1 + README.ru.md | 1 + README.uk-UA.md | 1 + src/locales/index.ts | 2 + src/locales/nb/translation.json | 317 ++++++++++++++++++++++++++++++++ 14 files changed, 517 insertions(+) create mode 100644 README.nb.md create mode 100644 src/locales/nb/translation.json diff --git a/README.be.md b/README.be.md index 8c104a81..aaaa4078 100644 --- a/README.be.md +++ b/README.be.md @@ -23,6 +23,7 @@ [![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) +[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.cs.md b/README.cs.md index 86f869b9..6b05821c 100644 --- a/README.cs.md +++ b/README.cs.md @@ -23,6 +23,7 @@ [![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) +[![cs](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 3f6e9d90..8703e767 100644 --- a/README.de.md +++ b/README.de.md @@ -23,6 +23,7 @@ [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) [![de](https://img.shields.io/badge/lang-de-black)](README.de.md) [![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md) +[![cs](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 eead7276..78435e1d 100644 --- a/README.es.md +++ b/README.es.md @@ -23,6 +23,7 @@ [![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) +[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.fr.md b/README.fr.md index f34fd037..8846bdd9 100644 --- a/README.fr.md +++ b/README.fr.md @@ -23,6 +23,7 @@ [![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) +[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Catalogue Hydra](./docs/screenshot.png) diff --git a/README.it.md b/README.it.md index d8ca75fb..968a4e6b 100644 --- a/README.it.md +++ b/README.it.md @@ -23,6 +23,7 @@ [![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) +[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.md b/README.md index 29ff6b24..f429a722 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ [![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) +[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.nb.md b/README.nb.md new file mode 100644 index 00000000..129059b7 --- /dev/null +++ b/README.nb.md @@ -0,0 +1,187 @@ +
+ +
+ +[](https://hydralauncher.site) + +

Hydra Launcher

+ +

+ 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) +[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) + +![Hydra Catalogue](./docs/screenshot.png) + +
+ +## Innhold + +- [Innhold](#innhold) +- [Om](#om) +- [Funksjoner](#funksjoner) +- [Installasjon](#installasjon) +- [Bidra](#-bidra) + - [Bli med i Telegram kanalen vår](#-join-our-telegram) + - [Forke og klone repoet ditt](#fork-and-clone-your-repository) + - [Måter du kan bidra](#ways-you-can-contribute) + - [Prosjekt Struktur](#project-structure) +- [Bygg fra kilden](#build-from-source) + - [Installere Node.js](#install-nodejs) + - [Installere Yarn](#install-yarn) + - [Installere Node-avhengigheter](#install-node-dependencies) + - [Installere Python 3.9](#install-python-39) + - [Installere Python-avhengigheter](#install-python-dependencies) +- [Miljøvariabler](#environment-variables) +- [Kjøre](#running) +- [Bygge](#build) + - [Bygg bittorrent klienten](#build-the-bittorrent-client) + - [Bygg Electron applikationen](#build-the-electron-application) +- [Bidragsytere](#contributors) +- [Lisens](#license) + +## Om + +**Hydra** er en **Spill Launcher** sin egne innbygte **BitTorrent Klient**. +
+Launcheren er skrevet i TypeScript (Electron) og Python, som håndterer torrent systemet ved bruk av libtorrent. + +## Funksjoner + +- Sin egen innebyggte bittorrent klient +- How Long To Beat (HLTB) integrasjon på spillsiden +- Nedlastingssti tilpasning +- Windows og Linux understøttelse +- Konstant oppdatert +- Og mer ... + +## Installasjon + +Følg trinnene her under for å innstallere: + +1. Last ned den seneste versjonen av Hydra fra [Releases](https://github.com/hydralauncher/hydra/releases/latest) siden. + - Last kun .exe filen ned om du vil installere Hydra på Windows. + - Last kun .deb, .rpm eller .zip ned om du vil installere Hydra på Linux. (kommer an på Linux distroen din) +2. Kjør den nedlastede filen. +3. Nyt Hydra! + +## Bidra + +### Bli med i Telegram kanalen vår + +Vi holder diskusjonene våres i [Telegram](https://t.me/hydralauncher) kanalen. + +### Forke og klone repoet ditt + +1. Fork repoet [(trykk her for å forke nå)](https://github.com/hydralauncher/hydra/fork) +2. Klon den forkede koden `git clone https://github.com/brukernavnet_ditt/hydra` +3. Lag en ny branch +4. Skyv committene dine +5. Send inn en ny Pull-forespørsel. + +### Måter du kan bidra + +- Oversetting: Vi har lyst at Hydra skal bli tilgjengelig for så mange som mulig. Hjelp gjerne med å oversette til nye språk eller oppdater og forbedre de som allerede er tilgjengelige i Hydra. +- Code: Hydra is built with Typescript, Electron and a little bit of Python. If you want to contribute, join our [Telegram](https://t.me/hydralauncher)! +- Kode: Hydra er laget med Typescript, Electron og lite gran Pythong. Hvis du har lyst på å bidra, bli med i [Telegram](https://t.me/hydralauncher) kanalen vår! + +### Prosjektstruktur + +- torrent-client: Vi bruker libtorrent, et Python-bibliotek, til å håndtere torrent nedlastinger. +- src/renderer: UIen til applikasjonen +- src/main: all logikken er her. + +## Bygg fra kildekoden + +### Installere Node.js + +Vær sikker på at du har installert Node.js på maskinen din. Hvis du ikke har det, må du laste ned og installere det fra [nodejs.org](https://nodejs.org/). + +### Installere Yarn + +Yarn er et pakkehåndteringsverktøy til Node.js. Hvis du ikke allerede har installert Yarn, da kan du gjøre det ved å følge instruksjonene på [yarnpkg.com](https://classic.yarnpkg.com/lang/en/docs/install/). + +### Installere Node-avhengigheter + +Naviger til prosjektmappen og installer Node-avhengighetene ved bruk av Yarn: + +```bash +cd hydra +yarn +``` + +### Installere Python 3.9 + +Vær sikker på at du har installert Python 3.9 på maskinen din. Du kan laste ned og installere det på [python.org](https://www.python.org/downloads/release/python-3913/). + +### Installere Python-avhengigheter + +Installer de nødvendige Python-avhengigheter ved bruk av pip: + +```bash +pip install -r requirements.txt +``` + +## Miljøvariabler + +Du trenger en SteamGridDB API nøkkel for å kunne hente spillikonene ved installasjon. + +Når du har det, kan du kopiere eller endre navnet på `.env.example` filen til å være `.env` og lagre nøkkelen som `STEAMGRIDDB_API_KEY`. + +## Kjøre + +Når alt er satt op, kan du kjøre følgende kommando for å start både Electron prosessen og bittorrent klienten. + +```bash +yarn dev +``` + +## Bygge + +### Bygge bittorrent klienten + +Bygg bittorrent klienten ved å bruke denne kommandoen: + +```bash +python torrent-client/setup.py build +``` + +### Bygge Electron applikasjonen + +Bygg Electron applikasjonen ved å bruke denne kommandoen: + +På Windows: + +```bash +yarn build:win +``` + +På Linux: + +```bash +yarn build:linux +``` + +## Bidragsytere + + + + + +## Lisens + +Hydra bruker [MIT Lisensen](LICENSE). diff --git a/README.pl.md b/README.pl.md index 9120baac..c45ef651 100644 --- a/README.pl.md +++ b/README.pl.md @@ -23,6 +23,7 @@ [![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) +[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.pt-BR.md b/README.pt-BR.md index 610fc5c5..1417d0ba 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -23,6 +23,7 @@ [![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) +[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.ru.md b/README.ru.md index 29fda4a3..53edb9c9 100644 --- a/README.ru.md +++ b/README.ru.md @@ -23,6 +23,7 @@ [![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) +[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.uk-UA.md b/README.uk-UA.md index ed37aeca..7de1ed76 100644 --- a/README.uk-UA.md +++ b/README.uk-UA.md @@ -23,6 +23,7 @@ [![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) +[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) 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..08f89aad --- /dev/null +++ b/src/locales/nb/translation.json @@ -0,0 +1,317 @@ +{ + "language_name": "Norsk Bokmål", + "app": { + "successfully_signed_in": "Logget inn vellykket" + }, + "home": { + "featured": "Anbefalinger", + "trending": "Trender", + "surprise_me": "Overrask meg", + "no_results": "Ingen resultater fundet", + "start_typing": "Begynn å skrive for å søke...", + "hot": "Populært akkurat nå", + "weekly": "📅 De mest populære spillene denne uken" + }, + "sidebar": { + "catalogue": "Katalog", + "downloads": "Nedlastinger", + "settings": "Innstillinger", + "my_library": "Mitt bibliotek", + "downloading_metadata": "{{title}} (Laster ned metadata…)", + "paused": "{{title}} (Satt på pause)", + "downloading": "{{title}} ({{percentage}} - Laster ned…)", + "filter": "Filtrér bibliotek", + "home": "Hjem", + "queued": "{{title}} (I køen)", + "game_has_no_executable": "Spillet har ikke noen kjørbar fil valgt", + "sign_in": "Logge inn", + "friends": "Venner" + }, + "header": { + "search": "Søk efter spill", + "home": "Hjem", + "catalogue": "Katalog", + "downloads": "Nedlastinger", + "search_results": "Søkeresultater", + "settings": "Innstillinger", + "version_available_install": "Versjon {{version}} tilgjengelig. Klikk her for å gjenstarte og installere.", + "version_available_download": "Versjon {{version}} tilgjengelig. Klikk her for at laste ned." + }, + "bottom_panel": { + "no_downloads_in_progress": "Ingen nedlastinger pågår", + "downloading_metadata": "Laster ned {{title}} metadata…", + "downloading": "Laster ned {{title}}… ({{percentage}} ferdig) - Fullstendig nedlastet {{eta}} - {{speed}}", + "calculating_eta": "Laster ned {{title}}… ({{percentage}} ferdig) - Regner ut resterende tid…", + "checking_files": "Sjekker {{title}} filer… ({{percentage}} ferdig)" + }, + "catalogue": { + "next_page": "Neste side", + "previous_page": "Forrige side" + }, + "game_details": { + "open_download_options": "Åpne nedlastingsmuligheter", + "download_options_zero": "Ingen nedlastingsmulighet", + "download_options_one": "{{count}} nedlastingsmulighet", + "download_options_other": "{{count}} nedlastingsmuligheter", + "updated_at": "Oppdatert {{updated_at}}", + "install": "Installere", + "resume": "Fortsett", + "pause": "Pause", + "cancel": "Kansellere", + "remove": "Fjern", + "space_left_on_disk": "{{space}} tilbake på harddisken", + "eta": "Konklusjon {{eta}}", + "calculating_eta": "Utregner resterende tid…", + "downloading_metadata": "Laster ned metadata…", + "filter": "Filtrér gjennpakkinger", + "requirements": "Systemkrav", + "minimum": "Mindste", + "recommended": "Anbefalet", + "paused": "Satt på pause", + "release_date": "Offentliggjort den {{date}}", + "publisher": "Gitt ut av {{publisher}}", + "hours": "timer", + "minutes": "minutter", + "amount_hours": "{{amount}} timer", + "amount_minutes": "{{amount}} minutter", + "accuracy": "{{accuracy}}% nøyaktighet", + "add_to_library": "Tilføy til biblioteket", + "remove_from_library": "Fjern fra biblioteket", + "no_downloads": "Ingen nedlastinger tilgjengelig", + "play_time": "Spilt i {{amount}}", + "last_time_played": "Sist spilt {{period}}", + "not_played_yet": "Du har ikke spilt {{title}} enda", + "next_suggestion": "Neste forslag", + "play": "Spil", + "deleting": "Sletter installatør…", + "close": "Lukk", + "playing_now": "Spiller nå", + "change": "Endre", + "repacks_modal_description": "Velg den gjennpakking du vil laste ned", + "select_folder_hint": "For å endre standard mappen, gå til <0>Innstillingene", + "download_now": "Last ned nå", + "no_shop_details": "Kunne ikke modta butikksdetaljene.", + "download_options": "Nedlastingsmuligheter", + "download_path": "Nedlastingssti", + "previous_screenshot": "Forrige skjermbilde", + "next_screenshot": "Neste skjermbilde", + "screenshot": "Skjermbilde {{number}}", + "open_screenshot": "Åpen skjermbilde {{number}}", + "download_settings": "Nedlastingsinnstillinger", + "downloader": "Laster ned", + "select_executable": "Velg", + "no_executable_selected": "Ingen kjørbar fil valgt", + "open_folder": "Åpne mappe", + "open_download_location": "Se nedlastingede filer", + "create_shortcut": "Opprett snarvei på skrivebordet", + "remove_files": "Fjern filer", + "remove_from_library_title": "Er du sikker?", + "remove_from_library_description": "Dette vil fjerne {{game}} fra biblioteket ditt", + "options": "Valgmuligheter", + "executable_section_title": "Kjørbar fil", + "executable_section_description": "Sti til filen som skal brukes når det trykkes på \"Spill\"", + "downloads_secion_title": "Nedlastinger", + "downloads_section_description": "Sjekk for oppdateringer eller andre versjoner af dette spillet", + "danger_zone_section_title": "Faresonen", + "danger_zone_section_description": "Fjern dette spillet fra biblioteket ditt eller filene som har blitt lastet ned av Hydra", + "download_in_progress": "Nedlasting pågår", + "download_paused": "Nedlasting satt på pause", + "last_downloaded_option": "Siste nedlastingsmulighet", + "create_shortcut_success": "Opprettelse av snarvei vellykket", + "create_shortcut_error": "Feil under oprettelsen av snarvei", + "nsfw_content_title": "Dette spillet inneholder upassende innhold", + "nsfw_content_description": "{{title}} inneholder innhold som ikke passer til alle aldre. Er du sikker på at du vil fortsette?", + "allow_nsfw_content": "Fortsett", + "refuse_nsfw_content": "Gå tilbake", + "stats": "Statistikk", + "download_count": "Nedlastinger", + "player_count": "Aktive spillere", + "download_error": "Denne nedlastingsmulighet er ikke tilgjengelig", + "download": "Last ned", + "executable_path_in_use": "Kjørbar fil blir allerede brukt av \"{{game}}\"", + "warning": "Advarsel:", + "hydra_needs_to_remain_open": "Hydra skal forbli åpent for at denne nedlastingen kan gjennomføres. I tilfelle av at Hydra lukker før nedlastingen er ferdig, mister du fremskrittet ditt." + }, + "activation": { + "title": "Aktivér Hydra", + "installation_id": "Installasjons ID:", + "enter_activation_code": "Inntast aktiveringskoden din", + "message": "Hvis du ikke vet hvor du skal spørre om dette, burde du ikke ha dette.", + "activate": "Aktivér", + "loading": "Innleser…" + }, + "downloads": { + "resume": "Fortsett", + "pause": "Pause", + "eta": "Konklusjon {{eta}}", + "paused": "Satt på pause", + "verifying": "Verifiserer…", + "completed": "Ferdig", + "removed": "Ikke lastet ned", + "cancel": "Kansellér", + "filter": "Filtrér nedlastede spill", + "remove": "Fjern", + "downloading_metadata": "Laster ned metadata…", + "deleting": "Sletter installatør…", + "delete": "Fjern installatør", + "delete_modal_title": "Er du sikker?", + "delete_modal_description": "Dette vil fjerne alle installasjonsfilene fra datamaskinen din", + "install": "Installér", + "download_in_progress": "Pågår", + "queued_downloads": "Nedlastingskø", + "downloads_completed": "Gjennomførte", + "queued": "I kø", + "no_downloads_title": "Ganske tomt", + "no_downloads_description": "Du har ikke lastet ned noe med Hydra enda, men det er aldri for sent å begynne.", + "checking_files": "Undersøker filer…" + }, + "settings": { + "downloads_path": "Nedlastingssti", + "change": "Oppdater", + "notifications": "Notifikasjoner", + "enable_download_notifications": "Når en nedlasting blir ferdig", + "enable_repack_list_notifications": "Når en ny gjennpakking bliver lagt til", + "real_debrid_api_token_label": "Real-Debrid API nøkkel", + "quit_app_instead_hiding": "Avslut Hydra i stedet for å minimere til prosesslinjen", + "launch_with_system": "Åpne Hydra ved oppstart av datamaskinen", + "general": "Generelt", + "behavior": "Oppførsel", + "download_sources": "Nedlastingskilder", + "language": "Språk", + "real_debrid_api_token": "API nøkkel", + "enable_real_debrid": "Slå på Real-Debrid", + "real_debrid_description": "Real-Debrid er en ubegrenset nedlaster som gør det mulig for deg å laste ned filer med en gang og med den beste utnyttelsen av internethastigheten din.", + "real_debrid_invalid_token": "Ugyldig API nøkkel", + "real_debrid_api_token_hint": "Du kan få API nøkkelen din <0>her", + "real_debrid_free_account_error": "Brukeren \"{{username}}\" er en gratis bruker. Vennligst abboner på Real-Debrid", + "real_debrid_linked_message": "Brukeren \"{{username}}\" er forbunnet", + "save_changes": "Lagre endringer", + "changes_saved": "Lagring av endringer vellykket", + "download_sources_description": "Hydra vil hente nedlastingslenker fra disse kildene. Kilde URLen skal være en direkte lenke til en .json fil som inneholder nedlastingslenkene.", + "validate_download_source": "Validér", + "remove_download_source": "Fjern", + "add_download_source": "Legg til kilde", + "download_count_zero": "Ingen nedlastingsmuligheter", + "download_count_one": "{{countFormatted}} nedlastingsmulighet", + "download_count_other": "{{countFormatted}} nedlastingsmuligheter", + "download_source_url": "Last ned kilde URL", + "add_download_source_description": "Sett inn URLen som inneholder .json filen", + "download_source_up_to_date": "Oppdatert", + "download_source_errored": "Mislyktes", + "sync_download_sources": "Synkroniser kilder", + "removed_download_source": "Nedlastingskilde fjernet", + "added_download_source": "La til Nedlastingskilde", + "download_sources_synced": "Alle nedlastingskilder er synkroniserte", + "insert_valid_json_url": "Innsett en gyldig JSON url", + "found_download_option_zero": "Ingen nedlastingsmulighet funnet", + "found_download_option_one": "Fant {{countFormatted}} nedlastingsmulighet", + "found_download_option_other": "Fant {{countFormatted}} nedlastingsmuligheter", + "import": "Importer", + "public": "Offentlig", + "private": "Privat", + "friends_only": "Kun blant venner", + "privacy": "Privatliv", + "profile_visibility": "Synlighet av profil", + "profile_visibility_description": "Velg hvem som kan se profilen din og biblioteket ditt", + "required_field": "Dette feltet er påkrevet", + "source_already_exists": "Denne kilden har allerede blitt lagt til", + "must_be_valid_url": "Kilden må være en gyldig URL", + "blocked_users": "Blokerte brukere", + "user_unblocked": "Brukeren har blit avblokert" + }, + "notifications": { + "download_complete": "Nedlasting ferdig", + "game_ready_to_install": "{{title}} er klar til å bli installert", + "repack_list_updated": "Gjennpakkingslisten er opdateret", + "repack_count_one": "{{count}} gjennpakking lagt til", + "repack_count_other": "{{count}} gjennpakkinger lagt til", + "new_update_available": "Versjon {{version}} tilgjengelig", + "restart_to_install_update": "Gjenstart Hydra for å installere oppdateringen" + }, + "system_tray": { + "open": "Åpne Hydra", + "quit": "Avslutt" + }, + "game_card": { + "no_downloads": "Ingen nedlastinger tilgjengelig" + }, + "binary_not_found_modal": { + "title": "Programmer ikke installert", + "description": "Wine eller Lutris kjørbar ble ikke funnet på systemet ditt", + "instructions": "Sjekk den korrekte måten å installere noen av de, på Linux distributionen din, så spillet kan kjøre på vanlig måte" + }, + "modal": { + "close": "Lukk knapp" + }, + "forms": { + "toggle_password_visibility": "Skift synlighet af passord" + }, + "user_profile": { + "amount_hours": "{{amount}} timer", + "amount_minutes": "{{amount}} minutter", + "last_time_played": "Sist spilt {{period}}", + "activity": "Seneste aktivitet", + "library": "Bibliotek", + "total_play_time": "Samlet spilltid: {{amount}}", + "no_recent_activity_title": "Hmmm… ikke noe her", + "no_recent_activity_description": "Du har ikke spilt noen spill for på det seneste. Det er det på tide at endre på!", + "display_name": "Brukernavn", + "saving": "Lagrer", + "save": "Lagre", + "edit_profile": "Rediger Profil", + "saved_successfully": "Lagring vellykket", + "try_again": "Vennligst, prøv igjen", + "sign_out_modal_title": "Er du sikker?", + "cancel": "Kansellér", + "successfully_signed_out": "Utlogging vellykket", + "sign_out": "Log ut", + "playing_for": "Spiller i {{amount}}", + "sign_out_modal_text": "Biblioteket ditt er sammenkobelt med den nåverende brukeren. Når du logger ut er biblioteket ditt ikke synlig lenger, og hvilken som helst form for fremskritt bliver ikke lagret. Vil du fortsette med å logge ut?", + "add_friends": "Legg til venner", + "add": "Legg til", + "friend_code": "Vennekode", + "see_profile": "Se profil", + "sending": "Sender", + "friend_request_sent": "Venneforespørsel sendt", + "friends": "Venner", + "friends_list": "Venneliste", + "user_not_found": "Bruker ikke funnet", + "block_user": "Blokkere bruker", + "add_friend": "Legg til venn", + "request_sent": "Forespørsel sendt", + "request_received": "Forespørsel modtatt", + "accept_request": "Akseptere forespørsel", + "ignore_request": "Ignorere forespørsel", + "cancel_request": "Kansellre forespørsel", + "undo_friendship": "Angre venskab", + "request_accepted": "Forespørsel akseptert", + "user_blocked_successfully": "Blokkering av bruker vellykket", + "user_block_modal_text": "Dette blokerer {{displayName}}", + "blocked_users": "Blokerte brukere", + "unblock": "Avblokere", + "no_friends_added": "Du har fortsatt ikke lagt til noen venner", + "pending": "Avventer", + "no_pending_invites": "Du har ingen avventende invitasjoner", + "no_blocked_users": "Du har ingen blokerte brukere", + "friend_code_copied": "Vennekode kopiert", + "undo_friendship_modal_text": "Dette vil angre venskapet ditt med {{displayName}}", + "privacy_hint": "For å justere på hvem som kan se dette, gå til <0>Innstillingene", + "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" + } + } + \ No newline at end of file From b1ea9cbfaa9597e4af9f4c04ad082ff08b82e433 Mon Sep 17 00:00:00 2001 From: Alexander Hostrup Date: Wed, 18 Sep 2024 19:54:08 +0200 Subject: [PATCH 08/18] formatting --- src/locales/nb/translation.json | 629 ++++++++++++++++---------------- 1 file changed, 314 insertions(+), 315 deletions(-) diff --git a/src/locales/nb/translation.json b/src/locales/nb/translation.json index 08f89aad..b00b3fa3 100644 --- a/src/locales/nb/translation.json +++ b/src/locales/nb/translation.json @@ -1,317 +1,316 @@ { - "language_name": "Norsk Bokmål", - "app": { - "successfully_signed_in": "Logget inn vellykket" - }, - "home": { - "featured": "Anbefalinger", - "trending": "Trender", - "surprise_me": "Overrask meg", - "no_results": "Ingen resultater fundet", - "start_typing": "Begynn å skrive for å søke...", - "hot": "Populært akkurat nå", - "weekly": "📅 De mest populære spillene denne uken" - }, - "sidebar": { - "catalogue": "Katalog", - "downloads": "Nedlastinger", - "settings": "Innstillinger", - "my_library": "Mitt bibliotek", - "downloading_metadata": "{{title}} (Laster ned metadata…)", - "paused": "{{title}} (Satt på pause)", - "downloading": "{{title}} ({{percentage}} - Laster ned…)", - "filter": "Filtrér bibliotek", - "home": "Hjem", - "queued": "{{title}} (I køen)", - "game_has_no_executable": "Spillet har ikke noen kjørbar fil valgt", - "sign_in": "Logge inn", - "friends": "Venner" - }, - "header": { - "search": "Søk efter spill", - "home": "Hjem", - "catalogue": "Katalog", - "downloads": "Nedlastinger", - "search_results": "Søkeresultater", - "settings": "Innstillinger", - "version_available_install": "Versjon {{version}} tilgjengelig. Klikk her for å gjenstarte og installere.", - "version_available_download": "Versjon {{version}} tilgjengelig. Klikk her for at laste ned." - }, - "bottom_panel": { - "no_downloads_in_progress": "Ingen nedlastinger pågår", - "downloading_metadata": "Laster ned {{title}} metadata…", - "downloading": "Laster ned {{title}}… ({{percentage}} ferdig) - Fullstendig nedlastet {{eta}} - {{speed}}", - "calculating_eta": "Laster ned {{title}}… ({{percentage}} ferdig) - Regner ut resterende tid…", - "checking_files": "Sjekker {{title}} filer… ({{percentage}} ferdig)" - }, - "catalogue": { - "next_page": "Neste side", - "previous_page": "Forrige side" - }, - "game_details": { - "open_download_options": "Åpne nedlastingsmuligheter", - "download_options_zero": "Ingen nedlastingsmulighet", - "download_options_one": "{{count}} nedlastingsmulighet", - "download_options_other": "{{count}} nedlastingsmuligheter", - "updated_at": "Oppdatert {{updated_at}}", - "install": "Installere", - "resume": "Fortsett", - "pause": "Pause", - "cancel": "Kansellere", - "remove": "Fjern", - "space_left_on_disk": "{{space}} tilbake på harddisken", - "eta": "Konklusjon {{eta}}", - "calculating_eta": "Utregner resterende tid…", - "downloading_metadata": "Laster ned metadata…", - "filter": "Filtrér gjennpakkinger", - "requirements": "Systemkrav", - "minimum": "Mindste", - "recommended": "Anbefalet", - "paused": "Satt på pause", - "release_date": "Offentliggjort den {{date}}", - "publisher": "Gitt ut av {{publisher}}", - "hours": "timer", - "minutes": "minutter", - "amount_hours": "{{amount}} timer", - "amount_minutes": "{{amount}} minutter", - "accuracy": "{{accuracy}}% nøyaktighet", - "add_to_library": "Tilføy til biblioteket", - "remove_from_library": "Fjern fra biblioteket", - "no_downloads": "Ingen nedlastinger tilgjengelig", - "play_time": "Spilt i {{amount}}", - "last_time_played": "Sist spilt {{period}}", - "not_played_yet": "Du har ikke spilt {{title}} enda", - "next_suggestion": "Neste forslag", - "play": "Spil", - "deleting": "Sletter installatør…", - "close": "Lukk", - "playing_now": "Spiller nå", - "change": "Endre", - "repacks_modal_description": "Velg den gjennpakking du vil laste ned", - "select_folder_hint": "For å endre standard mappen, gå til <0>Innstillingene", - "download_now": "Last ned nå", - "no_shop_details": "Kunne ikke modta butikksdetaljene.", - "download_options": "Nedlastingsmuligheter", - "download_path": "Nedlastingssti", - "previous_screenshot": "Forrige skjermbilde", - "next_screenshot": "Neste skjermbilde", - "screenshot": "Skjermbilde {{number}}", - "open_screenshot": "Åpen skjermbilde {{number}}", - "download_settings": "Nedlastingsinnstillinger", - "downloader": "Laster ned", - "select_executable": "Velg", - "no_executable_selected": "Ingen kjørbar fil valgt", - "open_folder": "Åpne mappe", - "open_download_location": "Se nedlastingede filer", - "create_shortcut": "Opprett snarvei på skrivebordet", - "remove_files": "Fjern filer", - "remove_from_library_title": "Er du sikker?", - "remove_from_library_description": "Dette vil fjerne {{game}} fra biblioteket ditt", - "options": "Valgmuligheter", - "executable_section_title": "Kjørbar fil", - "executable_section_description": "Sti til filen som skal brukes når det trykkes på \"Spill\"", - "downloads_secion_title": "Nedlastinger", - "downloads_section_description": "Sjekk for oppdateringer eller andre versjoner af dette spillet", - "danger_zone_section_title": "Faresonen", - "danger_zone_section_description": "Fjern dette spillet fra biblioteket ditt eller filene som har blitt lastet ned av Hydra", - "download_in_progress": "Nedlasting pågår", - "download_paused": "Nedlasting satt på pause", - "last_downloaded_option": "Siste nedlastingsmulighet", - "create_shortcut_success": "Opprettelse av snarvei vellykket", - "create_shortcut_error": "Feil under oprettelsen av snarvei", - "nsfw_content_title": "Dette spillet inneholder upassende innhold", - "nsfw_content_description": "{{title}} inneholder innhold som ikke passer til alle aldre. Er du sikker på at du vil fortsette?", - "allow_nsfw_content": "Fortsett", - "refuse_nsfw_content": "Gå tilbake", - "stats": "Statistikk", - "download_count": "Nedlastinger", - "player_count": "Aktive spillere", - "download_error": "Denne nedlastingsmulighet er ikke tilgjengelig", - "download": "Last ned", - "executable_path_in_use": "Kjørbar fil blir allerede brukt av \"{{game}}\"", - "warning": "Advarsel:", - "hydra_needs_to_remain_open": "Hydra skal forbli åpent for at denne nedlastingen kan gjennomføres. I tilfelle av at Hydra lukker før nedlastingen er ferdig, mister du fremskrittet ditt." - }, - "activation": { - "title": "Aktivér Hydra", - "installation_id": "Installasjons ID:", - "enter_activation_code": "Inntast aktiveringskoden din", - "message": "Hvis du ikke vet hvor du skal spørre om dette, burde du ikke ha dette.", - "activate": "Aktivér", - "loading": "Innleser…" - }, - "downloads": { - "resume": "Fortsett", - "pause": "Pause", - "eta": "Konklusjon {{eta}}", - "paused": "Satt på pause", - "verifying": "Verifiserer…", - "completed": "Ferdig", - "removed": "Ikke lastet ned", - "cancel": "Kansellér", - "filter": "Filtrér nedlastede spill", - "remove": "Fjern", - "downloading_metadata": "Laster ned metadata…", - "deleting": "Sletter installatør…", - "delete": "Fjern installatør", - "delete_modal_title": "Er du sikker?", - "delete_modal_description": "Dette vil fjerne alle installasjonsfilene fra datamaskinen din", - "install": "Installér", - "download_in_progress": "Pågår", - "queued_downloads": "Nedlastingskø", - "downloads_completed": "Gjennomførte", - "queued": "I kø", - "no_downloads_title": "Ganske tomt", - "no_downloads_description": "Du har ikke lastet ned noe med Hydra enda, men det er aldri for sent å begynne.", - "checking_files": "Undersøker filer…" - }, - "settings": { - "downloads_path": "Nedlastingssti", - "change": "Oppdater", - "notifications": "Notifikasjoner", - "enable_download_notifications": "Når en nedlasting blir ferdig", - "enable_repack_list_notifications": "Når en ny gjennpakking bliver lagt til", - "real_debrid_api_token_label": "Real-Debrid API nøkkel", - "quit_app_instead_hiding": "Avslut Hydra i stedet for å minimere til prosesslinjen", - "launch_with_system": "Åpne Hydra ved oppstart av datamaskinen", - "general": "Generelt", - "behavior": "Oppførsel", - "download_sources": "Nedlastingskilder", - "language": "Språk", - "real_debrid_api_token": "API nøkkel", - "enable_real_debrid": "Slå på Real-Debrid", - "real_debrid_description": "Real-Debrid er en ubegrenset nedlaster som gør det mulig for deg å laste ned filer med en gang og med den beste utnyttelsen av internethastigheten din.", - "real_debrid_invalid_token": "Ugyldig API nøkkel", - "real_debrid_api_token_hint": "Du kan få API nøkkelen din <0>her", - "real_debrid_free_account_error": "Brukeren \"{{username}}\" er en gratis bruker. Vennligst abboner på Real-Debrid", - "real_debrid_linked_message": "Brukeren \"{{username}}\" er forbunnet", - "save_changes": "Lagre endringer", - "changes_saved": "Lagring av endringer vellykket", - "download_sources_description": "Hydra vil hente nedlastingslenker fra disse kildene. Kilde URLen skal være en direkte lenke til en .json fil som inneholder nedlastingslenkene.", - "validate_download_source": "Validér", - "remove_download_source": "Fjern", - "add_download_source": "Legg til kilde", - "download_count_zero": "Ingen nedlastingsmuligheter", - "download_count_one": "{{countFormatted}} nedlastingsmulighet", - "download_count_other": "{{countFormatted}} nedlastingsmuligheter", - "download_source_url": "Last ned kilde URL", - "add_download_source_description": "Sett inn URLen som inneholder .json filen", - "download_source_up_to_date": "Oppdatert", - "download_source_errored": "Mislyktes", - "sync_download_sources": "Synkroniser kilder", - "removed_download_source": "Nedlastingskilde fjernet", - "added_download_source": "La til Nedlastingskilde", - "download_sources_synced": "Alle nedlastingskilder er synkroniserte", - "insert_valid_json_url": "Innsett en gyldig JSON url", - "found_download_option_zero": "Ingen nedlastingsmulighet funnet", - "found_download_option_one": "Fant {{countFormatted}} nedlastingsmulighet", - "found_download_option_other": "Fant {{countFormatted}} nedlastingsmuligheter", - "import": "Importer", - "public": "Offentlig", - "private": "Privat", - "friends_only": "Kun blant venner", - "privacy": "Privatliv", - "profile_visibility": "Synlighet av profil", - "profile_visibility_description": "Velg hvem som kan se profilen din og biblioteket ditt", - "required_field": "Dette feltet er påkrevet", - "source_already_exists": "Denne kilden har allerede blitt lagt til", - "must_be_valid_url": "Kilden må være en gyldig URL", - "blocked_users": "Blokerte brukere", - "user_unblocked": "Brukeren har blit avblokert" - }, - "notifications": { - "download_complete": "Nedlasting ferdig", - "game_ready_to_install": "{{title}} er klar til å bli installert", - "repack_list_updated": "Gjennpakkingslisten er opdateret", - "repack_count_one": "{{count}} gjennpakking lagt til", - "repack_count_other": "{{count}} gjennpakkinger lagt til", - "new_update_available": "Versjon {{version}} tilgjengelig", - "restart_to_install_update": "Gjenstart Hydra for å installere oppdateringen" - }, - "system_tray": { - "open": "Åpne Hydra", - "quit": "Avslutt" - }, - "game_card": { - "no_downloads": "Ingen nedlastinger tilgjengelig" - }, - "binary_not_found_modal": { - "title": "Programmer ikke installert", - "description": "Wine eller Lutris kjørbar ble ikke funnet på systemet ditt", - "instructions": "Sjekk den korrekte måten å installere noen av de, på Linux distributionen din, så spillet kan kjøre på vanlig måte" - }, - "modal": { - "close": "Lukk knapp" - }, - "forms": { - "toggle_password_visibility": "Skift synlighet af passord" - }, - "user_profile": { - "amount_hours": "{{amount}} timer", - "amount_minutes": "{{amount}} minutter", - "last_time_played": "Sist spilt {{period}}", - "activity": "Seneste aktivitet", - "library": "Bibliotek", - "total_play_time": "Samlet spilltid: {{amount}}", - "no_recent_activity_title": "Hmmm… ikke noe her", - "no_recent_activity_description": "Du har ikke spilt noen spill for på det seneste. Det er det på tide at endre på!", - "display_name": "Brukernavn", - "saving": "Lagrer", - "save": "Lagre", - "edit_profile": "Rediger Profil", - "saved_successfully": "Lagring vellykket", - "try_again": "Vennligst, prøv igjen", - "sign_out_modal_title": "Er du sikker?", - "cancel": "Kansellér", - "successfully_signed_out": "Utlogging vellykket", - "sign_out": "Log ut", - "playing_for": "Spiller i {{amount}}", - "sign_out_modal_text": "Biblioteket ditt er sammenkobelt med den nåverende brukeren. Når du logger ut er biblioteket ditt ikke synlig lenger, og hvilken som helst form for fremskritt bliver ikke lagret. Vil du fortsette med å logge ut?", - "add_friends": "Legg til venner", - "add": "Legg til", - "friend_code": "Vennekode", - "see_profile": "Se profil", - "sending": "Sender", - "friend_request_sent": "Venneforespørsel sendt", - "friends": "Venner", - "friends_list": "Venneliste", - "user_not_found": "Bruker ikke funnet", - "block_user": "Blokkere bruker", - "add_friend": "Legg til venn", - "request_sent": "Forespørsel sendt", - "request_received": "Forespørsel modtatt", - "accept_request": "Akseptere forespørsel", - "ignore_request": "Ignorere forespørsel", - "cancel_request": "Kansellre forespørsel", - "undo_friendship": "Angre venskab", - "request_accepted": "Forespørsel akseptert", - "user_blocked_successfully": "Blokkering av bruker vellykket", - "user_block_modal_text": "Dette blokerer {{displayName}}", - "blocked_users": "Blokerte brukere", - "unblock": "Avblokere", - "no_friends_added": "Du har fortsatt ikke lagt til noen venner", - "pending": "Avventer", - "no_pending_invites": "Du har ingen avventende invitasjoner", - "no_blocked_users": "Du har ingen blokerte brukere", - "friend_code_copied": "Vennekode kopiert", - "undo_friendship_modal_text": "Dette vil angre venskapet ditt med {{displayName}}", - "privacy_hint": "For å justere på hvem som kan se dette, gå til <0>Innstillingene", - "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" - } + "language_name": "Norsk Bokmål", + "app": { + "successfully_signed_in": "Logget inn vellykket" + }, + "home": { + "featured": "Anbefalinger", + "trending": "Trender", + "surprise_me": "Overrask meg", + "no_results": "Ingen resultater fundet", + "start_typing": "Begynn å skrive for å søke...", + "hot": "Populært akkurat nå", + "weekly": "📅 De mest populære spillene denne uken" + }, + "sidebar": { + "catalogue": "Katalog", + "downloads": "Nedlastinger", + "settings": "Innstillinger", + "my_library": "Mitt bibliotek", + "downloading_metadata": "{{title}} (Laster ned metadata…)", + "paused": "{{title}} (Satt på pause)", + "downloading": "{{title}} ({{percentage}} - Laster ned…)", + "filter": "Filtrér bibliotek", + "home": "Hjem", + "queued": "{{title}} (I køen)", + "game_has_no_executable": "Spillet har ikke noen kjørbar fil valgt", + "sign_in": "Logge inn", + "friends": "Venner" + }, + "header": { + "search": "Søk efter spill", + "home": "Hjem", + "catalogue": "Katalog", + "downloads": "Nedlastinger", + "search_results": "Søkeresultater", + "settings": "Innstillinger", + "version_available_install": "Versjon {{version}} tilgjengelig. Klikk her for å gjenstarte og installere.", + "version_available_download": "Versjon {{version}} tilgjengelig. Klikk her for at laste ned." + }, + "bottom_panel": { + "no_downloads_in_progress": "Ingen nedlastinger pågår", + "downloading_metadata": "Laster ned {{title}} metadata…", + "downloading": "Laster ned {{title}}… ({{percentage}} ferdig) - Fullstendig nedlastet {{eta}} - {{speed}}", + "calculating_eta": "Laster ned {{title}}… ({{percentage}} ferdig) - Regner ut resterende tid…", + "checking_files": "Sjekker {{title}} filer… ({{percentage}} ferdig)" + }, + "catalogue": { + "next_page": "Neste side", + "previous_page": "Forrige side" + }, + "game_details": { + "open_download_options": "Åpne nedlastingsmuligheter", + "download_options_zero": "Ingen nedlastingsmulighet", + "download_options_one": "{{count}} nedlastingsmulighet", + "download_options_other": "{{count}} nedlastingsmuligheter", + "updated_at": "Oppdatert {{updated_at}}", + "install": "Installere", + "resume": "Fortsett", + "pause": "Pause", + "cancel": "Kansellere", + "remove": "Fjern", + "space_left_on_disk": "{{space}} tilbake på harddisken", + "eta": "Konklusjon {{eta}}", + "calculating_eta": "Utregner resterende tid…", + "downloading_metadata": "Laster ned metadata…", + "filter": "Filtrér gjennpakkinger", + "requirements": "Systemkrav", + "minimum": "Mindste", + "recommended": "Anbefalet", + "paused": "Satt på pause", + "release_date": "Offentliggjort den {{date}}", + "publisher": "Gitt ut av {{publisher}}", + "hours": "timer", + "minutes": "minutter", + "amount_hours": "{{amount}} timer", + "amount_minutes": "{{amount}} minutter", + "accuracy": "{{accuracy}}% nøyaktighet", + "add_to_library": "Tilføy til biblioteket", + "remove_from_library": "Fjern fra biblioteket", + "no_downloads": "Ingen nedlastinger tilgjengelig", + "play_time": "Spilt i {{amount}}", + "last_time_played": "Sist spilt {{period}}", + "not_played_yet": "Du har ikke spilt {{title}} enda", + "next_suggestion": "Neste forslag", + "play": "Spil", + "deleting": "Sletter installatør…", + "close": "Lukk", + "playing_now": "Spiller nå", + "change": "Endre", + "repacks_modal_description": "Velg den gjennpakking du vil laste ned", + "select_folder_hint": "For å endre standard mappen, gå til <0>Innstillingene", + "download_now": "Last ned nå", + "no_shop_details": "Kunne ikke modta butikksdetaljene.", + "download_options": "Nedlastingsmuligheter", + "download_path": "Nedlastingssti", + "previous_screenshot": "Forrige skjermbilde", + "next_screenshot": "Neste skjermbilde", + "screenshot": "Skjermbilde {{number}}", + "open_screenshot": "Åpen skjermbilde {{number}}", + "download_settings": "Nedlastingsinnstillinger", + "downloader": "Laster ned", + "select_executable": "Velg", + "no_executable_selected": "Ingen kjørbar fil valgt", + "open_folder": "Åpne mappe", + "open_download_location": "Se nedlastingede filer", + "create_shortcut": "Opprett snarvei på skrivebordet", + "remove_files": "Fjern filer", + "remove_from_library_title": "Er du sikker?", + "remove_from_library_description": "Dette vil fjerne {{game}} fra biblioteket ditt", + "options": "Valgmuligheter", + "executable_section_title": "Kjørbar fil", + "executable_section_description": "Sti til filen som skal brukes når det trykkes på \"Spill\"", + "downloads_secion_title": "Nedlastinger", + "downloads_section_description": "Sjekk for oppdateringer eller andre versjoner af dette spillet", + "danger_zone_section_title": "Faresonen", + "danger_zone_section_description": "Fjern dette spillet fra biblioteket ditt eller filene som har blitt lastet ned av Hydra", + "download_in_progress": "Nedlasting pågår", + "download_paused": "Nedlasting satt på pause", + "last_downloaded_option": "Siste nedlastingsmulighet", + "create_shortcut_success": "Opprettelse av snarvei vellykket", + "create_shortcut_error": "Feil under oprettelsen av snarvei", + "nsfw_content_title": "Dette spillet inneholder upassende innhold", + "nsfw_content_description": "{{title}} inneholder innhold som ikke passer til alle aldre. Er du sikker på at du vil fortsette?", + "allow_nsfw_content": "Fortsett", + "refuse_nsfw_content": "Gå tilbake", + "stats": "Statistikk", + "download_count": "Nedlastinger", + "player_count": "Aktive spillere", + "download_error": "Denne nedlastingsmulighet er ikke tilgjengelig", + "download": "Last ned", + "executable_path_in_use": "Kjørbar fil blir allerede brukt av \"{{game}}\"", + "warning": "Advarsel:", + "hydra_needs_to_remain_open": "Hydra skal forbli åpent for at denne nedlastingen kan gjennomføres. I tilfelle av at Hydra lukker før nedlastingen er ferdig, mister du fremskrittet ditt." + }, + "activation": { + "title": "Aktivér Hydra", + "installation_id": "Installasjons ID:", + "enter_activation_code": "Inntast aktiveringskoden din", + "message": "Hvis du ikke vet hvor du skal spørre om dette, burde du ikke ha dette.", + "activate": "Aktivér", + "loading": "Innleser…" + }, + "downloads": { + "resume": "Fortsett", + "pause": "Pause", + "eta": "Konklusjon {{eta}}", + "paused": "Satt på pause", + "verifying": "Verifiserer…", + "completed": "Ferdig", + "removed": "Ikke lastet ned", + "cancel": "Kansellér", + "filter": "Filtrér nedlastede spill", + "remove": "Fjern", + "downloading_metadata": "Laster ned metadata…", + "deleting": "Sletter installatør…", + "delete": "Fjern installatør", + "delete_modal_title": "Er du sikker?", + "delete_modal_description": "Dette vil fjerne alle installasjonsfilene fra datamaskinen din", + "install": "Installér", + "download_in_progress": "Pågår", + "queued_downloads": "Nedlastingskø", + "downloads_completed": "Gjennomførte", + "queued": "I kø", + "no_downloads_title": "Ganske tomt", + "no_downloads_description": "Du har ikke lastet ned noe med Hydra enda, men det er aldri for sent å begynne.", + "checking_files": "Undersøker filer…" + }, + "settings": { + "downloads_path": "Nedlastingssti", + "change": "Oppdater", + "notifications": "Notifikasjoner", + "enable_download_notifications": "Når en nedlasting blir ferdig", + "enable_repack_list_notifications": "Når en ny gjennpakking bliver lagt til", + "real_debrid_api_token_label": "Real-Debrid API nøkkel", + "quit_app_instead_hiding": "Avslut Hydra i stedet for å minimere til prosesslinjen", + "launch_with_system": "Åpne Hydra ved oppstart av datamaskinen", + "general": "Generelt", + "behavior": "Oppførsel", + "download_sources": "Nedlastingskilder", + "language": "Språk", + "real_debrid_api_token": "API nøkkel", + "enable_real_debrid": "Slå på Real-Debrid", + "real_debrid_description": "Real-Debrid er en ubegrenset nedlaster som gør det mulig for deg å laste ned filer med en gang og med den beste utnyttelsen av internethastigheten din.", + "real_debrid_invalid_token": "Ugyldig API nøkkel", + "real_debrid_api_token_hint": "Du kan få API nøkkelen din <0>her", + "real_debrid_free_account_error": "Brukeren \"{{username}}\" er en gratis bruker. Vennligst abboner på Real-Debrid", + "real_debrid_linked_message": "Brukeren \"{{username}}\" er forbunnet", + "save_changes": "Lagre endringer", + "changes_saved": "Lagring av endringer vellykket", + "download_sources_description": "Hydra vil hente nedlastingslenker fra disse kildene. Kilde URLen skal være en direkte lenke til en .json fil som inneholder nedlastingslenkene.", + "validate_download_source": "Validér", + "remove_download_source": "Fjern", + "add_download_source": "Legg til kilde", + "download_count_zero": "Ingen nedlastingsmuligheter", + "download_count_one": "{{countFormatted}} nedlastingsmulighet", + "download_count_other": "{{countFormatted}} nedlastingsmuligheter", + "download_source_url": "Last ned kilde URL", + "add_download_source_description": "Sett inn URLen som inneholder .json filen", + "download_source_up_to_date": "Oppdatert", + "download_source_errored": "Mislyktes", + "sync_download_sources": "Synkroniser kilder", + "removed_download_source": "Nedlastingskilde fjernet", + "added_download_source": "La til Nedlastingskilde", + "download_sources_synced": "Alle nedlastingskilder er synkroniserte", + "insert_valid_json_url": "Innsett en gyldig JSON url", + "found_download_option_zero": "Ingen nedlastingsmulighet funnet", + "found_download_option_one": "Fant {{countFormatted}} nedlastingsmulighet", + "found_download_option_other": "Fant {{countFormatted}} nedlastingsmuligheter", + "import": "Importer", + "public": "Offentlig", + "private": "Privat", + "friends_only": "Kun blant venner", + "privacy": "Privatliv", + "profile_visibility": "Synlighet av profil", + "profile_visibility_description": "Velg hvem som kan se profilen din og biblioteket ditt", + "required_field": "Dette feltet er påkrevet", + "source_already_exists": "Denne kilden har allerede blitt lagt til", + "must_be_valid_url": "Kilden må være en gyldig URL", + "blocked_users": "Blokerte brukere", + "user_unblocked": "Brukeren har blit avblokert" + }, + "notifications": { + "download_complete": "Nedlasting ferdig", + "game_ready_to_install": "{{title}} er klar til å bli installert", + "repack_list_updated": "Gjennpakkingslisten er opdateret", + "repack_count_one": "{{count}} gjennpakking lagt til", + "repack_count_other": "{{count}} gjennpakkinger lagt til", + "new_update_available": "Versjon {{version}} tilgjengelig", + "restart_to_install_update": "Gjenstart Hydra for å installere oppdateringen" + }, + "system_tray": { + "open": "Åpne Hydra", + "quit": "Avslutt" + }, + "game_card": { + "no_downloads": "Ingen nedlastinger tilgjengelig" + }, + "binary_not_found_modal": { + "title": "Programmer ikke installert", + "description": "Wine eller Lutris kjørbar ble ikke funnet på systemet ditt", + "instructions": "Sjekk den korrekte måten å installere noen av de, på Linux distributionen din, så spillet kan kjøre på vanlig måte" + }, + "modal": { + "close": "Lukk knapp" + }, + "forms": { + "toggle_password_visibility": "Skift synlighet af passord" + }, + "user_profile": { + "amount_hours": "{{amount}} timer", + "amount_minutes": "{{amount}} minutter", + "last_time_played": "Sist spilt {{period}}", + "activity": "Seneste aktivitet", + "library": "Bibliotek", + "total_play_time": "Samlet spilltid: {{amount}}", + "no_recent_activity_title": "Hmmm… ikke noe her", + "no_recent_activity_description": "Du har ikke spilt noen spill for på det seneste. Det er det på tide at endre på!", + "display_name": "Brukernavn", + "saving": "Lagrer", + "save": "Lagre", + "edit_profile": "Rediger Profil", + "saved_successfully": "Lagring vellykket", + "try_again": "Vennligst, prøv igjen", + "sign_out_modal_title": "Er du sikker?", + "cancel": "Kansellér", + "successfully_signed_out": "Utlogging vellykket", + "sign_out": "Log ut", + "playing_for": "Spiller i {{amount}}", + "sign_out_modal_text": "Biblioteket ditt er sammenkobelt med den nåverende brukeren. Når du logger ut er biblioteket ditt ikke synlig lenger, og hvilken som helst form for fremskritt bliver ikke lagret. Vil du fortsette med å logge ut?", + "add_friends": "Legg til venner", + "add": "Legg til", + "friend_code": "Vennekode", + "see_profile": "Se profil", + "sending": "Sender", + "friend_request_sent": "Venneforespørsel sendt", + "friends": "Venner", + "friends_list": "Venneliste", + "user_not_found": "Bruker ikke funnet", + "block_user": "Blokkere bruker", + "add_friend": "Legg til venn", + "request_sent": "Forespørsel sendt", + "request_received": "Forespørsel modtatt", + "accept_request": "Akseptere forespørsel", + "ignore_request": "Ignorere forespørsel", + "cancel_request": "Kansellre forespørsel", + "undo_friendship": "Angre venskab", + "request_accepted": "Forespørsel akseptert", + "user_blocked_successfully": "Blokkering av bruker vellykket", + "user_block_modal_text": "Dette blokerer {{displayName}}", + "blocked_users": "Blokerte brukere", + "unblock": "Avblokere", + "no_friends_added": "Du har fortsatt ikke lagt til noen venner", + "pending": "Avventer", + "no_pending_invites": "Du har ingen avventende invitasjoner", + "no_blocked_users": "Du har ingen blokerte brukere", + "friend_code_copied": "Vennekode kopiert", + "undo_friendship_modal_text": "Dette vil angre venskapet ditt med {{displayName}}", + "privacy_hint": "For å justere på hvem som kan se dette, gå til <0>Innstillingene", + "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" } - \ No newline at end of file +} From 9791c311f1c86b31a51a5adfbba820a01c4de2cf Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Wed, 18 Sep 2024 08:16:52 -0300 Subject: [PATCH 09/18] chore: update bug issue template --- .github/ISSUE_TEMPLATE/bug_report.yml | 11 ++--------- build/installer.nsh | 1 + src/main/services/hydra-api.ts | 5 ++++- 3 files changed, 7 insertions(+), 10 deletions(-) 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/build/installer.nsh b/build/installer.nsh index 89693a5c..9ae2d42b 100644 --- a/build/installer.nsh +++ b/build/installer.nsh @@ -2,5 +2,6 @@ ${ifNot} ${isUpdated} RMDir /r "$APPDATA\${APP_PACKAGE_NAME}" RMDir /r "$APPDATA\hydra" + RMDir /r "$LOCALAPPDATA\hydralauncher-updater" ${endIf} !macroend diff --git a/src/main/services/hydra-api.ts b/src/main/services/hydra-api.ts index 769447a6..ac3d153a 100644 --- a/src/main/services/hydra-api.ts +++ b/src/main/services/hydra-api.ts @@ -51,7 +51,10 @@ export class HydraApi { expirationTimestamp: tokenExpirationTimestamp, }; - logger.log("Sign in received", this.userAuth); + logger.log( + "Sign in received. Token expiration timestamp:", + tokenExpirationTimestamp + ); await userAuthRepository.upsert( { From e526c0f650a7e699f3cb1244f30098bcd3dd5b93 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Thu, 19 Sep 2024 15:38:20 -0300 Subject: [PATCH 10/18] feat: adjust align on wider images --- .../pages/game-details/gallery-slider/gallery-slider.css.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/renderer/src/pages/game-details/gallery-slider/gallery-slider.css.ts b/src/renderer/src/pages/game-details/gallery-slider/gallery-slider.css.ts index 5f8afcec..d4f8084a 100644 --- a/src/renderer/src/pages/game-details/gallery-slider/gallery-slider.css.ts +++ b/src/renderer/src/pages/game-details/gallery-slider/gallery-slider.css.ts @@ -19,6 +19,7 @@ export const gallerySliderMedia = style({ flexGrow: "0", transition: "translate 0.3s ease-in-out", borderRadius: "4px", + alignSelf: "center", }); export const gallerySliderAnimationContainer = style({ @@ -60,7 +61,6 @@ export const mediaPreviewButton = recipe({ base: { cursor: "pointer", width: "20%", - height: "20%", display: "block", flexShrink: "0", flexGrow: "0", @@ -84,7 +84,6 @@ export const mediaPreviewButton = recipe({ export const mediaPreview = style({ width: "100%", - height: "100%", display: "flex", }); From e7b4f8e1c8d485b48d98a0563ec7c06ffed5a3c7 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Thu, 19 Sep 2024 15:38:33 -0300 Subject: [PATCH 11/18] feat: add lazy loading --- .../src/pages/game-details/gallery-slider/gallery-slider.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/renderer/src/pages/game-details/gallery-slider/gallery-slider.tsx b/src/renderer/src/pages/game-details/gallery-slider/gallery-slider.tsx index 47d177ac..40bf050a 100644 --- a/src/renderer/src/pages/game-details/gallery-slider/gallery-slider.tsx +++ b/src/renderer/src/pages/game-details/gallery-slider/gallery-slider.tsx @@ -128,6 +128,7 @@ export function GallerySlider() { src={image.path_full} style={{ translate: `${-100 * mediaIndex}%` }} alt={t("screenshot", { number: i + 1 })} + loading="lazy" /> ))} From c7afcff0b4fa34e6887c0c07b41d1fdafef50e01 Mon Sep 17 00:00:00 2001 From: Alexander Hostrup Date: Fri, 20 Sep 2024 23:38:20 +0200 Subject: [PATCH 12/18] Fixed small issue with language code being wrong --- README.be.md | 2 +- README.cs.md | 2 +- README.de.md | 2 +- README.es.md | 2 +- README.fr.md | 2 +- README.it.md | 2 +- README.md | 2 +- README.nb.md | 2 +- README.pl.md | 2 +- README.pt-BR.md | 2 +- README.ru.md | 2 +- README.uk-UA.md | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/README.be.md b/README.be.md index aaaa4078..e9ab6104 100644 --- a/README.be.md +++ b/README.be.md @@ -23,7 +23,7 @@ [![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) -[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.cs.md b/README.cs.md index 6b05821c..c64b50fb 100644 --- a/README.cs.md +++ b/README.cs.md @@ -23,7 +23,7 @@ [![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) -[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.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 8703e767..a555bf58 100644 --- a/README.de.md +++ b/README.de.md @@ -23,7 +23,7 @@ [![fr](https://img.shields.io/badge/lang-fr-blue)](README.fr.md) [![de](https://img.shields.io/badge/lang-de-black)](README.de.md) [![cs](https://img.shields.io/badge/lang-cs-purple)](README.cs.md) -[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.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 78435e1d..a89c35f3 100644 --- a/README.es.md +++ b/README.es.md @@ -23,7 +23,7 @@ [![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) -[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.fr.md b/README.fr.md index 8846bdd9..dc605e87 100644 --- a/README.fr.md +++ b/README.fr.md @@ -23,7 +23,7 @@ [![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) -[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Catalogue Hydra](./docs/screenshot.png) diff --git a/README.it.md b/README.it.md index 968a4e6b..e7d1bcba 100644 --- a/README.it.md +++ b/README.it.md @@ -23,7 +23,7 @@ [![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) -[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.md b/README.md index f429a722..cbecb2ff 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ [![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) -[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.nb.md b/README.nb.md index 129059b7..5be4fcbb 100644 --- a/README.nb.md +++ b/README.nb.md @@ -23,7 +23,7 @@ [![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) -[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.pl.md b/README.pl.md index c45ef651..97dc493e 100644 --- a/README.pl.md +++ b/README.pl.md @@ -23,7 +23,7 @@ [![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) -[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.pt-BR.md b/README.pt-BR.md index 1417d0ba..18f79421 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -23,7 +23,7 @@ [![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) -[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.ru.md b/README.ru.md index 53edb9c9..2d9becf8 100644 --- a/README.ru.md +++ b/README.ru.md @@ -23,7 +23,7 @@ [![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) -[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) diff --git a/README.uk-UA.md b/README.uk-UA.md index 7de1ed76..9d79caaf 100644 --- a/README.uk-UA.md +++ b/README.uk-UA.md @@ -23,7 +23,7 @@ [![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) -[![cs](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) +[![nb](https://img.shields.io/badge/lang-nb-blue)](README.nb.md) ![Hydra Catalogue](./docs/screenshot.png) From f9ad26c83696e55f106a1187fd0a2b72d0e09f92 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Sat, 21 Sep 2024 10:38:53 -0300 Subject: [PATCH 13/18] chore: bump version and change CSP --- package.json | 2 +- src/renderer/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 36fe8898..734a9836 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hydralauncher", - "version": "2.1.5", + "version": "2.1.6", "description": "Hydra", "main": "./out/main/index.js", "author": "Los Broxas", diff --git a/src/renderer/index.html b/src/renderer/index.html index d7abf3ad..e2eea62c 100644 --- a/src/renderer/index.html +++ b/src/renderer/index.html @@ -6,7 +6,7 @@ Hydra From 2b2f29da612cb53de742c98fea1507c02abc26a0 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Sun, 22 Sep 2024 16:20:45 -0300 Subject: [PATCH 14/18] chore: add envs to pipeline --- .github/workflows/build.yml | 2 ++ .github/workflows/release.yml | 2 ++ package.json | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) 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/package.json b/package.json index 734a9836..a9fd7786 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hydralauncher", - "version": "2.1.6", + "version": "2.1.7", "description": "Hydra", "main": "./out/main/index.js", "author": "Los Broxas", From d5a510175f06f32fa7b5fc2c1343662b68c36f50 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Sun, 22 Sep 2024 16:21:01 -0300 Subject: [PATCH 15/18] feat: use env to open auth window --- .env.example | 3 ++- src/main/services/window-manager.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) 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/src/main/services/window-manager.ts b/src/main/services/window-manager.ts index 5a8824fd..952a2175 100644 --- a/src/main/services/window-manager.ts +++ b/src/main/services/window-manager.ts @@ -106,7 +106,7 @@ export class WindowManager { }); authWindow.loadURL( - `https://auth.hydralauncher.gg/?${searchParams.toString()}` + `${process.env.MAIN_VITE_AUTH_URL}/?${searchParams.toString()}` ); authWindow.once("ready-to-show", () => { From 81e74f068f686f01eca942fac6a2ec0c35701190 Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Sun, 22 Sep 2024 16:25:16 -0300 Subject: [PATCH 16/18] fix: import correctly vite env --- src/main/services/window-manager.ts | 2 +- src/main/vite-env.d.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/services/window-manager.ts b/src/main/services/window-manager.ts index 952a2175..905e4b65 100644 --- a/src/main/services/window-manager.ts +++ b/src/main/services/window-manager.ts @@ -106,7 +106,7 @@ export class WindowManager { }); authWindow.loadURL( - `${process.env.MAIN_VITE_AUTH_URL}/?${searchParams.toString()}` + `${import.meta.env.MAIN_VITE_AUTH_URL}/?${searchParams.toString()}` ); authWindow.once("ready-to-show", () => { diff --git a/src/main/vite-env.d.ts b/src/main/vite-env.d.ts index ff518e82..41f54e24 100644 --- a/src/main/vite-env.d.ts +++ b/src/main/vite-env.d.ts @@ -3,6 +3,7 @@ interface ImportMetaEnv { readonly MAIN_VITE_STEAMGRIDDB_API_KEY: string; readonly MAIN_VITE_API_URL: string; + readonly MAIN_VITE_AUTH_URL: string; readonly MAIN_VITE_SENTRY_DSN: string; } From 5e55c05bd7ac259d5c770cce8e2f6c4d27f0426f Mon Sep 17 00:00:00 2001 From: Zamitto <167933696+zamitto@users.noreply.github.com> Date: Sun, 22 Sep 2024 16:30:47 -0300 Subject: [PATCH 17/18] chore: i18n for friend code --- src/locales/en/translation.json | 3 ++- src/locales/pt-BR/translation.json | 3 ++- src/locales/pt-PT/translation.json | 3 ++- .../shared-modals/user-friend-modal/user-friend-modal.tsx | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) 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/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/renderer/src/pages/shared-modals/user-friend-modal/user-friend-modal.tsx b/src/renderer/src/pages/shared-modals/user-friend-modal/user-friend-modal.tsx index 26c63abc..d827fa20 100644 --- a/src/renderer/src/pages/shared-modals/user-friend-modal/user-friend-modal.tsx +++ b/src/renderer/src/pages/shared-modals/user-friend-modal/user-friend-modal.tsx @@ -81,7 +81,7 @@ export const UserFriendModal = ({ alignItems: "center", }} > -

Seu código de amigo:

+

{t("your_friend_code")}