Browse Source

Localize features path

pull/2250/head
Thomas 2 years ago
parent
commit
a04fa4b4a6
  1. 10
      apps/client/src/app/app-routing.module.ts
  2. 2
      apps/client/src/app/app.component.html
  3. 3
      apps/client/src/app/app.component.ts
  4. 2
      apps/client/src/app/components/header/header.component.html
  5. 1
      apps/client/src/app/components/header/header.component.ts
  6. 3
      apps/client/src/app/core/auth.guard.ts
  7. 1
      apps/client/src/app/pages/about/overview/about-overview-page.component.ts
  8. 2
      apps/client/src/app/pages/about/overview/about-overview-page.html
  9. 2
      apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts
  10. 3
      apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.html
  11. 4
      apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts
  12. 6
      apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html
  13. 4
      apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts
  14. 6
      apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.html
  15. 4
      apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts
  16. 8
      apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.html
  17. 1
      apps/client/src/app/pages/faq/faq-page.component.ts
  18. 2
      apps/client/src/app/pages/faq/faq-page.html
  19. 8
      apps/client/src/app/pages/features/routes.ts
  20. 1
      apps/client/src/app/pages/pricing/pricing-page.component.ts
  21. 4
      apps/client/src/app/pages/pricing/pricing-page.html
  22. 4
      apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html
  23. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/altoo-page.component.ts
  24. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/copilot-money-page.component.ts
  25. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/delta-page.component.ts
  26. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/divvydiary-page.component.ts
  27. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts
  28. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts
  29. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/getquin-page.component.ts
  30. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/gospatz-page.component.ts
  31. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/justetf-page.component.ts
  32. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/kubera-page.component.ts
  33. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/markets.sh-page.component.ts
  34. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/maybe-finance-page.component.ts
  35. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/monse-page.component.ts
  36. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/parqet-page.component.ts
  37. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/plannix-page.component.ts
  38. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/portfolio-dividend-tracker-page.component.ts
  39. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/portseido-page.component.ts
  40. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/projectionlab-page.component.ts
  41. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/seeking-alpha-page.component.ts
  42. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/sharesight-page.component.ts
  43. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/simple-portfolio-page.component.ts
  44. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts
  45. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/sumio-page.component.ts
  46. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/utluna-page.component.ts
  47. 2
      apps/client/src/app/pages/resources/personal-finance-tools/products/yeekatee-page.component.ts
  48. 1502
      apps/client/src/locales/messages.de.xlf
  49. 1502
      apps/client/src/locales/messages.es.xlf
  50. 1502
      apps/client/src/locales/messages.fr.xlf
  51. 1502
      apps/client/src/locales/messages.it.xlf
  52. 1502
      apps/client/src/locales/messages.nl.xlf
  53. 1502
      apps/client/src/locales/messages.pt.xlf
  54. 1501
      apps/client/src/locales/messages.xlf

10
apps/client/src/app/app-routing.module.ts

@ -1,7 +1,6 @@
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { RouterModule, Routes, TitleStrategy } from '@angular/router'; import { RouterModule, Routes, TitleStrategy } from '@angular/router';
import { routes as aboutRoutes } from '@ghostfolio/client/pages/about/routes'; import { routes as aboutRoutes } from '@ghostfolio/client/pages/about/routes';
import { routes as featuresRoutes } from '@ghostfolio/client/pages/features/routes';
import { routes as marketsRoutes } from '@ghostfolio/client/pages/markets/routes'; import { routes as marketsRoutes } from '@ghostfolio/client/pages/markets/routes';
import { routes as pricingRoutes } from '@ghostfolio/client/pages/pricing/routes'; import { routes as pricingRoutes } from '@ghostfolio/client/pages/pricing/routes';
import { routes as registerRoutes } from '@ghostfolio/client/pages/register/routes'; import { routes as registerRoutes } from '@ghostfolio/client/pages/register/routes';
@ -11,7 +10,8 @@ import { PageTitleStrategy } from '@ghostfolio/client/services/page-title.strate
import { ModulePreloadService } from './core/module-preload.service'; import { ModulePreloadService } from './core/module-preload.service';
export const paths = { export const paths = {
faq: $localize`faq` faq: $localize`faq`,
features: $localize`features`
}; };
const routes: Routes = [ const routes: Routes = [
@ -59,13 +59,13 @@ const routes: Routes = [
loadChildren: () => loadChildren: () =>
import('./pages/faq/faq-page.module').then((m) => m.FaqPageModule) import('./pages/faq/faq-page.module').then((m) => m.FaqPageModule)
}, },
...featuresRoutes.map((path) => ({ {
path, path: paths.features,
loadChildren: () => loadChildren: () =>
import('./pages/features/features-page.module').then( import('./pages/features/features-page.module').then(
(m) => m.FeaturesPageModule (m) => m.FeaturesPageModule
) )
})), },
{ {
path: 'home', path: 'home',
loadChildren: () => loadChildren: () =>

2
apps/client/src/app/app.component.html

@ -68,7 +68,7 @@
<li> <li>
<a i18n [routerLink]="['/about', 'changelog']">Changelog</a> <a i18n [routerLink]="['/about', 'changelog']">Changelog</a>
</li> </li>
<li><a i18n [routerLink]="['/features']">Features</a></li> <li><a i18n [routerLink]="routerLinkFeatures">Features</a></li>
<li *ngIf="hasPermissionForSubscription"> <li *ngIf="hasPermissionForSubscription">
<a i18n [routerLink]="routerLinkFaq" <a i18n [routerLink]="routerLinkFaq"
>Frequently Asked Questions (FAQ)</a >Frequently Asked Questions (FAQ)</a

3
apps/client/src/app/app.component.ts

@ -39,6 +39,7 @@ export class AppComponent implements OnDestroy, OnInit {
public info: InfoItem; public info: InfoItem;
public pageTitle: string; public pageTitle: string;
public routerLinkFaq = ['/' + $localize`faq`]; public routerLinkFaq = ['/' + $localize`faq`];
public routerLinkFeatures = ['/' + $localize`features`];
public showFooter = false; public showFooter = false;
public user: User; public user: User;
public version = environment.version; public version = environment.version;
@ -94,7 +95,7 @@ export class AppComponent implements OnDestroy, OnInit {
this.showFooter = this.showFooter =
(this.currentRoute === 'blog' || (this.currentRoute === 'blog' ||
this.currentRoute === this.routerLinkFaq[0].slice(1) || this.currentRoute === this.routerLinkFaq[0].slice(1) ||
this.currentRoute === 'features' || this.currentRoute === this.routerLinkFeatures[0].slice(1) ||
this.currentRoute === 'markets' || this.currentRoute === 'markets' ||
this.currentRoute === 'open' || this.currentRoute === 'open' ||
this.currentRoute === 'p' || this.currentRoute === 'p' ||

2
apps/client/src/app/components/header/header.component.html

@ -263,7 +263,7 @@
'font-weight-bold': currentRoute === 'features', 'font-weight-bold': currentRoute === 'features',
'text-decoration-underline': currentRoute === 'features' 'text-decoration-underline': currentRoute === 'features'
}" }"
[routerLink]="['/features']" [routerLink]="routerLinkFeatures"
>Features</a >Features</a
> >
</li> </li>

1
apps/client/src/app/components/header/header.component.ts

@ -42,6 +42,7 @@ export class HeaderComponent implements OnChanges {
public hasPermissionToCreateUser: boolean; public hasPermissionToCreateUser: boolean;
public impersonationId: string; public impersonationId: string;
public isMenuOpen: boolean; public isMenuOpen: boolean;
public routerLinkFeatures = ['/' + $localize`features`];
private unsubscribeSubject = new Subject<void>(); private unsubscribeSubject = new Subject<void>();

3
apps/client/src/app/core/auth.guard.ts

@ -6,7 +6,6 @@ import {
} from '@angular/router'; } from '@angular/router';
import { paths } from '@ghostfolio/client/app-routing.module'; import { paths } from '@ghostfolio/client/app-routing.module';
import { routes as aboutRoutes } from '@ghostfolio/client/pages/about/routes'; import { routes as aboutRoutes } from '@ghostfolio/client/pages/about/routes';
import { routes as featuresRoutes } from '@ghostfolio/client/pages/features/routes';
import { routes as marketsRoutes } from '@ghostfolio/client/pages/markets/routes'; import { routes as marketsRoutes } from '@ghostfolio/client/pages/markets/routes';
import { routes as pricingRoutes } from '@ghostfolio/client/pages/pricing/routes'; import { routes as pricingRoutes } from '@ghostfolio/client/pages/pricing/routes';
import { routes as registerRoutes } from '@ghostfolio/client/pages/register/routes'; import { routes as registerRoutes } from '@ghostfolio/client/pages/register/routes';
@ -24,7 +23,7 @@ export class AuthGuard {
'/blog', '/blog',
'/demo', '/demo',
`/${paths.faq}`, `/${paths.faq}`,
...featuresRoutes.map((route) => `/${route}`), `/${paths.features}`,
...marketsRoutes.map((route) => `/${route}`), ...marketsRoutes.map((route) => `/${route}`),
'/open', '/open',
'/p', '/p',

1
apps/client/src/app/pages/about/overview/about-overview-page.component.ts

@ -19,6 +19,7 @@ export class AboutOverviewPageComponent implements OnDestroy, OnInit {
public hasPermissionForSubscription: boolean; public hasPermissionForSubscription: boolean;
public isLoggedIn: boolean; public isLoggedIn: boolean;
public routerLinkFaq = ['/' + $localize`faq`]; public routerLinkFaq = ['/' + $localize`faq`];
public routerLinkFeatures = ['/' + $localize`features`];
public user: User; public user: User;
public version = environment.version; public version = environment.version;

2
apps/client/src/app/pages/about/overview/about-overview-page.html

@ -46,7 +46,7 @@
<p> <p>
If you encounter a bug or would like to suggest an improvement or a If you encounter a bug or would like to suggest an improvement or a
new new
<a [routerLink]="['/features']">feature</a>, please join the <a [routerLink]="routerLinkFeatures">feature</a>, please join the
Ghostfolio Ghostfolio
<a <a
href="https://join.slack.com/t/ghostfolio/shared_invite/zt-vsaan64h-F_I0fEo5M0P88lP9ibCxFg" href="https://join.slack.com/t/ghostfolio/shared_invite/zt-vsaan64h-F_I0fEo5M0P88lP9ibCxFg"

2
apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts

@ -11,5 +11,5 @@ import { GfPremiumIndicatorModule } from '@ghostfolio/ui/premium-indicator';
templateUrl: './black-friday-2022-page.html' templateUrl: './black-friday-2022-page.html'
}) })
export class BlackFriday2022PageComponent { export class BlackFriday2022PageComponent {
public constructor() {} public routerLinkFeatures = ['/' + $localize`features`];
} }

3
apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.html

@ -35,7 +35,8 @@
software presents the current assets (stocks, ETFs, software presents the current assets (stocks, ETFs,
cryptocurrencies, commodities etc.) in real time to make solid, cryptocurrencies, commodities etc.) in real time to make solid,
data-driven investment decisions. Check out the numerous data-driven investment decisions. Check out the numerous
<a [routerLink]="['/features']">features</a> to manage your wealth. <a [routerLink]="routerLinkFeatures">features</a> to manage your
wealth.
</p> </p>
</section> </section>
<section class="mb-4"> <section class="mb-4">

4
apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts

@ -9,4 +9,6 @@ import { RouterModule } from '@angular/router';
standalone: true, standalone: true,
templateUrl: './1000-stars-on-github-page.html' templateUrl: './1000-stars-on-github-page.html'
}) })
export class ThousandStarsOnGitHubPageComponent {} export class ThousandStarsOnGitHubPageComponent {
public routerLinkFeatures = ['/' + $localize`features`];
}

6
apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html

@ -108,9 +108,9 @@
As the project continues to evolve, we can expect to see even more As the project continues to evolve, we can expect to see even more
exciting developments and innovations around Ghostfolio which guides exciting developments and innovations around Ghostfolio which guides
users through the process of users through the process of
<a [routerLink]="['/features']">tracking their assets</a>, such as <a [routerLink]="routerLinkFeatures">tracking their assets</a>, such
stocks, ETFs, or cryptocurrencies. Especially in the areas of data as stocks, ETFs, or cryptocurrencies. Especially in the areas of
import and portfolio analysis. data import and portfolio analysis.
</p> </p>
<p> <p>
We are honored to be a part of this vibrant and growing community, We are honored to be a part of this vibrant and growing community,

4
apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts

@ -9,4 +9,6 @@ import { RouterModule } from '@angular/router';
standalone: true, standalone: true,
templateUrl: './unlock-your-financial-potential-with-ghostfolio-page.html' templateUrl: './unlock-your-financial-potential-with-ghostfolio-page.html'
}) })
export class UnlockYourFinancialPotentialWithGhostfolioPageComponent {} export class UnlockYourFinancialPotentialWithGhostfolioPageComponent {
public routerLinkFeatures = ['/' + $localize`features`];
}

6
apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.html

@ -48,9 +48,9 @@
provides an intuitive interface to monitor long-term investments. provides an intuitive interface to monitor long-term investments.
Users can track performance over time, gaining insights into Users can track performance over time, gaining insights into
portfolio growth and stability. With strong visualizations and portfolio growth and stability. With strong visualizations and
reporting <a [routerLink]="['/features']">features</a>, Ghostfolio reporting <a [routerLink]="routerLinkFeatures">features</a>,
equips users to make well-informed decisions aligned with their Ghostfolio equips users to make well-informed decisions aligned with
long-term investment goals. their long-term investment goals.
</p> </p>
</section> </section>
<section class="mb-4"> <section class="mb-4">

4
apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts

@ -9,4 +9,6 @@ import { RouterModule } from '@angular/router';
standalone: true, standalone: true,
templateUrl: './exploring-the-path-to-fire-page.html' templateUrl: './exploring-the-path-to-fire-page.html'
}) })
export class ExploringThePathToFirePageComponent {} export class ExploringThePathToFirePageComponent {
public routerLinkFeatures = ['/' + $localize`features`];
}

8
apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.html

@ -135,10 +135,10 @@
track your investments, and make informed decisions to accelerate track your investments, and make informed decisions to accelerate
your progress towards financial independence. Ghostfolio also your progress towards financial independence. Ghostfolio also
provides a dedicated provides a dedicated
<a [routerLink]="['/features']">FIRE calculator</a>, allowing you to <a [routerLink]="routerLinkFeatures">FIRE calculator</a>, allowing
simulate your customized plan to achieve FIRE. You get the tools to you to simulate your customized plan to achieve FIRE. You get the
optimize your financial journey and confidently strive for a future tools to optimize your financial journey and confidently strive for
that is both personally fulfilling and financially secure. a future that is both personally fulfilling and financially secure.
</p> </p>
</section> </section>
<section class="mb-4 py-3"> <section class="mb-4 py-3">

1
apps/client/src/app/pages/faq/faq-page.component.ts

@ -10,6 +10,7 @@ import { Subject, takeUntil } from 'rxjs';
templateUrl: './faq-page.html' templateUrl: './faq-page.html'
}) })
export class FaqPageComponent implements OnDestroy { export class FaqPageComponent implements OnDestroy {
public routerLinkFeatures = ['/' + $localize`features`];
public user: User; public user: User;
private unsubscribeSubject = new Subject<void>(); private unsubscribeSubject = new Subject<void>();

2
apps/client/src/app/pages/faq/faq-page.html

@ -39,7 +39,7 @@
> >
<mat-card-content> <mat-card-content>
Please find a feature overview to manage your wealth Please find a feature overview to manage your wealth
<a [routerLink]="['/features']">here</a>. <a [routerLink]="routerLinkFeatures">here</a>.
</mat-card-content> </mat-card-content>
</mat-card> </mat-card>
<mat-card appearance="outlined" class="mb-3"> <mat-card appearance="outlined" class="mb-3">

8
apps/client/src/app/pages/features/routes.ts

@ -1,8 +0,0 @@
export const routes = [
'features',
/////
'fonctionnalites',
'funcionalidades',
'funzionalita',
'kenmerken'
] as const;

1
apps/client/src/app/pages/pricing/pricing-page.component.ts

@ -29,6 +29,7 @@ export class PricingPageComponent implements OnDestroy, OnInit {
public isLoggedIn: boolean; public isLoggedIn: boolean;
public price: number; public price: number;
public priceId: string; public priceId: string;
public routerLinkFeatures = ['/' + $localize`features`];
public user: User; public user: User;
private unsubscribeSubject = new Subject<void>(); private unsubscribeSubject = new Subject<void>();

4
apps/client/src/app/pages/pricing/pricing-page.html

@ -106,7 +106,7 @@
class="mr-1" class="mr-1"
name="checkmark-circle-outline" name="checkmark-circle-outline"
></ion-icon> ></ion-icon>
<a i18n [routerLink]="['/features']" <a i18n [routerLink]="routerLinkFeatures"
>and more Features...</a >and more Features...</a
> >
</li> </li>
@ -302,7 +302,7 @@
class="mr-1" class="mr-1"
name="checkmark-circle-outline" name="checkmark-circle-outline"
></ion-icon> ></ion-icon>
<a i18n [routerLink]="['/features']" <a i18n [routerLink]="routerLinkFeatures"
>and more Features...</a >and more Features...</a
> >
</li> </li>

4
apps/client/src/app/pages/resources/personal-finance-tools/product-page-template.html

@ -16,7 +16,9 @@
comprehensive platform to track, analyze, and optimize their comprehensive platform to track, analyze, and optimize their
investments. Whether you are an experienced investor or just investments. Whether you are an experienced investor or just
starting out, Ghostfolio offers an intuitive user interface and a starting out, Ghostfolio offers an intuitive user interface and a
<a [routerLink]="['/features']">wide range of functionalities</a> <a [routerLink]="routerLinkFeatures"
>wide range of functionalities</a
>
to help you make informed decisions and take control of your to help you make informed decisions and take control of your
financial future. financial future.
</p> </p>

2
apps/client/src/app/pages/resources/personal-finance-tools/products/altoo-page.component.ts

@ -21,4 +21,6 @@ export class AltooPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'altoo'; return key === 'altoo';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/copilot-money-page.component.ts

@ -21,4 +21,6 @@ export class CopilotMoneyPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'copilot-money'; return key === 'copilot-money';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/delta-page.component.ts

@ -21,4 +21,6 @@ export class DeltaPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'delta'; return key === 'delta';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/divvydiary-page.component.ts

@ -21,4 +21,6 @@ export class DivvyDiaryPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'divvydiary'; return key === 'divvydiary';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/exirio-page.component.ts

@ -21,4 +21,6 @@ export class ExirioPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'exirio'; return key === 'exirio';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/folishare-page.component.ts

@ -21,4 +21,6 @@ export class FolisharePageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'folishare'; return key === 'folishare';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/getquin-page.component.ts

@ -21,4 +21,6 @@ export class GetquinPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'getquin'; return key === 'getquin';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/gospatz-page.component.ts

@ -21,4 +21,6 @@ export class GoSpatzPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'gospatz'; return key === 'gospatz';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/justetf-page.component.ts

@ -21,4 +21,6 @@ export class JustEtfPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'justetf'; return key === 'justetf';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/kubera-page.component.ts

@ -21,4 +21,6 @@ export class KuberaPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'kubera'; return key === 'kubera';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/markets.sh-page.component.ts

@ -21,4 +21,6 @@ export class MarketsShPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'markets.sh'; return key === 'markets.sh';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/maybe-finance-page.component.ts

@ -21,4 +21,6 @@ export class MaybeFinancePageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'maybe-finance'; return key === 'maybe-finance';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/monse-page.component.ts

@ -21,4 +21,6 @@ export class MonsePageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'monse'; return key === 'monse';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/parqet-page.component.ts

@ -21,4 +21,6 @@ export class ParqetPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'parqet'; return key === 'parqet';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/plannix-page.component.ts

@ -21,4 +21,6 @@ export class PlannixPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'plannix'; return key === 'plannix';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/portfolio-dividend-tracker-page.component.ts

@ -21,4 +21,6 @@ export class PortfolioDividendTrackerPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'portfolio-dividend-tracker'; return key === 'portfolio-dividend-tracker';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/portseido-page.component.ts

@ -21,4 +21,6 @@ export class PortseidoPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'portseido'; return key === 'portseido';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/projectionlab-page.component.ts

@ -21,4 +21,6 @@ export class ProjectionLabPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'projectionlab'; return key === 'projectionlab';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/seeking-alpha-page.component.ts

@ -21,4 +21,6 @@ export class SeekingAlphaPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'seeking-alpha'; return key === 'seeking-alpha';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/sharesight-page.component.ts

@ -21,4 +21,6 @@ export class SharesightPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'sharesight'; return key === 'sharesight';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/simple-portfolio-page.component.ts

@ -21,4 +21,6 @@ export class SimplePortfolioPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'simple-portfolio'; return key === 'simple-portfolio';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/snowball-analytics-page.component.ts

@ -21,4 +21,6 @@ export class SnowballAnalyticsPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'snowball-analytics'; return key === 'snowball-analytics';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/sumio-page.component.ts

@ -21,4 +21,6 @@ export class SumioPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'sumio'; return key === 'sumio';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/utluna-page.component.ts

@ -21,4 +21,6 @@ export class UtlunaPageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'utluna'; return key === 'utluna';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

2
apps/client/src/app/pages/resources/personal-finance-tools/products/yeekatee-page.component.ts

@ -21,4 +21,6 @@ export class YeekateePageComponent {
public product2 = products.find(({ key }) => { public product2 = products.find(({ key }) => {
return key === 'yeekatee'; return key === 'yeekatee';
}); });
public routerLinkFeatures = ['/' + $localize`features`];
} }

1502
apps/client/src/locales/messages.de.xlf

File diff suppressed because it is too large

1502
apps/client/src/locales/messages.es.xlf

File diff suppressed because it is too large

1502
apps/client/src/locales/messages.fr.xlf

File diff suppressed because it is too large

1502
apps/client/src/locales/messages.it.xlf

File diff suppressed because it is too large

1502
apps/client/src/locales/messages.nl.xlf

File diff suppressed because it is too large

1502
apps/client/src/locales/messages.pt.xlf

File diff suppressed because it is too large

1501
apps/client/src/locales/messages.xlf

File diff suppressed because it is too large
Loading…
Cancel
Save