From 1dd5ff51ee4d7dc3ef7cdf7d417c9937f227936e Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 20 Dec 2025 14:46:30 +0100 Subject: [PATCH 1/3] Revert "Task/refactor language in various components (#6078)" (#6081) This reverts commit 80c278555cb8f70c0f19277f2df1dc3cd4f35f3c. --- apps/client/src/app/app.component.ts | 2 +- .../src/app/components/admin-users/admin-users.component.ts | 2 +- apps/client/src/app/components/header/header.component.ts | 2 +- .../user-account-access/user-account-access.component.ts | 2 +- .../user-account-settings/user-account-settings.component.ts | 5 ++--- apps/client/src/app/core/auth.guard.ts | 4 ++-- .../app/pages/faq/overview/faq-overview-page.component.ts | 2 +- apps/client/src/app/pages/faq/saas/saas-page.component.ts | 2 +- .../pages/faq/self-hosting/self-hosting-page.component.ts | 2 +- 9 files changed, 11 insertions(+), 12 deletions(-) diff --git a/apps/client/src/app/app.component.ts b/apps/client/src/app/app.component.ts index 053b6829c..12a7b0de9 100644 --- a/apps/client/src/app/app.component.ts +++ b/apps/client/src/app/app.component.ts @@ -243,7 +243,7 @@ export class GfAppComponent implements OnDestroy, OnInit { this.tokenStorageService.signOut(); this.userService.remove(); - document.location.href = `/${$localize.locale}`; + document.location.href = `/${document.documentElement.lang}`; } public ngOnDestroy() { diff --git a/apps/client/src/app/components/admin-users/admin-users.component.ts b/apps/client/src/app/components/admin-users/admin-users.component.ts index c9aee671c..99fbe7901 100644 --- a/apps/client/src/app/components/admin-users/admin-users.component.ts +++ b/apps/client/src/app/components/admin-users/admin-users.component.ts @@ -224,7 +224,7 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit { this.tokenStorageService.signOut(); this.userService.remove(); - document.location.href = `/${$localize.locale}`; + document.location.href = `/${document.documentElement.lang}`; } }, message: accessToken, diff --git a/apps/client/src/app/components/header/header.component.ts b/apps/client/src/app/components/header/header.component.ts index e26be812b..b7bf4cb98 100644 --- a/apps/client/src/app/components/header/header.component.ts +++ b/apps/client/src/app/components/header/header.component.ts @@ -335,7 +335,7 @@ export class GfHeaderComponent implements OnChanges { .subscribe((user) => { const userLanguage = user?.settings?.language; - if (userLanguage && $localize.locale !== userLanguage) { + if (userLanguage && document.documentElement.lang !== userLanguage) { window.location.href = `../${userLanguage}`; } else { this.router.navigate(['/']); diff --git a/apps/client/src/app/components/user-account-access/user-account-access.component.ts b/apps/client/src/app/components/user-account-access/user-account-access.component.ts index 70d84a25c..11960b8aa 100644 --- a/apps/client/src/app/components/user-account-access/user-account-access.component.ts +++ b/apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -164,7 +164,7 @@ export class GfUserAccountAccessComponent implements OnDestroy, OnInit { this.tokenStorageService.signOut(); this.userService.remove(); - document.location.href = `/${$localize.locale}`; + document.location.href = `/${document.documentElement.lang}`; }, message: accessToken, title: $localize`Security token` diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts index 7344013d2..e17425676 100644 --- a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts +++ b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -78,8 +78,7 @@ export class GfUserAccountSettingsComponent implements OnDestroy, OnInit { public isAccessTokenHidden = true; public isFingerprintSupported = this.doesBrowserSupportAuthn(); public isWebAuthnEnabled: boolean; - public language = $localize.locale; - + public language = document.documentElement.lang; public locales = [ 'ca', 'de', @@ -200,7 +199,7 @@ export class GfUserAccountSettingsComponent implements OnDestroy, OnInit { this.tokenStorageService.signOut(); this.userService.remove(); - document.location.href = `/${this.language}`; + document.location.href = `/${document.documentElement.lang}`; }); }, confirmType: ConfirmationDialogType.Warn, diff --git a/apps/client/src/app/core/auth.guard.ts b/apps/client/src/app/core/auth.guard.ts index fd7267916..c26419031 100644 --- a/apps/client/src/app/core/auth.guard.ts +++ b/apps/client/src/app/core/auth.guard.ts @@ -64,9 +64,9 @@ export class AuthGuard { .subscribe((user) => { const userLanguage = user?.settings?.language; - if (userLanguage && $localize.locale !== userLanguage) { + if (userLanguage && document.documentElement.lang !== userLanguage) { this.dataService - .putUserSetting({ language: $localize.locale }) + .putUserSetting({ language: document.documentElement.lang }) .subscribe(() => { this.userService.remove(); diff --git a/apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts b/apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts index 6f0b1baba..8faa8307e 100644 --- a/apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts +++ b/apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts @@ -22,7 +22,7 @@ import { Subject, takeUntil } from 'rxjs'; templateUrl: './faq-overview-page.html' }) export class GfFaqOverviewPageComponent implements OnDestroy { - public pricingUrl = `https://ghostfol.io/${$localize.locale}/${publicRoutes.pricing.path}`; + public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${publicRoutes.pricing.path}`; public routerLinkFeatures = publicRoutes.features.routerLink; public user: User; diff --git a/apps/client/src/app/pages/faq/saas/saas-page.component.ts b/apps/client/src/app/pages/faq/saas/saas-page.component.ts index cc5a4d642..b47d45fe2 100644 --- a/apps/client/src/app/pages/faq/saas/saas-page.component.ts +++ b/apps/client/src/app/pages/faq/saas/saas-page.component.ts @@ -22,7 +22,7 @@ import { Subject, takeUntil } from 'rxjs'; templateUrl: './saas-page.html' }) export class GfSaasPageComponent implements OnDestroy { - public pricingUrl = `https://ghostfol.io/${$localize.locale}/${publicRoutes.pricing.path}`; + public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${publicRoutes.pricing.path}`; public routerLinkAccount = internalRoutes.account.routerLink; public routerLinkAccountMembership = internalRoutes.account.subRoutes.membership.routerLink; diff --git a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts index 03d6a6742..ed1d74395 100644 --- a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts +++ b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts @@ -15,7 +15,7 @@ import { Subject } from 'rxjs'; templateUrl: './self-hosting-page.html' }) export class GfSelfHostingPageComponent implements OnDestroy { - public pricingUrl = `https://ghostfol.io/${$localize.locale}/${publicRoutes.pricing.path}`; + public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${publicRoutes.pricing.path}`; private unsubscribeSubject = new Subject(); From 52f02f789dfb17c4e61def87bee17a9f5628f1d4 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 20 Dec 2025 14:50:24 +0100 Subject: [PATCH 2/3] Release 2.224.1 (#6084) --- CHANGELOG.md | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e8587c4f..425a7c144 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 2.224.0 - 2025-12-20 +## 2.224.1 - 2025-12-20 ### Added diff --git a/package-lock.json b/package-lock.json index 209a7b1c0..9229c9317 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ghostfolio", - "version": "2.224.0", + "version": "2.224.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ghostfolio", - "version": "2.224.0", + "version": "2.224.1", "hasInstallScript": true, "license": "AGPL-3.0", "dependencies": { diff --git a/package.json b/package.json index 4a9da4da4..e22c6199d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "2.224.0", + "version": "2.224.1", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio", From 078b2327c5bb5c09dfb36ea40ece0ba86cb2883e Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 20 Dec 2025 17:39:12 +0100 Subject: [PATCH 3/3] Release 2.224.2 (#6086) --- CHANGELOG.md | 2 +- apps/client/src/main.ts | 6 +----- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 425a7c144..0bdfb7eb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 2.224.1 - 2025-12-20 +## 2.224.2 - 2025-12-20 ### Added diff --git a/apps/client/src/main.ts b/apps/client/src/main.ts index 9717ac7ab..d562fc439 100644 --- a/apps/client/src/main.ts +++ b/apps/client/src/main.ts @@ -7,7 +7,7 @@ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; -import { enableProdMode, importProvidersFrom, LOCALE_ID } from '@angular/core'; +import { enableProdMode, importProvidersFrom } from '@angular/core'; import { DateAdapter, MAT_DATE_FORMATS, @@ -88,10 +88,6 @@ import { environment } from './environments/environment'; provide: DateAdapter, useClass: CustomDateAdapter }, - { - provide: LOCALE_ID, - useValue: $localize.locale - }, { provide: MAT_DATE_FORMATS, useValue: DateFormats diff --git a/package-lock.json b/package-lock.json index 9229c9317..986815b83 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ghostfolio", - "version": "2.224.1", + "version": "2.224.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ghostfolio", - "version": "2.224.1", + "version": "2.224.2", "hasInstallScript": true, "license": "AGPL-3.0", "dependencies": { diff --git a/package.json b/package.json index e22c6199d..1ddb69001 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "2.224.1", + "version": "2.224.2", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio",