From 80c278555cb8f70c0f19277f2df1dc3cd4f35f3c Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 20 Dec 2025 11:25:35 +0100 Subject: [PATCH] Task/refactor language in various components (#6078) * Refactor language --- 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, 12 insertions(+), 11 deletions(-) diff --git a/apps/client/src/app/app.component.ts b/apps/client/src/app/app.component.ts index 12a7b0de9..053b6829c 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 = `/${document.documentElement.lang}`; + document.location.href = `/${$localize.locale}`; } 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 99fbe7901..c9aee671c 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 = `/${document.documentElement.lang}`; + document.location.href = `/${$localize.locale}`; } }, 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 b7bf4cb98..e26be812b 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 && document.documentElement.lang !== userLanguage) { + if (userLanguage && $localize.locale !== 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 11960b8aa..70d84a25c 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 = `/${document.documentElement.lang}`; + document.location.href = `/${$localize.locale}`; }, 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 e17425676..7344013d2 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,7 +78,8 @@ export class GfUserAccountSettingsComponent implements OnDestroy, OnInit { public isAccessTokenHidden = true; public isFingerprintSupported = this.doesBrowserSupportAuthn(); public isWebAuthnEnabled: boolean; - public language = document.documentElement.lang; + public language = $localize.locale; + public locales = [ 'ca', 'de', @@ -199,7 +200,7 @@ export class GfUserAccountSettingsComponent implements OnDestroy, OnInit { this.tokenStorageService.signOut(); this.userService.remove(); - document.location.href = `/${document.documentElement.lang}`; + document.location.href = `/${this.language}`; }); }, confirmType: ConfirmationDialogType.Warn, diff --git a/apps/client/src/app/core/auth.guard.ts b/apps/client/src/app/core/auth.guard.ts index c26419031..fd7267916 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 && document.documentElement.lang !== userLanguage) { + if (userLanguage && $localize.locale !== userLanguage) { this.dataService - .putUserSetting({ language: document.documentElement.lang }) + .putUserSetting({ language: $localize.locale }) .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 8faa8307e..6f0b1baba 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/${document.documentElement.lang}/${publicRoutes.pricing.path}`; + public pricingUrl = `https://ghostfol.io/${$localize.locale}/${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 b47d45fe2..cc5a4d642 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/${document.documentElement.lang}/${publicRoutes.pricing.path}`; + public pricingUrl = `https://ghostfol.io/${$localize.locale}/${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 ed1d74395..03d6a6742 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/${document.documentElement.lang}/${publicRoutes.pricing.path}`; + public pricingUrl = `https://ghostfol.io/${$localize.locale}/${publicRoutes.pricing.path}`; private unsubscribeSubject = new Subject();