diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts index 3004a3ec4..76fe7eb97 100644 --- a/apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts +++ b/apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts @@ -1,6 +1,7 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { Product } from '@ghostfolio/common/interfaces'; import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; +import { translate } from '@ghostfolio/ui/i18n'; import { CommonModule } from '@angular/common'; import { Component, OnInit } from '@angular/core'; @@ -26,6 +27,7 @@ export class GfProductPageComponent implements OnInit { '/' + $localize`resources`, 'personal-finance-tools' ]; + public tags: string[]; public constructor( private dataService: DataService, @@ -56,7 +58,7 @@ export class GfProductPageComponent implements OnInit { ], name: 'Ghostfolio', origin: $localize`Switzerland`, - region: $localize`Global`, + regions: [$localize`Global`], slogan: 'Open Source Wealth Management', useAnonymously: true }; @@ -64,5 +66,41 @@ export class GfProductPageComponent implements OnInit { this.product2 = personalFinanceTools.find(({ key }) => { return key === this.route.snapshot.data['key']; }); + + if (this.product2.origin) { + this.product2.origin = translate(this.product2.origin); + } + + if (this.product2.regions) { + this.product2.regions = this.product2.regions.map((region) => { + return translate(region); + }); + } + + this.tags = [ + this.product1.name, + this.product2.name, + $localize`Alternative`, + $localize`App`, + $localize`Budgeting`, + $localize`Community`, + $localize`Family Office`, + `Fintech`, + $localize`Investment`, + $localize`Investor`, + $localize`Open Source`, + `OSS`, + $localize`Personal Finance`, + $localize`Privacy`, + $localize`Portfolio`, + $localize`Software`, + $localize`Tool`, + $localize`User Experience`, + $localize`Wealth`, + $localize`Wealth Management`, + `WealthTech` + ].sort((a, b) => { + return a.localeCompare(b, undefined, { sensitivity: 'base' }); + }); } } diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/product-page.html b/apps/client/src/app/pages/resources/personal-finance-tools/product-page.html index a8bc1d197..1c7102ed9 100644 --- a/apps/client/src/app/pages/resources/personal-finance-tools/product-page.html +++ b/apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -80,8 +80,24 @@ Region - {{ product1.region }} - {{ product2.region }} + + @for ( + region of product1.regions; + track region; + let isLast = $last + ) { + {{ region }}{{ isLast ? '' : ', ' }} + } + + + @for ( + region of product2.regions; + track region; + let isLast = $last + ) { + {{ region }}{{ isLast ? '' : ', ' }} + } + @@ -236,69 +252,11 @@