diff --git a/apps/client/src/app/app-routing.module.ts b/apps/client/src/app/app-routing.module.ts index f4b61ea33..1d62f5f13 100644 --- a/apps/client/src/app/app-routing.module.ts +++ b/apps/client/src/app/app-routing.module.ts @@ -1,6 +1,6 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { paths } from '@ghostfolio/client/core/paths'; import { PageTitleStrategy } from '@ghostfolio/client/services/page-title.strategy'; +import { paths } from '@ghostfolio/common/paths'; import { NgModule } from '@angular/core'; import { RouterModule, Routes, TitleStrategy } from '@angular/router'; @@ -14,21 +14,21 @@ const routes: Routes = [ import('./pages/about/about-page.module').then((m) => m.AboutPageModule) }, { - path: 'account', + path: paths.account, loadChildren: () => import('./pages/user-account/user-account-page.module').then( (m) => m.UserAccountPageModule ) }, { - path: 'accounts', + path: paths.accounts, loadChildren: () => import('./pages/accounts/accounts-page.module').then( (m) => m.AccountsPageModule ) }, { - path: 'admin', + path: paths.admin, loadChildren: () => import('./pages/admin/admin-page.module').then((m) => m.AdminPageModule) }, @@ -38,16 +38,16 @@ const routes: Routes = [ import('./pages/api/api-page.component').then( (c) => c.GfApiPageComponent ), - path: 'api', + path: paths.api, title: 'Ghostfolio API' }, { - path: 'auth', + path: paths.auth, loadChildren: () => import('./pages/auth/auth-page.module').then((m) => m.AuthPageModule) }, { - path: 'blog', + path: paths.blog, loadChildren: () => import('./pages/blog/blog-page.module').then((m) => m.BlogPageModule) }, @@ -57,7 +57,7 @@ const routes: Routes = [ import('./pages/demo/demo-page.component').then( (c) => c.GfDemoPageComponent ), - path: 'demo' + path: paths.demo }, { path: paths.faq, @@ -74,7 +74,7 @@ const routes: Routes = [ title: $localize`Features` }, { - path: 'home', + path: paths.home, loadChildren: () => import('./pages/home/home-page.module').then((m) => m.HomePageModule) }, @@ -84,7 +84,7 @@ const routes: Routes = [ import('./pages/i18n/i18n-page.component').then( (c) => c.GfI18nPageComponent ), - path: 'i18n', + path: paths.i18n, title: $localize`Internationalization` }, { @@ -95,19 +95,12 @@ const routes: Routes = [ ) }, { - path: 'open', + path: paths.open, loadChildren: () => import('./pages/open/open-page.module').then((m) => m.OpenPageModule) }, { - path: 'p', - loadChildren: () => - import('./pages/public/public-page.module').then( - (m) => m.PublicPageModule - ) - }, - { - path: 'portfolio', + path: paths.portfolio, loadChildren: () => import('./pages/portfolio/portfolio-page.module').then( (m) => m.PortfolioPageModule @@ -120,6 +113,13 @@ const routes: Routes = [ (m) => m.PricingPageModule ) }, + { + path: paths.public, + loadChildren: () => + import('./pages/public/public-page.module').then( + (m) => m.PublicPageModule + ) + }, { path: paths.register, loadChildren: () => @@ -135,7 +135,7 @@ const routes: Routes = [ ) }, { - path: 'start', + path: paths.start, loadChildren: () => import('./pages/landing/landing-page.module').then( (m) => m.LandingPageModule @@ -146,11 +146,11 @@ const routes: Routes = [ import('./pages/webauthn/webauthn-page.component').then( (c) => c.GfWebauthnPageComponent ), - path: 'webauthn', + path: paths.webauthn, title: $localize`Sign in` }, { - path: 'zen', + path: paths.zen, loadChildren: () => import('./pages/zen/zen-page.module').then((m) => m.ZenPageModule) }, diff --git a/apps/client/src/app/app.component.ts b/apps/client/src/app/app.component.ts index 38e48f139..02db9fea0 100644 --- a/apps/client/src/app/app.component.ts +++ b/apps/client/src/app/app.component.ts @@ -2,6 +2,7 @@ import { GfHoldingDetailDialogComponent } from '@ghostfolio/client/components/ho import { HoldingDetailDialogParams } from '@ghostfolio/client/components/holding-detail-dialog/interfaces/interfaces'; import { getCssVariable } from '@ghostfolio/common/helper'; import { InfoItem, User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { ColorScheme } from '@ghostfolio/common/types'; @@ -62,29 +63,23 @@ export class AppComponent implements OnDestroy, OnInit { public hasTabs = false; public info: InfoItem; public pageTitle: string; - public routerLinkAbout = ['/' + $localize`:snake-case:about`]; - public routerLinkAboutChangelog = [ - '/' + $localize`:snake-case:about`, - 'changelog' - ]; - public routerLinkAboutLicense = [ - '/' + $localize`:snake-case:about`, - $localize`:snake-case:license` - ]; + public routerLinkAbout = ['/' + paths.about]; + public routerLinkAboutChangelog = ['/' + paths.about, paths.changelog]; + public routerLinkAboutLicense = ['/' + paths.about, paths.license]; public routerLinkAboutPrivacyPolicy = [ - '/' + $localize`:snake-case:about`, - $localize`:snake-case:privacy-policy` + '/' + paths.about, + paths.privacyPolicy ]; public routerLinkAboutTermsOfService = [ - '/' + $localize`:snake-case:about`, - $localize`:snake-case:terms-of-service` + '/' + paths.about, + paths.termsOfService ]; - public routerLinkFaq = ['/' + $localize`:snake-case:faq`]; - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; - public routerLinkMarkets = ['/' + $localize`:snake-case:markets`]; - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; - public routerLinkRegister = ['/' + $localize`:snake-case:register`]; - public routerLinkResources = ['/' + $localize`:snake-case:resources`]; + public routerLinkFaq = ['/' + paths.faq]; + public routerLinkFeatures = ['/' + paths.features]; + public routerLinkMarkets = ['/' + paths.markets]; + public routerLinkPricing = ['/' + paths.pricing]; + public routerLinkRegister = ['/' + paths.register]; + public routerLinkResources = ['/' + paths.resources]; public showFooter = false; public user: User; diff --git a/apps/client/src/app/components/access-table/access-table.component.ts b/apps/client/src/app/components/access-table/access-table.component.ts index 34c5fbda2..e70b6684a 100644 --- a/apps/client/src/app/components/access-table/access-table.component.ts +++ b/apps/client/src/app/components/access-table/access-table.component.ts @@ -2,6 +2,7 @@ import { ConfirmationDialogType } from '@ghostfolio/client/core/notification/con import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { DEFAULT_LANGUAGE_CODE } from '@ghostfolio/common/config'; import { Access, User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { Clipboard } from '@angular/cdk/clipboard'; import { @@ -55,7 +56,7 @@ export class AccessTableComponent implements OnChanges { public getPublicUrl(aId: string): string { const languageCode = this.user?.settings?.language ?? DEFAULT_LANGUAGE_CODE; - return `${this.baseUrl}/${languageCode}/p/${aId}`; + return `${this.baseUrl}/${languageCode}/${paths.public}/${aId}`; } public onCopyUrlToClipboard(aId: string): void { diff --git a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts index c77d8cb4a..ba3b9e871 100644 --- a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts +++ b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts @@ -9,6 +9,7 @@ import { PortfolioPosition, User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { OrderWithAccount } from '@ghostfolio/common/types'; @@ -92,7 +93,7 @@ export class AccountDetailDialog implements OnDestroy, OnInit { } public onCloneActivity(aActivity: Activity) { - this.router.navigate(['/portfolio', 'activities'], { + this.router.navigate(['/' + paths.portfolio, paths.activities], { queryParams: { activityId: aActivity.id, createDialog: true } }); @@ -151,7 +152,7 @@ export class AccountDetailDialog implements OnDestroy, OnInit { } public onUpdateActivity(aActivity: Activity) { - this.router.navigate(['/portfolio', 'activities'], { + this.router.navigate(['/' + paths.portfolio, paths.activities], { queryParams: { activityId: aActivity.id, editDialog: true } }); diff --git a/apps/client/src/app/components/admin-settings/admin-settings.component.ts b/apps/client/src/app/components/admin-settings/admin-settings.component.ts index f85d9a2f7..3ff8370cd 100644 --- a/apps/client/src/app/components/admin-settings/admin-settings.component.ts +++ b/apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -13,6 +13,7 @@ import { DataProviderInfo, User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { ChangeDetectionStrategy, @@ -75,9 +76,7 @@ export class AdminSettingsComponent implements OnDestroy, OnInit { const languageCode = this.user?.settings?.language ?? DEFAULT_LANGUAGE_CODE; - this.pricingUrl = - `https://ghostfol.io/${languageCode}/` + - $localize`:snake-case:pricing`; + this.pricingUrl = `https://ghostfol.io/${languageCode}/${paths.pricing}`; this.changeDetectorRef.markForCheck(); } diff --git a/apps/client/src/app/components/header/header.component.ts b/apps/client/src/app/components/header/header.component.ts index 728320aef..a0fbe8c84 100644 --- a/apps/client/src/app/components/header/header.component.ts +++ b/apps/client/src/app/components/header/header.component.ts @@ -11,6 +11,7 @@ import { import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { Filter, InfoItem, User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { DateRange } from '@ghostfolio/common/types'; import { GfAssistantComponent } from '@ghostfolio/ui/assistant/assistant.component'; @@ -79,17 +80,17 @@ export class HeaderComponent implements OnChanges { public hasPermissionToCreateUser: boolean; public impersonationId: string; public isMenuOpen: boolean; - public routeAbout = $localize`:snake-case:about`; - public routeFeatures = $localize`:snake-case:features`; - public routeMarkets = $localize`:snake-case:markets`; - public routePricing = $localize`:snake-case:pricing`; - public routeResources = $localize`:snake-case:resources`; - public routerLinkAbout = ['/' + $localize`:snake-case:about`]; - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; - public routerLinkMarkets = ['/' + $localize`:snake-case:markets`]; - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; - public routerLinkRegister = ['/' + $localize`:snake-case:register`]; - public routerLinkResources = ['/' + $localize`:snake-case:resources`]; + public routeAbout = paths.about; + public routeFeatures = paths.features; + public routeMarkets = paths.markets; + public routePricing = paths.pricing; + public routeResources = paths.resources; + public routerLinkAbout = ['/' + paths.about]; + public routerLinkFeatures = ['/' + paths.features]; + public routerLinkMarkets = ['/' + paths.markets]; + public routerLinkPricing = ['/' + paths.pricing]; + public routerLinkRegister = ['/' + paths.register]; + public routerLinkResources = ['/' + paths.resources]; private unsubscribeSubject = new Subject(); diff --git a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts index 925a64429..028866009 100644 --- a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts +++ b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts @@ -13,6 +13,7 @@ import { LineChartItem, User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { GfActivitiesTableComponent } from '@ghostfolio/ui/activities-table'; import { GfDataProviderCreditsComponent } from '@ghostfolio/ui/data-provider-credits'; @@ -468,7 +469,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit { } public onCloneActivity(aActivity: Activity) { - this.router.navigate(['/portfolio', 'activities'], { + this.router.navigate(['/' + paths.portfolio, paths.activities], { queryParams: { activityId: aActivity.id, createDialog: true } }); @@ -510,7 +511,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit { } public onUpdateActivity(aActivity: Activity) { - this.router.navigate(['/portfolio', 'activities'], { + this.router.navigate(['/' + paths.portfolio, paths.activities], { queryParams: { activityId: aActivity.id, editDialog: true } }); diff --git a/apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts b/apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts index 201a63927..233493d13 100644 --- a/apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts +++ b/apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { ChangeDetectionStrategy, ChangeDetectorRef, @@ -26,7 +28,7 @@ export class SubscriptionInterstitialDialog implements OnInit { public remainingSkipButtonDelay = SubscriptionInterstitialDialog.SKIP_BUTTON_DELAY_IN_SECONDS; - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; + public routerLinkPricing = ['/' + paths.pricing]; public variantIndex: number; private unsubscribeSubject = new Subject(); diff --git a/apps/client/src/app/components/user-account-membership/user-account-membership.component.ts b/apps/client/src/app/components/user-account-membership/user-account-membership.component.ts index 8d54f737c..82810392c 100644 --- a/apps/client/src/app/components/user-account-membership/user-account-membership.component.ts +++ b/apps/client/src/app/components/user-account-membership/user-account-membership.component.ts @@ -4,6 +4,7 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { getDateFormatString } from '@ghostfolio/common/helper'; import { User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { @@ -36,7 +37,7 @@ export class UserAccountMembershipComponent implements OnDestroy { public hasPermissionToUpdateUserSettings: boolean; public price: number; public priceId: string; - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; + public routerLinkPricing = ['/' + paths.pricing]; public trySubscriptionMail = 'mailto:hi@ghostfol.io?Subject=Ghostfolio Premium Trial&body=Hello%0D%0DI am interested in Ghostfolio Premium. Can you please send me a coupon code to try it for some time?%0D%0DKind regards'; public user: User; diff --git a/apps/client/src/app/core/auth.guard.ts b/apps/client/src/app/core/auth.guard.ts index 7a75728ca..16851b4e0 100644 --- a/apps/client/src/app/core/auth.guard.ts +++ b/apps/client/src/app/core/auth.guard.ts @@ -1,6 +1,7 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { SettingsStorageService } from '@ghostfolio/client/services/settings-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; +import { paths } from '@ghostfolio/common/paths'; import { Injectable } from '@angular/core'; import { @@ -11,20 +12,18 @@ import { import { EMPTY } from 'rxjs'; import { catchError } from 'rxjs/operators'; -import { paths } from './paths'; - @Injectable({ providedIn: 'root' }) export class AuthGuard { private static PUBLIC_PAGE_ROUTES = [ `/${paths.about}`, - '/blog', - '/demo', + `/${paths.blog}`, + `/${paths.demo}`, `/${paths.faq}`, `/${paths.features}`, `/${paths.markets}`, - '/open', - '/p', + `/${paths.open}`, `/${paths.pricing}`, + `/${paths.public}`, `/${paths.register}`, `/${paths.resources}` ]; @@ -49,21 +48,21 @@ export class AuthGuard { .pipe( catchError(() => { if (utmSource === 'ios') { - this.router.navigate(['/demo']); + this.router.navigate(['/' + paths.demo]); resolve(false); } else if (utmSource === 'trusted-web-activity') { - this.router.navigate(['/' + $localize`register`]); + this.router.navigate(['/' + paths.register]); resolve(false); } else if ( - AuthGuard.PUBLIC_PAGE_ROUTES.filter((publicPageRoute) => { - const [, url] = state.url.split('/'); + AuthGuard.PUBLIC_PAGE_ROUTES.some((publicPageRoute) => { + const [, url] = decodeURIComponent(state.url).split('/'); return `/${url}` === publicPageRoute; - })?.length > 0 + }) ) { resolve(true); return EMPTY; } else if (state.url !== '/start') { - this.router.navigate(['/start']); + this.router.navigate(['/' + paths.start]); resolve(false); return EMPTY; } @@ -89,26 +88,26 @@ export class AuthGuard { resolve(true); return; } else if ( - state.url.startsWith('/home') && + state.url.startsWith(`/${paths.home}`) && user.settings.viewMode === 'ZEN' ) { - this.router.navigate(['/zen']); + this.router.navigate(['/' + paths.zen]); resolve(false); return; - } else if (state.url.startsWith('/start')) { + } else if (state.url.startsWith(`/${paths.start}`)) { if (user.settings.viewMode === 'ZEN') { - this.router.navigate(['/zen']); + this.router.navigate(['/' + paths.zen]); } else { - this.router.navigate(['/home']); + this.router.navigate(['/' + paths.home]); } resolve(false); return; } else if ( - state.url.startsWith('/zen') && + state.url.startsWith(`/${paths.zen}`) && user.settings.viewMode === 'DEFAULT' ) { - this.router.navigate(['/home']); + this.router.navigate(['/' + paths.home]); resolve(false); return; } diff --git a/apps/client/src/app/core/http-response.interceptor.ts b/apps/client/src/app/core/http-response.interceptor.ts index 62c3540f7..32c5350bb 100644 --- a/apps/client/src/app/core/http-response.interceptor.ts +++ b/apps/client/src/app/core/http-response.interceptor.ts @@ -2,6 +2,7 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; import { WebAuthnService } from '@ghostfolio/client/services/web-authn.service'; import { InfoItem } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { HTTP_INTERCEPTORS, @@ -74,7 +75,7 @@ export class HttpResponseInterceptor implements HttpInterceptor { }); this.snackBarRef.onAction().subscribe(() => { - this.router.navigate(['/' + $localize`pricing`]); + this.router.navigate(['/' + paths.pricing]); }); } } else if (error.status === StatusCodes.INTERNAL_SERVER_ERROR) { @@ -110,7 +111,7 @@ export class HttpResponseInterceptor implements HttpInterceptor { } else if (error.status === StatusCodes.UNAUTHORIZED) { if (!error.url.includes('/data-providers/ghostfolio/status')) { if (this.webAuthnService.isEnabled()) { - this.router.navigate(['/webauthn']); + this.router.navigate(['/' + paths.webauthn]); } else { this.tokenStorageService.signOut(); } diff --git a/apps/client/src/app/core/paths.ts b/apps/client/src/app/core/paths.ts deleted file mode 100644 index 17ce75c7c..000000000 --- a/apps/client/src/app/core/paths.ts +++ /dev/null @@ -1,12 +0,0 @@ -export const paths = { - about: $localize`about`, - faq: $localize`faq`, - features: $localize`features`, - license: $localize`license`, - markets: $localize`markets`, - pricing: $localize`pricing`, - privacyPolicy: $localize`privacy-policy`, - register: $localize`register`, - resources: $localize`resources`, - termsOfService: $localize`terms-of-service` -}; diff --git a/apps/client/src/app/pages/about/about-page-routing.module.ts b/apps/client/src/app/pages/about/about-page-routing.module.ts index a7312001f..d8d70a2da 100644 --- a/apps/client/src/app/pages/about/about-page-routing.module.ts +++ b/apps/client/src/app/pages/about/about-page-routing.module.ts @@ -1,5 +1,5 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { paths } from '@ghostfolio/client/core/paths'; +import { paths } from '@ghostfolio/common/paths'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -18,7 +18,7 @@ const routes: Routes = [ ) }, { - path: 'changelog', + path: paths.changelog, loadChildren: () => import('./changelog/changelog-page.module').then( (m) => m.ChangelogPageModule @@ -32,7 +32,7 @@ const routes: Routes = [ ) }, { - path: 'oss-friends', + path: paths.ossFriends, loadChildren: () => import('./oss-friends/oss-friends-page.module').then( (m) => m.OpenSourceSoftwareFriendsPageModule diff --git a/apps/client/src/app/pages/about/about-page.component.ts b/apps/client/src/app/pages/about/about-page.component.ts index 46a080383..deeffa166 100644 --- a/apps/client/src/app/pages/about/about-page.component.ts +++ b/apps/client/src/app/pages/about/about-page.component.ts @@ -1,6 +1,7 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { TabConfiguration, User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; @@ -43,17 +44,17 @@ export class AboutPageComponent implements OnDestroy, OnInit { { iconName: 'information-circle-outline', label: $localize`About`, - path: ['/' + $localize`about`] + path: ['/' + paths.about] }, { iconName: 'sparkles-outline', label: $localize`Changelog`, - path: ['/' + $localize`about`, 'changelog'] + path: ['/' + paths.about, paths.changelog] }, { iconName: 'ribbon-outline', label: $localize`License`, - path: ['/' + $localize`about`, $localize`license`], + path: ['/' + paths.about, paths.license], showCondition: !this.hasPermissionForSubscription } ]; @@ -62,14 +63,14 @@ export class AboutPageComponent implements OnDestroy, OnInit { this.tabs.push({ iconName: 'shield-checkmark-outline', label: $localize`Privacy Policy`, - path: ['/' + $localize`about`, $localize`privacy-policy`], + path: ['/' + paths.about, paths.privacyPolicy], showCondition: this.hasPermissionForSubscription }); this.tabs.push({ iconName: 'document-text-outline', label: $localize`Terms of Service`, - path: ['/' + $localize`about`, $localize`terms-of-service`], + path: ['/' + paths.about, paths.termsOfService], showCondition: this.hasPermissionForSubscription }); @@ -81,7 +82,7 @@ export class AboutPageComponent implements OnDestroy, OnInit { this.tabs.push({ iconName: 'happy-outline', label: 'OSS Friends', - path: ['/' + $localize`about`, 'oss-friends'] + path: ['/' + paths.about, paths.ossFriends] }); }); } diff --git a/apps/client/src/app/pages/about/overview/about-overview-page.component.ts b/apps/client/src/app/pages/about/overview/about-overview-page.component.ts index 9dae545fa..5ec30a32e 100644 --- a/apps/client/src/app/pages/about/overview/about-overview-page.component.ts +++ b/apps/client/src/app/pages/about/overview/about-overview-page.component.ts @@ -1,6 +1,7 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; @@ -17,8 +18,8 @@ export class AboutOverviewPageComponent implements OnDestroy, OnInit { public hasPermissionForStatistics: boolean; public hasPermissionForSubscription: boolean; public isLoggedIn: boolean; - public routerLinkFaq = ['/' + $localize`:snake-case:faq`]; - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; + public routerLinkFaq = ['/' + paths.faq]; + public routerLinkFeatures = ['/' + paths.features]; public user: User; private unsubscribeSubject = new Subject(); diff --git a/apps/client/src/app/pages/admin/admin-page-routing.module.ts b/apps/client/src/app/pages/admin/admin-page-routing.module.ts index a6a69641c..d22c754bb 100644 --- a/apps/client/src/app/pages/admin/admin-page-routing.module.ts +++ b/apps/client/src/app/pages/admin/admin-page-routing.module.ts @@ -4,6 +4,7 @@ import { AdminOverviewComponent } from '@ghostfolio/client/components/admin-over import { AdminSettingsComponent } from '@ghostfolio/client/components/admin-settings/admin-settings.component'; import { AdminUsersComponent } from '@ghostfolio/client/components/admin-users/admin-users.component'; import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; +import { paths } from '@ghostfolio/common/paths'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -20,22 +21,22 @@ const routes: Routes = [ title: $localize`Admin Control` }, { - path: 'jobs', + path: paths.jobs, component: AdminJobsComponent, title: $localize`Job Queue` }, { - path: 'market-data', + path: paths.marketData, component: AdminMarketDataComponent, title: $localize`Market Data` }, { - path: 'settings', + path: paths.settings, component: AdminSettingsComponent, title: $localize`Settings` }, { - path: 'users', + path: paths.users, component: AdminUsersComponent, title: $localize`Users` } diff --git a/apps/client/src/app/pages/admin/admin-page.component.ts b/apps/client/src/app/pages/admin/admin-page.component.ts index 5896a18d7..8328b7aba 100644 --- a/apps/client/src/app/pages/admin/admin-page.component.ts +++ b/apps/client/src/app/pages/admin/admin-page.component.ts @@ -1,4 +1,5 @@ import { TabConfiguration } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { Component, OnDestroy, OnInit } from '@angular/core'; import { DeviceDetectorService } from 'ngx-device-detector'; @@ -26,27 +27,27 @@ export class AdminPageComponent implements OnDestroy, OnInit { { iconName: 'reader-outline', label: $localize`Overview`, - path: ['/admin'] + path: ['/' + paths.admin] }, { iconName: 'settings-outline', label: $localize`Settings`, - path: ['/admin', 'settings'] + path: ['/' + paths.admin, paths.settings] }, { iconName: 'server-outline', label: $localize`Market Data`, - path: ['/admin', 'market-data'] + path: ['/' + paths.admin, paths.marketData] }, { iconName: 'flash-outline', label: $localize`Job Queue`, - path: ['/admin', 'jobs'] + path: ['/' + paths.admin, paths.jobs] }, { iconName: 'people-outline', label: $localize`Users`, - path: ['/admin', 'users'] + path: ['/' + paths.admin, paths.users] } ]; } diff --git a/apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts b/apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts index 2e346bf40..5dcb6e359 100644 --- a/apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts +++ b/apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; @@ -9,6 +11,6 @@ import { RouterModule } from '@angular/router'; templateUrl: './hallo-ghostfolio-page.html' }) export class HalloGhostfolioPageComponent { - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; - public routerLinkResources = ['/' + $localize`:snake-case:resources`]; + public routerLinkPricing = ['/' + paths.pricing]; + public routerLinkResources = ['/' + paths.resources]; } diff --git a/apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts b/apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts index 7c5554b79..7a795f5d7 100644 --- a/apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts +++ b/apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; @@ -9,6 +11,6 @@ import { RouterModule } from '@angular/router'; templateUrl: './hello-ghostfolio-page.html' }) export class HelloGhostfolioPageComponent { - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; - public routerLinkResources = ['/' + $localize`:snake-case:resources`]; + public routerLinkPricing = ['/' + paths.pricing]; + public routerLinkResources = ['/' + paths.resources]; } diff --git a/apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts b/apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts index f4391ed86..85f2f5720 100644 --- a/apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts +++ b/apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; @@ -9,5 +11,5 @@ import { RouterModule } from '@angular/router'; templateUrl: './first-months-in-open-source-page.html' }) export class FirstMonthsInOpenSourcePageComponent { - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; + public routerLinkPricing = ['/' + paths.pricing]; } diff --git a/apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts b/apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts index e9ebb38a2..f51002647 100644 --- a/apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts +++ b/apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; @@ -9,5 +11,5 @@ import { RouterModule } from '@angular/router'; templateUrl: './how-do-i-get-my-finances-in-order-page.html' }) export class HowDoIGetMyFinancesInOrderPageComponent { - public routerLinkResources = ['/' + $localize`:snake-case:resources`]; + public routerLinkResources = ['/' + paths.resources]; } diff --git a/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts index 6cd71ad01..f10cf6878 100644 --- a/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts +++ b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; @@ -9,6 +11,6 @@ import { RouterModule } from '@angular/router'; templateUrl: './500-stars-on-github-page.html' }) export class FiveHundredStarsOnGitHubPageComponent { - public routerLinkMarkets = ['/' + $localize`:snake-case:markets`]; - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; + public routerLinkMarkets = ['/' + paths.markets]; + public routerLinkPricing = ['/' + paths.pricing]; } diff --git a/apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts b/apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts index 9696806d4..558922d6a 100644 --- a/apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts +++ b/apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts @@ -1,3 +1,4 @@ +import { paths } from '@ghostfolio/common/paths'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { Component } from '@angular/core'; @@ -11,6 +12,6 @@ import { RouterModule } from '@angular/router'; templateUrl: './black-friday-2022-page.html' }) export class BlackFriday2022PageComponent { - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; + public routerLinkFeatures = ['/' + paths.features]; + public routerLinkPricing = ['/' + paths.pricing]; } diff --git a/apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts b/apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts index ba20ce35c..959f63806 100644 --- a/apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts +++ b/apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; @@ -9,6 +11,6 @@ import { RouterModule } from '@angular/router'; templateUrl: './1000-stars-on-github-page.html' }) export class ThousandStarsOnGitHubPageComponent { - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; + public routerLinkFeatures = ['/' + paths.features]; + public routerLinkPricing = ['/' + paths.pricing]; } diff --git a/apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts b/apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts index a401c74ea..f488a45ea 100644 --- a/apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts +++ b/apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; @@ -9,6 +11,6 @@ import { RouterModule } from '@angular/router'; templateUrl: './unlock-your-financial-potential-with-ghostfolio-page.html' }) export class UnlockYourFinancialPotentialWithGhostfolioPageComponent { - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; - public routerLinkResources = ['/' + $localize`:snake-case:resources`]; + public routerLinkFeatures = ['/' + paths.features]; + public routerLinkResources = ['/' + paths.resources]; } diff --git a/apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts b/apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts index 6cf8dfe25..753ddb9f1 100644 --- a/apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts +++ b/apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; @@ -9,5 +11,5 @@ import { RouterModule } from '@angular/router'; templateUrl: './exploring-the-path-to-fire-page.html' }) export class ExploringThePathToFirePageComponent { - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; + public routerLinkFeatures = ['/' + paths.features]; } diff --git a/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts b/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts index 2f2f6275a..674469763 100644 --- a/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts +++ b/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; @@ -9,8 +11,5 @@ import { RouterModule } from '@angular/router'; templateUrl: './ghostfolio-joins-oss-friends-page.html' }) export class GhostfolioJoinsOssFriendsPageComponent { - public routerLinkAboutOssFriends = [ - '/' + $localize`:snake-case:about`, - 'oss-friends' - ]; + public routerLinkAboutOssFriends = ['/' + paths.about, paths.ossFriends]; } diff --git a/apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts b/apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts index 80f9f08fd..3918c5145 100644 --- a/apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts +++ b/apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; @@ -9,11 +11,8 @@ import { RouterModule } from '@angular/router'; templateUrl: './ghostfolio-2-page.html' }) export class Ghostfolio2PageComponent { - public routerLinkAbout = ['/' + $localize`:snake-case:about`]; - public routerLinkAboutChangelog = [ - '/' + $localize`:snake-case:about`, - 'changelog' - ]; - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; - public routerLinkMarkets = ['/' + $localize`:snake-case:markets`]; + public routerLinkAbout = ['/' + paths.about]; + public routerLinkAboutChangelog = ['/' + paths.about, paths.changelog]; + public routerLinkFeatures = ['/' + paths.features]; + public routerLinkMarkets = ['/' + paths.markets]; } diff --git a/apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts b/apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts index 8e38d00c7..ef25da8e6 100644 --- a/apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts +++ b/apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; @@ -9,5 +11,5 @@ import { RouterModule } from '@angular/router'; templateUrl: './hacktoberfest-2023-page.html' }) export class Hacktoberfest2023PageComponent { - public routerLinkAbout = ['/' + $localize`:snake-case:about`]; + public routerLinkAbout = ['/' + paths.about]; } diff --git a/apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts b/apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts index c47a545f2..ce746c275 100644 --- a/apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts +++ b/apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts @@ -1,3 +1,4 @@ +import { paths } from '@ghostfolio/common/paths'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { Component } from '@angular/core'; @@ -11,6 +12,6 @@ import { RouterModule } from '@angular/router'; templateUrl: './black-week-2023-page.html' }) export class BlackWeek2023PageComponent { - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; + public routerLinkFeatures = ['/' + paths.features]; + public routerLinkPricing = ['/' + paths.pricing]; } diff --git a/apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts b/apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts index 758e94c18..7046d401c 100644 --- a/apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts +++ b/apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; @@ -9,6 +11,6 @@ import { RouterModule } from '@angular/router'; templateUrl: './hacktoberfest-2023-debriefing-page.html' }) export class Hacktoberfest2023DebriefingPageComponent { - public routerLinkAbout = ['/' + $localize`:snake-case:about`]; - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; + public routerLinkAbout = ['/' + paths.about]; + public routerLinkFeatures = ['/' + paths.features]; } diff --git a/apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts b/apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts index 4b983ba7f..960f5504e 100644 --- a/apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts +++ b/apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; @@ -9,5 +11,5 @@ import { RouterModule } from '@angular/router'; templateUrl: './hacktoberfest-2024-page.html' }) export class Hacktoberfest2024PageComponent { - public routerLinkAbout = ['/' + $localize`:snake-case:about`]; + public routerLinkAbout = ['/' + paths.about]; } diff --git a/apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts b/apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts index 1fe81ef0c..3b45488c6 100644 --- a/apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts +++ b/apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts @@ -1,3 +1,4 @@ +import { paths } from '@ghostfolio/common/paths'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { Component } from '@angular/core'; @@ -11,6 +12,6 @@ import { RouterModule } from '@angular/router'; templateUrl: './black-weeks-2024-page.html' }) export class BlackWeeks2024PageComponent { - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; + public routerLinkFeatures = ['/' + paths.features]; + public routerLinkPricing = ['/' + paths.pricing]; } diff --git a/apps/client/src/app/pages/faq/faq-page-routing.module.ts b/apps/client/src/app/pages/faq/faq-page-routing.module.ts index 17c087834..3ebf1912a 100644 --- a/apps/client/src/app/pages/faq/faq-page-routing.module.ts +++ b/apps/client/src/app/pages/faq/faq-page-routing.module.ts @@ -1,4 +1,5 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; +import { paths } from '@ghostfolio/common/paths'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -17,12 +18,12 @@ const routes: Routes = [ ) }, { - path: 'saas', + path: paths.saas, loadChildren: () => import('./saas/saas-page.module').then((m) => m.SaasPageModule) }, { - path: 'self-hosting', + path: paths.selfHosting, loadChildren: () => import('./self-hosting/self-hosting-page.module').then( (m) => m.SelfHostingPageModule diff --git a/apps/client/src/app/pages/faq/faq-page.component.ts b/apps/client/src/app/pages/faq/faq-page.component.ts index caed1dd69..270719cf3 100644 --- a/apps/client/src/app/pages/faq/faq-page.component.ts +++ b/apps/client/src/app/pages/faq/faq-page.component.ts @@ -1,5 +1,6 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { TabConfiguration } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { Component, OnDestroy, OnInit } from '@angular/core'; @@ -35,18 +36,18 @@ export class FaqPageComponent implements OnDestroy, OnInit { { iconName: 'reader-outline', label: $localize`General`, - path: ['/' + $localize`faq`] + path: ['/' + paths.faq] }, { iconName: 'cloudy-outline', label: $localize`Cloud` + ' (SaaS)', - path: ['/' + $localize`faq`, 'saas'], + path: ['/' + paths.faq, paths.saas], showCondition: this.hasPermissionForSubscription }, { iconName: 'server-outline', label: $localize`Self-Hosting`, - path: ['/' + $localize`faq`, $localize`self-hosting`] + path: ['/' + paths.faq, paths.selfHosting] } ]; } 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 ddafa5730..4e5ed76b9 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 @@ -1,5 +1,6 @@ import { UserService } from '@ghostfolio/client/services/user/user.service'; import { User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { ChangeDetectorRef, Component, OnDestroy } from '@angular/core'; import { Subject, takeUntil } from 'rxjs'; @@ -12,10 +13,8 @@ import { Subject, takeUntil } from 'rxjs'; standalone: false }) export class FaqOverviewPageComponent implements OnDestroy { - public pricingUrl = - `https://ghostfol.io/${document.documentElement.lang}/` + - $localize`:snake-case:pricing`; - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; + public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${paths.pricing}`; + public routerLinkFeatures = ['/' + paths.features]; public user: User; private unsubscribeSubject = new Subject(); 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 d7ea6cd82..75983c108 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 @@ -1,5 +1,6 @@ import { UserService } from '@ghostfolio/client/services/user/user.service'; import { User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { ChangeDetectorRef, Component, OnDestroy } from '@angular/core'; import { Subject, takeUntil } from 'rxjs'; @@ -12,11 +13,9 @@ import { Subject, takeUntil } from 'rxjs'; standalone: false }) export class SaasPageComponent implements OnDestroy { - public pricingUrl = - `https://ghostfol.io/${document.documentElement.lang}/` + - $localize`:snake-case:pricing`; - public routerLinkMarkets = ['/' + $localize`:snake-case:markets`]; - public routerLinkRegister = ['/' + $localize`:snake-case:register`]; + public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${paths.pricing}`; + public routerLinkMarkets = ['/' + paths.markets]; + public routerLinkRegister = ['/' + paths.register]; public user: User; private unsubscribeSubject = new Subject(); 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 f0ff7dbc3..1b7836755 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 @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component, OnDestroy } from '@angular/core'; import { Subject } from 'rxjs'; @@ -9,9 +11,7 @@ import { Subject } from 'rxjs'; standalone: false }) export class SelfHostingPageComponent implements OnDestroy { - public pricingUrl = - `https://ghostfol.io/${document.documentElement.lang}/` + - $localize`:snake-case:pricing`; + public pricingUrl = `https://ghostfol.io/${document.documentElement.lang}/${paths.pricing}`; private unsubscribeSubject = new Subject(); diff --git a/apps/client/src/app/pages/features/features-page.component.ts b/apps/client/src/app/pages/features/features-page.component.ts index c33f1e99b..1057516bd 100644 --- a/apps/client/src/app/pages/features/features-page.component.ts +++ b/apps/client/src/app/pages/features/features-page.component.ts @@ -1,6 +1,7 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { InfoItem, User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; @@ -25,8 +26,8 @@ import { Subject, takeUntil } from 'rxjs'; export class GfFeaturesPageComponent implements OnDestroy { public hasPermissionForSubscription: boolean; public info: InfoItem; - public routerLinkRegister = ['/' + $localize`:snake-case:register`]; - public routerLinkResources = ['/' + $localize`:snake-case:resources`]; + public routerLinkRegister = ['/' + paths.register]; + public routerLinkResources = ['/' + paths.resources]; public user: User; private unsubscribeSubject = new Subject(); diff --git a/apps/client/src/app/pages/home/home-page-routing.module.ts b/apps/client/src/app/pages/home/home-page-routing.module.ts index 9a915f0b3..a28ea864f 100644 --- a/apps/client/src/app/pages/home/home-page-routing.module.ts +++ b/apps/client/src/app/pages/home/home-page-routing.module.ts @@ -4,6 +4,7 @@ import { HomeOverviewComponent } from '@ghostfolio/client/components/home-overvi import { HomeSummaryComponent } from '@ghostfolio/client/components/home-summary/home-summary.component'; import { HomeWatchlistComponent } from '@ghostfolio/client/components/home-watchlist/home-watchlist.component'; import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; +import { paths } from '@ghostfolio/common/paths'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -19,27 +20,22 @@ const routes: Routes = [ component: HomeOverviewComponent }, { - path: 'holdings', + path: paths.holdings, component: HomeHoldingsComponent, title: $localize`Holdings` }, { - path: 'holdings', - component: HomeHoldingsComponent, - title: $localize`Holdings` - }, - { - path: 'summary', + path: paths.summary, component: HomeSummaryComponent, title: $localize`Summary` }, { - path: 'market', + path: paths.market, component: HomeMarketComponent, title: $localize`Markets` }, { - path: 'watchlist', + path: paths.watchlist, component: HomeWatchlistComponent, title: $localize`Watchlist` } diff --git a/apps/client/src/app/pages/home/home-page.component.ts b/apps/client/src/app/pages/home/home-page.component.ts index ec49143a8..ecb8ff0be 100644 --- a/apps/client/src/app/pages/home/home-page.component.ts +++ b/apps/client/src/app/pages/home/home-page.component.ts @@ -1,6 +1,7 @@ import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { TabConfiguration, User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { DeviceDetectorService } from 'ngx-device-detector'; @@ -36,27 +37,27 @@ export class HomePageComponent implements OnDestroy, OnInit { { iconName: 'analytics-outline', label: $localize`Overview`, - path: ['/home'] + path: ['/' + paths.home] }, { iconName: 'wallet-outline', label: $localize`Holdings`, - path: ['/home', 'holdings'] + path: ['/' + paths.home, paths.holdings] }, { iconName: 'reader-outline', label: $localize`Summary`, - path: ['/home', 'summary'] + path: ['/' + paths.home, paths.summary] }, { iconName: 'bookmark-outline', label: $localize`Watchlist`, - path: ['/home', 'watchlist'] + path: ['/' + paths.home, paths.watchlist] }, { iconName: 'newspaper-outline', label: $localize`Markets`, - path: ['/home', 'market'] + path: ['/' + paths.home, paths.market] } ]; diff --git a/apps/client/src/app/pages/landing/landing-page.component.ts b/apps/client/src/app/pages/landing/landing-page.component.ts index 4adcbe00a..5f4a5d512 100644 --- a/apps/client/src/app/pages/landing/landing-page.component.ts +++ b/apps/client/src/app/pages/landing/landing-page.component.ts @@ -1,5 +1,6 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { Statistics } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { Component, OnDestroy, OnInit } from '@angular/core'; @@ -24,8 +25,8 @@ export class LandingPageComponent implements OnDestroy, OnInit { public hasPermissionForStatistics: boolean; public hasPermissionForSubscription: boolean; public hasPermissionToCreateUser: boolean; - public routerLinkAbout = ['/' + $localize`:snake-case:about`]; - public routerLinkRegister = ['/' + $localize`:snake-case:register`]; + public routerLinkAbout = ['/' + paths.about]; + public routerLinkRegister = ['/' + paths.register]; public statistics: Statistics; public testimonials = [ { diff --git a/apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts b/apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts index 20de6f8fa..84499573a 100644 --- a/apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts +++ b/apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts @@ -1,4 +1,5 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; +import { paths } from '@ghostfolio/common/paths'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -17,26 +18,26 @@ const routes: Routes = [ ) }, { - path: 'activities', + path: paths.activities, loadChildren: () => import('./activities/activities-page.module').then( (m) => m.ActivitiesPageModule ) }, { - path: 'allocations', + path: paths.allocations, loadChildren: () => import('./allocations/allocations-page.module').then( (m) => m.AllocationsPageModule ) }, { - path: 'fire', + path: paths.fire, loadChildren: () => import('./fire/fire-page.module').then((m) => m.FirePageModule) }, { - path: 'x-ray', + path: paths.xRay, loadChildren: () => import('./x-ray/x-ray-page.module').then((m) => m.XRayPageModule) } diff --git a/apps/client/src/app/pages/portfolio/portfolio-page.component.ts b/apps/client/src/app/pages/portfolio/portfolio-page.component.ts index 3393b7404..926ec7a8b 100644 --- a/apps/client/src/app/pages/portfolio/portfolio-page.component.ts +++ b/apps/client/src/app/pages/portfolio/portfolio-page.component.ts @@ -1,5 +1,6 @@ import { UserService } from '@ghostfolio/client/services/user/user.service'; import { TabConfiguration, User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { DeviceDetectorService } from 'ngx-device-detector'; @@ -33,27 +34,27 @@ export class PortfolioPageComponent implements OnDestroy, OnInit { { iconName: 'analytics-outline', label: $localize`Analysis`, - path: ['/portfolio'] + path: ['/' + paths.portfolio] }, { iconName: 'swap-vertical-outline', label: $localize`Activities`, - path: ['/portfolio', 'activities'] + path: ['/' + paths.portfolio, paths.activities] }, { iconName: 'pie-chart-outline', label: $localize`Allocations`, - path: ['/portfolio', 'allocations'] + path: ['/' + paths.portfolio, paths.allocations] }, { iconName: 'calculator-outline', label: 'FIRE ', - path: ['/portfolio', 'fire'] + path: ['/' + paths.portfolio, paths.fire] }, { iconName: 'scan-outline', label: 'X-ray', - path: ['/portfolio', 'x-ray'] + path: ['/' + paths.portfolio, paths.xRay] } ]; this.user = state.user; diff --git a/apps/client/src/app/pages/pricing/pricing-page.component.ts b/apps/client/src/app/pages/pricing/pricing-page.component.ts index cadc3a48c..68573dde5 100644 --- a/apps/client/src/app/pages/pricing/pricing-page.component.ts +++ b/apps/client/src/app/pages/pricing/pricing-page.component.ts @@ -2,6 +2,7 @@ import { NotificationService } from '@ghostfolio/client/core/notification/notifi import { DataService } from '@ghostfolio/client/services/data.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { translate } from '@ghostfolio/ui/i18n'; @@ -40,8 +41,8 @@ export class PricingPageComponent implements OnDestroy, OnInit { public professionalDataProviderTooltipPremium = translate( 'PROFESSIONAL_DATA_PROVIDER_TOOLTIP_PREMIUM' ); - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; - public routerLinkRegister = ['/' + $localize`:snake-case:register`]; + public routerLinkFeatures = ['/' + paths.features]; + public routerLinkRegister = ['/' + paths.register]; public user: User; private unsubscribeSubject = new Subject(); diff --git a/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts b/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts index 6dd15045b..5b7de607d 100644 --- a/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts +++ b/apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts @@ -1,4 +1,5 @@ import { DataService } from '@ghostfolio/client/services/data.service'; +import { paths } from '@ghostfolio/common/paths'; import { ChangeDetectionStrategy, @@ -30,8 +31,8 @@ export class ShowAccessTokenDialog { public isDisclaimerChecked = false; public role: string; public routerLinkAboutTermsOfService = [ - '/' + $localize`:snake-case:about`, - $localize`:snake-case:terms-of-service` + '/' + paths.about, + paths.termsOfService ]; private unsubscribeSubject = new Subject(); diff --git a/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts b/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts index b6749b5cd..2734707d1 100644 --- a/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts +++ b/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts @@ -1,5 +1,6 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { InfoItem } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { Component, OnInit } from '@angular/core'; @@ -14,8 +15,8 @@ export class ResourcesGlossaryPageComponent implements OnInit { public hasPermissionForSubscription: boolean; public info: InfoItem; public routerLinkResourcesPersonalFinanceTools = [ - '/' + $localize`:snake-case:resources`, - 'personal-finance-tools' + '/' + paths.resources, + paths.personalFinanceTools ]; public constructor(private dataService: DataService) { diff --git a/apps/client/src/app/pages/resources/overview/resources-overview.component.ts b/apps/client/src/app/pages/resources/overview/resources-overview.component.ts index f95e78a26..cca9aa9bf 100644 --- a/apps/client/src/app/pages/resources/overview/resources-overview.component.ts +++ b/apps/client/src/app/pages/resources/overview/resources-overview.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component } from '@angular/core'; @Component({ @@ -12,34 +14,25 @@ export class ResourcesOverviewComponent { title: 'Frequently Asked Questions (FAQ)', description: 'Find quick answers to commonly asked questions about Ghostfolio in our Frequently Asked Questions (FAQ) section.', - link: ['/' + $localize`:snake-case:faq`] + link: ['/' + paths.faq] }, { title: 'Guides', description: 'Explore our guides to help you get started with investing and managing your finances.', - link: [ - '/' + $localize`:snake-case:resources`, - $localize`:snake-case:guides` - ] + link: ['/' + paths.resources, paths.guides] }, { title: 'Markets', description: 'Access various market resources and tools to stay informed about financial markets.', - link: [ - '/' + $localize`:snake-case:resources`, - $localize`:snake-case:markets` - ] + link: ['/' + paths.resources, paths.markets] }, { title: 'Glossary', description: 'Learn key financial terms and concepts in our comprehensive glossary.', - link: [ - '/' + $localize`:snake-case:resources`, - $localize`:snake-case:glossary` - ] + link: ['/' + paths.resources, paths.glossary] } ]; } diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts index 01d920460..2b5146d89 100644 --- a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts +++ b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts @@ -1,4 +1,5 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; +import { paths } from '@ghostfolio/common/paths'; import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; import { NgModule } from '@angular/core'; @@ -23,7 +24,7 @@ const routes: Routes = [ return GfProductPageComponent; } ), - path: $localize`open-source-alternative-to` + `-${alias ?? key}`, + path: `${paths.openSourceAlternativeTo}-${alias ?? key}`, title: $localize`Open Source Alternative to ${name}` }; }) diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts index c9c0aa044..f2b6a6541 100644 --- a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts +++ b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts @@ -1,3 +1,4 @@ +import { paths } from '@ghostfolio/common/paths'; import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; import { Component, OnDestroy } from '@angular/core'; @@ -11,12 +12,12 @@ import { Subject } from 'rxjs'; standalone: false }) export class PersonalFinanceToolsPageComponent implements OnDestroy { - public pathAlternativeTo = $localize`open-source-alternative-to` + '-'; - public pathResources = '/' + $localize`resources`; + public pathAlternativeTo = paths.openSourceAlternativeTo + '-'; + public pathResources = '/' + paths.resources; public personalFinanceTools = personalFinanceTools.sort((a, b) => { return a.name.localeCompare(b.name, undefined, { sensitivity: 'base' }); }); - public routerLinkAbout = ['/' + $localize`:snake-case:about`]; + public routerLinkAbout = ['/' + paths.about]; private unsubscribeSubject = new Subject(); 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 bee5cb642..6c3e8b551 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,5 +1,6 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { Product } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; import { translate } from '@ghostfolio/ui/i18n'; @@ -19,11 +20,11 @@ export class GfProductPageComponent implements OnInit { public price: number; public product1: Product; public product2: Product; - public routerLinkAbout = ['/' + $localize`:snake-case:about`]; - public routerLinkFeatures = ['/' + $localize`:snake-case:features`]; + public routerLinkAbout = ['/' + paths.about]; + public routerLinkFeatures = ['/' + paths.features]; public routerLinkResourcesPersonalFinanceTools = [ - '/' + $localize`:snake-case:resources`, - 'personal-finance-tools' + '/' + paths.resources, + paths.personalFinanceTools ]; public tags: string[]; diff --git a/apps/client/src/app/pages/resources/resources-page-routing.module.ts b/apps/client/src/app/pages/resources/resources-page-routing.module.ts index bcbe1bad5..b7c1734be 100644 --- a/apps/client/src/app/pages/resources/resources-page-routing.module.ts +++ b/apps/client/src/app/pages/resources/resources-page-routing.module.ts @@ -1,4 +1,5 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; +import { paths } from '@ghostfolio/common/paths'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -18,27 +19,27 @@ const routes: Routes = [ ) }, { - path: $localize`:snake-case:glossary`, + path: paths.glossary, loadChildren: () => import('./glossary/resources-glossary.module').then( (m) => m.ResourcesGlossaryPageModule ) }, { - path: $localize`:snake-case:guides`, + path: paths.guides, loadChildren: () => import('./guides/resources-guides.module').then( (m) => m.ResourcesGuidesModule ) }, { - path: $localize`:snake-case:markets`, + path: paths.markets, loadChildren: () => import('./markets/resources-markets.module').then( (m) => m.ResourcesMarketsModule ) }, - ...['personal-finance-tools'].map((path) => ({ + ...[paths.personalFinanceTools].map((path) => ({ path, loadChildren: () => import( diff --git a/apps/client/src/app/pages/resources/resources-page.component.ts b/apps/client/src/app/pages/resources/resources-page.component.ts index d0534417d..ba38fac18 100644 --- a/apps/client/src/app/pages/resources/resources-page.component.ts +++ b/apps/client/src/app/pages/resources/resources-page.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { Component, OnInit } from '@angular/core'; import { DeviceDetectorService } from 'ngx-device-detector'; import { Subject } from 'rxjs'; @@ -18,17 +20,17 @@ export class ResourcesPageComponent implements OnInit { iconName: 'reader-outline' }, { - path: 'guides', + path: paths.guides, label: $localize`Guides`, iconName: 'book-outline' }, { - path: 'markets', + path: paths.markets, label: $localize`Markets`, iconName: 'newspaper-outline' }, { - path: 'glossary', + path: paths.glossary, label: $localize`Glossary`, iconName: 'library-outline' } diff --git a/apps/client/src/app/pages/user-account/user-account-page-routing.module.ts b/apps/client/src/app/pages/user-account/user-account-page-routing.module.ts index ae8002d7f..003d0df75 100644 --- a/apps/client/src/app/pages/user-account/user-account-page-routing.module.ts +++ b/apps/client/src/app/pages/user-account/user-account-page-routing.module.ts @@ -2,6 +2,7 @@ import { UserAccountAccessComponent } from '@ghostfolio/client/components/user-a import { UserAccountMembershipComponent } from '@ghostfolio/client/components/user-account-membership/user-account-membership.component'; import { UserAccountSettingsComponent } from '@ghostfolio/client/components/user-account-settings/user-account-settings.component'; import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; +import { paths } from '@ghostfolio/common/paths'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -18,12 +19,12 @@ const routes: Routes = [ title: $localize`Settings` }, { - path: 'membership', + path: paths.membership, component: UserAccountMembershipComponent, title: $localize`Membership` }, { - path: 'access', + path: paths.access, component: UserAccountAccessComponent, title: $localize`Access` } diff --git a/apps/client/src/app/pages/user-account/user-account-page.component.ts b/apps/client/src/app/pages/user-account/user-account-page.component.ts index d53465faa..c18598910 100644 --- a/apps/client/src/app/pages/user-account/user-account-page.component.ts +++ b/apps/client/src/app/pages/user-account/user-account-page.component.ts @@ -1,5 +1,6 @@ import { UserService } from '@ghostfolio/client/services/user/user.service'; import { TabConfiguration, User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { DeviceDetectorService } from 'ngx-device-detector'; @@ -34,18 +35,18 @@ export class UserAccountPageComponent implements OnDestroy, OnInit { { iconName: 'settings-outline', label: $localize`Settings`, - path: ['/account'] + path: ['/' + paths.account] }, { iconName: 'diamond-outline', label: $localize`Membership`, - path: ['/account/membership'], + path: ['/' + paths.account, paths.membership], showCondition: !!this.user?.subscription }, { iconName: 'key-outline', label: $localize`Access`, - path: ['/account', 'access'] + path: ['/' + paths.account, paths.access] } ]; diff --git a/apps/client/src/app/pages/zen/zen-page-routing.module.ts b/apps/client/src/app/pages/zen/zen-page-routing.module.ts index 96eedadde..819f39f7e 100644 --- a/apps/client/src/app/pages/zen/zen-page-routing.module.ts +++ b/apps/client/src/app/pages/zen/zen-page-routing.module.ts @@ -1,6 +1,7 @@ import { HomeHoldingsComponent } from '@ghostfolio/client/components/home-holdings/home-holdings.component'; import { HomeOverviewComponent } from '@ghostfolio/client/components/home-overview/home-overview.component'; import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; +import { paths } from '@ghostfolio/common/paths'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -12,7 +13,7 @@ const routes: Routes = [ canActivate: [AuthGuard], children: [ { path: '', component: HomeOverviewComponent }, - { path: 'holdings', component: HomeHoldingsComponent } + { path: paths.holdings, component: HomeHoldingsComponent } ], component: ZenPageComponent, path: '', diff --git a/apps/client/src/app/pages/zen/zen-page.component.ts b/apps/client/src/app/pages/zen/zen-page.component.ts index c39cecccd..cad969bd5 100644 --- a/apps/client/src/app/pages/zen/zen-page.component.ts +++ b/apps/client/src/app/pages/zen/zen-page.component.ts @@ -1,5 +1,6 @@ import { UserService } from '@ghostfolio/client/services/user/user.service'; import { TabConfiguration, User } from '@ghostfolio/common/interfaces'; +import { paths } from '@ghostfolio/common/paths'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { DeviceDetectorService } from 'ngx-device-detector'; @@ -33,12 +34,12 @@ export class ZenPageComponent implements OnDestroy, OnInit { { iconName: 'analytics-outline', label: $localize`Overview`, - path: ['/zen'] + path: ['/' + paths.zen] }, { iconName: 'wallet-outline', label: $localize`Holdings`, - path: ['/zen', 'holdings'] + path: ['/' + paths.zen, paths.holdings] } ]; this.user = state.user; diff --git a/apps/client/src/locales/messages.ca.xlf b/apps/client/src/locales/messages.ca.xlf index fc7e685bc..df7e4c973 100644 --- a/apps/client/src/locales/messages.ca.xlf +++ b/apps/client/src/locales/messages.ca.xlf @@ -26,7 +26,7 @@ apps/client/src/app/components/header/header.component.ts - 231 + 232 @@ -370,100 +370,8 @@ sobre snake-case - apps/client/src/app/app.component.ts - 65 - - - apps/client/src/app/app.component.ts - 67 - - - apps/client/src/app/app.component.ts - 71 - - - apps/client/src/app/app.component.ts - 75 - - - apps/client/src/app/app.component.ts - 79 - - - apps/client/src/app/components/header/header.component.ts - 82 - - - apps/client/src/app/components/header/header.component.ts - 87 - - - apps/client/src/app/core/paths.ts - 2 - - - apps/client/src/app/pages/about/about-page.component.ts - 46 - - - apps/client/src/app/pages/about/about-page.component.ts - 51 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/about/about-page.component.ts - 84 - - - apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts - 12 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 27 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 33 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 19 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 22 + libs/common/src/lib/paths.ts + 37 @@ -471,16 +379,8 @@ llicències snake-case - apps/client/src/app/app.component.ts - 72 - - - apps/client/src/app/core/paths.ts - 5 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 + libs/common/src/lib/paths.ts + 43 @@ -488,16 +388,8 @@ política de privacitat snake-case - apps/client/src/app/app.component.ts - 76 - - - apps/client/src/app/core/paths.ts - 8 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 + libs/common/src/lib/paths.ts + 48 @@ -505,333 +397,53 @@ faq snake-case - apps/client/src/app/app.component.ts - 82 - - - apps/client/src/app/core/paths.ts - 3 - - - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 20 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 38 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 43 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 49 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 15 - - - - features - característiques - snake-case - - apps/client/src/app/app.component.ts - 83 - - - apps/client/src/app/components/header/header.component.ts - 83 - - - apps/client/src/app/components/header/header.component.ts - 88 - - - apps/client/src/app/core/paths.ts - 4 - - - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 21 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 17 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 14 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 18 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 43 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 23 - - - - markets - mercats - snake-case - - apps/client/src/app/app.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 89 - - - apps/client/src/app/core/paths.ts - 6 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 18 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 18 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 32 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 35 - - - - pricing - preu - snake-case - - apps/client/src/app/app.component.ts - 85 - - - apps/client/src/app/components/admin-settings/admin-settings.component.ts - 80 - - - apps/client/src/app/components/header/header.component.ts - 85 - - - apps/client/src/app/components/header/header.component.ts - 90 - - - apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts - 29 - - - apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + libs/common/src/lib/paths.ts 39 + + + features + característiques + snake-case - apps/client/src/app/core/http-response.interceptor.ts - 77 - - - apps/client/src/app/core/paths.ts - 7 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 15 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 17 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 17 - - - apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts - 14 - - - libs/ui/src/lib/membership-card/membership-card.component.ts - 30 - - - libs/ui/src/lib/premium-indicator/premium-indicator.component.ts - 21 - - - - register - registrar-se - snake-case - - apps/client/src/app/app.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 91 - - - apps/client/src/app/core/auth.guard.ts - 55 - - - apps/client/src/app/core/paths.ts - 9 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 19 - - - apps/client/src/app/pages/features/features-page.component.ts - 28 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 28 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 44 - - - - resources - recursos - snake-case - - apps/client/src/app/app.component.ts - 87 - - - apps/client/src/app/components/header/header.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 92 - - - apps/client/src/app/core/paths.ts - 10 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/features/features-page.component.ts - 29 - - - apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts - 17 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 22 + libs/common/src/lib/paths.ts + 40 + + + markets + mercats + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 31 + libs/common/src/lib/paths.ts + 44 + + + pricing + preu + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 40 + libs/common/src/lib/paths.ts + 47 + + + register + registrar-se + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 15 + libs/common/src/lib/paths.ts + 49 + + + resources + recursos + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 25 + libs/common/src/lib/paths.ts + 50 @@ -911,7 +523,7 @@ Realment vol revocar aquest accés? apps/client/src/app/components/access-table/access-table.component.ts - 79 + 80 @@ -2335,11 +1947,11 @@ apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts - 46 + 47 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 94 @@ -2495,7 +2107,7 @@ Oooh! El testimoni de seguretat és incorrecte. apps/client/src/app/components/header/header.component.ts - 246 + 247 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -3307,7 +2919,7 @@ Introduïu el vostre codi de cupó. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 201 + 202 @@ -3315,7 +2927,7 @@ No s’ha pogut bescanviar el codi de cupó apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 165 + 166 @@ -3323,7 +2935,7 @@ El codi del cupó s’ha bescanviat apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 178 + 179 @@ -3331,7 +2943,7 @@ Torna a carregar apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 179 + 180 @@ -3575,7 +3187,7 @@ Aquesta funció no està disponible actualment. apps/client/src/app/core/http-response.interceptor.ts - 54 + 55 @@ -3583,11 +3195,11 @@ Si us plau, torna-ho a provar més tard. apps/client/src/app/core/http-response.interceptor.ts - 56 + 57 apps/client/src/app/core/http-response.interceptor.ts - 85 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3599,7 +3211,7 @@ Aquesta acció no està permesa. apps/client/src/app/core/http-response.interceptor.ts - 64 + 65 @@ -3607,7 +3219,7 @@ Vaja! Alguna cosa va fallar. apps/client/src/app/core/http-response.interceptor.ts - 83 + 84 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3619,11 +3231,11 @@ D’acord apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 140 + 141 apps/client/src/app/core/http-response.interceptor.ts - 86 + 87 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3635,7 +3247,7 @@ Ups! Sembla que esteu fent massa sol·licituds. Si us plau, aneu una mica més lent. apps/client/src/app/core/http-response.interceptor.ts - 103 + 104 @@ -3647,7 +3259,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 45 + 46 apps/client/src/app/pages/about/overview/about-overview-page-routing.module.ts @@ -3659,7 +3271,7 @@ Registre de canvis apps/client/src/app/pages/about/about-page.component.ts - 50 + 51 apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts @@ -3671,7 +3283,7 @@ llicència apps/client/src/app/pages/about/about-page.component.ts - 55 + 56 apps/client/src/app/pages/about/license/license-page-routing.module.ts @@ -3683,7 +3295,7 @@ Política de privadesa apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -3783,7 +3395,7 @@ Control d’administració apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 @@ -3791,11 +3403,11 @@ Cua de treball apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 apps/client/src/app/pages/admin/admin-page.component.ts - 43 + 44 @@ -3803,11 +3415,11 @@ Dades de mercat apps/client/src/app/pages/admin/admin-page-routing.module.ts - 30 + 31 apps/client/src/app/pages/admin/admin-page.component.ts - 38 + 39 @@ -3815,19 +3427,19 @@ Configuració apps/client/src/app/pages/admin/admin-page-routing.module.ts - 35 + 36 apps/client/src/app/pages/admin/admin-page.component.ts - 33 + 34 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 18 + 19 apps/client/src/app/pages/user-account/user-account-page.component.ts - 36 + 37 @@ -3835,11 +3447,11 @@ Usuaris apps/client/src/app/pages/admin/admin-page-routing.module.ts - 40 + 41 apps/client/src/app/pages/admin/admin-page.component.ts - 48 + 49 @@ -3847,23 +3459,23 @@ Visió general apps/client/src/app/pages/admin/admin-page.component.ts - 28 + 29 apps/client/src/app/pages/home/home-page.component.ts - 38 + 39 apps/client/src/app/pages/resources/resources-page.component.ts - 17 + 19 apps/client/src/app/pages/zen/zen-page-routing.module.ts - 19 + 20 apps/client/src/app/pages/zen/zen-page.component.ts - 35 + 36 @@ -3895,7 +3507,7 @@ Preguntes freqüents (FAQ) apps/client/src/app/pages/faq/faq-page-routing.module.ts - 34 + 35 apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts @@ -3907,7 +3519,7 @@ General apps/client/src/app/pages/faq/faq-page.component.ts - 37 + 38 @@ -3915,7 +3527,7 @@ Núvol apps/client/src/app/pages/faq/faq-page.component.ts - 42 + 43 apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts @@ -3927,7 +3539,7 @@ Autoallotjament apps/client/src/app/pages/faq/faq-page.component.ts - 48 + 49 apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts @@ -3937,9 +3549,10 @@ self-hosting autoallotjament + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 51 @@ -4099,19 +3712,15 @@ Explotacions apps/client/src/app/pages/home/home-page-routing.module.ts - 24 - - - apps/client/src/app/pages/home/home-page-routing.module.ts - 29 + 25 apps/client/src/app/pages/home/home-page.component.ts - 43 + 44 apps/client/src/app/pages/zen/zen-page.component.ts - 40 + 41 @@ -4119,11 +3728,11 @@ Resum apps/client/src/app/pages/home/home-page-routing.module.ts - 34 + 30 apps/client/src/app/pages/home/home-page.component.ts - 48 + 49 @@ -4131,11 +3740,11 @@ Mercats apps/client/src/app/pages/home/home-page-routing.module.ts - 39 + 35 apps/client/src/app/pages/home/home-page.component.ts - 58 + 59 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -4147,7 +3756,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 27 + 29 @@ -4599,7 +4208,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 40 + 41 @@ -4839,7 +4448,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 45 + 46 @@ -5031,7 +4640,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 35 + 36 @@ -5059,7 +4668,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 87 + 88 @@ -5499,19 +5108,16 @@ Personal Finance Tools apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 14 + 15 open-source-alternative-to open-source-alternative-to + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 26 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 14 + libs/common/src/lib/paths.ts + 45 @@ -5519,7 +5125,7 @@ Open Source Alternative to apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 27 + 28 @@ -5559,7 +5165,7 @@ Switzerland apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 58 + 59 libs/ui/src/lib/i18n.ts @@ -5571,7 +5177,7 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 60 libs/ui/src/lib/i18n.ts @@ -5823,7 +5429,7 @@ Resources apps/client/src/app/pages/resources/resources-page-routing.module.ts - 50 + 51 @@ -5847,11 +5453,11 @@ Membership apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 23 + 24 apps/client/src/app/pages/user-account/user-account-page.component.ts - 41 + 42 @@ -5859,11 +5465,11 @@ Access apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 28 + 29 apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + 48 @@ -5871,7 +5477,7 @@ My Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 33 + 34 @@ -6719,7 +6325,7 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 81 + 82 @@ -6727,7 +6333,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 83 @@ -6735,7 +6341,7 @@ Budgeting apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 84 @@ -6743,7 +6349,7 @@ Community apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 85 @@ -6751,7 +6357,7 @@ Family Office apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 86 @@ -6759,7 +6365,7 @@ Investor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 89 @@ -6767,7 +6373,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 90 @@ -6775,7 +6381,7 @@ Personal Finance apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 91 + 92 @@ -6783,7 +6389,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 93 @@ -6791,7 +6397,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 95 @@ -6799,7 +6405,7 @@ Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 96 @@ -6807,7 +6413,7 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 97 @@ -6815,7 +6421,7 @@ Wealth apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 98 @@ -6823,7 +6429,7 @@ Wealth Management apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 99 @@ -7323,7 +6929,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 32 + 34 @@ -7335,7 +6941,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 22 + 24 @@ -7343,12 +6949,8 @@ guides snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 23 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 28 + libs/common/src/lib/paths.ts + 42 @@ -7356,13 +6958,9 @@ glossary snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts + libs/common/src/lib/paths.ts 41 - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 21 - Threshold range @@ -7417,7 +7015,7 @@ Do you really want to delete the API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 103 + 102 @@ -7449,7 +7047,7 @@ Could not generate an API key apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 127 + 128 @@ -7457,7 +7055,7 @@ Set this API key in your self-hosted environment: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 142 + 143 @@ -7465,7 +7063,7 @@ Ghostfolio Premium Data Provider API Key apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 145 + 146 @@ -7473,7 +7071,7 @@ Do you really want to generate a new API key? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 150 + 151 @@ -7569,7 +7167,7 @@ Link has been copied to the clipboard apps/client/src/app/components/access-table/access-table.component.ts - 65 + 66 @@ -7821,20 +7419,8 @@ terms-of-service snake-case - apps/client/src/app/app.component.ts - 80 - - - apps/client/src/app/core/paths.ts - 11 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 34 + libs/common/src/lib/paths.ts + 52 @@ -7842,7 +7428,7 @@ Terms of Service apps/client/src/app/pages/about/about-page.component.ts - 71 + 72 apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts @@ -7970,11 +7556,11 @@ Watchlist apps/client/src/app/pages/home/home-page-routing.module.ts - 44 + 40 apps/client/src/app/pages/home/home-page.component.ts - 53 + 54 @@ -8009,6 +7595,24 @@ 41 + + changelog + changelog + snake-case + + libs/common/src/lib/paths.ts + 38 + + + + oss-friends + oss-friends + snake-case + + libs/common/src/lib/paths.ts + 46 + + diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf index b37c6254e..e022165c8 100644 --- a/apps/client/src/locales/messages.de.xlf +++ b/apps/client/src/locales/messages.de.xlf @@ -78,7 +78,7 @@ Möchtest du diese Zugangsberechtigung wirklich widerrufen? apps/client/src/app/components/access-table/access-table.component.ts - 79 + 80 @@ -1026,7 +1026,7 @@ apps/client/src/app/components/header/header.component.ts - 231 + 232 @@ -1034,7 +1034,7 @@ Ups! Falsches Sicherheits-Token. apps/client/src/app/components/header/header.component.ts - 246 + 247 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -1458,11 +1458,11 @@ Okay apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 140 + 141 apps/client/src/app/core/http-response.interceptor.ts - 86 + 87 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1478,7 +1478,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 45 + 46 apps/client/src/app/pages/about/overview/about-overview-page-routing.module.ts @@ -1622,7 +1622,7 @@ Datenschutzbestimmungen apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -1634,7 +1634,7 @@ Mein Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 33 + 34 @@ -1642,7 +1642,7 @@ Bitte gebe deinen Gutscheincode ein. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 201 + 202 @@ -1650,7 +1650,7 @@ Gutscheincode konnte nicht eingelöst werden apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 165 + 166 @@ -1658,7 +1658,7 @@ Gutscheincode wurde eingelöst apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 178 + 179 @@ -1666,7 +1666,7 @@ Neu laden apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 179 + 180 @@ -1930,7 +1930,7 @@ Administration apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 @@ -1954,7 +1954,7 @@ Häufig gestellte Fragen (FAQ) apps/client/src/app/pages/faq/faq-page-routing.module.ts - 34 + 35 apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts @@ -1974,23 +1974,23 @@ Übersicht apps/client/src/app/pages/admin/admin-page.component.ts - 28 + 29 apps/client/src/app/pages/home/home-page.component.ts - 38 + 39 apps/client/src/app/pages/resources/resources-page.component.ts - 17 + 19 apps/client/src/app/pages/zen/zen-page-routing.module.ts - 19 + 20 apps/client/src/app/pages/zen/zen-page.component.ts - 35 + 36 @@ -1998,11 +1998,11 @@ Märkte apps/client/src/app/pages/home/home-page-routing.module.ts - 39 + 35 apps/client/src/app/pages/home/home-page.component.ts - 58 + 59 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -2014,7 +2014,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 27 + 29 @@ -2026,7 +2026,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 45 + 46 @@ -2114,7 +2114,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 35 + 36 @@ -2178,19 +2178,15 @@ Positionen apps/client/src/app/pages/home/home-page-routing.module.ts - 24 - - - apps/client/src/app/pages/home/home-page-routing.module.ts - 29 + 25 apps/client/src/app/pages/home/home-page.component.ts - 43 + 44 apps/client/src/app/pages/zen/zen-page.component.ts - 40 + 41 @@ -2354,7 +2350,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 40 + 41 @@ -2390,11 +2386,11 @@ apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts - 46 + 47 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 94 @@ -2458,7 +2454,7 @@ Ressourcen apps/client/src/app/pages/resources/resources-page-routing.module.ts - 50 + 51 @@ -2602,7 +2598,7 @@ Diese Funktion ist derzeit nicht verfügbar. apps/client/src/app/core/http-response.interceptor.ts - 54 + 55 @@ -2610,11 +2606,11 @@ Bitte versuche es später noch einmal. apps/client/src/app/core/http-response.interceptor.ts - 56 + 57 apps/client/src/app/core/http-response.interceptor.ts - 85 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2626,7 +2622,7 @@ Ups! Es ist etwas schief gelaufen. apps/client/src/app/core/http-response.interceptor.ts - 83 + 84 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3338,11 +3334,11 @@ Marktdaten apps/client/src/app/pages/admin/admin-page-routing.module.ts - 30 + 31 apps/client/src/app/pages/admin/admin-page.component.ts - 38 + 39 @@ -3350,11 +3346,11 @@ Benutzer apps/client/src/app/pages/admin/admin-page-routing.module.ts - 40 + 41 apps/client/src/app/pages/admin/admin-page.component.ts - 48 + 49 @@ -3362,11 +3358,11 @@ Zusammenfassung apps/client/src/app/pages/home/home-page-routing.module.ts - 34 + 30 apps/client/src/app/pages/home/home-page.component.ts - 48 + 49 @@ -4018,19 +4014,19 @@ Einstellungen apps/client/src/app/pages/admin/admin-page-routing.module.ts - 35 + 36 apps/client/src/app/pages/admin/admin-page.component.ts - 33 + 34 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 18 + 19 apps/client/src/app/pages/user-account/user-account-page.component.ts - 36 + 37 @@ -4198,7 +4194,7 @@ Changelog apps/client/src/app/pages/about/about-page.component.ts - 50 + 51 apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts @@ -4210,7 +4206,7 @@ Lizenz apps/client/src/app/pages/about/about-page.component.ts - 55 + 56 apps/client/src/app/pages/about/license/license-page-routing.module.ts @@ -4350,7 +4346,7 @@ Tools für persönliche Finanzen apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 14 + 15 @@ -5178,580 +5174,189 @@ haeufig-gestellte-fragen snake-case - apps/client/src/app/app.component.ts - 82 + libs/common/src/lib/paths.ts + 39 + + + features + features + snake-case - apps/client/src/app/core/paths.ts - 3 + libs/common/src/lib/paths.ts + 40 + + + about + ueber-uns + snake-case - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 20 + libs/common/src/lib/paths.ts + 37 + + + privacy-policy + datenschutzbestimmungen + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 38 + libs/common/src/lib/paths.ts + 48 + + + license + lizenz + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts + libs/common/src/lib/paths.ts 43 + + + markets + maerkte + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 44 + + + pricing + preise + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 15 + libs/common/src/lib/paths.ts + 47 - - features - features + + register + registrierung snake-case - apps/client/src/app/app.component.ts - 83 + libs/common/src/lib/paths.ts + 49 + + + resources + ressourcen + snake-case - apps/client/src/app/components/header/header.component.ts - 83 + libs/common/src/lib/paths.ts + 50 + + + This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. + Diese Übersichtsseite zeigt eine Auswahl an Tools zur Verwaltung der persönliche Finanzen im Vergleich zur Open Source Alternative Ghostfolio. Wenn du Wert auf Transparenz, Datenschutz und die gemeinschaftliche Zusammenarbeit der Open Source Community legst, bietet dir Ghostfolio eine ausgezeichnete Möglichkeit, die Kontrolle über dein Finanzmanagement zu übernehmen. - apps/client/src/app/components/header/header.component.ts - 88 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 8 + + + Explore the links below to compare a variety of personal finance tools with Ghostfolio. + Über die Links unten kannst du eine Reihe an Tools mit Ghostfolio vergleichen. - apps/client/src/app/core/paths.ts - 4 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 16 + + + Open Source Alternative to + Open Source Alternative zu - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 21 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 42 + + + Open Source Alternative to + Open Source Alternative zu - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 14 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts + 28 + + + The Open Source Alternative to + Die Open Source Alternative zu - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 8 + + + Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. + Suchst du nach einer Open Source Alternative zu ? Ghostfolio ist ein leistungsstarkes Portfolio Management Tool, das Privatpersonen eine umfassende Plattform bietet, um ihre Investitionen zu verfolgen, zu analysieren und zu optimieren. Egal, ob du ein erfahrener Investor bist oder gerade erst anfängst, Ghostfolio bietet eine intuitive Benutzeroberfläche und eine Vielzahl an Funktionen, die dir dabei helfen, fundierte Entscheidungen zu treffen und die Kontrolle über deine finanzielle Zukunft zu übernehmen. - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 18 + + + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. + Ghostfolio ist eine Open Source Software (OSS), die eine kostengünstige Alternative zu darstellt und sich besonders für Personen mit knappem Budget eignet, wie z.B. für diejenigen, die finanzielle Unabhängigkeit und einen frühen Ruhestand anstreben (FIRE). Ghostfolio nutzt die gemeinsamen Aktivitäten einer Community von Entwicklern und Finanzenthusiasten, um seine Funktionalität, Sicherheit und Benutzerfreundlichkeit kontinuierlich zu verbessern. - apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 32 + + + Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. + Wir möchten uns in der untenstehenden Ghostfolio vs Vergleichstabelle ein detailliertes Bild davon machen, wie Ghostfolio im Vergleich zu positioniert ist. Wir werden dabei verschiedene Aspekte wie Funktionen, Datenschutz, Preise und weiteres untersuchen, damit du eine gut informierte Entscheidung für deine persönlichen Anforderungen treffen kannst. - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 17 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 43 + + + open-source-alternative-to + open-source-alternative-zu + snake-case - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 14 + libs/common/src/lib/paths.ts + 45 + + + Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. + Bitte beachte, dass die bereitgestellten Ghostfolio vs Informationen auf unserer unabhängigen Recherche und Analyse beruhen. Diese Webseite steht in keiner Verbindung zu oder einem anderen im Vergleich erwähnten Produkt. Da sich die Landschaft der Personal Finance Tools ständig weiterentwickelt, ist es wichtig, alle spezifischen Details oder Änderungen direkt auf der jeweiligen Produktseite zu überprüfen. Brauchen die Daten eine Auffrischung? Unterstütze uns bei der Pflege der aktuellen Daten auf GitHub. - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 13 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 311 + + + Ready to take your investments to the next level? + Bereit, deine Investitionen auf ein neues Levelzu bringen? - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 14 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 324 + + + Get Started + Jetzt loslegen - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 18 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 333 + + + Switzerland + Schweiz - apps/client/src/app/pages/pricing/pricing-page.component.ts - 43 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts + 59 - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 23 - - - - about - ueber-uns - snake-case - - apps/client/src/app/app.component.ts - 65 - - - apps/client/src/app/app.component.ts - 67 - - - apps/client/src/app/app.component.ts - 71 - - - apps/client/src/app/app.component.ts - 75 - - - apps/client/src/app/app.component.ts - 79 - - - apps/client/src/app/components/header/header.component.ts - 82 - - - apps/client/src/app/components/header/header.component.ts - 87 - - - apps/client/src/app/core/paths.ts - 2 - - - apps/client/src/app/pages/about/about-page.component.ts - 46 - - - apps/client/src/app/pages/about/about-page.component.ts - 51 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/about/about-page.component.ts - 84 - - - apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts - 12 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 27 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 33 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 19 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 22 - - - - privacy-policy - datenschutzbestimmungen - snake-case - - apps/client/src/app/app.component.ts - 76 - - - apps/client/src/app/core/paths.ts - 8 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - - license - lizenz - snake-case - - apps/client/src/app/app.component.ts - 72 - - - apps/client/src/app/core/paths.ts - 5 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - - markets - maerkte - snake-case - - apps/client/src/app/app.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 89 - - - apps/client/src/app/core/paths.ts - 6 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 18 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 18 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 32 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 35 - - - - pricing - preise - snake-case - - apps/client/src/app/app.component.ts - 85 - - - apps/client/src/app/components/admin-settings/admin-settings.component.ts - 80 - - - apps/client/src/app/components/header/header.component.ts - 85 - - - apps/client/src/app/components/header/header.component.ts - 90 - - - apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts - 29 - - - apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 39 - - - apps/client/src/app/core/http-response.interceptor.ts - 77 - - - apps/client/src/app/core/paths.ts - 7 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 15 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 17 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 17 - - - apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts - 14 - - - libs/ui/src/lib/membership-card/membership-card.component.ts - 30 - - - libs/ui/src/lib/premium-indicator/premium-indicator.component.ts - 21 - - - - register - registrierung - snake-case - - apps/client/src/app/app.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 91 - - - apps/client/src/app/core/auth.guard.ts - 55 - - - apps/client/src/app/core/paths.ts - 9 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 19 - - - apps/client/src/app/pages/features/features-page.component.ts - 28 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 28 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 44 - - - - resources - ressourcen - snake-case - - apps/client/src/app/app.component.ts - 87 - - - apps/client/src/app/components/header/header.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 92 - - - apps/client/src/app/core/paths.ts - 10 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/features/features-page.component.ts - 29 - - - apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts - 17 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 22 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 31 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 40 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 15 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 25 - - - - This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. - Diese Übersichtsseite zeigt eine Auswahl an Tools zur Verwaltung der persönliche Finanzen im Vergleich zur Open Source Alternative Ghostfolio. Wenn du Wert auf Transparenz, Datenschutz und die gemeinschaftliche Zusammenarbeit der Open Source Community legst, bietet dir Ghostfolio eine ausgezeichnete Möglichkeit, die Kontrolle über dein Finanzmanagement zu übernehmen. - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 8 - - - - Explore the links below to compare a variety of personal finance tools with Ghostfolio. - Über die Links unten kannst du eine Reihe an Tools mit Ghostfolio vergleichen. - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 16 - - - - Open Source Alternative to - Open Source Alternative zu - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 42 - - - - Open Source Alternative to - Open Source Alternative zu - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 27 - - - - The Open Source Alternative to - Die Open Source Alternative zu - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 8 - - - - Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. - Suchst du nach einer Open Source Alternative zu ? Ghostfolio ist ein leistungsstarkes Portfolio Management Tool, das Privatpersonen eine umfassende Plattform bietet, um ihre Investitionen zu verfolgen, zu analysieren und zu optimieren. Egal, ob du ein erfahrener Investor bist oder gerade erst anfängst, Ghostfolio bietet eine intuitive Benutzeroberfläche und eine Vielzahl an Funktionen, die dir dabei helfen, fundierte Entscheidungen zu treffen und die Kontrolle über deine finanzielle Zukunft zu übernehmen. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 18 - - - - Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. - Ghostfolio ist eine Open Source Software (OSS), die eine kostengünstige Alternative zu darstellt und sich besonders für Personen mit knappem Budget eignet, wie z.B. für diejenigen, die finanzielle Unabhängigkeit und einen frühen Ruhestand anstreben (FIRE). Ghostfolio nutzt die gemeinsamen Aktivitäten einer Community von Entwicklern und Finanzenthusiasten, um seine Funktionalität, Sicherheit und Benutzerfreundlichkeit kontinuierlich zu verbessern. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 32 - - - - Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. - Wir möchten uns in der untenstehenden Ghostfolio vs Vergleichstabelle ein detailliertes Bild davon machen, wie Ghostfolio im Vergleich zu positioniert ist. Wir werden dabei verschiedene Aspekte wie Funktionen, Datenschutz, Preise und weiteres untersuchen, damit du eine gut informierte Entscheidung für deine persönlichen Anforderungen treffen kannst. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 43 - - - - open-source-alternative-to - open-source-alternative-zu - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 26 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 14 - - - - Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. - Bitte beachte, dass die bereitgestellten Ghostfolio vs Informationen auf unserer unabhängigen Recherche und Analyse beruhen. Diese Webseite steht in keiner Verbindung zu oder einem anderen im Vergleich erwähnten Produkt. Da sich die Landschaft der Personal Finance Tools ständig weiterentwickelt, ist es wichtig, alle spezifischen Details oder Änderungen direkt auf der jeweiligen Produktseite zu überprüfen. Brauchen die Daten eine Auffrischung? Unterstütze uns bei der Pflege der aktuellen Daten auf GitHub. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 311 - - - - Ready to take your investments to the next level? - Bereit, deine Investitionen auf ein neues Levelzu bringen? - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 324 - - - - Get Started - Jetzt loslegen - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 333 - - - - Switzerland - Schweiz - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 58 - - - libs/ui/src/lib/i18n.ts - 93 + libs/ui/src/lib/i18n.ts + 93 @@ -5759,7 +5364,7 @@ Weltweit apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 60 libs/ui/src/lib/i18n.ts @@ -5963,11 +5568,11 @@ Mitgliedschaft apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 23 + 24 apps/client/src/app/pages/user-account/user-account-page.component.ts - 41 + 42 @@ -5975,11 +5580,11 @@ Zugang apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 28 + 29 apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + 48 @@ -6263,11 +5868,11 @@ Job Warteschlange apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 apps/client/src/app/pages/admin/admin-page.component.ts - 43 + 44 @@ -6291,7 +5896,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 87 + 88 @@ -6459,7 +6064,7 @@ Allgemein apps/client/src/app/pages/faq/faq-page.component.ts - 37 + 38 @@ -6467,7 +6072,7 @@ Cloud apps/client/src/app/pages/faq/faq-page.component.ts - 42 + 43 apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts @@ -6479,7 +6084,7 @@ Self-Hosting apps/client/src/app/pages/faq/faq-page.component.ts - 48 + 49 apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts @@ -6489,9 +6094,10 @@ self-hosting self-hosting + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 51 @@ -6511,7 +6117,7 @@ Ups! Es sieht so aus, als würdest du zu viele Anfragen senden. Bitte geh es ein bisschen langsamer an. apps/client/src/app/core/http-response.interceptor.ts - 103 + 104 @@ -6575,7 +6181,7 @@ Diese Aktion ist nicht zulässig. apps/client/src/app/core/http-response.interceptor.ts - 64 + 65 @@ -6743,7 +6349,7 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 81 + 82 @@ -6751,7 +6357,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 83 @@ -6759,7 +6365,7 @@ Budgetierung apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 84 @@ -6767,7 +6373,7 @@ Community apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 85 @@ -6775,7 +6381,7 @@ Family Office apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 86 @@ -6783,7 +6389,7 @@ Investor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 89 @@ -6791,7 +6397,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 90 @@ -6799,7 +6405,7 @@ Persönliche Finanzen apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 91 + 92 @@ -6807,7 +6413,7 @@ Datenschutz apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 93 @@ -6815,7 +6421,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 95 @@ -6823,7 +6429,7 @@ Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 96 @@ -6831,7 +6437,7 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 97 @@ -6839,7 +6445,7 @@ Vermögen apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 98 @@ -6847,7 +6453,7 @@ Vermögensverwaltung apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 99 @@ -7347,7 +6953,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 32 + 34 @@ -7359,7 +6965,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 22 + 24 @@ -7367,12 +6973,8 @@ ratgeber snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 23 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 28 + libs/common/src/lib/paths.ts + 42 @@ -7380,13 +6982,9 @@ lexikon snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts + libs/common/src/lib/paths.ts 41 - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 21 - Threshold range @@ -7441,7 +7039,7 @@ Möchtest du den API-Schlüssel wirklich löschen? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 103 + 102 @@ -7473,7 +7071,7 @@ API-Schlüssel konnte nicht erstellt werden apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 127 + 128 @@ -7481,7 +7079,7 @@ Setze diesen API-Schlüssel in deiner selbst gehosteten Umgebung: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 142 + 143 @@ -7489,7 +7087,7 @@ API-Schlüssel für den Ghostfolio Premium Datenanbieter apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 145 + 146 @@ -7497,7 +7095,7 @@ Möchtest du wirklich einen neuen API-Schlüssel erstellen? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 150 + 151 @@ -7593,7 +7191,7 @@ Link wurde in die Zwischenablage kopiert apps/client/src/app/components/access-table/access-table.component.ts - 65 + 66 @@ -7845,20 +7443,8 @@ allgemeine-geschaeftsbedingungen snake-case - apps/client/src/app/app.component.ts - 80 - - - apps/client/src/app/core/paths.ts - 11 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 34 + libs/common/src/lib/paths.ts + 52 @@ -7866,7 +7452,7 @@ Allgemeine Geschäftsbedingungen apps/client/src/app/pages/about/about-page.component.ts - 71 + 72 apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts @@ -7970,11 +7556,11 @@ Beobachtungsliste apps/client/src/app/pages/home/home-page-routing.module.ts - 44 + 40 apps/client/src/app/pages/home/home-page.component.ts - 53 + 54 @@ -8009,6 +7595,24 @@ 41 + + changelog + changelog + snake-case + + libs/common/src/lib/paths.ts + 38 + + + + oss-friends + oss-friends + snake-case + + libs/common/src/lib/paths.ts + 46 + + diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf index d172d7857..0b0ed1fc1 100644 --- a/apps/client/src/locales/messages.es.xlf +++ b/apps/client/src/locales/messages.es.xlf @@ -79,7 +79,7 @@ ¿Quieres revocar el acceso concedido? apps/client/src/app/components/access-table/access-table.component.ts - 79 + 80 @@ -1011,7 +1011,7 @@ apps/client/src/app/components/header/header.component.ts - 231 + 232 @@ -1019,7 +1019,7 @@ Vaya! Token de seguridad incorrecto. apps/client/src/app/components/header/header.component.ts - 246 + 247 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -1443,11 +1443,11 @@ De acuerdo apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 140 + 141 apps/client/src/app/core/http-response.interceptor.ts - 86 + 87 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1463,7 +1463,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 45 + 46 apps/client/src/app/pages/about/overview/about-overview-page-routing.module.ts @@ -1607,7 +1607,7 @@ Política de privacidad apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -1619,7 +1619,7 @@ Mi Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 33 + 34 @@ -1627,7 +1627,7 @@ Por favor, ingresa tu código de cupón: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 201 + 202 @@ -1635,7 +1635,7 @@ No se puede canjear este código de cupón apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 165 + 166 @@ -1643,7 +1643,7 @@ El codigo de cupón ha sido canjeado apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 178 + 179 @@ -1651,7 +1651,7 @@ Refrescar apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 179 + 180 @@ -1915,7 +1915,7 @@ Control de administrador apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 @@ -1939,7 +1939,7 @@ Preguntas más frecuentes (FAQ) apps/client/src/app/pages/faq/faq-page-routing.module.ts - 34 + 35 apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts @@ -1959,23 +1959,23 @@ Visión general apps/client/src/app/pages/admin/admin-page.component.ts - 28 + 29 apps/client/src/app/pages/home/home-page.component.ts - 38 + 39 apps/client/src/app/pages/resources/resources-page.component.ts - 17 + 19 apps/client/src/app/pages/zen/zen-page-routing.module.ts - 19 + 20 apps/client/src/app/pages/zen/zen-page.component.ts - 35 + 36 @@ -1983,11 +1983,11 @@ Mercados apps/client/src/app/pages/home/home-page-routing.module.ts - 39 + 35 apps/client/src/app/pages/home/home-page.component.ts - 58 + 59 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -1999,7 +1999,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 27 + 29 @@ -2011,7 +2011,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 45 + 46 @@ -2099,7 +2099,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 35 + 36 @@ -2163,19 +2163,15 @@ Participaciones apps/client/src/app/pages/home/home-page-routing.module.ts - 24 - - - apps/client/src/app/pages/home/home-page-routing.module.ts - 29 + 25 apps/client/src/app/pages/home/home-page.component.ts - 43 + 44 apps/client/src/app/pages/zen/zen-page.component.ts - 40 + 41 @@ -2339,7 +2335,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 40 + 41 @@ -2375,11 +2371,11 @@ apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts - 46 + 47 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 94 @@ -2443,7 +2439,7 @@ Recursos apps/client/src/app/pages/resources/resources-page-routing.module.ts - 50 + 51 @@ -2587,7 +2583,7 @@ Esta funcionalidad no está disponible actualmente. apps/client/src/app/core/http-response.interceptor.ts - 54 + 55 @@ -2595,7 +2591,7 @@ Vaya! Algo no funcionó bien. apps/client/src/app/core/http-response.interceptor.ts - 83 + 84 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2607,11 +2603,11 @@ Por favor, prueba más tarde. apps/client/src/app/core/http-response.interceptor.ts - 56 + 57 apps/client/src/app/core/http-response.interceptor.ts - 85 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3323,11 +3319,11 @@ Datos del mercado apps/client/src/app/pages/admin/admin-page-routing.module.ts - 30 + 31 apps/client/src/app/pages/admin/admin-page.component.ts - 38 + 39 @@ -3335,11 +3331,11 @@ Usuarios apps/client/src/app/pages/admin/admin-page-routing.module.ts - 40 + 41 apps/client/src/app/pages/admin/admin-page.component.ts - 48 + 49 @@ -3347,11 +3343,11 @@ Resumen apps/client/src/app/pages/home/home-page-routing.module.ts - 34 + 30 apps/client/src/app/pages/home/home-page.component.ts - 48 + 49 @@ -3995,19 +3991,19 @@ Configuraciones apps/client/src/app/pages/admin/admin-page-routing.module.ts - 35 + 36 apps/client/src/app/pages/admin/admin-page.component.ts - 33 + 34 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 18 + 19 apps/client/src/app/pages/user-account/user-account-page.component.ts - 36 + 37 @@ -4175,7 +4171,7 @@ Registro de cambios apps/client/src/app/pages/about/about-page.component.ts - 50 + 51 apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts @@ -4187,7 +4183,7 @@ Licencia apps/client/src/app/pages/about/about-page.component.ts - 55 + 56 apps/client/src/app/pages/about/license/license-page-routing.module.ts @@ -4327,7 +4323,7 @@ Herramientas de finanzas personales apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 14 + 15 @@ -5155,580 +5151,189 @@ preguntas-mas-frecuentes snake-case - apps/client/src/app/app.component.ts - 82 + libs/common/src/lib/paths.ts + 39 + + + features + funcionalidades + snake-case - apps/client/src/app/core/paths.ts - 3 + libs/common/src/lib/paths.ts + 40 + + + about + sobre + snake-case - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 20 + libs/common/src/lib/paths.ts + 37 + + + privacy-policy + politica-de-privacidad + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 38 + libs/common/src/lib/paths.ts + 48 + + + license + licencia + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts + libs/common/src/lib/paths.ts 43 + + + markets + mercados + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 44 + + + pricing + precios + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 15 + libs/common/src/lib/paths.ts + 47 - - features - funcionalidades + + register + registro snake-case - apps/client/src/app/app.component.ts - 83 + libs/common/src/lib/paths.ts + 49 + + + resources + recursos + snake-case - apps/client/src/app/components/header/header.component.ts - 83 + libs/common/src/lib/paths.ts + 50 + + + This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. + This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. - apps/client/src/app/components/header/header.component.ts - 88 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 8 + + + Explore the links below to compare a variety of personal finance tools with Ghostfolio. + Explore the links below to compare a variety of personal finance tools with Ghostfolio. - apps/client/src/app/core/paths.ts - 4 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 16 + + + Open Source Alternative to + Alternativa de software libre a - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 21 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 42 + + + Open Source Alternative to + Alternativa de software libre a - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 14 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts + 28 + + + The Open Source Alternative to + La alternativa de software libre a - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 8 + + + Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. + Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 18 + + + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. - apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 32 + + + Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. + Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 17 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 43 + + + open-source-alternative-to + alternativa-de-software-libre-a + snake-case - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 14 + libs/common/src/lib/paths.ts + 45 + + + Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. + Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 13 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 311 + + + Ready to take your investments to the next level? + ¿Listo para llevar sus inversiones al siguiente nivel? - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 14 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 324 + + + Get Started + Get Started - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 18 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 333 + + + Switzerland + Switzerland - apps/client/src/app/pages/pricing/pricing-page.component.ts - 43 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts + 59 - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 23 - - - - about - sobre - snake-case - - apps/client/src/app/app.component.ts - 65 - - - apps/client/src/app/app.component.ts - 67 - - - apps/client/src/app/app.component.ts - 71 - - - apps/client/src/app/app.component.ts - 75 - - - apps/client/src/app/app.component.ts - 79 - - - apps/client/src/app/components/header/header.component.ts - 82 - - - apps/client/src/app/components/header/header.component.ts - 87 - - - apps/client/src/app/core/paths.ts - 2 - - - apps/client/src/app/pages/about/about-page.component.ts - 46 - - - apps/client/src/app/pages/about/about-page.component.ts - 51 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/about/about-page.component.ts - 84 - - - apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts - 12 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 27 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 33 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 19 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 22 - - - - privacy-policy - politica-de-privacidad - snake-case - - apps/client/src/app/app.component.ts - 76 - - - apps/client/src/app/core/paths.ts - 8 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - - license - licencia - snake-case - - apps/client/src/app/app.component.ts - 72 - - - apps/client/src/app/core/paths.ts - 5 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - - markets - mercados - snake-case - - apps/client/src/app/app.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 89 - - - apps/client/src/app/core/paths.ts - 6 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 18 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 18 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 32 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 35 - - - - pricing - precios - snake-case - - apps/client/src/app/app.component.ts - 85 - - - apps/client/src/app/components/admin-settings/admin-settings.component.ts - 80 - - - apps/client/src/app/components/header/header.component.ts - 85 - - - apps/client/src/app/components/header/header.component.ts - 90 - - - apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts - 29 - - - apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 39 - - - apps/client/src/app/core/http-response.interceptor.ts - 77 - - - apps/client/src/app/core/paths.ts - 7 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 15 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 17 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 17 - - - apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts - 14 - - - libs/ui/src/lib/membership-card/membership-card.component.ts - 30 - - - libs/ui/src/lib/premium-indicator/premium-indicator.component.ts - 21 - - - - register - registro - snake-case - - apps/client/src/app/app.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 91 - - - apps/client/src/app/core/auth.guard.ts - 55 - - - apps/client/src/app/core/paths.ts - 9 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 19 - - - apps/client/src/app/pages/features/features-page.component.ts - 28 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 28 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 44 - - - - resources - recursos - snake-case - - apps/client/src/app/app.component.ts - 87 - - - apps/client/src/app/components/header/header.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 92 - - - apps/client/src/app/core/paths.ts - 10 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/features/features-page.component.ts - 29 - - - apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts - 17 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 22 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 31 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 40 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 15 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 25 - - - - This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. - This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 8 - - - - Explore the links below to compare a variety of personal finance tools with Ghostfolio. - Explore the links below to compare a variety of personal finance tools with Ghostfolio. - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 16 - - - - Open Source Alternative to - Alternativa de software libre a - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 42 - - - - Open Source Alternative to - Alternativa de software libre a - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 27 - - - - The Open Source Alternative to - La alternativa de software libre a - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 8 - - - - Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. - Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 18 - - - - Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. - Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 32 - - - - Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. - Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 43 - - - - open-source-alternative-to - alternativa-de-software-libre-a - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 26 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 14 - - - - Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. - Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 311 - - - - Ready to take your investments to the next level? - ¿Listo para llevar sus inversiones al siguiente nivel? - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 324 - - - - Get Started - Get Started - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 333 - - - - Switzerland - Switzerland - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 58 - - - libs/ui/src/lib/i18n.ts - 93 + libs/ui/src/lib/i18n.ts + 93 @@ -5736,7 +5341,7 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 60 libs/ui/src/lib/i18n.ts @@ -5940,11 +5545,11 @@ Membership apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 23 + 24 apps/client/src/app/pages/user-account/user-account-page.component.ts - 41 + 42 @@ -5952,11 +5557,11 @@ Access apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 28 + 29 apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + 48 @@ -6240,11 +5845,11 @@ Job Queue apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 apps/client/src/app/pages/admin/admin-page.component.ts - 43 + 44 @@ -6268,7 +5873,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 87 + 88 @@ -6436,7 +6041,7 @@ General apps/client/src/app/pages/faq/faq-page.component.ts - 37 + 38 @@ -6444,7 +6049,7 @@ Nube apps/client/src/app/pages/faq/faq-page.component.ts - 42 + 43 apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts @@ -6456,7 +6061,7 @@ Self-Hosting apps/client/src/app/pages/faq/faq-page.component.ts - 48 + 49 apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts @@ -6466,9 +6071,10 @@ self-hosting auto alojado + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 51 @@ -6488,7 +6094,7 @@ Oops! It looks like you’re making too many requests. Please slow down a bit. apps/client/src/app/core/http-response.interceptor.ts - 103 + 104 @@ -6552,7 +6158,7 @@ This action is not allowed. apps/client/src/app/core/http-response.interceptor.ts - 64 + 65 @@ -6720,7 +6326,7 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 81 + 82 @@ -6728,7 +6334,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 83 @@ -6736,7 +6342,7 @@ Budgeting apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 84 @@ -6744,7 +6350,7 @@ Community apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 85 @@ -6752,7 +6358,7 @@ Family Office apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 86 @@ -6760,7 +6366,7 @@ Investor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 89 @@ -6768,7 +6374,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 90 @@ -6776,7 +6382,7 @@ Personal Finance apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 91 + 92 @@ -6784,7 +6390,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 93 @@ -6792,7 +6398,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 95 @@ -6800,7 +6406,7 @@ Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 96 @@ -6808,7 +6414,7 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 97 @@ -6816,7 +6422,7 @@ Wealth apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 98 @@ -6824,7 +6430,7 @@ Wealth Management apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 99 @@ -7324,7 +6930,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 32 + 34 @@ -7336,7 +6942,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 22 + 24 @@ -7344,12 +6950,8 @@ guides snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 23 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 28 + libs/common/src/lib/paths.ts + 42 @@ -7357,13 +6959,9 @@ glossary snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts + libs/common/src/lib/paths.ts 41 - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 21 - Threshold range @@ -7418,7 +7016,7 @@ Do you really want to delete the API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 103 + 102 @@ -7450,7 +7048,7 @@ Could not generate an API key apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 127 + 128 @@ -7458,7 +7056,7 @@ Set this API key in your self-hosted environment: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 142 + 143 @@ -7466,7 +7064,7 @@ Ghostfolio Premium Data Provider API Key apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 145 + 146 @@ -7474,7 +7072,7 @@ Do you really want to generate a new API key? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 150 + 151 @@ -7570,7 +7168,7 @@ Link has been copied to the clipboard apps/client/src/app/components/access-table/access-table.component.ts - 65 + 66 @@ -7822,20 +7420,8 @@ terms-of-service snake-case - apps/client/src/app/app.component.ts - 80 - - - apps/client/src/app/core/paths.ts - 11 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 34 + libs/common/src/lib/paths.ts + 52 @@ -7843,7 +7429,7 @@ Terms of Service apps/client/src/app/pages/about/about-page.component.ts - 71 + 72 apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts @@ -7971,11 +7557,11 @@ Watchlist apps/client/src/app/pages/home/home-page-routing.module.ts - 44 + 40 apps/client/src/app/pages/home/home-page.component.ts - 53 + 54 @@ -8010,6 +7596,24 @@ 41 + + changelog + changelog + snake-case + + libs/common/src/lib/paths.ts + 38 + + + + oss-friends + oss-friends + snake-case + + libs/common/src/lib/paths.ts + 46 + + diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf index 36098ab94..f7646113a 100644 --- a/apps/client/src/locales/messages.fr.xlf +++ b/apps/client/src/locales/messages.fr.xlf @@ -70,7 +70,7 @@ Voulez-vous vraiment révoquer cet accès ? apps/client/src/app/components/access-table/access-table.component.ts - 79 + 80 @@ -1110,11 +1110,11 @@ apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts - 46 + 47 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 94 @@ -1322,7 +1322,7 @@ apps/client/src/app/components/header/header.component.ts - 231 + 232 @@ -1330,7 +1330,7 @@ Oups! Jeton de Sécurité Incorrect. apps/client/src/app/components/header/header.component.ts - 246 + 247 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -1750,7 +1750,7 @@ Cette fonctionnalité est momentanément indisponible. apps/client/src/app/core/http-response.interceptor.ts - 54 + 55 @@ -1758,11 +1758,11 @@ Veuillez réessayer plus tard. apps/client/src/app/core/http-response.interceptor.ts - 56 + 57 apps/client/src/app/core/http-response.interceptor.ts - 85 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1774,7 +1774,7 @@ Oups! Quelque chose s’est mal passé. apps/client/src/app/core/http-response.interceptor.ts - 83 + 84 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1786,11 +1786,11 @@ D’accord apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 140 + 141 apps/client/src/app/core/http-response.interceptor.ts - 86 + 87 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1806,7 +1806,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 45 + 46 apps/client/src/app/pages/about/overview/about-overview-page-routing.module.ts @@ -1842,7 +1842,7 @@ Politique de Vie Privée apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -1866,7 +1866,7 @@ Mon Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 33 + 34 @@ -1882,7 +1882,7 @@ Veuillez entrer votre code promotionnel. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 201 + 202 @@ -1890,7 +1890,7 @@ Le code promotionnel n’a pas pu être appliqué apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 165 + 166 @@ -1898,7 +1898,7 @@ Le code promotionnel a été appliqué apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 178 + 179 @@ -1906,7 +1906,7 @@ Rafraîchir apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 179 + 180 @@ -2206,11 +2206,11 @@ Données du marché apps/client/src/app/pages/admin/admin-page-routing.module.ts - 30 + 31 apps/client/src/app/pages/admin/admin-page.component.ts - 38 + 39 @@ -2218,7 +2218,7 @@ Contrôle Admin apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 @@ -2226,11 +2226,11 @@ Utilisateurs apps/client/src/app/pages/admin/admin-page-routing.module.ts - 40 + 41 apps/client/src/app/pages/admin/admin-page.component.ts - 48 + 49 @@ -2350,7 +2350,7 @@ Questions Fréquentes (FAQ) apps/client/src/app/pages/faq/faq-page-routing.module.ts - 34 + 35 apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts @@ -2370,19 +2370,15 @@ Positions apps/client/src/app/pages/home/home-page-routing.module.ts - 24 - - - apps/client/src/app/pages/home/home-page-routing.module.ts - 29 + 25 apps/client/src/app/pages/home/home-page.component.ts - 43 + 44 apps/client/src/app/pages/zen/zen-page.component.ts - 40 + 41 @@ -2390,11 +2386,11 @@ Résumé apps/client/src/app/pages/home/home-page-routing.module.ts - 34 + 30 apps/client/src/app/pages/home/home-page.component.ts - 48 + 49 @@ -2402,11 +2398,11 @@ Marchés apps/client/src/app/pages/home/home-page-routing.module.ts - 39 + 35 apps/client/src/app/pages/home/home-page.component.ts - 58 + 59 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -2418,7 +2414,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 27 + 29 @@ -2430,7 +2426,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 40 + 41 @@ -2574,7 +2570,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 45 + 46 @@ -2706,7 +2702,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 35 + 36 @@ -2938,7 +2934,7 @@ Ressources apps/client/src/app/pages/resources/resources-page-routing.module.ts - 50 + 51 @@ -2970,23 +2966,23 @@ Aperçu apps/client/src/app/pages/admin/admin-page.component.ts - 28 + 29 apps/client/src/app/pages/home/home-page.component.ts - 38 + 39 apps/client/src/app/pages/resources/resources-page.component.ts - 17 + 19 apps/client/src/app/pages/zen/zen-page-routing.module.ts - 19 + 20 apps/client/src/app/pages/zen/zen-page.component.ts - 35 + 36 @@ -3994,19 +3990,19 @@ Paramètres apps/client/src/app/pages/admin/admin-page-routing.module.ts - 35 + 36 apps/client/src/app/pages/admin/admin-page.component.ts - 33 + 34 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 18 + 19 apps/client/src/app/pages/user-account/user-account-page.component.ts - 36 + 37 @@ -4174,7 +4170,7 @@ Historique des modifications apps/client/src/app/pages/about/about-page.component.ts - 50 + 51 apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts @@ -4186,7 +4182,7 @@ Licence apps/client/src/app/pages/about/about-page.component.ts - 55 + 56 apps/client/src/app/pages/about/license/license-page-routing.module.ts @@ -4326,7 +4322,7 @@ Outils de Gestion de Patrimoine apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 14 + 15 @@ -5154,580 +5150,189 @@ foire-aux-questions snake-case - apps/client/src/app/app.component.ts - 82 + libs/common/src/lib/paths.ts + 39 + + + features + fonctionnalites + snake-case - apps/client/src/app/core/paths.ts - 3 + libs/common/src/lib/paths.ts + 40 + + + about + a-propos + snake-case - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 20 + libs/common/src/lib/paths.ts + 37 + + + privacy-policy + politique-de-confidentialite + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 38 + libs/common/src/lib/paths.ts + 48 + + + license + licence + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts + libs/common/src/lib/paths.ts 43 + + + markets + marches + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 44 + + + pricing + prix + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 15 + libs/common/src/lib/paths.ts + 47 - - features - fonctionnalites + + register + enregistrement snake-case - apps/client/src/app/app.component.ts - 83 + libs/common/src/lib/paths.ts + 49 + + + resources + ressources + snake-case - apps/client/src/app/components/header/header.component.ts - 83 + libs/common/src/lib/paths.ts + 50 + + + This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. + Cette page d’aperçu présente une collection d’outils de finances personnelles comparés à la solution open source alternative Ghostfolio. Si vous accordez de l’importance à la transparence, à la confidentialité des données et à la collaboration communautaire, Ghostfolio vous offre une excellente occasion de prendre le contrôle de votre gestion financière. - apps/client/src/app/components/header/header.component.ts - 88 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 8 + + + Explore the links below to compare a variety of personal finance tools with Ghostfolio. + Explorez les liens ci-dessous pour comparer une variété d’outils de finances personnelles avec Ghostfolio. - apps/client/src/app/core/paths.ts - 4 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 16 + + + Open Source Alternative to + Solutions open source alternatives à - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 21 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 42 + + + Open Source Alternative to + Solutions open source alternatives à - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 14 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts + 28 + + + The Open Source Alternative to + L’alternative open source à - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 8 + + + Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. + Cherchez-vous des alternatives open source à ? Ghostfolio est un outil de gestion de portefeuille puissant offrant aux particuliers une plateforme complète pour suivre, analyser et optimiser ses investissements. Que vous soyez un investisseur expérimenté ou que vous débutiez, Ghostfolio offre une interface utilisateur intuitive et une large gamme de fonctionnalités pour vous aider à prendre des décisions éclairées et à prendre le contrôle de votre avenir financier. - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 18 + + + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. + Ghostfolio est un logiciel open source (OSS), offrant une alternative économique, le rendant particulièrement adaptée aux personnes disposant d’un budget serré, telles que celles qui cherchent à atteindre le mouvement Financial Independence, Retire Early (FIRE). En s’appuyant sur les efforts collectifs d’une communauté de développeurs et de passionnés de finances personnelles, Ghostfolio améliore continuellement ses fonctionnalités, sa sécurité et son expérience utilisateur. - apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 32 + + + Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. + Regardons plus en détails ce que proposent Ghostfolio vs via la table de comparaison ci-dessous pour comprendre comment Ghostfolio se positionne par rapport à . Nous examinerons divers aspects tels que les fonctionnalités, la confidentialité des données, le prix, etc., afin de vous permettre de faire un choix éclairé en fonction de vos besoins personnels. - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 17 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 43 + + + open-source-alternative-to + alternative-open-source-a + snake-case - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 14 + libs/common/src/lib/paths.ts + 45 + + + Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. + Veuillez noter que les informations fournies dans le Ghostfolio vs via la table de comparaison se basent de nos recherches et analyses indépendantes. Ce site n’est pas affilié à ou tout autre produit mentionné dans la comparaison. Le paysage des outils de finances personnelles évoluant, il est essentiel de vérifier tout détail ou changement spécifique directement sur la page du produit concerné. Certaines données doivent être mises à jour ? Aidez-nous à maintenir les données exactes sur GitHub. - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 13 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 311 + + + Ready to take your investments to the next level? + Prêt à prendre vos investissements au niveau supérieur? - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 14 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 324 + + + Get Started + Démarrer - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 18 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 333 + + + Switzerland + Suisse - apps/client/src/app/pages/pricing/pricing-page.component.ts - 43 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts + 59 - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 23 - - - - about - a-propos - snake-case - - apps/client/src/app/app.component.ts - 65 - - - apps/client/src/app/app.component.ts - 67 - - - apps/client/src/app/app.component.ts - 71 - - - apps/client/src/app/app.component.ts - 75 - - - apps/client/src/app/app.component.ts - 79 - - - apps/client/src/app/components/header/header.component.ts - 82 - - - apps/client/src/app/components/header/header.component.ts - 87 - - - apps/client/src/app/core/paths.ts - 2 - - - apps/client/src/app/pages/about/about-page.component.ts - 46 - - - apps/client/src/app/pages/about/about-page.component.ts - 51 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/about/about-page.component.ts - 84 - - - apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts - 12 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 27 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 33 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 19 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 22 - - - - privacy-policy - politique-de-confidentialite - snake-case - - apps/client/src/app/app.component.ts - 76 - - - apps/client/src/app/core/paths.ts - 8 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - - license - licence - snake-case - - apps/client/src/app/app.component.ts - 72 - - - apps/client/src/app/core/paths.ts - 5 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - - markets - marches - snake-case - - apps/client/src/app/app.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 89 - - - apps/client/src/app/core/paths.ts - 6 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 18 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 18 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 32 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 35 - - - - pricing - prix - snake-case - - apps/client/src/app/app.component.ts - 85 - - - apps/client/src/app/components/admin-settings/admin-settings.component.ts - 80 - - - apps/client/src/app/components/header/header.component.ts - 85 - - - apps/client/src/app/components/header/header.component.ts - 90 - - - apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts - 29 - - - apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 39 - - - apps/client/src/app/core/http-response.interceptor.ts - 77 - - - apps/client/src/app/core/paths.ts - 7 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 15 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 17 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 17 - - - apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts - 14 - - - libs/ui/src/lib/membership-card/membership-card.component.ts - 30 - - - libs/ui/src/lib/premium-indicator/premium-indicator.component.ts - 21 - - - - register - enregistrement - snake-case - - apps/client/src/app/app.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 91 - - - apps/client/src/app/core/auth.guard.ts - 55 - - - apps/client/src/app/core/paths.ts - 9 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 19 - - - apps/client/src/app/pages/features/features-page.component.ts - 28 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 28 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 44 - - - - resources - ressources - snake-case - - apps/client/src/app/app.component.ts - 87 - - - apps/client/src/app/components/header/header.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 92 - - - apps/client/src/app/core/paths.ts - 10 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/features/features-page.component.ts - 29 - - - apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts - 17 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 22 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 31 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 40 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 15 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 25 - - - - This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. - Cette page d’aperçu présente une collection d’outils de finances personnelles comparés à la solution open source alternative Ghostfolio. Si vous accordez de l’importance à la transparence, à la confidentialité des données et à la collaboration communautaire, Ghostfolio vous offre une excellente occasion de prendre le contrôle de votre gestion financière. - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 8 - - - - Explore the links below to compare a variety of personal finance tools with Ghostfolio. - Explorez les liens ci-dessous pour comparer une variété d’outils de finances personnelles avec Ghostfolio. - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 16 - - - - Open Source Alternative to - Solutions open source alternatives à - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 42 - - - - Open Source Alternative to - Solutions open source alternatives à - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 27 - - - - The Open Source Alternative to - L’alternative open source à - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 8 - - - - Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. - Cherchez-vous des alternatives open source à ? Ghostfolio est un outil de gestion de portefeuille puissant offrant aux particuliers une plateforme complète pour suivre, analyser et optimiser ses investissements. Que vous soyez un investisseur expérimenté ou que vous débutiez, Ghostfolio offre une interface utilisateur intuitive et une large gamme de fonctionnalités pour vous aider à prendre des décisions éclairées et à prendre le contrôle de votre avenir financier. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 18 - - - - Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. - Ghostfolio est un logiciel open source (OSS), offrant une alternative économique, le rendant particulièrement adaptée aux personnes disposant d’un budget serré, telles que celles qui cherchent à atteindre le mouvement Financial Independence, Retire Early (FIRE). En s’appuyant sur les efforts collectifs d’une communauté de développeurs et de passionnés de finances personnelles, Ghostfolio améliore continuellement ses fonctionnalités, sa sécurité et son expérience utilisateur. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 32 - - - - Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. - Regardons plus en détails ce que proposent Ghostfolio vs via la table de comparaison ci-dessous pour comprendre comment Ghostfolio se positionne par rapport à . Nous examinerons divers aspects tels que les fonctionnalités, la confidentialité des données, le prix, etc., afin de vous permettre de faire un choix éclairé en fonction de vos besoins personnels. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 43 - - - - open-source-alternative-to - alternative-open-source-a - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 26 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 14 - - - - Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. - Veuillez noter que les informations fournies dans le Ghostfolio vs via la table de comparaison se basent de nos recherches et analyses indépendantes. Ce site n’est pas affilié à ou tout autre produit mentionné dans la comparaison. Le paysage des outils de finances personnelles évoluant, il est essentiel de vérifier tout détail ou changement spécifique directement sur la page du produit concerné. Certaines données doivent être mises à jour ? Aidez-nous à maintenir les données exactes sur GitHub. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 311 - - - - Ready to take your investments to the next level? - Prêt à prendre vos investissements au niveau supérieur? - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 324 - - - - Get Started - Démarrer - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 333 - - - - Switzerland - Suisse - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 58 - - - libs/ui/src/lib/i18n.ts - 93 + libs/ui/src/lib/i18n.ts + 93 @@ -5735,7 +5340,7 @@ Mondial apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 60 libs/ui/src/lib/i18n.ts @@ -5939,11 +5544,11 @@ Statut apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 23 + 24 apps/client/src/app/pages/user-account/user-account-page.component.ts - 41 + 42 @@ -5951,11 +5556,11 @@ Accès apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 28 + 29 apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + 48 @@ -6239,11 +5844,11 @@ File d’attente apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 apps/client/src/app/pages/admin/admin-page.component.ts - 43 + 44 @@ -6267,7 +5872,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 87 + 88 @@ -6435,7 +6040,7 @@ Général apps/client/src/app/pages/faq/faq-page.component.ts - 37 + 38 @@ -6443,7 +6048,7 @@ Cloud apps/client/src/app/pages/faq/faq-page.component.ts - 42 + 43 apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts @@ -6455,7 +6060,7 @@ Self-Hosting apps/client/src/app/pages/faq/faq-page.component.ts - 48 + 49 apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts @@ -6465,9 +6070,10 @@ self-hosting self-hosting + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 51 @@ -6487,7 +6093,7 @@ Oops! Il semble que vous fassiez trop de requêtes. Veuillez ralentir un peu. apps/client/src/app/core/http-response.interceptor.ts - 103 + 104 @@ -6551,7 +6157,7 @@ Cette action n’est pas autorisée. apps/client/src/app/core/http-response.interceptor.ts - 64 + 65 @@ -6719,7 +6325,7 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 81 + 82 @@ -6727,7 +6333,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 83 @@ -6735,7 +6341,7 @@ Budget apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 84 @@ -6743,7 +6349,7 @@ Communauté apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 85 @@ -6751,7 +6357,7 @@ Family Office apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 86 @@ -6759,7 +6365,7 @@ Investisseur apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 89 @@ -6767,7 +6373,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 90 @@ -6775,7 +6381,7 @@ Gestion de Patrimoine apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 91 + 92 @@ -6783,7 +6389,7 @@ Confidentialité apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 93 @@ -6791,7 +6397,7 @@ Logiciels apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 95 @@ -6799,7 +6405,7 @@ Outils apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 96 @@ -6807,7 +6413,7 @@ Expérience Utilisateur apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 97 @@ -6815,7 +6421,7 @@ Patrimoine apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 98 @@ -6823,7 +6429,7 @@ Gestion de Patrimoine apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 99 @@ -7323,7 +6929,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 32 + 34 @@ -7335,7 +6941,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 22 + 24 @@ -7343,12 +6949,8 @@ guides snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 23 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 28 + libs/common/src/lib/paths.ts + 42 @@ -7356,13 +6958,9 @@ glossaire snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts + libs/common/src/lib/paths.ts 41 - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 21 - Threshold range @@ -7417,7 +7015,7 @@ Voulez-vous vraiment supprimer la clé API? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 103 + 102 @@ -7449,7 +7047,7 @@ Impossible de générer une clé API apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 127 + 128 @@ -7457,7 +7055,7 @@ Définissez cette clé API dans votre environnement auto-hébergé : apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 142 + 143 @@ -7465,7 +7063,7 @@ Clé API du fournisseur de données Ghostfolio Premium apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 145 + 146 @@ -7473,7 +7071,7 @@ Voulez-vous vraiment générer une nouvelle clé API ? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 150 + 151 @@ -7569,7 +7167,7 @@ Le lien a été copié dans le presse-papiers apps/client/src/app/components/access-table/access-table.component.ts - 65 + 66 @@ -7821,20 +7419,8 @@ conditions-d-utilisation snake-case - apps/client/src/app/app.component.ts - 80 - - - apps/client/src/app/core/paths.ts - 11 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 34 + libs/common/src/lib/paths.ts + 52 @@ -7842,7 +7428,7 @@ Conditions d’utilisation apps/client/src/app/pages/about/about-page.component.ts - 71 + 72 apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts @@ -7970,11 +7556,11 @@ Liste de suivi apps/client/src/app/pages/home/home-page-routing.module.ts - 44 + 40 apps/client/src/app/pages/home/home-page.component.ts - 53 + 54 @@ -8009,6 +7595,24 @@ 41 + + changelog + changelog + snake-case + + libs/common/src/lib/paths.ts + 38 + + + + oss-friends + oss-friends + snake-case + + libs/common/src/lib/paths.ts + 46 + + diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf index 98539f12a..2320780b4 100644 --- a/apps/client/src/locales/messages.it.xlf +++ b/apps/client/src/locales/messages.it.xlf @@ -79,7 +79,7 @@ Vuoi davvero revocare l’accesso concesso? apps/client/src/app/components/access-table/access-table.component.ts - 79 + 80 @@ -1011,7 +1011,7 @@ apps/client/src/app/components/header/header.component.ts - 231 + 232 @@ -1019,7 +1019,7 @@ Ops! Token di sicurezza errato. apps/client/src/app/components/header/header.component.ts - 246 + 247 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -1443,11 +1443,11 @@ Bene apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 140 + 141 apps/client/src/app/core/http-response.interceptor.ts - 86 + 87 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1463,7 +1463,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 45 + 46 apps/client/src/app/pages/about/overview/about-overview-page-routing.module.ts @@ -1607,7 +1607,7 @@ Informativa sulla privacy apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -1619,7 +1619,7 @@ Il mio Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 33 + 34 @@ -1627,7 +1627,7 @@ Inserisci il tuo codice del buono: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 201 + 202 @@ -1635,7 +1635,7 @@ Impossibile riscattare il codice del buono apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 165 + 166 @@ -1643,7 +1643,7 @@ Il codice del buono è stato riscattato apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 178 + 179 @@ -1651,7 +1651,7 @@ Ricarica apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 179 + 180 @@ -1915,7 +1915,7 @@ Controllo amministrativo apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 @@ -1939,7 +1939,7 @@ Domande più frequenti (FAQ) apps/client/src/app/pages/faq/faq-page-routing.module.ts - 34 + 35 apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts @@ -1959,23 +1959,23 @@ Panoramica apps/client/src/app/pages/admin/admin-page.component.ts - 28 + 29 apps/client/src/app/pages/home/home-page.component.ts - 38 + 39 apps/client/src/app/pages/resources/resources-page.component.ts - 17 + 19 apps/client/src/app/pages/zen/zen-page-routing.module.ts - 19 + 20 apps/client/src/app/pages/zen/zen-page.component.ts - 35 + 36 @@ -1983,11 +1983,11 @@ Mercati apps/client/src/app/pages/home/home-page-routing.module.ts - 39 + 35 apps/client/src/app/pages/home/home-page.component.ts - 58 + 59 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -1999,7 +1999,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 27 + 29 @@ -2011,7 +2011,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 45 + 46 @@ -2099,7 +2099,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 35 + 36 @@ -2163,19 +2163,15 @@ Partecipazioni apps/client/src/app/pages/home/home-page-routing.module.ts - 24 - - - apps/client/src/app/pages/home/home-page-routing.module.ts - 29 + 25 apps/client/src/app/pages/home/home-page.component.ts - 43 + 44 apps/client/src/app/pages/zen/zen-page.component.ts - 40 + 41 @@ -2339,7 +2335,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 40 + 41 @@ -2375,11 +2371,11 @@ apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts - 46 + 47 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 94 @@ -2443,7 +2439,7 @@ Risorse apps/client/src/app/pages/resources/resources-page-routing.module.ts - 50 + 51 @@ -2587,7 +2583,7 @@ Questa funzionalità non è attualmente disponibile. apps/client/src/app/core/http-response.interceptor.ts - 54 + 55 @@ -2595,7 +2591,7 @@ Ops! Qualcosa è andato storto. apps/client/src/app/core/http-response.interceptor.ts - 83 + 84 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2607,11 +2603,11 @@ Riprova più tardi. apps/client/src/app/core/http-response.interceptor.ts - 56 + 57 apps/client/src/app/core/http-response.interceptor.ts - 85 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3323,11 +3319,11 @@ Dati del mercato apps/client/src/app/pages/admin/admin-page-routing.module.ts - 30 + 31 apps/client/src/app/pages/admin/admin-page.component.ts - 38 + 39 @@ -3335,11 +3331,11 @@ Utenti apps/client/src/app/pages/admin/admin-page-routing.module.ts - 40 + 41 apps/client/src/app/pages/admin/admin-page.component.ts - 48 + 49 @@ -3347,11 +3343,11 @@ Summario apps/client/src/app/pages/home/home-page-routing.module.ts - 34 + 30 apps/client/src/app/pages/home/home-page.component.ts - 48 + 49 @@ -3995,19 +3991,19 @@ Impostazioni apps/client/src/app/pages/admin/admin-page-routing.module.ts - 35 + 36 apps/client/src/app/pages/admin/admin-page.component.ts - 33 + 34 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 18 + 19 apps/client/src/app/pages/user-account/user-account-page.component.ts - 36 + 37 @@ -4175,7 +4171,7 @@ Changelog apps/client/src/app/pages/about/about-page.component.ts - 50 + 51 apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts @@ -4187,7 +4183,7 @@ Licenza apps/client/src/app/pages/about/about-page.component.ts - 55 + 56 apps/client/src/app/pages/about/license/license-page-routing.module.ts @@ -4327,7 +4323,7 @@ Strumenti di finanza personale apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 14 + 15 @@ -5155,580 +5151,189 @@ domande-piu-frequenti snake-case - apps/client/src/app/app.component.ts - 82 + libs/common/src/lib/paths.ts + 39 + + + features + funzionalita + snake-case - apps/client/src/app/core/paths.ts - 3 + libs/common/src/lib/paths.ts + 40 + + + about + informazioni-su + snake-case - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 20 + libs/common/src/lib/paths.ts + 37 + + + privacy-policy + informativa-sulla-privacy + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 38 + libs/common/src/lib/paths.ts + 48 + + + license + licenza + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts + libs/common/src/lib/paths.ts 43 + + + markets + mercati + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 44 + + + pricing + prezzi + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 15 + libs/common/src/lib/paths.ts + 47 - - features - funzionalita + + register + iscrizione snake-case - apps/client/src/app/app.component.ts - 83 + libs/common/src/lib/paths.ts + 49 + + + resources + risorse + snake-case - apps/client/src/app/components/header/header.component.ts - 83 + libs/common/src/lib/paths.ts + 50 + + + This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. + Questa pagina panoramica presenta una raccolta curata di strumenti di finanza personale confrontati con l’alternativa open source Ghostfolio. Se apprezzi la trasparenza, la privacy dei dati e la collaborazione con la comunità, Ghostfolio ti offre un’ottima opportunità per prendere il controllo della tua gestione finanziaria. - apps/client/src/app/components/header/header.component.ts - 88 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 8 + + + Explore the links below to compare a variety of personal finance tools with Ghostfolio. + Esplora i link qui sotto per confrontare una serie di strumenti di finanza personale con Ghostfolio. - apps/client/src/app/core/paths.ts - 4 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 16 + + + Open Source Alternative to + L’alternativa open source a - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 21 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 42 + + + Open Source Alternative to + L’alternativa open source a - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 14 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts + 28 + + + The Open Source Alternative to + L’alternativa open source a - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 8 + + + Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. + Stai cercando un’alternativa open source a ? Ghostfolio è un potente strumento di gestione del portafoglio che fornisce alle persone una piattaforma completa per monitorare, analizzare e ottimizzare i propri investimenti. Che tu sia un investitore esperto o alle prime armi, Ghostfolio offre un’interfaccia utente intuitiva e un’ampia gamma di funzionalità per aiutarti a prendere decisioni informate e il controllo del tuo futuro finanziario. - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 18 + + + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. + Ghostfolio è un software open source (OSS) che offre un’alternativa economicamente vantaggiosa a particolarmente adatta a persone con un budget limitato, come quelle che perseguono l’indipendenza finanziaria e il pensionamento anticipato (FIRE). Grazie agli sforzi collettivi di una comunità di sviluppatori e di appassionati di finanza personale, Ghostfolio migliora continuamente le sue capacità, la sua sicurezza e la sua esperienza utente. - apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 32 + + + Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. + Analizziamo nel dettaglio la tabella di confronto qui sotto per comprendere a fondo come Ghostfolio si posiziona rispetto a . Esploreremo vari aspetti come le caratteristiche, la privacy dei dati, il prezzo e altro ancora, permettendoti di fare una scelta ben informata per le tue esigenze personali. - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 17 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 43 + + + open-source-alternative-to + alternativa-open-source-a + snake-case - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 14 + libs/common/src/lib/paths.ts + 45 + + + Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. + Nota bene: le informazioni fornite si basano sulle nostre ricerche e analisi indipendenti. Questo sito web non è affiliato con o a qualsiasi altro prodotto citato nel confronto. Poiché il panorama degli strumenti di finanza personale si evolve, è essenziale verificare qualsiasi dettaglio o modifica specifica direttamente nella pagina del prodotto in questione. I dati hanno bisogno di essere aggiornati? Aiutaci a mantenere i dati accurati su GitHub. - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 13 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 311 + + + Ready to take your investments to the next level? + Sei pronto a portare il tuo investimento al livello successivo? - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 14 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 324 + + + Get Started + Inizia - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 18 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 333 + + + Switzerland + Svizzera - apps/client/src/app/pages/pricing/pricing-page.component.ts - 43 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts + 59 - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 23 - - - - about - informazioni-su - snake-case - - apps/client/src/app/app.component.ts - 65 - - - apps/client/src/app/app.component.ts - 67 - - - apps/client/src/app/app.component.ts - 71 - - - apps/client/src/app/app.component.ts - 75 - - - apps/client/src/app/app.component.ts - 79 - - - apps/client/src/app/components/header/header.component.ts - 82 - - - apps/client/src/app/components/header/header.component.ts - 87 - - - apps/client/src/app/core/paths.ts - 2 - - - apps/client/src/app/pages/about/about-page.component.ts - 46 - - - apps/client/src/app/pages/about/about-page.component.ts - 51 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/about/about-page.component.ts - 84 - - - apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts - 12 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 27 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 33 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 19 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 22 - - - - privacy-policy - informativa-sulla-privacy - snake-case - - apps/client/src/app/app.component.ts - 76 - - - apps/client/src/app/core/paths.ts - 8 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - - license - licenza - snake-case - - apps/client/src/app/app.component.ts - 72 - - - apps/client/src/app/core/paths.ts - 5 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - - markets - mercati - snake-case - - apps/client/src/app/app.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 89 - - - apps/client/src/app/core/paths.ts - 6 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 18 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 18 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 32 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 35 - - - - pricing - prezzi - snake-case - - apps/client/src/app/app.component.ts - 85 - - - apps/client/src/app/components/admin-settings/admin-settings.component.ts - 80 - - - apps/client/src/app/components/header/header.component.ts - 85 - - - apps/client/src/app/components/header/header.component.ts - 90 - - - apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts - 29 - - - apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 39 - - - apps/client/src/app/core/http-response.interceptor.ts - 77 - - - apps/client/src/app/core/paths.ts - 7 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 15 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 17 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 17 - - - apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts - 14 - - - libs/ui/src/lib/membership-card/membership-card.component.ts - 30 - - - libs/ui/src/lib/premium-indicator/premium-indicator.component.ts - 21 - - - - register - iscrizione - snake-case - - apps/client/src/app/app.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 91 - - - apps/client/src/app/core/auth.guard.ts - 55 - - - apps/client/src/app/core/paths.ts - 9 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 19 - - - apps/client/src/app/pages/features/features-page.component.ts - 28 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 28 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 44 - - - - resources - risorse - snake-case - - apps/client/src/app/app.component.ts - 87 - - - apps/client/src/app/components/header/header.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 92 - - - apps/client/src/app/core/paths.ts - 10 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/features/features-page.component.ts - 29 - - - apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts - 17 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 22 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 31 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 40 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 15 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 25 - - - - This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. - Questa pagina panoramica presenta una raccolta curata di strumenti di finanza personale confrontati con l’alternativa open source Ghostfolio. Se apprezzi la trasparenza, la privacy dei dati e la collaborazione con la comunità, Ghostfolio ti offre un’ottima opportunità per prendere il controllo della tua gestione finanziaria. - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 8 - - - - Explore the links below to compare a variety of personal finance tools with Ghostfolio. - Esplora i link qui sotto per confrontare una serie di strumenti di finanza personale con Ghostfolio. - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 16 - - - - Open Source Alternative to - L’alternativa open source a - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 42 - - - - Open Source Alternative to - L’alternativa open source a - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 27 - - - - The Open Source Alternative to - L’alternativa open source a - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 8 - - - - Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. - Stai cercando un’alternativa open source a ? Ghostfolio è un potente strumento di gestione del portafoglio che fornisce alle persone una piattaforma completa per monitorare, analizzare e ottimizzare i propri investimenti. Che tu sia un investitore esperto o alle prime armi, Ghostfolio offre un’interfaccia utente intuitiva e un’ampia gamma di funzionalità per aiutarti a prendere decisioni informate e il controllo del tuo futuro finanziario. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 18 - - - - Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. - Ghostfolio è un software open source (OSS) che offre un’alternativa economicamente vantaggiosa a particolarmente adatta a persone con un budget limitato, come quelle che perseguono l’indipendenza finanziaria e il pensionamento anticipato (FIRE). Grazie agli sforzi collettivi di una comunità di sviluppatori e di appassionati di finanza personale, Ghostfolio migliora continuamente le sue capacità, la sua sicurezza e la sua esperienza utente. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 32 - - - - Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. - Analizziamo nel dettaglio la tabella di confronto qui sotto per comprendere a fondo come Ghostfolio si posiziona rispetto a . Esploreremo vari aspetti come le caratteristiche, la privacy dei dati, il prezzo e altro ancora, permettendoti di fare una scelta ben informata per le tue esigenze personali. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 43 - - - - open-source-alternative-to - alternativa-open-source-a - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 26 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 14 - - - - Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. - Nota bene: le informazioni fornite si basano sulle nostre ricerche e analisi indipendenti. Questo sito web non è affiliato con o a qualsiasi altro prodotto citato nel confronto. Poiché il panorama degli strumenti di finanza personale si evolve, è essenziale verificare qualsiasi dettaglio o modifica specifica direttamente nella pagina del prodotto in questione. I dati hanno bisogno di essere aggiornati? Aiutaci a mantenere i dati accurati su GitHub. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 311 - - - - Ready to take your investments to the next level? - Sei pronto a portare il tuo investimento al livello successivo? - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 324 - - - - Get Started - Inizia - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 333 - - - - Switzerland - Svizzera - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 58 - - - libs/ui/src/lib/i18n.ts - 93 + libs/ui/src/lib/i18n.ts + 93 @@ -5736,7 +5341,7 @@ Globale apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 60 libs/ui/src/lib/i18n.ts @@ -5940,11 +5545,11 @@ Iscrizione apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 23 + 24 apps/client/src/app/pages/user-account/user-account-page.component.ts - 41 + 42 @@ -5952,11 +5557,11 @@ Accesso apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 28 + 29 apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + 48 @@ -6240,11 +5845,11 @@ Coda Lavori apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 apps/client/src/app/pages/admin/admin-page.component.ts - 43 + 44 @@ -6268,7 +5873,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 87 + 88 @@ -6436,7 +6041,7 @@ Generale apps/client/src/app/pages/faq/faq-page.component.ts - 37 + 38 @@ -6444,7 +6049,7 @@ Cloud apps/client/src/app/pages/faq/faq-page.component.ts - 42 + 43 apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts @@ -6456,7 +6061,7 @@ Self-Hosting apps/client/src/app/pages/faq/faq-page.component.ts - 48 + 49 apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts @@ -6466,9 +6071,10 @@ self-hosting self-hosting + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 51 @@ -6488,7 +6094,7 @@ Ops! Sembra tu stia facendo troppe richieste. Rallenta un po’ per favore. apps/client/src/app/core/http-response.interceptor.ts - 103 + 104 @@ -6552,7 +6158,7 @@ Questa azione non è permessa. apps/client/src/app/core/http-response.interceptor.ts - 64 + 65 @@ -6720,7 +6326,7 @@ Alternativa apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 81 + 82 @@ -6728,7 +6334,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 83 @@ -6736,7 +6342,7 @@ Budgeting apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 84 @@ -6744,7 +6350,7 @@ Comunità apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 85 @@ -6752,7 +6358,7 @@ Ufficio familiare apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 86 @@ -6760,7 +6366,7 @@ Investitore apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 89 @@ -6768,7 +6374,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 90 @@ -6776,7 +6382,7 @@ Finanza Personale apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 91 + 92 @@ -6784,7 +6390,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 93 @@ -6792,7 +6398,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 95 @@ -6800,7 +6406,7 @@ Strumento apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 96 @@ -6808,7 +6414,7 @@ Esperienza Utente apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 97 @@ -6816,7 +6422,7 @@ Ricchezza apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 98 @@ -6824,7 +6430,7 @@ Gestione Patrimoniale apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 99 @@ -7324,7 +6930,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 32 + 34 @@ -7336,7 +6942,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 22 + 24 @@ -7344,12 +6950,8 @@ guide snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 23 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 28 + libs/common/src/lib/paths.ts + 42 @@ -7357,13 +6959,9 @@ glossario snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts + libs/common/src/lib/paths.ts 41 - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 21 - Threshold range @@ -7418,7 +7016,7 @@ Vuoi davvero eliminare l’API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 103 + 102 @@ -7450,7 +7048,7 @@ Non è stato possibile generare un API key apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 127 + 128 @@ -7458,7 +7056,7 @@ Imposta questa API key nel tuo ambiente self-hosted: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 142 + 143 @@ -7466,7 +7064,7 @@ API Key for Ghostfolio Premium Data Provider apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 145 + 146 @@ -7474,7 +7072,7 @@ Vuoi davvero generare una nuova API key? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 150 + 151 @@ -7570,7 +7168,7 @@ Il link è stato copiato negli appunti apps/client/src/app/components/access-table/access-table.component.ts - 65 + 66 @@ -7822,20 +7420,8 @@ termini-e-condizioni snake-case - apps/client/src/app/app.component.ts - 80 - - - apps/client/src/app/core/paths.ts - 11 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 34 + libs/common/src/lib/paths.ts + 52 @@ -7843,7 +7429,7 @@ Termini e condizioni apps/client/src/app/pages/about/about-page.component.ts - 71 + 72 apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts @@ -7971,11 +7557,11 @@ Watchlist apps/client/src/app/pages/home/home-page-routing.module.ts - 44 + 40 apps/client/src/app/pages/home/home-page.component.ts - 53 + 54 @@ -8010,6 +7596,24 @@ 41 + + changelog + changelog + snake-case + + libs/common/src/lib/paths.ts + 38 + + + + oss-friends + oss-friends + snake-case + + libs/common/src/lib/paths.ts + 46 + + diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index 2d4920df4..704b359e5 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -78,7 +78,7 @@ Wil je deze verleende toegang echt intrekken? apps/client/src/app/components/access-table/access-table.component.ts - 79 + 80 @@ -1010,7 +1010,7 @@ apps/client/src/app/components/header/header.component.ts - 231 + 232 @@ -1018,7 +1018,7 @@ Oeps! Onjuiste beveiligingstoken. apps/client/src/app/components/header/header.component.ts - 246 + 247 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -1442,11 +1442,11 @@ Oké apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 140 + 141 apps/client/src/app/core/http-response.interceptor.ts - 86 + 87 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1462,7 +1462,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 45 + 46 apps/client/src/app/pages/about/overview/about-overview-page-routing.module.ts @@ -1606,7 +1606,7 @@ Privacybeleid apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -1618,7 +1618,7 @@ Mijn Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 33 + 34 @@ -1626,7 +1626,7 @@ Voer je couponcode in: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 201 + 202 @@ -1634,7 +1634,7 @@ Kon je kortingscode niet inwisselen apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 165 + 166 @@ -1642,7 +1642,7 @@ Je couponcode is ingewisseld apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 178 + 179 @@ -1650,7 +1650,7 @@ Herladen apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 179 + 180 @@ -1914,7 +1914,7 @@ Beheer apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 @@ -1938,7 +1938,7 @@ Veelgestelde vragen apps/client/src/app/pages/faq/faq-page-routing.module.ts - 34 + 35 apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts @@ -1958,23 +1958,23 @@ Overzicht apps/client/src/app/pages/admin/admin-page.component.ts - 28 + 29 apps/client/src/app/pages/home/home-page.component.ts - 38 + 39 apps/client/src/app/pages/resources/resources-page.component.ts - 17 + 19 apps/client/src/app/pages/zen/zen-page-routing.module.ts - 19 + 20 apps/client/src/app/pages/zen/zen-page.component.ts - 35 + 36 @@ -1982,11 +1982,11 @@ Markten apps/client/src/app/pages/home/home-page-routing.module.ts - 39 + 35 apps/client/src/app/pages/home/home-page.component.ts - 58 + 59 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -1998,7 +1998,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 27 + 29 @@ -2010,7 +2010,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 45 + 46 @@ -2098,7 +2098,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 35 + 36 @@ -2162,19 +2162,15 @@ Posities apps/client/src/app/pages/home/home-page-routing.module.ts - 24 - - - apps/client/src/app/pages/home/home-page-routing.module.ts - 29 + 25 apps/client/src/app/pages/home/home-page.component.ts - 43 + 44 apps/client/src/app/pages/zen/zen-page.component.ts - 40 + 41 @@ -2338,7 +2334,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 40 + 41 @@ -2374,11 +2370,11 @@ apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts - 46 + 47 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 94 @@ -2442,7 +2438,7 @@ Bronnen apps/client/src/app/pages/resources/resources-page-routing.module.ts - 50 + 51 @@ -2586,7 +2582,7 @@ Deze functie is momenteel niet beschikbaar. apps/client/src/app/core/http-response.interceptor.ts - 54 + 55 @@ -2594,7 +2590,7 @@ Oeps! Er ging iets mis. apps/client/src/app/core/http-response.interceptor.ts - 83 + 84 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2606,11 +2602,11 @@ Probeer het later nog eens. apps/client/src/app/core/http-response.interceptor.ts - 56 + 57 apps/client/src/app/core/http-response.interceptor.ts - 85 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3322,11 +3318,11 @@ Marktgegevens apps/client/src/app/pages/admin/admin-page-routing.module.ts - 30 + 31 apps/client/src/app/pages/admin/admin-page.component.ts - 38 + 39 @@ -3334,11 +3330,11 @@ Gebruikers apps/client/src/app/pages/admin/admin-page-routing.module.ts - 40 + 41 apps/client/src/app/pages/admin/admin-page.component.ts - 48 + 49 @@ -3346,11 +3342,11 @@ Samenvatting apps/client/src/app/pages/home/home-page-routing.module.ts - 34 + 30 apps/client/src/app/pages/home/home-page.component.ts - 48 + 49 @@ -3994,19 +3990,19 @@ Instellingen apps/client/src/app/pages/admin/admin-page-routing.module.ts - 35 + 36 apps/client/src/app/pages/admin/admin-page.component.ts - 33 + 34 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 18 + 19 apps/client/src/app/pages/user-account/user-account-page.component.ts - 36 + 37 @@ -4174,7 +4170,7 @@ Changelog apps/client/src/app/pages/about/about-page.component.ts - 50 + 51 apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts @@ -4186,7 +4182,7 @@ Licentie apps/client/src/app/pages/about/about-page.component.ts - 55 + 56 apps/client/src/app/pages/about/license/license-page-routing.module.ts @@ -4326,7 +4322,7 @@ Tools voor persoonlijke financiën apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 14 + 15 @@ -5154,580 +5150,189 @@ veelgestelde-vragen snake-case - apps/client/src/app/app.component.ts - 82 + libs/common/src/lib/paths.ts + 39 + + + features + functionaliteiten + snake-case - apps/client/src/app/core/paths.ts - 3 + libs/common/src/lib/paths.ts + 40 + + + about + over + snake-case - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 20 + libs/common/src/lib/paths.ts + 37 + + + privacy-policy + privacybeleid + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 38 + libs/common/src/lib/paths.ts + 48 + + + license + licentie + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts + libs/common/src/lib/paths.ts 43 + + + markets + markten + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 44 + + + pricing + prijzen + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 15 + libs/common/src/lib/paths.ts + 47 - - features - functionaliteiten + + register + registratie snake-case - apps/client/src/app/app.component.ts - 83 + libs/common/src/lib/paths.ts + 49 + + + resources + bronnen + snake-case - apps/client/src/app/components/header/header.component.ts - 83 + libs/common/src/lib/paths.ts + 50 + + + This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. + Deze overzichtspagina bevat een verzameling tools voor persoonlijke financiën vergeleken met het open source alternatief Ghostfolio. Als je waarde hecht aan transparantie, gegevensprivacy en samenwerking binnen een gemeenschap, biedt Ghostfolio een uitstekende mogelijkheid om je financieel beheer in eigen hand te nemen. - apps/client/src/app/components/header/header.component.ts - 88 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 8 + + + Explore the links below to compare a variety of personal finance tools with Ghostfolio. + Bekijk de links hieronder om verschillende persoonlijke financiële tools met Ghostfolio te vergelijken. - apps/client/src/app/core/paths.ts - 4 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 16 + + + Open Source Alternative to + Open Source alternatief voor - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 21 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 42 + + + Open Source Alternative to + Open Source alternatief voor - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 14 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts + 28 + + + The Open Source Alternative to + Open Source alternatief voor - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 8 + + + Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. + Ben je op zoek naar een open source alternatief voor ? Ghostfolio is een krachtige tool voor portefeuillebeheer die particulieren een uitgebreid platform biedt om hun beleggingen bij te houden, te analyseren en te optimaliseren. Of je nu een ervaren belegger bent of net begint, Ghostfolio biedt een intuïtieve gebruikersinterface en uitgebreide functionaliteiten om je te helpen weloverwogen beslissingen te nemen en je financiële toekomst in eigen handen te nemen. - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 18 + + + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. + Ghostfolio is open source software (OSS) en biedt een kosteneffectief alternatief voor waardoor het bijzonder geschikt is voor mensen met een krap budget, zoals degenen Financiële onafhankelijkheid nastreven, vroeg met pensioen gaan (FIRE). Door gebruik te maken van de collectieve inspanningen van een gemeenschap van ontwikkelaars en liefhebbers van persoonlijke financiën, verbetert Ghostfolio voortdurend de mogelijkheden, veiligheid en gebruikerservaring. - apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 32 + + + Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. + Laten we eens dieper duiken in de gedetailleerde vergelijkingstabel hieronder om een beter begrip te krijgen hoe Ghostfolio zichzelf positioneert ten opzichte van . We gaan in op verschillende aspecten zoals functies, gegevensprivacy, prijzen en meer, zodat je een weloverwogen keuze kunt maken voor jouw persoonlijke behoeften. - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 17 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 43 + + + open-source-alternative-to + open-source-alternatief-voor + snake-case - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 14 + libs/common/src/lib/paths.ts + 45 + + + Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. + Houd er rekening mee dat de verstrekte informatie in deze Ghostfolio vs is gebaseerd op ons onafhankelijk onderzoek en analyse. Deze website is niet gelieerd aan of een ander product dat in de vergelijking wordt genoemd. Aangezien het landschap van tools voor persoonlijke financiën evolueert, is het essentieel om specifieke details of wijzigingen rechtstreeks op de betreffende productpagina te controleren. Hebben je gegevens een opfrisbeurt nodig? Help ons de gegevens nauwkeurig te houden op GitHub. - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 13 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 311 + + + Ready to take your investments to the next level? + Klaar om je investeringen naar een hoger niveau te brengen? - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 14 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 324 + + + Get Started + Aan de slag - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 18 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 333 + + + Switzerland + Zwitserland - apps/client/src/app/pages/pricing/pricing-page.component.ts - 43 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts + 59 - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 23 - - - - about - over - snake-case - - apps/client/src/app/app.component.ts - 65 - - - apps/client/src/app/app.component.ts - 67 - - - apps/client/src/app/app.component.ts - 71 - - - apps/client/src/app/app.component.ts - 75 - - - apps/client/src/app/app.component.ts - 79 - - - apps/client/src/app/components/header/header.component.ts - 82 - - - apps/client/src/app/components/header/header.component.ts - 87 - - - apps/client/src/app/core/paths.ts - 2 - - - apps/client/src/app/pages/about/about-page.component.ts - 46 - - - apps/client/src/app/pages/about/about-page.component.ts - 51 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/about/about-page.component.ts - 84 - - - apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts - 12 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 27 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 33 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 19 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 22 - - - - privacy-policy - privacybeleid - snake-case - - apps/client/src/app/app.component.ts - 76 - - - apps/client/src/app/core/paths.ts - 8 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - - license - licentie - snake-case - - apps/client/src/app/app.component.ts - 72 - - - apps/client/src/app/core/paths.ts - 5 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - - markets - markten - snake-case - - apps/client/src/app/app.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 89 - - - apps/client/src/app/core/paths.ts - 6 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 18 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 18 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 32 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 35 - - - - pricing - prijzen - snake-case - - apps/client/src/app/app.component.ts - 85 - - - apps/client/src/app/components/admin-settings/admin-settings.component.ts - 80 - - - apps/client/src/app/components/header/header.component.ts - 85 - - - apps/client/src/app/components/header/header.component.ts - 90 - - - apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts - 29 - - - apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 39 - - - apps/client/src/app/core/http-response.interceptor.ts - 77 - - - apps/client/src/app/core/paths.ts - 7 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 15 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 17 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 17 - - - apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts - 14 - - - libs/ui/src/lib/membership-card/membership-card.component.ts - 30 - - - libs/ui/src/lib/premium-indicator/premium-indicator.component.ts - 21 - - - - register - registratie - snake-case - - apps/client/src/app/app.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 91 - - - apps/client/src/app/core/auth.guard.ts - 55 - - - apps/client/src/app/core/paths.ts - 9 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 19 - - - apps/client/src/app/pages/features/features-page.component.ts - 28 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 28 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 44 - - - - resources - bronnen - snake-case - - apps/client/src/app/app.component.ts - 87 - - - apps/client/src/app/components/header/header.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 92 - - - apps/client/src/app/core/paths.ts - 10 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/features/features-page.component.ts - 29 - - - apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts - 17 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 22 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 31 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 40 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 15 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 25 - - - - This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. - Deze overzichtspagina bevat een verzameling tools voor persoonlijke financiën vergeleken met het open source alternatief Ghostfolio. Als je waarde hecht aan transparantie, gegevensprivacy en samenwerking binnen een gemeenschap, biedt Ghostfolio een uitstekende mogelijkheid om je financieel beheer in eigen hand te nemen. - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 8 - - - - Explore the links below to compare a variety of personal finance tools with Ghostfolio. - Bekijk de links hieronder om verschillende persoonlijke financiële tools met Ghostfolio te vergelijken. - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 16 - - - - Open Source Alternative to - Open Source alternatief voor - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 42 - - - - Open Source Alternative to - Open Source alternatief voor - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 27 - - - - The Open Source Alternative to - Open Source alternatief voor - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 8 - - - - Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. - Ben je op zoek naar een open source alternatief voor ? Ghostfolio is een krachtige tool voor portefeuillebeheer die particulieren een uitgebreid platform biedt om hun beleggingen bij te houden, te analyseren en te optimaliseren. Of je nu een ervaren belegger bent of net begint, Ghostfolio biedt een intuïtieve gebruikersinterface en uitgebreide functionaliteiten om je te helpen weloverwogen beslissingen te nemen en je financiële toekomst in eigen handen te nemen. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 18 - - - - Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. - Ghostfolio is open source software (OSS) en biedt een kosteneffectief alternatief voor waardoor het bijzonder geschikt is voor mensen met een krap budget, zoals degenen Financiële onafhankelijkheid nastreven, vroeg met pensioen gaan (FIRE). Door gebruik te maken van de collectieve inspanningen van een gemeenschap van ontwikkelaars en liefhebbers van persoonlijke financiën, verbetert Ghostfolio voortdurend de mogelijkheden, veiligheid en gebruikerservaring. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 32 - - - - Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. - Laten we eens dieper duiken in de gedetailleerde vergelijkingstabel hieronder om een beter begrip te krijgen hoe Ghostfolio zichzelf positioneert ten opzichte van . We gaan in op verschillende aspecten zoals functies, gegevensprivacy, prijzen en meer, zodat je een weloverwogen keuze kunt maken voor jouw persoonlijke behoeften. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 43 - - - - open-source-alternative-to - open-source-alternatief-voor - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 26 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 14 - - - - Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. - Houd er rekening mee dat de verstrekte informatie in deze Ghostfolio vs is gebaseerd op ons onafhankelijk onderzoek en analyse. Deze website is niet gelieerd aan of een ander product dat in de vergelijking wordt genoemd. Aangezien het landschap van tools voor persoonlijke financiën evolueert, is het essentieel om specifieke details of wijzigingen rechtstreeks op de betreffende productpagina te controleren. Hebben je gegevens een opfrisbeurt nodig? Help ons de gegevens nauwkeurig te houden op GitHub. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 311 - - - - Ready to take your investments to the next level? - Klaar om je investeringen naar een hoger niveau te brengen? - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 324 - - - - Get Started - Aan de slag - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 333 - - - - Switzerland - Zwitserland - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 58 - - - libs/ui/src/lib/i18n.ts - 93 + libs/ui/src/lib/i18n.ts + 93 @@ -5735,7 +5340,7 @@ Wereldwijd apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 60 libs/ui/src/lib/i18n.ts @@ -5939,11 +5544,11 @@ Lidmaatschap apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 23 + 24 apps/client/src/app/pages/user-account/user-account-page.component.ts - 41 + 42 @@ -5951,11 +5556,11 @@ Toegang apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 28 + 29 apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + 48 @@ -6239,11 +5844,11 @@ Opdracht Wachtrij apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 apps/client/src/app/pages/admin/admin-page.component.ts - 43 + 44 @@ -6267,7 +5872,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 87 + 88 @@ -6435,7 +6040,7 @@ Algemeen apps/client/src/app/pages/faq/faq-page.component.ts - 37 + 38 @@ -6443,7 +6048,7 @@ Cloud apps/client/src/app/pages/faq/faq-page.component.ts - 42 + 43 apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts @@ -6455,7 +6060,7 @@ Zelf Hosten apps/client/src/app/pages/faq/faq-page.component.ts - 48 + 49 apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts @@ -6465,9 +6070,10 @@ self-hosting zelf hosten + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 51 @@ -6487,7 +6093,7 @@ Oeps! Het lijkt er op dat u te veel verzoeken indient. Doe het iets rustiger aan alstublieft. apps/client/src/app/core/http-response.interceptor.ts - 103 + 104 @@ -6551,7 +6157,7 @@ Deze actie is niet toegestaan. apps/client/src/app/core/http-response.interceptor.ts - 64 + 65 @@ -6719,7 +6325,7 @@ Alternatief apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 81 + 82 @@ -6727,7 +6333,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 83 @@ -6735,7 +6341,7 @@ Budgetteren apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 84 @@ -6743,7 +6349,7 @@ Gemeenschap apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 85 @@ -6751,7 +6357,7 @@ Familiekantoor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 86 @@ -6759,7 +6365,7 @@ Investeerder apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 89 @@ -6767,7 +6373,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 90 @@ -6775,7 +6381,7 @@ Persoonlijke Financiën apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 91 + 92 @@ -6783,7 +6389,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 93 @@ -6791,7 +6397,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 95 @@ -6799,7 +6405,7 @@ Hulpmiddel apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 96 @@ -6807,7 +6413,7 @@ Gebruikers Ervaring apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 97 @@ -6815,7 +6421,7 @@ Vermogen apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 98 @@ -6823,7 +6429,7 @@ Vermogensbeheer apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 99 @@ -7323,7 +6929,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 32 + 34 @@ -7335,7 +6941,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 22 + 24 @@ -7343,12 +6949,8 @@ gidsen snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 23 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 28 + libs/common/src/lib/paths.ts + 42 @@ -7356,13 +6958,9 @@ woordenlijst snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts + libs/common/src/lib/paths.ts 41 - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 21 - Threshold range @@ -7417,7 +7015,7 @@ Wilt u de API-sleutel echt verwijderen? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 103 + 102 @@ -7449,7 +7047,7 @@ Er kon geen API-sleutel worden gegenereerd apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 127 + 128 @@ -7457,7 +7055,7 @@ Stel deze API-sleutel in uw zelf-gehoste omgeving in: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 142 + 143 @@ -7465,7 +7063,7 @@ Ghostfolio Premium Gegevensleverancier API-sleutel apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 145 + 146 @@ -7473,7 +7071,7 @@ Wilt u echt een nieuwe API-sleutel genereren? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 150 + 151 @@ -7569,7 +7167,7 @@ Link is gekopieerd naar klemboord apps/client/src/app/components/access-table/access-table.component.ts - 65 + 66 @@ -7821,20 +7419,8 @@ servicevoorwaarden snake-case - apps/client/src/app/app.component.ts - 80 - - - apps/client/src/app/core/paths.ts - 11 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 34 + libs/common/src/lib/paths.ts + 52 @@ -7842,7 +7428,7 @@ Servicevoorwaarden apps/client/src/app/pages/about/about-page.component.ts - 71 + 72 apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts @@ -7970,11 +7556,11 @@ Volglijst apps/client/src/app/pages/home/home-page-routing.module.ts - 44 + 40 apps/client/src/app/pages/home/home-page.component.ts - 53 + 54 @@ -8009,6 +7595,24 @@ 41 + + changelog + changelog + snake-case + + libs/common/src/lib/paths.ts + 38 + + + + oss-friends + oss-friends + snake-case + + libs/common/src/lib/paths.ts + 46 + + diff --git a/apps/client/src/locales/messages.pl.xlf b/apps/client/src/locales/messages.pl.xlf index 5b399a06b..18cbcf7d0 100644 --- a/apps/client/src/locales/messages.pl.xlf +++ b/apps/client/src/locales/messages.pl.xlf @@ -6,100 +6,8 @@ o-ghostfolio snake-case - apps/client/src/app/app.component.ts - 65 - - - apps/client/src/app/app.component.ts - 67 - - - apps/client/src/app/app.component.ts - 71 - - - apps/client/src/app/app.component.ts - 75 - - - apps/client/src/app/app.component.ts - 79 - - - apps/client/src/app/components/header/header.component.ts - 82 - - - apps/client/src/app/components/header/header.component.ts - 87 - - - apps/client/src/app/core/paths.ts - 2 - - - apps/client/src/app/pages/about/about-page.component.ts - 46 - - - apps/client/src/app/pages/about/about-page.component.ts - 51 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/about/about-page.component.ts - 84 - - - apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts - 12 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 27 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 33 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 19 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 22 + libs/common/src/lib/paths.ts + 37 @@ -107,32 +15,8 @@ faq snake-case - apps/client/src/app/app.component.ts - 82 - - - apps/client/src/app/core/paths.ts - 3 - - - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 20 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 38 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 43 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 49 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 15 + libs/common/src/lib/paths.ts + 39 @@ -140,68 +24,8 @@ funkcje snake-case - apps/client/src/app/app.component.ts - 83 - - - apps/client/src/app/components/header/header.component.ts - 83 - - - apps/client/src/app/components/header/header.component.ts - 88 - - - apps/client/src/app/core/paths.ts - 4 - - - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 21 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 17 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 14 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 18 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 43 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 23 + libs/common/src/lib/paths.ts + 40 @@ -209,265 +33,53 @@ licencja snake-case - apps/client/src/app/app.component.ts - 72 - - - apps/client/src/app/core/paths.ts - 5 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 + libs/common/src/lib/paths.ts + 43 - markets - rynki - snake-case - - apps/client/src/app/app.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 89 - - - apps/client/src/app/core/paths.ts - 6 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 18 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 18 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 32 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 35 - - - - pricing - cennik - snake-case - - apps/client/src/app/app.component.ts - 85 - - - apps/client/src/app/components/admin-settings/admin-settings.component.ts - 80 - - - apps/client/src/app/components/header/header.component.ts - 85 - - - apps/client/src/app/components/header/header.component.ts - 90 - - - apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts - 29 - - - apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 39 - - - apps/client/src/app/core/http-response.interceptor.ts - 77 - - - apps/client/src/app/core/paths.ts - 7 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 15 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 17 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 17 - - - apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts - 14 - - - libs/ui/src/lib/membership-card/membership-card.component.ts - 30 - - - libs/ui/src/lib/premium-indicator/premium-indicator.component.ts - 21 - - - - privacy-policy - polityka-prywatnosci - snake-case - - apps/client/src/app/app.component.ts - 76 - - - apps/client/src/app/core/paths.ts - 8 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - - register - zarejestruj - snake-case - - apps/client/src/app/app.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 91 - - - apps/client/src/app/core/auth.guard.ts - 55 - - - apps/client/src/app/core/paths.ts - 9 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 19 - - - apps/client/src/app/pages/features/features-page.component.ts - 28 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 28 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 44 - - - - resources - zasoby - snake-case - - apps/client/src/app/app.component.ts - 87 - - - apps/client/src/app/components/header/header.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 92 - - - apps/client/src/app/core/paths.ts - 10 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/features/features-page.component.ts - 29 - - - apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts - 17 - + markets + rynki + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 22 + libs/common/src/lib/paths.ts + 44 + + + pricing + cennik + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 31 + libs/common/src/lib/paths.ts + 47 + + + privacy-policy + polityka-prywatnosci + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 40 + libs/common/src/lib/paths.ts + 48 + + + register + zarejestruj + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 15 + libs/common/src/lib/paths.ts + 49 + + + resources + zasoby + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 25 + libs/common/src/lib/paths.ts + 50 @@ -867,7 +479,7 @@ Czy na pewno chcesz cofnąć przyznany dostęp? apps/client/src/app/components/access-table/access-table.component.ts - 79 + 80 @@ -2167,11 +1779,11 @@ apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts - 46 + 47 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 94 @@ -2295,7 +1907,7 @@ apps/client/src/app/components/header/header.component.ts - 231 + 232 @@ -2303,7 +1915,7 @@ Ups! Nieprawidłowy token bezpieczeństwa. apps/client/src/app/components/header/header.component.ts - 246 + 247 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -3035,7 +2647,7 @@ Wpisz kod kuponu: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 201 + 202 @@ -3043,7 +2655,7 @@ Nie udało się zrealizować kodu kuponu apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 165 + 166 @@ -3051,7 +2663,7 @@ Kupon został zrealizowany apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 178 + 179 @@ -3059,7 +2671,7 @@ Odśwież apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 179 + 180 @@ -3275,7 +2887,7 @@ Ta funkcja jest obecnie niedostępna. apps/client/src/app/core/http-response.interceptor.ts - 54 + 55 @@ -3283,11 +2895,11 @@ Spróbuj ponownie później. apps/client/src/app/core/http-response.interceptor.ts - 56 + 57 apps/client/src/app/core/http-response.interceptor.ts - 85 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3299,7 +2911,7 @@ Ups! Coś poszło nie tak. apps/client/src/app/core/http-response.interceptor.ts - 83 + 84 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3311,11 +2923,11 @@ Okej apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 140 + 141 apps/client/src/app/core/http-response.interceptor.ts - 86 + 87 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3331,7 +2943,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 45 + 46 apps/client/src/app/pages/about/overview/about-overview-page-routing.module.ts @@ -3343,7 +2955,7 @@ Changelog apps/client/src/app/pages/about/about-page.component.ts - 50 + 51 apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts @@ -3355,7 +2967,7 @@ Licencja apps/client/src/app/pages/about/about-page.component.ts - 55 + 56 apps/client/src/app/pages/about/license/license-page-routing.module.ts @@ -3367,7 +2979,7 @@ Polityka Prywatności apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -3467,7 +3079,7 @@ Panel Administratora apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 @@ -3475,11 +3087,11 @@ Dane Rynkowe apps/client/src/app/pages/admin/admin-page-routing.module.ts - 30 + 31 apps/client/src/app/pages/admin/admin-page.component.ts - 38 + 39 @@ -3487,19 +3099,19 @@ Ustawienia apps/client/src/app/pages/admin/admin-page-routing.module.ts - 35 + 36 apps/client/src/app/pages/admin/admin-page.component.ts - 33 + 34 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 18 + 19 apps/client/src/app/pages/user-account/user-account-page.component.ts - 36 + 37 @@ -3507,11 +3119,11 @@ Użytkownicy apps/client/src/app/pages/admin/admin-page-routing.module.ts - 40 + 41 apps/client/src/app/pages/admin/admin-page.component.ts - 48 + 49 @@ -3519,23 +3131,23 @@ Przegląd apps/client/src/app/pages/admin/admin-page.component.ts - 28 + 29 apps/client/src/app/pages/home/home-page.component.ts - 38 + 39 apps/client/src/app/pages/resources/resources-page.component.ts - 17 + 19 apps/client/src/app/pages/zen/zen-page-routing.module.ts - 19 + 20 apps/client/src/app/pages/zen/zen-page.component.ts - 35 + 36 @@ -3567,7 +3179,7 @@ Często zadawane pytania (FAQ) apps/client/src/app/pages/faq/faq-page-routing.module.ts - 34 + 35 apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts @@ -3727,19 +3339,15 @@ Inwestycje apps/client/src/app/pages/home/home-page-routing.module.ts - 24 - - - apps/client/src/app/pages/home/home-page-routing.module.ts - 29 + 25 apps/client/src/app/pages/home/home-page.component.ts - 43 + 44 apps/client/src/app/pages/zen/zen-page.component.ts - 40 + 41 @@ -3747,11 +3355,11 @@ Podsumowanie apps/client/src/app/pages/home/home-page-routing.module.ts - 34 + 30 apps/client/src/app/pages/home/home-page.component.ts - 48 + 49 @@ -3759,11 +3367,11 @@ Rynki apps/client/src/app/pages/home/home-page-routing.module.ts - 39 + 35 apps/client/src/app/pages/home/home-page.component.ts - 58 + 59 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -3775,7 +3383,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 27 + 29 @@ -4203,7 +3811,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 40 + 41 @@ -4451,7 +4059,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 45 + 46 @@ -4627,7 +4235,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 35 + 36 @@ -5067,19 +4675,16 @@ Narzędzia finansów osobistych apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 14 + 15 open-source-alternative-to open-source-alternative-to + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 26 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 14 + libs/common/src/lib/paths.ts + 45 @@ -5087,7 +4692,7 @@ Alternatywa Open Source dla apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 27 + 28 @@ -5343,7 +4948,7 @@ Szwajcaria apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 58 + 59 libs/ui/src/lib/i18n.ts @@ -5355,7 +4960,7 @@ Globalny apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 60 libs/ui/src/lib/i18n.ts @@ -5367,7 +4972,7 @@ Zasoby apps/client/src/app/pages/resources/resources-page-routing.module.ts - 50 + 51 @@ -5391,11 +4996,11 @@ Członkostwo apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 23 + 24 apps/client/src/app/pages/user-account/user-account-page.component.ts - 41 + 42 @@ -5403,11 +5008,11 @@ Dostęp apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 28 + 29 apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + 48 @@ -5415,7 +5020,7 @@ Moje Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 33 + 34 @@ -6239,11 +5844,11 @@ Kolejka Zadań apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 apps/client/src/app/pages/admin/admin-page.component.ts - 43 + 44 @@ -6267,7 +5872,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 87 + 88 @@ -6435,7 +6040,7 @@ Informacje Ogólne apps/client/src/app/pages/faq/faq-page.component.ts - 37 + 38 @@ -6443,7 +6048,7 @@ Rozwiązanie w Chmurze apps/client/src/app/pages/faq/faq-page.component.ts - 42 + 43 apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts @@ -6455,7 +6060,7 @@ Własny Hosting apps/client/src/app/pages/faq/faq-page.component.ts - 48 + 49 apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts @@ -6465,9 +6070,10 @@ self-hosting self-hosting + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 51 @@ -6487,7 +6093,7 @@ Ups! Wygląda na to, że wykonujesz zbyt wiele zapytań. Proszę, zwolnij trochę. apps/client/src/app/core/http-response.interceptor.ts - 103 + 104 @@ -6551,7 +6157,7 @@ To działanie jest niedozwolone. apps/client/src/app/core/http-response.interceptor.ts - 64 + 65 @@ -6719,7 +6325,7 @@ Alternatywa apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 81 + 82 @@ -6727,7 +6333,7 @@ Aplikacja apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 83 @@ -6735,7 +6341,7 @@ Budżetowanie apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 84 @@ -6743,7 +6349,7 @@ Społeczność apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 85 @@ -6751,7 +6357,7 @@ Biuro Rodzinne apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 86 @@ -6759,7 +6365,7 @@ Inwestor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 89 @@ -6767,7 +6373,7 @@ Otwarty Kod Źródłowy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 90 @@ -6775,7 +6381,7 @@ Finanse Osobiste apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 91 + 92 @@ -6783,7 +6389,7 @@ Prywatność apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 93 @@ -6791,7 +6397,7 @@ Oprogramowanie apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 95 @@ -6799,7 +6405,7 @@ Narzędzie apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 96 @@ -6807,7 +6413,7 @@ Doświadczenie Użytkownika apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 97 @@ -6815,7 +6421,7 @@ Majątek apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 98 @@ -6823,7 +6429,7 @@ Zarządzanie Majątkiem apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 99 @@ -7323,7 +6929,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 32 + 34 @@ -7335,7 +6941,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 22 + 24 @@ -7343,12 +6949,8 @@ poradniki snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 23 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 28 + libs/common/src/lib/paths.ts + 42 @@ -7356,13 +6958,9 @@ slowniczek snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts + libs/common/src/lib/paths.ts 41 - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 21 - Threshold range @@ -7417,7 +7015,7 @@ Czy na pewno chcesz usunąć klucz API?? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 103 + 102 @@ -7449,7 +7047,7 @@ Nie udało się wygenerować klucza API apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 127 + 128 @@ -7457,7 +7055,7 @@ Ustaw ten klucz API w samodzielnie hostowanym środowisku: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 142 + 143 @@ -7465,7 +7063,7 @@ Klucz API dostawcy danych Premium Ghostfolio apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 145 + 146 @@ -7473,7 +7071,7 @@ Czy na pewno chcesz wygenerować nowy klucz API? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 150 + 151 @@ -7569,7 +7167,7 @@ Link został skopiowany do schowka apps/client/src/app/components/access-table/access-table.component.ts - 65 + 66 @@ -7821,20 +7419,8 @@ warunki-świadczenia-usług snake-case - apps/client/src/app/app.component.ts - 80 - - - apps/client/src/app/core/paths.ts - 11 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 34 + libs/common/src/lib/paths.ts + 52 @@ -7842,7 +7428,7 @@ Warunki świadczenia usług apps/client/src/app/pages/about/about-page.component.ts - 71 + 72 apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts @@ -7970,11 +7556,11 @@ Watchlist apps/client/src/app/pages/home/home-page-routing.module.ts - 44 + 40 apps/client/src/app/pages/home/home-page.component.ts - 53 + 54 @@ -8009,6 +7595,24 @@ 41 + + changelog + changelog + snake-case + + libs/common/src/lib/paths.ts + 38 + + + + oss-friends + oss-friends + snake-case + + libs/common/src/lib/paths.ts + 46 + + diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf index d99926cc0..57304a273 100644 --- a/apps/client/src/locales/messages.pt.xlf +++ b/apps/client/src/locales/messages.pt.xlf @@ -70,7 +70,7 @@ Pretende realmente revogar este acesso concedido? apps/client/src/app/components/access-table/access-table.component.ts - 79 + 80 @@ -982,11 +982,11 @@ apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts - 46 + 47 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 94 @@ -1194,7 +1194,7 @@ apps/client/src/app/components/header/header.component.ts - 231 + 232 @@ -1202,7 +1202,7 @@ Oops! Token de Segurança Incorreto. apps/client/src/app/components/header/header.component.ts - 246 + 247 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -1734,7 +1734,7 @@ Esta funcionalidade está atualmente indisponível. apps/client/src/app/core/http-response.interceptor.ts - 54 + 55 @@ -1742,11 +1742,11 @@ Por favor tente novamente mais tarde. apps/client/src/app/core/http-response.interceptor.ts - 56 + 57 apps/client/src/app/core/http-response.interceptor.ts - 85 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1758,7 +1758,7 @@ Oops! Ocorreu um erro. apps/client/src/app/core/http-response.interceptor.ts - 83 + 84 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1770,11 +1770,11 @@ OK apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 140 + 141 apps/client/src/app/core/http-response.interceptor.ts - 86 + 87 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1790,7 +1790,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 45 + 46 apps/client/src/app/pages/about/overview/about-overview-page-routing.module.ts @@ -1826,7 +1826,7 @@ Política de Privacidade apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -1850,7 +1850,7 @@ O meu Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 33 + 34 @@ -1866,7 +1866,7 @@ Por favor, insira o seu código de cupão: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 201 + 202 @@ -1874,7 +1874,7 @@ Não foi possível resgatar o código de cupão apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 165 + 166 @@ -1882,7 +1882,7 @@ Código de cupão foi resgatado apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 178 + 179 @@ -1890,7 +1890,7 @@ Atualizar apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 179 + 180 @@ -1982,11 +1982,11 @@ Utilizadores apps/client/src/app/pages/admin/admin-page-routing.module.ts - 40 + 41 apps/client/src/app/pages/admin/admin-page.component.ts - 48 + 49 @@ -2150,7 +2150,7 @@ Controlo Administrativo apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 @@ -2270,7 +2270,7 @@ FAQ apps/client/src/app/pages/faq/faq-page-routing.module.ts - 34 + 35 apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts @@ -2290,23 +2290,23 @@ Visão geral apps/client/src/app/pages/admin/admin-page.component.ts - 28 + 29 apps/client/src/app/pages/home/home-page.component.ts - 38 + 39 apps/client/src/app/pages/resources/resources-page.component.ts - 17 + 19 apps/client/src/app/pages/zen/zen-page-routing.module.ts - 19 + 20 apps/client/src/app/pages/zen/zen-page.component.ts - 35 + 36 @@ -2314,11 +2314,11 @@ Mercados apps/client/src/app/pages/home/home-page-routing.module.ts - 39 + 35 apps/client/src/app/pages/home/home-page.component.ts - 58 + 59 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -2330,7 +2330,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 27 + 29 @@ -2342,7 +2342,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 40 + 41 @@ -2478,7 +2478,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 45 + 46 @@ -2610,7 +2610,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 35 + 36 @@ -2690,19 +2690,15 @@ Posições apps/client/src/app/pages/home/home-page-routing.module.ts - 24 - - - apps/client/src/app/pages/home/home-page-routing.module.ts - 29 + 25 apps/client/src/app/pages/home/home-page.component.ts - 43 + 44 apps/client/src/app/pages/zen/zen-page.component.ts - 40 + 41 @@ -2834,7 +2830,7 @@ Recursos apps/client/src/app/pages/resources/resources-page-routing.module.ts - 50 + 51 @@ -3282,11 +3278,11 @@ Dados de Mercado apps/client/src/app/pages/admin/admin-page-routing.module.ts - 30 + 31 apps/client/src/app/pages/admin/admin-page.component.ts - 38 + 39 @@ -3294,11 +3290,11 @@ Sumário apps/client/src/app/pages/home/home-page-routing.module.ts - 34 + 30 apps/client/src/app/pages/home/home-page.component.ts - 48 + 49 @@ -3994,19 +3990,19 @@ Definições apps/client/src/app/pages/admin/admin-page-routing.module.ts - 35 + 36 apps/client/src/app/pages/admin/admin-page.component.ts - 33 + 34 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 18 + 19 apps/client/src/app/pages/user-account/user-account-page.component.ts - 36 + 37 @@ -4174,7 +4170,7 @@ Registo de alterações apps/client/src/app/pages/about/about-page.component.ts - 50 + 51 apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts @@ -4186,7 +4182,7 @@ Licença apps/client/src/app/pages/about/about-page.component.ts - 55 + 56 apps/client/src/app/pages/about/license/license-page-routing.module.ts @@ -4326,7 +4322,7 @@ Ferramentas de finanças pessoais apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 14 + 15 @@ -5154,580 +5150,189 @@ perguntas-mais-frequentes snake-case - apps/client/src/app/app.component.ts - 82 + libs/common/src/lib/paths.ts + 39 + + + features + funcionalidades + snake-case - apps/client/src/app/core/paths.ts - 3 + libs/common/src/lib/paths.ts + 40 + + + about + sobre + snake-case - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 20 + libs/common/src/lib/paths.ts + 37 + + + privacy-policy + politica-de-privacidade + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 38 + libs/common/src/lib/paths.ts + 48 + + + license + licenca + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts + libs/common/src/lib/paths.ts 43 + + + markets + mercados + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 44 + + + pricing + precos + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 15 + libs/common/src/lib/paths.ts + 47 - - features - funcionalidades + + register + registo snake-case - apps/client/src/app/app.component.ts - 83 + libs/common/src/lib/paths.ts + 49 + + + resources + recursos + snake-case - apps/client/src/app/components/header/header.component.ts - 83 + libs/common/src/lib/paths.ts + 50 + + + This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. + This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. - apps/client/src/app/components/header/header.component.ts - 88 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 8 + + + Explore the links below to compare a variety of personal finance tools with Ghostfolio. + Explore os links abaixo para comparar uma variedade de ferramentas de finanças pessoais com o Ghostfolio. - apps/client/src/app/core/paths.ts - 4 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 16 + + + Open Source Alternative to + Alternativa de software livre ao - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 21 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html + 42 + + + Open Source Alternative to + Alternativa de software livre ao - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 14 + apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts + 28 + + + The Open Source Alternative to + A alternativa de software livre ao - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 8 + + + Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. + Você está procurando uma alternativa de código aberto para ? Ghostfolio é uma poderosa ferramenta de gestão de portfólio que oferece aos investidores uma plataforma abrangente para monitorar, analisar e otimizar seus investimentos. Seja você um investidor experiente ou iniciante, o Ghostfolio oferece uma interface de usuário intuitiva e um ampla gama de funcionalidades para ajudá-lo a tomar decisões informadas e assumir o controle do seu futuro financeiro. - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 18 + + + Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. + Ghostfolio é um software de código aberto (OSS), que oferece uma alternativa econômica para tornando-o particularmente adequado para indivíduos com orçamento apertado, como aqueles buscando Independência Financeira, Aposentadoria Antecipada (FIRE). Ao aproveitar os esforços coletivos de uma comunidade de desenvolvedores e entusiastas de finanças pessoais, o Ghostfolio aprimora continuamente seus recursos, segurança e experiência do usuário. - apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts - 12 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 32 + + + Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. + Vamos nos aprofundar nos detalhes do Ghostfolio vs tabela de comparação abaixo para obter uma compreensão completa de como o Ghostfolio se posiciona em relação a . Exploraremos vários aspectos, como recursos, privacidade de dados, preços e muito mais, permitindo que você faça uma escolha bem informada para suas necessidades pessoais. - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 17 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 43 + + + open-source-alternative-to + alternativa-de-software-livre-ao + snake-case - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 14 + libs/common/src/lib/paths.ts + 45 + + + Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. + Observe que as informações fornecidas no Ghostfolio vs. A tabela de comparação é baseada em nossa pesquisa e análise independentes. Este site não é afiliado a ou qualquer outro produto mencionado na comparação. À medida que o cenário das ferramentas de finanças pessoais evolui, é essencial verificar quaisquer detalhes ou alterações específicas diretamente na página do produto correspondente. Os dados precisam de uma atualização? Ajude-nos a manter dados precisos sobre GitHub. - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 13 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 311 + + + Ready to take your investments to the next level? + Pronto para levar o seu investimentos para o próximo nível? - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 14 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 324 + + + Get Started + Começar - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 18 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.html + 333 + + + Switzerland + Suíça - apps/client/src/app/pages/pricing/pricing-page.component.ts - 43 + apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts + 59 - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 23 - - - - about - sobre - snake-case - - apps/client/src/app/app.component.ts - 65 - - - apps/client/src/app/app.component.ts - 67 - - - apps/client/src/app/app.component.ts - 71 - - - apps/client/src/app/app.component.ts - 75 - - - apps/client/src/app/app.component.ts - 79 - - - apps/client/src/app/components/header/header.component.ts - 82 - - - apps/client/src/app/components/header/header.component.ts - 87 - - - apps/client/src/app/core/paths.ts - 2 - - - apps/client/src/app/pages/about/about-page.component.ts - 46 - - - apps/client/src/app/pages/about/about-page.component.ts - 51 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/about/about-page.component.ts - 84 - - - apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts - 12 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 27 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 33 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 19 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 22 - - - - privacy-policy - politica-de-privacidade - snake-case - - apps/client/src/app/app.component.ts - 76 - - - apps/client/src/app/core/paths.ts - 8 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - - license - licenca - snake-case - - apps/client/src/app/app.component.ts - 72 - - - apps/client/src/app/core/paths.ts - 5 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - - markets - mercados - snake-case - - apps/client/src/app/app.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 89 - - - apps/client/src/app/core/paths.ts - 6 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 18 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 18 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 32 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 35 - - - - pricing - precos - snake-case - - apps/client/src/app/app.component.ts - 85 - - - apps/client/src/app/components/admin-settings/admin-settings.component.ts - 80 - - - apps/client/src/app/components/header/header.component.ts - 85 - - - apps/client/src/app/components/header/header.component.ts - 90 - - - apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts - 29 - - - apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 39 - - - apps/client/src/app/core/http-response.interceptor.ts - 77 - - - apps/client/src/app/core/paths.ts - 7 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 15 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 17 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 17 - - - apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts - 14 - - - libs/ui/src/lib/membership-card/membership-card.component.ts - 30 - - - libs/ui/src/lib/premium-indicator/premium-indicator.component.ts - 21 - - - - register - registo - snake-case - - apps/client/src/app/app.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 91 - - - apps/client/src/app/core/auth.guard.ts - 55 - - - apps/client/src/app/core/paths.ts - 9 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 19 - - - apps/client/src/app/pages/features/features-page.component.ts - 28 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 28 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 44 - - - - resources - recursos - snake-case - - apps/client/src/app/app.component.ts - 87 - - - apps/client/src/app/components/header/header.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 92 - - - apps/client/src/app/core/paths.ts - 10 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/features/features-page.component.ts - 29 - - - apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts - 17 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 22 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 31 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 40 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 15 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 25 - - - - This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. - This overview page features a curated collection of personal finance tools compared to the open source alternative Ghostfolio. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 8 - - - - Explore the links below to compare a variety of personal finance tools with Ghostfolio. - Explore os links abaixo para comparar uma variedade de ferramentas de finanças pessoais com o Ghostfolio. - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 16 - - - - Open Source Alternative to - Alternativa de software livre ao - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html - 42 - - - - Open Source Alternative to - Alternativa de software livre ao - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 27 - - - - The Open Source Alternative to - A alternativa de software livre ao - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 8 - - - - Are you looking for an open source alternative to ? Ghostfolio is a powerful portfolio management tool that provides individuals with a comprehensive platform to track, analyze, and optimize their investments. Whether you are an experienced investor or just starting out, Ghostfolio offers an intuitive user interface and a wide range of functionalities to help you make informed decisions and take control of your financial future. - Você está procurando uma alternativa de código aberto para ? Ghostfolio é uma poderosa ferramenta de gestão de portfólio que oferece aos investidores uma plataforma abrangente para monitorar, analisar e otimizar seus investimentos. Seja você um investidor experiente ou iniciante, o Ghostfolio oferece uma interface de usuário intuitiva e um ampla gama de funcionalidades para ajudá-lo a tomar decisões informadas e assumir o controle do seu futuro financeiro. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 18 - - - - Ghostfolio is an open source software (OSS), providing a cost-effective alternative to making it particularly suitable for individuals on a tight budget, such as those pursuing Financial Independence, Retire Early (FIRE). By leveraging the collective efforts of a community of developers and personal finance enthusiasts, Ghostfolio continuously enhances its capabilities, security, and user experience. - Ghostfolio é um software de código aberto (OSS), que oferece uma alternativa econômica para tornando-o particularmente adequado para indivíduos com orçamento apertado, como aqueles buscando Independência Financeira, Aposentadoria Antecipada (FIRE). Ao aproveitar os esforços coletivos de uma comunidade de desenvolvedores e entusiastas de finanças pessoais, o Ghostfolio aprimora continuamente seus recursos, segurança e experiência do usuário. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 32 - - - - Let’s dive deeper into the detailed Ghostfolio vs comparison table below to gain a thorough understanding of how Ghostfolio positions itself relative to . We will explore various aspects such as features, data privacy, pricing, and more, allowing you to make a well-informed choice for your personal requirements. - Vamos nos aprofundar nos detalhes do Ghostfolio vs tabela de comparação abaixo para obter uma compreensão completa de como o Ghostfolio se posiciona em relação a . Exploraremos vários aspectos, como recursos, privacidade de dados, preços e muito mais, permitindo que você faça uma escolha bem informada para suas necessidades pessoais. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 43 - - - - open-source-alternative-to - alternativa-de-software-livre-ao - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 26 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 14 - - - - Please note that the information provided in the Ghostfolio vs comparison table is based on our independent research and analysis. This website is not affiliated with or any other product mentioned in the comparison. As the landscape of personal finance tools evolves, it is essential to verify any specific details or changes directly from the respective product page. Data needs a refresh? Help us maintain accurate data on GitHub. - Observe que as informações fornecidas no Ghostfolio vs. A tabela de comparação é baseada em nossa pesquisa e análise independentes. Este site não é afiliado a ou qualquer outro produto mencionado na comparação. À medida que o cenário das ferramentas de finanças pessoais evolui, é essencial verificar quaisquer detalhes ou alterações específicas diretamente na página do produto correspondente. Os dados precisam de uma atualização? Ajude-nos a manter dados precisos sobre GitHub. - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 311 - - - - Ready to take your investments to the next level? - Pronto para levar o seu investimentos para o próximo nível? - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 324 - - - - Get Started - Começar - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.html - 333 - - - - Switzerland - Suíça - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 58 - - - libs/ui/src/lib/i18n.ts - 93 + libs/ui/src/lib/i18n.ts + 93 @@ -5735,7 +5340,7 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 60 libs/ui/src/lib/i18n.ts @@ -5939,11 +5544,11 @@ Associação apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 23 + 24 apps/client/src/app/pages/user-account/user-account-page.component.ts - 41 + 42 @@ -5951,11 +5556,11 @@ Acesso apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 28 + 29 apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + 48 @@ -6239,11 +5844,11 @@ Job Queue apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 apps/client/src/app/pages/admin/admin-page.component.ts - 43 + 44 @@ -6267,7 +5872,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 87 + 88 @@ -6435,7 +6040,7 @@ General apps/client/src/app/pages/faq/faq-page.component.ts - 37 + 38 @@ -6443,7 +6048,7 @@ Cloud apps/client/src/app/pages/faq/faq-page.component.ts - 42 + 43 apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts @@ -6455,7 +6060,7 @@ Self-Hosting apps/client/src/app/pages/faq/faq-page.component.ts - 48 + 49 apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts @@ -6465,9 +6070,10 @@ self-hosting self-hosting + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 51 @@ -6487,7 +6093,7 @@ Oops! It looks like you’re making too many requests. Please slow down a bit. apps/client/src/app/core/http-response.interceptor.ts - 103 + 104 @@ -6551,7 +6157,7 @@ This action is not allowed. apps/client/src/app/core/http-response.interceptor.ts - 64 + 65 @@ -6719,7 +6325,7 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 81 + 82 @@ -6727,7 +6333,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 83 @@ -6735,7 +6341,7 @@ Budgeting apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 84 @@ -6743,7 +6349,7 @@ Community apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 85 @@ -6751,7 +6357,7 @@ Family Office apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 86 @@ -6759,7 +6365,7 @@ Investor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 89 @@ -6767,7 +6373,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 90 @@ -6775,7 +6381,7 @@ Personal Finance apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 91 + 92 @@ -6783,7 +6389,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 93 @@ -6791,7 +6397,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 95 @@ -6799,7 +6405,7 @@ Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 96 @@ -6807,7 +6413,7 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 97 @@ -6815,7 +6421,7 @@ Wealth apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 98 @@ -6823,7 +6429,7 @@ Wealth Management apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 99 @@ -7323,7 +6929,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 32 + 34 @@ -7335,7 +6941,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 22 + 24 @@ -7343,12 +6949,8 @@ guides snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 23 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 28 + libs/common/src/lib/paths.ts + 42 @@ -7356,13 +6958,9 @@ glossary snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts + libs/common/src/lib/paths.ts 41 - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 21 - Threshold range @@ -7417,7 +7015,7 @@ Do you really want to delete the API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 103 + 102 @@ -7449,7 +7047,7 @@ Could not generate an API key apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 127 + 128 @@ -7457,7 +7055,7 @@ Set this API key in your self-hosted environment: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 142 + 143 @@ -7465,7 +7063,7 @@ Ghostfolio Premium Data Provider API Key apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 145 + 146 @@ -7473,7 +7071,7 @@ Do you really want to generate a new API key? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 150 + 151 @@ -7569,7 +7167,7 @@ Link has been copied to the clipboard apps/client/src/app/components/access-table/access-table.component.ts - 65 + 66 @@ -7821,20 +7419,8 @@ terms-of-service snake-case - apps/client/src/app/app.component.ts - 80 - - - apps/client/src/app/core/paths.ts - 11 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 34 + libs/common/src/lib/paths.ts + 52 @@ -7842,7 +7428,7 @@ Terms of Service apps/client/src/app/pages/about/about-page.component.ts - 71 + 72 apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts @@ -7970,11 +7556,11 @@ Watchlist apps/client/src/app/pages/home/home-page-routing.module.ts - 44 + 40 apps/client/src/app/pages/home/home-page.component.ts - 53 + 54 @@ -8009,6 +7595,24 @@ 41 + + changelog + changelog + snake-case + + libs/common/src/lib/paths.ts + 38 + + + + oss-friends + oss-friends + snake-case + + libs/common/src/lib/paths.ts + 46 + + diff --git a/apps/client/src/locales/messages.tr.xlf b/apps/client/src/locales/messages.tr.xlf index 7ad178a25..a74e6cdb5 100644 --- a/apps/client/src/locales/messages.tr.xlf +++ b/apps/client/src/locales/messages.tr.xlf @@ -6,100 +6,8 @@ hakkinda snake-case - apps/client/src/app/app.component.ts - 65 - - - apps/client/src/app/app.component.ts - 67 - - - apps/client/src/app/app.component.ts - 71 - - - apps/client/src/app/app.component.ts - 75 - - - apps/client/src/app/app.component.ts - 79 - - - apps/client/src/app/components/header/header.component.ts - 82 - - - apps/client/src/app/components/header/header.component.ts - 87 - - - apps/client/src/app/core/paths.ts - 2 - - - apps/client/src/app/pages/about/about-page.component.ts - 46 - - - apps/client/src/app/pages/about/about-page.component.ts - 51 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/about/about-page.component.ts - 84 - - - apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts - 12 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 27 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 33 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 19 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 22 + libs/common/src/lib/paths.ts + 37 @@ -107,32 +15,8 @@ sss snake-case - apps/client/src/app/app.component.ts - 82 - - - apps/client/src/app/core/paths.ts - 3 - - - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 20 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 38 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 43 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 49 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 15 + libs/common/src/lib/paths.ts + 39 @@ -140,68 +24,8 @@ oezellikler snake-case - apps/client/src/app/app.component.ts - 83 - - - apps/client/src/app/components/header/header.component.ts - 83 - - - apps/client/src/app/components/header/header.component.ts - 88 - - - apps/client/src/app/core/paths.ts - 4 - - - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 21 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 17 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 14 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 18 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 43 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 23 + libs/common/src/lib/paths.ts + 40 @@ -209,265 +33,53 @@ lisans snake-case - apps/client/src/app/app.component.ts - 72 - - - apps/client/src/app/core/paths.ts - 5 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 + libs/common/src/lib/paths.ts + 43 - markets - piyasalar - snake-case - - apps/client/src/app/app.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 89 - - - apps/client/src/app/core/paths.ts - 6 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 18 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 18 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 32 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 35 - - - - pricing - fiyatlandirma - snake-case - - apps/client/src/app/app.component.ts - 85 - - - apps/client/src/app/components/admin-settings/admin-settings.component.ts - 80 - - - apps/client/src/app/components/header/header.component.ts - 85 - - - apps/client/src/app/components/header/header.component.ts - 90 - - - apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts - 29 - - - apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 39 - - - apps/client/src/app/core/http-response.interceptor.ts - 77 - - - apps/client/src/app/core/paths.ts - 7 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 15 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 17 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 17 - - - apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts - 14 - - - libs/ui/src/lib/membership-card/membership-card.component.ts - 30 - - - libs/ui/src/lib/premium-indicator/premium-indicator.component.ts - 21 - - - - privacy-policy - gizlilik-politikasi - snake-case - - apps/client/src/app/app.component.ts - 76 - - - apps/client/src/app/core/paths.ts - 8 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - - register - kayit-ol - snake-case - - apps/client/src/app/app.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 91 - - - apps/client/src/app/core/auth.guard.ts - 55 - - - apps/client/src/app/core/paths.ts - 9 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 19 - - - apps/client/src/app/pages/features/features-page.component.ts - 28 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 28 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 44 - - - - resources - kaynaklar - snake-case - - apps/client/src/app/app.component.ts - 87 - - - apps/client/src/app/components/header/header.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 92 - - - apps/client/src/app/core/paths.ts - 10 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/features/features-page.component.ts - 29 - - - apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts - 17 - + markets + piyasalar + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 22 + libs/common/src/lib/paths.ts + 44 + + + pricing + fiyatlandirma + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 31 + libs/common/src/lib/paths.ts + 47 + + + privacy-policy + gizlilik-politikasi + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 40 + libs/common/src/lib/paths.ts + 48 + + + register + kayit-ol + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 15 + libs/common/src/lib/paths.ts + 49 + + + resources + kaynaklar + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 25 + libs/common/src/lib/paths.ts + 50 @@ -839,7 +451,7 @@ Bu erişim iznini geri almayı gerçekten istiyor musunuz? apps/client/src/app/components/access-table/access-table.component.ts - 79 + 80 @@ -2031,11 +1643,11 @@ apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts - 46 + 47 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 94 @@ -2147,7 +1759,7 @@ apps/client/src/app/components/header/header.component.ts - 231 + 232 @@ -2155,7 +1767,7 @@ Hay Allah! Güvenlik anahtarı yanlış. apps/client/src/app/components/header/header.component.ts - 246 + 247 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -2855,7 +2467,7 @@ Bu özellik şu an için mevcut değil. apps/client/src/app/core/http-response.interceptor.ts - 54 + 55 @@ -2863,11 +2475,11 @@ Daha sonra tekrar deneyiniz. apps/client/src/app/core/http-response.interceptor.ts - 56 + 57 apps/client/src/app/core/http-response.interceptor.ts - 85 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2879,7 +2491,7 @@ Hay Allah! Bir şeyler yanlış gitti. apps/client/src/app/core/http-response.interceptor.ts - 83 + 84 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2891,11 +2503,11 @@ Tamam apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 140 + 141 apps/client/src/app/core/http-response.interceptor.ts - 86 + 87 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2911,7 +2523,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 45 + 46 apps/client/src/app/pages/about/overview/about-overview-page-routing.module.ts @@ -2923,7 +2535,7 @@ Değişiklik Günlüğü apps/client/src/app/pages/about/about-page.component.ts - 50 + 51 apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts @@ -2935,7 +2547,7 @@ Lisans apps/client/src/app/pages/about/about-page.component.ts - 55 + 56 apps/client/src/app/pages/about/license/license-page-routing.module.ts @@ -2947,7 +2559,7 @@ Gizlilik Politikası apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -3015,7 +2627,7 @@ Yönetici Denetimleri apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 @@ -3023,11 +2635,11 @@ Piyasa Verileri apps/client/src/app/pages/admin/admin-page-routing.module.ts - 30 + 31 apps/client/src/app/pages/admin/admin-page.component.ts - 38 + 39 @@ -3035,19 +2647,19 @@ Ayarlar apps/client/src/app/pages/admin/admin-page-routing.module.ts - 35 + 36 apps/client/src/app/pages/admin/admin-page.component.ts - 33 + 34 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 18 + 19 apps/client/src/app/pages/user-account/user-account-page.component.ts - 36 + 37 @@ -3055,11 +2667,11 @@ Kullanıcılar apps/client/src/app/pages/admin/admin-page-routing.module.ts - 40 + 41 apps/client/src/app/pages/admin/admin-page.component.ts - 48 + 49 @@ -3067,23 +2679,23 @@ Özet apps/client/src/app/pages/admin/admin-page.component.ts - 28 + 29 apps/client/src/app/pages/home/home-page.component.ts - 38 + 39 apps/client/src/app/pages/resources/resources-page.component.ts - 17 + 19 apps/client/src/app/pages/zen/zen-page-routing.module.ts - 19 + 20 apps/client/src/app/pages/zen/zen-page.component.ts - 35 + 36 @@ -3115,7 +2727,7 @@ Sıkça Sorulan Sorular (SSS) apps/client/src/app/pages/faq/faq-page-routing.module.ts - 34 + 35 apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts @@ -3287,19 +2899,15 @@ Varlıklar apps/client/src/app/pages/home/home-page-routing.module.ts - 24 - - - apps/client/src/app/pages/home/home-page-routing.module.ts - 29 + 25 apps/client/src/app/pages/home/home-page.component.ts - 43 + 44 apps/client/src/app/pages/zen/zen-page.component.ts - 40 + 41 @@ -3307,11 +2915,11 @@ Özet apps/client/src/app/pages/home/home-page-routing.module.ts - 34 + 30 apps/client/src/app/pages/home/home-page.component.ts - 48 + 49 @@ -3319,11 +2927,11 @@ Piyasalar apps/client/src/app/pages/home/home-page-routing.module.ts - 39 + 35 apps/client/src/app/pages/home/home-page.component.ts - 58 + 59 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -3335,7 +2943,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 27 + 29 @@ -3711,7 +3319,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 40 + 41 @@ -3943,7 +3551,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 45 + 46 @@ -4119,7 +3727,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 35 + 36 @@ -4563,19 +4171,16 @@ Kişisel Finans Araçları apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 14 + 15 open-source-alternative-to Açık kaynak alternatif + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 26 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 14 + libs/common/src/lib/paths.ts + 45 @@ -4583,7 +4188,7 @@ için Açık Kaynak Alternatif apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 27 + 28 @@ -4831,7 +4436,7 @@ İsviçre apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 58 + 59 libs/ui/src/lib/i18n.ts @@ -4843,7 +4448,7 @@ Küresel apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 60 libs/ui/src/lib/i18n.ts @@ -4855,7 +4460,7 @@ Kaynaklar apps/client/src/app/pages/resources/resources-page-routing.module.ts - 50 + 51 @@ -4895,7 +4500,7 @@ Benim Ghostfolio’m apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 33 + 34 @@ -4911,7 +4516,7 @@ Lütfen kupon kodunuzu girin: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 201 + 202 @@ -4919,7 +4524,7 @@ Kupon kodu kullanılamadı apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 165 + 166 @@ -4927,7 +4532,7 @@ Kupon kodu kullanıldı apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 178 + 179 @@ -4935,7 +4540,7 @@ Yeniden Yükle apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 179 + 180 @@ -5939,11 +5544,11 @@ Üyelik apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 23 + 24 apps/client/src/app/pages/user-account/user-account-page.component.ts - 41 + 42 @@ -5951,11 +5556,11 @@ Erişim apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 28 + 29 apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + 48 @@ -6239,11 +5844,11 @@ İş Kuyruğu apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 apps/client/src/app/pages/admin/admin-page.component.ts - 43 + 44 @@ -6267,7 +5872,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 87 + 88 @@ -6435,7 +6040,7 @@ Genel apps/client/src/app/pages/faq/faq-page.component.ts - 37 + 38 @@ -6443,7 +6048,7 @@ Bulut apps/client/src/app/pages/faq/faq-page.component.ts - 42 + 43 apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts @@ -6455,7 +6060,7 @@ Kendini Barındırma apps/client/src/app/pages/faq/faq-page.component.ts - 48 + 49 apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts @@ -6465,9 +6070,10 @@ self-hosting Kendini-Barındırma + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 51 @@ -6487,7 +6093,7 @@ Oops! Görünüşe göre çok fazla istekte bulunuyorsunuz. Lütfen biraz yavaşlayın. apps/client/src/app/core/http-response.interceptor.ts - 103 + 104 @@ -6551,7 +6157,7 @@ Bu işlem izin verilmiyor. apps/client/src/app/core/http-response.interceptor.ts - 64 + 65 @@ -6719,7 +6325,7 @@ Alternatif apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 81 + 82 @@ -6727,7 +6333,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 83 @@ -6735,7 +6341,7 @@ Bütçeleme apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 84 @@ -6743,7 +6349,7 @@ Topluluk apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 85 @@ -6751,7 +6357,7 @@ Aile Ofisi apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 86 @@ -6759,7 +6365,7 @@ Yatırımcı apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 89 @@ -6767,7 +6373,7 @@ Açık Kaynak apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 90 @@ -6775,7 +6381,7 @@ Kişisel Finans apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 91 + 92 @@ -6783,7 +6389,7 @@ Gizlilik apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 93 @@ -6791,7 +6397,7 @@ Yazılım apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 95 @@ -6799,7 +6405,7 @@ Araç apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 96 @@ -6807,7 +6413,7 @@ Kullanıcı Deneyimi apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 97 @@ -6815,7 +6421,7 @@ Zenginlik apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 98 @@ -6823,7 +6429,7 @@ Zenginlik Yönetimi apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 99 @@ -7323,7 +6929,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 32 + 34 @@ -7335,7 +6941,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 22 + 24 @@ -7343,12 +6949,8 @@ kılavuzlar snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 23 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 28 + libs/common/src/lib/paths.ts + 42 @@ -7356,13 +6958,9 @@ sözlük snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts + libs/common/src/lib/paths.ts 41 - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 21 - Threshold range @@ -7417,7 +7015,7 @@ API anahtarını silmek istediğinize emin misiniz? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 103 + 102 @@ -7449,7 +7047,7 @@ API anahtarı oluşturulamadı apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 127 + 128 @@ -7457,7 +7055,7 @@ Bu API anahtarını kendi barındırılan ortamınıza ayarlayın: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 142 + 143 @@ -7465,7 +7063,7 @@ Ghostfolio Premium Veri Sağlayıcı API Anahtarı apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 145 + 146 @@ -7473,7 +7071,7 @@ Yeni bir API anahtarı oluşturmak istediğinize emin misiniz? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 150 + 151 @@ -7569,7 +7167,7 @@ Bağlantı panoya kopyalandı apps/client/src/app/components/access-table/access-table.component.ts - 65 + 66 @@ -7821,20 +7419,8 @@ Hizmet Koşulları snake-case - apps/client/src/app/app.component.ts - 80 - - - apps/client/src/app/core/paths.ts - 11 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 34 + libs/common/src/lib/paths.ts + 52 @@ -7842,7 +7428,7 @@ Hizmet Koşulları apps/client/src/app/pages/about/about-page.component.ts - 71 + 72 apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts @@ -7970,11 +7556,11 @@ İzleme Listesi apps/client/src/app/pages/home/home-page-routing.module.ts - 44 + 40 apps/client/src/app/pages/home/home-page.component.ts - 53 + 54 @@ -8009,6 +7595,24 @@ 41 + + changelog + changelog + snake-case + + libs/common/src/lib/paths.ts + 38 + + + + oss-friends + oss-friends + snake-case + + libs/common/src/lib/paths.ts + 46 + + diff --git a/apps/client/src/locales/messages.uk.xlf b/apps/client/src/locales/messages.uk.xlf index 8bb56f080..9fc5d32fc 100644 --- a/apps/client/src/locales/messages.uk.xlf +++ b/apps/client/src/locales/messages.uk.xlf @@ -26,7 +26,7 @@ apps/client/src/app/components/header/header.component.ts - 231 + 232 @@ -370,100 +370,8 @@ about snake-case - apps/client/src/app/app.component.ts - 65 - - - apps/client/src/app/app.component.ts - 67 - - - apps/client/src/app/app.component.ts - 71 - - - apps/client/src/app/app.component.ts - 75 - - - apps/client/src/app/app.component.ts - 79 - - - apps/client/src/app/components/header/header.component.ts - 82 - - - apps/client/src/app/components/header/header.component.ts - 87 - - - apps/client/src/app/core/paths.ts - 2 - - - apps/client/src/app/pages/about/about-page.component.ts - 46 - - - apps/client/src/app/pages/about/about-page.component.ts - 51 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/about/about-page.component.ts - 84 - - - apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts - 12 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 27 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 33 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 19 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 22 + libs/common/src/lib/paths.ts + 37 @@ -471,16 +379,8 @@ license snake-case - apps/client/src/app/app.component.ts - 72 - - - apps/client/src/app/core/paths.ts - 5 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 + libs/common/src/lib/paths.ts + 43 @@ -488,16 +388,8 @@ privacy-policy snake-case - apps/client/src/app/app.component.ts - 76 - - - apps/client/src/app/core/paths.ts - 8 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 + libs/common/src/lib/paths.ts + 48 @@ -505,333 +397,53 @@ faq snake-case - apps/client/src/app/app.component.ts - 82 - - - apps/client/src/app/core/paths.ts - 3 - - - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 20 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 38 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 43 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 49 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 15 - - - - features - features - snake-case - - apps/client/src/app/app.component.ts - 83 - - - apps/client/src/app/components/header/header.component.ts - 83 - - - apps/client/src/app/components/header/header.component.ts - 88 - - - apps/client/src/app/core/paths.ts - 4 - - - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 21 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 17 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 14 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 18 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 43 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 23 - - - - markets - markets - snake-case - - apps/client/src/app/app.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 89 - - - apps/client/src/app/core/paths.ts - 6 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 18 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 18 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 32 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 35 - - - - pricing - pricing - snake-case - - apps/client/src/app/app.component.ts - 85 - - - apps/client/src/app/components/admin-settings/admin-settings.component.ts - 80 - - - apps/client/src/app/components/header/header.component.ts - 85 - - - apps/client/src/app/components/header/header.component.ts - 90 - - - apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts - 29 - - - apps/client/src/app/components/user-account-membership/user-account-membership.component.ts + libs/common/src/lib/paths.ts 39 + + + features + features + snake-case - apps/client/src/app/core/http-response.interceptor.ts - 77 - - - apps/client/src/app/core/paths.ts - 7 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 15 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 17 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 17 - - - apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts - 14 - - - libs/ui/src/lib/membership-card/membership-card.component.ts - 30 - - - libs/ui/src/lib/premium-indicator/premium-indicator.component.ts - 21 - - - - register - register - snake-case - - apps/client/src/app/app.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 91 - - - apps/client/src/app/core/auth.guard.ts - 55 - - - apps/client/src/app/core/paths.ts - 9 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 19 - - - apps/client/src/app/pages/features/features-page.component.ts - 28 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 28 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 44 - - - - resources - resources - snake-case - - apps/client/src/app/app.component.ts - 87 - - - apps/client/src/app/components/header/header.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 92 - - - apps/client/src/app/core/paths.ts - 10 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/features/features-page.component.ts - 29 - - - apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts - 17 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 22 + libs/common/src/lib/paths.ts + 40 + + + markets + markets + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 31 + libs/common/src/lib/paths.ts + 44 + + + pricing + pricing + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 40 + libs/common/src/lib/paths.ts + 47 + + + register + register + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 15 + libs/common/src/lib/paths.ts + 49 + + + resources + resources + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 25 + libs/common/src/lib/paths.ts + 50 @@ -919,7 +531,7 @@ Посилання скопійовано в буфер обміну apps/client/src/app/components/access-table/access-table.component.ts - 65 + 66 @@ -927,7 +539,7 @@ Ви дійсно хочете відкликати цей наданий доступ? apps/client/src/app/components/access-table/access-table.component.ts - 79 + 80 @@ -2255,7 +1867,7 @@ Ви дійсно хочете видалити ключ API? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 103 + 102 @@ -2451,11 +2063,11 @@ apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts - 46 + 47 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 94 @@ -2599,7 +2211,7 @@ Упс! Неправильний Секретний Токен. apps/client/src/app/components/header/header.component.ts - 246 + 247 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -3475,7 +3087,7 @@ Не вдалося згенерувати ключ API apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 127 + 128 @@ -3483,11 +3095,11 @@ ОК apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 140 + 141 apps/client/src/app/core/http-response.interceptor.ts - 86 + 87 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3499,7 +3111,7 @@ Встановіть цей ключ API у вашому self-hosted середовищі: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 142 + 143 @@ -3507,7 +3119,7 @@ Ключ API Ghostfolio Premium Data Provider apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 145 + 146 @@ -3515,7 +3127,7 @@ Ви дійсно хочете згенерувати новий ключ API? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 150 + 151 @@ -3523,7 +3135,7 @@ Не вдалося обміняти код купона apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 165 + 166 @@ -3531,7 +3143,7 @@ Код купона був обміняний apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 178 + 179 @@ -3539,7 +3151,7 @@ Перезавантажити apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 179 + 180 @@ -3547,7 +3159,7 @@ Будь ласка, введіть ваш код купона. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 201 + 202 @@ -3799,7 +3411,7 @@ Ця функція наразі недоступна. apps/client/src/app/core/http-response.interceptor.ts - 54 + 55 @@ -3807,11 +3419,11 @@ Спробуйте ще раз пізніше. apps/client/src/app/core/http-response.interceptor.ts - 56 + 57 apps/client/src/app/core/http-response.interceptor.ts - 85 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3823,7 +3435,7 @@ Ця дія заборонена. apps/client/src/app/core/http-response.interceptor.ts - 64 + 65 @@ -3831,7 +3443,7 @@ Упс! Щось пішло не так. apps/client/src/app/core/http-response.interceptor.ts - 83 + 84 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3843,7 +3455,7 @@ Упс! Здається, ви робите занадто багато запитів. Будь ласка, пригальмуй трохи. apps/client/src/app/core/http-response.interceptor.ts - 103 + 104 @@ -3855,7 +3467,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 45 + 46 apps/client/src/app/pages/about/overview/about-overview-page-routing.module.ts @@ -3867,7 +3479,7 @@ Журнал змін apps/client/src/app/pages/about/about-page.component.ts - 50 + 51 apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts @@ -3879,7 +3491,7 @@ Ліцензія apps/client/src/app/pages/about/about-page.component.ts - 55 + 56 apps/client/src/app/pages/about/license/license-page-routing.module.ts @@ -3891,7 +3503,7 @@ Політика конфіденційності apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -3991,7 +3603,7 @@ Управління адміністратором apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 @@ -3999,11 +3611,11 @@ Черга завдань apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 apps/client/src/app/pages/admin/admin-page.component.ts - 43 + 44 @@ -4011,11 +3623,11 @@ Ринкові дані apps/client/src/app/pages/admin/admin-page-routing.module.ts - 30 + 31 apps/client/src/app/pages/admin/admin-page.component.ts - 38 + 39 @@ -4023,19 +3635,19 @@ Налаштування apps/client/src/app/pages/admin/admin-page-routing.module.ts - 35 + 36 apps/client/src/app/pages/admin/admin-page.component.ts - 33 + 34 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 18 + 19 apps/client/src/app/pages/user-account/user-account-page.component.ts - 36 + 37 @@ -4043,11 +3655,11 @@ Користувачі apps/client/src/app/pages/admin/admin-page-routing.module.ts - 40 + 41 apps/client/src/app/pages/admin/admin-page.component.ts - 48 + 49 @@ -4055,23 +3667,23 @@ Огляд apps/client/src/app/pages/admin/admin-page.component.ts - 28 + 29 apps/client/src/app/pages/home/home-page.component.ts - 38 + 39 apps/client/src/app/pages/resources/resources-page.component.ts - 17 + 19 apps/client/src/app/pages/zen/zen-page-routing.module.ts - 19 + 20 apps/client/src/app/pages/zen/zen-page.component.ts - 35 + 36 @@ -4111,7 +3723,7 @@ Часто задавані питання (FAQ) apps/client/src/app/pages/faq/faq-page-routing.module.ts - 34 + 35 apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts @@ -4123,7 +3735,7 @@ Загальні apps/client/src/app/pages/faq/faq-page.component.ts - 37 + 38 @@ -4131,7 +3743,7 @@ Хмара apps/client/src/app/pages/faq/faq-page.component.ts - 42 + 43 apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts @@ -4143,7 +3755,7 @@ Самохостинг apps/client/src/app/pages/faq/faq-page.component.ts - 48 + 49 apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts @@ -4153,9 +3765,10 @@ self-hosting самохостинг + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 51 @@ -4315,19 +3928,15 @@ Активи apps/client/src/app/pages/home/home-page-routing.module.ts - 24 - - - apps/client/src/app/pages/home/home-page-routing.module.ts - 29 + 25 apps/client/src/app/pages/home/home-page.component.ts - 43 + 44 apps/client/src/app/pages/zen/zen-page.component.ts - 40 + 41 @@ -4335,11 +3944,11 @@ Зведення apps/client/src/app/pages/home/home-page-routing.module.ts - 34 + 30 apps/client/src/app/pages/home/home-page.component.ts - 48 + 49 @@ -4347,11 +3956,11 @@ Ринки apps/client/src/app/pages/home/home-page-routing.module.ts - 39 + 35 apps/client/src/app/pages/home/home-page.component.ts - 58 + 59 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -4363,7 +3972,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 27 + 29 @@ -4815,7 +4424,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 40 + 41 @@ -5091,7 +4700,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 45 + 46 @@ -5283,7 +4892,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 35 + 36 @@ -5311,7 +4920,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 87 + 88 @@ -5827,7 +5436,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 32 + 34 @@ -5847,7 +5456,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 22 + 24 @@ -5863,12 +5472,8 @@ guides snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 23 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 28 + libs/common/src/lib/paths.ts + 42 @@ -5876,32 +5481,25 @@ glossary snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts + libs/common/src/lib/paths.ts 41 - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 21 - Personal Finance Tools Інструменти особистих фінансів apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 14 + 15 open-source-alternative-to відкритий-альтернативний-для + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 26 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 14 + libs/common/src/lib/paths.ts + 45 @@ -5909,7 +5507,7 @@ Альтернатива з відкритим кодом для apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 27 + 28 @@ -5949,7 +5547,7 @@ Швейцарія apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 58 + 59 libs/ui/src/lib/i18n.ts @@ -5961,7 +5559,7 @@ Глобальний apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 60 libs/ui/src/lib/i18n.ts @@ -5973,7 +5571,7 @@ Альтернатива apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 81 + 82 @@ -5981,7 +5579,7 @@ Додаток apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 83 @@ -5989,7 +5587,7 @@ Бюджетування apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 84 @@ -5997,7 +5595,7 @@ Спільнота apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 85 @@ -6005,7 +5603,7 @@ Сімейний офіс apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 86 @@ -6013,7 +5611,7 @@ Інвестор apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 89 @@ -6021,7 +5619,7 @@ Відкритий код apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 90 @@ -6029,7 +5627,7 @@ Особисті фінанси apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 91 + 92 @@ -6037,7 +5635,7 @@ Конфіденційність apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 93 @@ -6045,7 +5643,7 @@ Програмне забезпечення apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 95 @@ -6053,7 +5651,7 @@ Інструмент apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 96 @@ -6061,7 +5659,7 @@ Користувацький досвід apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 97 @@ -6069,7 +5667,7 @@ Багатство apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 98 @@ -6077,7 +5675,7 @@ Управління багатством apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 99 @@ -6461,7 +6059,7 @@ Ресурси apps/client/src/app/pages/resources/resources-page-routing.module.ts - 50 + 51 @@ -6469,11 +6067,11 @@ Членство apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 23 + 24 apps/client/src/app/pages/user-account/user-account-page.component.ts - 41 + 42 @@ -6481,11 +6079,11 @@ Доступ apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 28 + 29 apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + 48 @@ -6493,7 +6091,7 @@ Мій Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 33 + 34 @@ -7821,20 +7419,8 @@ terms-of-service snake-case - apps/client/src/app/app.component.ts - 80 - - - apps/client/src/app/core/paths.ts - 11 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 34 + libs/common/src/lib/paths.ts + 52 @@ -7842,7 +7428,7 @@ Terms of Service apps/client/src/app/pages/about/about-page.component.ts - 71 + 72 apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts @@ -7970,11 +7556,11 @@ Watchlist apps/client/src/app/pages/home/home-page-routing.module.ts - 44 + 40 apps/client/src/app/pages/home/home-page.component.ts - 53 + 54 @@ -8009,6 +7595,24 @@ 41 + + changelog + changelog + snake-case + + libs/common/src/lib/paths.ts + 38 + + + + oss-friends + oss-friends + snake-case + + libs/common/src/lib/paths.ts + 46 + + diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf index 0eaf12d05..c1914d395 100644 --- a/apps/client/src/locales/messages.xlf +++ b/apps/client/src/locales/messages.xlf @@ -6,460 +6,72 @@ about snake-case - apps/client/src/app/app.component.ts - 65 - - - apps/client/src/app/app.component.ts - 67 - - - apps/client/src/app/app.component.ts - 71 - - - apps/client/src/app/app.component.ts - 75 - - - apps/client/src/app/app.component.ts - 79 - - - apps/client/src/app/components/header/header.component.ts - 82 - - - apps/client/src/app/components/header/header.component.ts - 87 - - - apps/client/src/app/core/paths.ts - 2 - - - apps/client/src/app/pages/about/about-page.component.ts - 46 - - - apps/client/src/app/pages/about/about-page.component.ts - 51 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/about/about-page.component.ts - 84 - - - apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts - 12 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 27 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 33 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 19 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 22 + libs/common/src/lib/paths.ts + 37 faq snake-case - apps/client/src/app/app.component.ts - 82 - - - apps/client/src/app/core/paths.ts - 3 - - - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 20 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 38 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 43 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 49 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 15 + libs/common/src/lib/paths.ts + 39 features snake-case - apps/client/src/app/app.component.ts - 83 - - - apps/client/src/app/components/header/header.component.ts - 83 - - - apps/client/src/app/components/header/header.component.ts - 88 - - - apps/client/src/app/core/paths.ts - 4 - - - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 21 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 17 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 14 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 18 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 43 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 23 + libs/common/src/lib/paths.ts + 40 license - snake-case - - apps/client/src/app/app.component.ts - 72 - - - apps/client/src/app/core/paths.ts - 5 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - - markets - snake-case - - apps/client/src/app/app.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 89 - - - apps/client/src/app/core/paths.ts - 6 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 18 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 18 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 32 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 35 - - - - pricing - snake-case - - apps/client/src/app/app.component.ts - 85 - - - apps/client/src/app/components/admin-settings/admin-settings.component.ts - 80 - - - apps/client/src/app/components/header/header.component.ts - 85 - - - apps/client/src/app/components/header/header.component.ts - 90 - - - apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts - 29 - - - apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 39 - - - apps/client/src/app/core/http-response.interceptor.ts - 77 - - - apps/client/src/app/core/paths.ts - 7 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 15 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 17 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 17 - - - apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts - 14 - - - libs/ui/src/lib/membership-card/membership-card.component.ts - 30 - - - libs/ui/src/lib/premium-indicator/premium-indicator.component.ts - 21 - - - - privacy-policy - snake-case - - apps/client/src/app/app.component.ts - 76 - - - apps/client/src/app/core/paths.ts - 8 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - - register - snake-case - - apps/client/src/app/app.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 91 - - - apps/client/src/app/core/auth.guard.ts - 55 - - - apps/client/src/app/core/paths.ts - 9 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 19 - - - apps/client/src/app/pages/features/features-page.component.ts - 28 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 28 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 44 - - - - resources - snake-case - - apps/client/src/app/app.component.ts - 87 - - - apps/client/src/app/components/header/header.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 92 - - - apps/client/src/app/core/paths.ts - 10 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/features/features-page.component.ts - 29 - + snake-case - apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts - 17 + libs/common/src/lib/paths.ts + 43 + + + markets + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 22 + libs/common/src/lib/paths.ts + 44 + + + pricing + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 31 + libs/common/src/lib/paths.ts + 47 + + + privacy-policy + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 40 + libs/common/src/lib/paths.ts + 48 + + + register + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 15 + libs/common/src/lib/paths.ts + 49 + + + resources + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 25 + libs/common/src/lib/paths.ts + 50 @@ -838,7 +450,7 @@ Do you really want to revoke this granted access? apps/client/src/app/components/access-table/access-table.component.ts - 79 + 80 @@ -2069,11 +1681,11 @@ apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts - 46 + 47 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 94 @@ -2185,14 +1797,14 @@ apps/client/src/app/components/header/header.component.ts - 231 + 232 Oops! Incorrect Security Token. apps/client/src/app/components/header/header.component.ts - 246 + 247 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -2855,28 +2467,28 @@ Please enter your coupon code. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 201 + 202 Could not redeem coupon code apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 165 + 166 Coupon code has been redeemed apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 178 + 179 Reload apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 179 + 180 @@ -3067,18 +2679,18 @@ This feature is currently unavailable. apps/client/src/app/core/http-response.interceptor.ts - 54 + 55 Please try again later. apps/client/src/app/core/http-response.interceptor.ts - 56 + 57 apps/client/src/app/core/http-response.interceptor.ts - 85 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3089,7 +2701,7 @@ Oops! Something went wrong. apps/client/src/app/core/http-response.interceptor.ts - 83 + 84 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3100,11 +2712,11 @@ Okay apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 140 + 141 apps/client/src/app/core/http-response.interceptor.ts - 86 + 87 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3119,7 +2731,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 45 + 46 apps/client/src/app/pages/about/overview/about-overview-page-routing.module.ts @@ -3130,7 +2742,7 @@ Changelog apps/client/src/app/pages/about/about-page.component.ts - 50 + 51 apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts @@ -3141,7 +2753,7 @@ License apps/client/src/app/pages/about/about-page.component.ts - 55 + 56 apps/client/src/app/pages/about/license/license-page-routing.module.ts @@ -3152,7 +2764,7 @@ Privacy Policy apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -3240,71 +2852,71 @@ Admin Control apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 Market Data apps/client/src/app/pages/admin/admin-page-routing.module.ts - 30 + 31 apps/client/src/app/pages/admin/admin-page.component.ts - 38 + 39 Settings apps/client/src/app/pages/admin/admin-page-routing.module.ts - 35 + 36 apps/client/src/app/pages/admin/admin-page.component.ts - 33 + 34 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 18 + 19 apps/client/src/app/pages/user-account/user-account-page.component.ts - 36 + 37 Users apps/client/src/app/pages/admin/admin-page-routing.module.ts - 40 + 41 apps/client/src/app/pages/admin/admin-page.component.ts - 48 + 49 Overview apps/client/src/app/pages/admin/admin-page.component.ts - 28 + 29 apps/client/src/app/pages/home/home-page.component.ts - 38 + 39 apps/client/src/app/pages/resources/resources-page.component.ts - 17 + 19 apps/client/src/app/pages/zen/zen-page-routing.module.ts - 19 + 20 apps/client/src/app/pages/zen/zen-page.component.ts - 35 + 36 @@ -3332,7 +2944,7 @@ Frequently Asked Questions (FAQ) apps/client/src/app/pages/faq/faq-page-routing.module.ts - 34 + 35 apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts @@ -3474,41 +3086,37 @@ Holdings apps/client/src/app/pages/home/home-page-routing.module.ts - 24 - - - apps/client/src/app/pages/home/home-page-routing.module.ts - 29 + 25 apps/client/src/app/pages/home/home-page.component.ts - 43 + 44 apps/client/src/app/pages/zen/zen-page.component.ts - 40 + 41 Summary apps/client/src/app/pages/home/home-page-routing.module.ts - 34 + 30 apps/client/src/app/pages/home/home-page.component.ts - 48 + 49 Markets apps/client/src/app/pages/home/home-page-routing.module.ts - 39 + 35 apps/client/src/app/pages/home/home-page.component.ts - 58 + 59 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -3520,7 +3128,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 27 + 29 @@ -3898,7 +3506,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 40 + 41 @@ -4119,7 +3727,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 45 + 46 @@ -4277,7 +3885,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 35 + 36 @@ -4670,25 +4278,22 @@ Personal Finance Tools apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 14 + 15 open-source-alternative-to + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 26 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 14 + libs/common/src/lib/paths.ts + 45 Open Source Alternative to apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 27 + 28 @@ -4941,7 +4546,7 @@ Switzerland apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 58 + 59 libs/ui/src/lib/i18n.ts @@ -4952,7 +4557,7 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 60 libs/ui/src/lib/i18n.ts @@ -4963,7 +4568,7 @@ Resources apps/client/src/app/pages/resources/resources-page-routing.module.ts - 50 + 51 @@ -4984,29 +4589,29 @@ Membership apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 23 + 24 apps/client/src/app/pages/user-account/user-account-page.component.ts - 41 + 42 Access apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 28 + 29 apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + 48 My Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 33 + 34 @@ -5706,11 +5311,11 @@ Job Queue apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 apps/client/src/app/pages/admin/admin-page.component.ts - 43 + 44 @@ -5753,7 +5358,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 87 + 88 @@ -5867,9 +5472,10 @@ self-hosting + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 51 @@ -5887,7 +5493,7 @@ Self-Hosting apps/client/src/app/pages/faq/faq-page.component.ts - 48 + 49 apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts @@ -5909,14 +5515,14 @@ General apps/client/src/app/pages/faq/faq-page.component.ts - 37 + 38 Cloud apps/client/src/app/pages/faq/faq-page.component.ts - 42 + 43 apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts @@ -5927,7 +5533,7 @@ Oops! It looks like you’re making too many requests. Please slow down a bit. apps/client/src/app/core/http-response.interceptor.ts - 103 + 104 @@ -5976,7 +5582,7 @@ This action is not allowed. apps/client/src/app/core/http-response.interceptor.ts - 64 + 65 @@ -6130,14 +5736,14 @@ Wealth apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 98 Community apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 85 @@ -6179,35 +5785,35 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 97 App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 83 Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 96 Investor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 89 Wealth Management apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 99 @@ -6235,28 +5841,28 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 81 + 82 Family Office apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 86 Personal Finance apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 91 + 92 Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 95 @@ -6284,7 +5890,7 @@ Budgeting apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 84 @@ -6298,7 +5904,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 90 @@ -6333,7 +5939,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 93 @@ -6659,20 +6265,16 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 32 + 34 glossary snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts + libs/common/src/lib/paths.ts 41 - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 21 - Guides @@ -6682,19 +6284,15 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 22 + 24 guides snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 23 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 28 + libs/common/src/lib/paths.ts + 42 @@ -6736,7 +6334,7 @@ Do you really want to delete the API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 103 + 102 @@ -6792,28 +6390,28 @@ Could not generate an API key apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 127 + 128 Do you really want to generate a new API key? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 150 + 151 Ghostfolio Premium Data Provider API Key apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 145 + 146 Set this API key in your self-hosted environment: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 142 + 143 @@ -6876,7 +6474,7 @@ Link has been copied to the clipboard apps/client/src/app/components/access-table/access-table.component.ts - 65 + 66 @@ -7090,7 +6688,7 @@ Terms of Service apps/client/src/app/pages/about/about-page.component.ts - 71 + 72 apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts @@ -7101,20 +6699,8 @@ terms-of-service snake-case - apps/client/src/app/app.component.ts - 80 - - - apps/client/src/app/core/paths.ts - 11 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 34 + libs/common/src/lib/paths.ts + 52 @@ -7198,11 +6784,11 @@ Watchlist apps/client/src/app/pages/home/home-page-routing.module.ts - 44 + 40 apps/client/src/app/pages/home/home-page.component.ts - 53 + 54 @@ -7244,6 +6830,22 @@ 41 + + oss-friends + snake-case + + libs/common/src/lib/paths.ts + 46 + + + + changelog + snake-case + + libs/common/src/lib/paths.ts + 38 + + diff --git a/apps/client/src/locales/messages.zh.xlf b/apps/client/src/locales/messages.zh.xlf index 3b6410a4f..4e236965e 100644 --- a/apps/client/src/locales/messages.zh.xlf +++ b/apps/client/src/locales/messages.zh.xlf @@ -7,100 +7,8 @@ 关于 snake-case - apps/client/src/app/app.component.ts - 65 - - - apps/client/src/app/app.component.ts - 67 - - - apps/client/src/app/app.component.ts - 71 - - - apps/client/src/app/app.component.ts - 75 - - - apps/client/src/app/app.component.ts - 79 - - - apps/client/src/app/components/header/header.component.ts - 82 - - - apps/client/src/app/components/header/header.component.ts - 87 - - - apps/client/src/app/core/paths.ts - 2 - - - apps/client/src/app/pages/about/about-page.component.ts - 46 - - - apps/client/src/app/pages/about/about-page.component.ts - 51 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/about/about-page.component.ts - 84 - - - apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2024/09/hacktoberfest-2024/hacktoberfest-2024-page.component.ts - 12 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 27 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 33 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 19 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 22 + libs/common/src/lib/paths.ts + 37 @@ -108,32 +16,8 @@ 常见问题 snake-case - apps/client/src/app/app.component.ts - 82 - - - apps/client/src/app/core/paths.ts - 3 - - - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 20 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 38 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 43 - - - apps/client/src/app/pages/faq/faq-page.component.ts - 49 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 15 + libs/common/src/lib/paths.ts + 39 @@ -141,68 +25,8 @@ 功能 snake-case - apps/client/src/app/app.component.ts - 83 - - - apps/client/src/app/components/header/header.component.ts - 83 - - - apps/client/src/app/components/header/header.component.ts - 88 - - - apps/client/src/app/core/paths.ts - 4 - - - apps/client/src/app/pages/about/overview/about-overview-page.component.ts - 21 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/07/exploring-the-path-to-fire/exploring-the-path-to-fire-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 17 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 14 - - - apps/client/src/app/pages/blog/2023/11/hacktoberfest-2023-debriefing/hacktoberfest-2023-debriefing-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 14 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 18 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 43 - - - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 23 + libs/common/src/lib/paths.ts + 40 @@ -210,265 +34,53 @@ 许可证 snake-case - apps/client/src/app/app.component.ts - 72 - - - apps/client/src/app/core/paths.ts - 5 - - - apps/client/src/app/pages/about/about-page.component.ts - 56 + libs/common/src/lib/paths.ts + 43 markets - 市场 - snake-case - - apps/client/src/app/app.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 84 - - - apps/client/src/app/components/header/header.component.ts - 89 - - - apps/client/src/app/core/paths.ts - 6 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.component.ts - 18 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 18 - - - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 32 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 35 - - - - pricing - 价钱 - snake-case - - apps/client/src/app/app.component.ts - 85 - - - apps/client/src/app/components/admin-settings/admin-settings.component.ts - 80 - - - apps/client/src/app/components/header/header.component.ts - 85 - - - apps/client/src/app/components/header/header.component.ts - 90 - - - apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts - 29 - - - apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 39 - - - apps/client/src/app/core/http-response.interceptor.ts - 77 - - - apps/client/src/app/core/paths.ts - 7 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/11/black-friday-2022/black-friday-2022-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2023/11/black-week-2023/black-week-2023-page.component.ts - 15 - - - apps/client/src/app/pages/blog/2024/11/black-weeks-2024/black-weeks-2024-page.component.ts - 15 - - - apps/client/src/app/pages/faq/overview/faq-overview-page.component.ts - 17 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 17 - - - apps/client/src/app/pages/faq/self-hosting/self-hosting-page.component.ts - 14 - - - libs/ui/src/lib/membership-card/membership-card.component.ts - 30 - - - libs/ui/src/lib/premium-indicator/premium-indicator.component.ts - 21 - - - - privacy-policy - 隐私政策 - snake-case - - apps/client/src/app/app.component.ts - 76 - - - apps/client/src/app/core/paths.ts - 8 - - - apps/client/src/app/pages/about/about-page.component.ts - 65 - - - - register - 注册 - snake-case - - apps/client/src/app/app.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 91 - - - apps/client/src/app/core/auth.guard.ts - 55 - - - apps/client/src/app/core/paths.ts - 9 - - - apps/client/src/app/pages/faq/saas/saas-page.component.ts - 19 - - - apps/client/src/app/pages/features/features-page.component.ts - 28 - - - apps/client/src/app/pages/landing/landing-page.component.ts - 28 - - - apps/client/src/app/pages/pricing/pricing-page.component.ts - 44 - - - - resources - 资源 - snake-case - - apps/client/src/app/app.component.ts - 87 - - - apps/client/src/app/components/header/header.component.ts - 86 - - - apps/client/src/app/components/header/header.component.ts - 92 - - - apps/client/src/app/core/paths.ts - 10 - - - apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.component.ts - 12 - - - apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.component.ts - 13 - - - apps/client/src/app/pages/features/features-page.component.ts - 29 - - - apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts - 17 - + 市场 + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 22 + libs/common/src/lib/paths.ts + 44 + + + pricing + 价钱 + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 31 + libs/common/src/lib/paths.ts + 47 + + + privacy-policy + 隐私政策 + snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 40 + libs/common/src/lib/paths.ts + 48 + + + register + 注册 + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 15 + libs/common/src/lib/paths.ts + 49 + + + resources + 资源 + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 25 + libs/common/src/lib/paths.ts + 50 @@ -868,7 +480,7 @@ 您真的要撤销此授予的访问权限吗? apps/client/src/app/components/access-table/access-table.component.ts - 79 + 80 @@ -2176,11 +1788,11 @@ apps/client/src/app/pages/portfolio/portfolio-page-routing.module.ts - 46 + 47 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 94 @@ -2304,7 +1916,7 @@ apps/client/src/app/components/header/header.component.ts - 231 + 232 @@ -2312,7 +1924,7 @@ 哎呀!安全令牌不正确。 apps/client/src/app/components/header/header.component.ts - 246 + 247 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -3044,7 +2656,7 @@ 请输入您的优惠券代码。 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 201 + 202 @@ -3052,7 +2664,7 @@ 无法兑换优惠券代码 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 165 + 166 @@ -3060,7 +2672,7 @@ 优惠券代码已兑换 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 178 + 179 @@ -3068,7 +2680,7 @@ 重新加载 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 179 + 180 @@ -3284,7 +2896,7 @@ 此功能目前无法使用。 apps/client/src/app/core/http-response.interceptor.ts - 54 + 55 @@ -3292,11 +2904,11 @@ 请稍后再试。 apps/client/src/app/core/http-response.interceptor.ts - 56 + 57 apps/client/src/app/core/http-response.interceptor.ts - 85 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3308,7 +2920,7 @@ 哎呀!出了些问题。 apps/client/src/app/core/http-response.interceptor.ts - 83 + 84 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3320,11 +2932,11 @@ 好的 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 140 + 141 apps/client/src/app/core/http-response.interceptor.ts - 86 + 87 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3340,7 +2952,7 @@ apps/client/src/app/pages/about/about-page.component.ts - 45 + 46 apps/client/src/app/pages/about/overview/about-overview-page-routing.module.ts @@ -3352,7 +2964,7 @@ 更新日志 apps/client/src/app/pages/about/about-page.component.ts - 50 + 51 apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts @@ -3364,7 +2976,7 @@ 许可证 apps/client/src/app/pages/about/about-page.component.ts - 55 + 56 apps/client/src/app/pages/about/license/license-page-routing.module.ts @@ -3376,7 +2988,7 @@ 隐私政策 apps/client/src/app/pages/about/about-page.component.ts - 64 + 65 apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts @@ -3476,7 +3088,7 @@ 管理控制 apps/client/src/app/pages/admin/admin-page-routing.module.ts - 20 + 21 @@ -3484,11 +3096,11 @@ 市场数据 apps/client/src/app/pages/admin/admin-page-routing.module.ts - 30 + 31 apps/client/src/app/pages/admin/admin-page.component.ts - 38 + 39 @@ -3496,19 +3108,19 @@ 设置 apps/client/src/app/pages/admin/admin-page-routing.module.ts - 35 + 36 apps/client/src/app/pages/admin/admin-page.component.ts - 33 + 34 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 18 + 19 apps/client/src/app/pages/user-account/user-account-page.component.ts - 36 + 37 @@ -3516,11 +3128,11 @@ 用户 apps/client/src/app/pages/admin/admin-page-routing.module.ts - 40 + 41 apps/client/src/app/pages/admin/admin-page.component.ts - 48 + 49 @@ -3528,23 +3140,23 @@ 概述 apps/client/src/app/pages/admin/admin-page.component.ts - 28 + 29 apps/client/src/app/pages/home/home-page.component.ts - 38 + 39 apps/client/src/app/pages/resources/resources-page.component.ts - 17 + 19 apps/client/src/app/pages/zen/zen-page-routing.module.ts - 19 + 20 apps/client/src/app/pages/zen/zen-page.component.ts - 35 + 36 @@ -3576,7 +3188,7 @@ 常见问题 (FAQ) apps/client/src/app/pages/faq/faq-page-routing.module.ts - 34 + 35 apps/client/src/app/pages/faq/overview/faq-overview-page-routing.module.ts @@ -3736,19 +3348,15 @@ 持仓 apps/client/src/app/pages/home/home-page-routing.module.ts - 24 - - - apps/client/src/app/pages/home/home-page-routing.module.ts - 29 + 25 apps/client/src/app/pages/home/home-page.component.ts - 43 + 44 apps/client/src/app/pages/zen/zen-page.component.ts - 40 + 41 @@ -3756,11 +3364,11 @@ 汇总 apps/client/src/app/pages/home/home-page-routing.module.ts - 34 + 30 apps/client/src/app/pages/home/home-page.component.ts - 48 + 49 @@ -3768,11 +3376,11 @@ 市场 apps/client/src/app/pages/home/home-page-routing.module.ts - 39 + 35 apps/client/src/app/pages/home/home-page.component.ts - 58 + 59 apps/client/src/app/pages/markets/markets-page-routing.module.ts @@ -3784,7 +3392,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 27 + 29 @@ -4212,7 +3820,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 40 + 41 @@ -4460,7 +4068,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 45 + 46 @@ -4636,7 +4244,7 @@ apps/client/src/app/pages/portfolio/portfolio-page.component.ts - 35 + 36 @@ -5076,27 +4684,24 @@ 个人理财工具 apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 14 + 15 open-source-alternative-to 开源替代方案 + snake-case - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 26 - - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts - 14 + libs/common/src/lib/paths.ts + 45 Open Source Alternative to - 开源替代方案 + 的开源替代品 apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 27 + 28 @@ -5125,7 +4730,7 @@ Open Source Alternative to - 开源替代品 + 的开源替代品 apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html 42 @@ -5376,7 +4981,7 @@ 瑞士 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 58 + 59 libs/ui/src/lib/i18n.ts @@ -5388,7 +4993,7 @@ 全球的 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 60 libs/ui/src/lib/i18n.ts @@ -5400,7 +5005,7 @@ 资源 apps/client/src/app/pages/resources/resources-page-routing.module.ts - 50 + 51 @@ -5424,11 +5029,11 @@ 会员资格 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 23 + 24 apps/client/src/app/pages/user-account/user-account-page.component.ts - 41 + 42 @@ -5436,11 +5041,11 @@ 使用权 apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 28 + 29 apps/client/src/app/pages/user-account/user-account-page.component.ts - 47 + 48 @@ -5448,7 +5053,7 @@ 我的 Ghostfolio apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 33 + 34 @@ -6240,11 +5845,11 @@ 作业队列 apps/client/src/app/pages/admin/admin-page-routing.module.ts - 25 + 26 apps/client/src/app/pages/admin/admin-page.component.ts - 43 + 44 @@ -6292,7 +5897,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 87 + 88 @@ -6422,9 +6027,10 @@ self-hosting 自托管 + snake-case - apps/client/src/app/pages/faq/faq-page.component.ts - 49 + libs/common/src/lib/paths.ts + 51 @@ -6444,7 +6050,7 @@ 自托管 apps/client/src/app/pages/faq/faq-page.component.ts - 48 + 49 apps/client/src/app/pages/faq/self-hosting/self-hosting-page-routing.module.ts @@ -6468,7 +6074,7 @@ 一般的 apps/client/src/app/pages/faq/faq-page.component.ts - 37 + 38 @@ -6476,7 +6082,7 @@ apps/client/src/app/pages/faq/faq-page.component.ts - 42 + 43 apps/client/src/app/pages/faq/saas/saas-page-routing.module.ts @@ -6488,7 +6094,7 @@ 哎呀!看来您提出了太多要求。请慢一点。 apps/client/src/app/core/http-response.interceptor.ts - 103 + 104 @@ -6552,7 +6158,7 @@ 不允许执行此操作。 apps/client/src/app/core/http-response.interceptor.ts - 64 + 65 @@ -6720,7 +6326,7 @@ 另类 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 81 + 82 @@ -6728,7 +6334,7 @@ 应用 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 83 @@ -6736,7 +6342,7 @@ 预算管理 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 84 @@ -6744,7 +6350,7 @@ 社区 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 85 @@ -6752,7 +6358,7 @@ 家族办公室 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 86 @@ -6760,7 +6366,7 @@ 投资者 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 89 @@ -6768,7 +6374,7 @@ 开源 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 90 @@ -6776,7 +6382,7 @@ 个人理财 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 91 + 92 @@ -6784,7 +6390,7 @@ 隐私 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 93 @@ -6792,7 +6398,7 @@ 软件 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 95 @@ -6800,7 +6406,7 @@ 工具 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 96 @@ -6808,7 +6414,7 @@ 用户体验 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 97 @@ -6816,7 +6422,7 @@ 财富 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 98 @@ -6824,7 +6430,7 @@ 财富管理 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 99 @@ -7324,7 +6930,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 32 + 34 @@ -7336,7 +6942,7 @@ apps/client/src/app/pages/resources/resources-page.component.ts - 22 + 24 @@ -7344,12 +6950,8 @@ 指南 snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts - 23 - - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 28 + libs/common/src/lib/paths.ts + 42 @@ -7357,13 +6959,9 @@ 词汇表 snake-case - apps/client/src/app/pages/resources/overview/resources-overview.component.ts + libs/common/src/lib/paths.ts 41 - - apps/client/src/app/pages/resources/resources-page-routing.module.ts - 21 - Threshold range @@ -7418,7 +7016,7 @@ 您确定要删除此 API 密钥吗? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 103 + 102 @@ -7450,7 +7048,7 @@ 无法生成 API 密钥 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 127 + 128 @@ -7458,7 +7056,7 @@ 在您的自托管环境中设置此 API 密钥: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 142 + 143 @@ -7466,7 +7064,7 @@ Ghostfolio Premium 数据提供者 API 密钥 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 145 + 146 @@ -7474,7 +7072,7 @@ 您确定要生成新的 API 密钥吗? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 150 + 151 @@ -7570,7 +7168,7 @@ 链接已复制到剪贴板 apps/client/src/app/components/access-table/access-table.component.ts - 65 + 66 @@ -7822,20 +7420,8 @@ 服务条款 snake-case - apps/client/src/app/app.component.ts - 80 - - - apps/client/src/app/core/paths.ts - 11 - - - apps/client/src/app/pages/about/about-page.component.ts - 72 - - - apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.component.ts - 34 + libs/common/src/lib/paths.ts + 52 @@ -7843,7 +7429,7 @@ 服务条款 apps/client/src/app/pages/about/about-page.component.ts - 71 + 72 apps/client/src/app/pages/about/terms-of-service/terms-of-service-page-routing.module.ts @@ -7971,11 +7557,11 @@ 关注列表 apps/client/src/app/pages/home/home-page-routing.module.ts - 44 + 40 apps/client/src/app/pages/home/home-page.component.ts - 53 + 54 @@ -8004,12 +7590,30 @@ Calculations are based on delayed market data and may not be displayed in real-time. - Calculations are based on delayed market data and may not be displayed in real-time. + 计算基于延迟的市场数据,可能无法实时显示。 apps/client/src/app/components/home-market/home-market.html 41 + + changelog + 变更日志 + snake-case + + libs/common/src/lib/paths.ts + 38 + + + + oss-friends + 开源朋友 + snake-case + + libs/common/src/lib/paths.ts + 46 + + diff --git a/libs/common/src/lib/paths.ts b/libs/common/src/lib/paths.ts new file mode 100644 index 000000000..6b5c8bb6c --- /dev/null +++ b/libs/common/src/lib/paths.ts @@ -0,0 +1,53 @@ +import '@angular/localize/init'; + +export const paths = { + access: 'access', + account: 'account', + accounts: 'accounts', + activities: 'activities', + admin: 'admin', + allocations: 'allocations', + api: 'api', + auth: 'auth', + blog: 'blog', + demo: 'demo', + fire: 'fire', + holdings: 'holdings', + home: 'home', + i18n: 'i18n', + jobs: 'jobs', + market: 'market', + marketData: 'market-data', + membership: 'membership', + open: 'open', + personalFinanceTools: 'personal-finance-tools', + portfolio: 'portfolio', + public: 'p', + saas: 'saas', + settings: 'settings', + start: 'start', + summary: 'summary', + users: 'users', + watchlist: 'watchlist', + webauthn: 'webauthn', + xRay: 'x-ray', + zen: 'zen', + + // Localized paths (public-facing pages) + about: $localize`:snake-case:about`, + changelog: $localize`:snake-case:changelog`, + faq: $localize`:snake-case:faq`, + features: $localize`:snake-case:features`, + glossary: $localize`:snake-case:glossary`, + guides: $localize`:snake-case:guides`, + license: $localize`:snake-case:license`, + markets: $localize`:snake-case:markets`, + openSourceAlternativeTo: $localize`:snake-case:open-source-alternative-to`, + ossFriends: $localize`:snake-case:oss-friends`, + pricing: $localize`:snake-case:pricing`, + privacyPolicy: $localize`:snake-case:privacy-policy`, + register: $localize`:snake-case:register`, + resources: $localize`:snake-case:resources`, + selfHosting: $localize`:snake-case:self-hosting`, + termsOfService: $localize`:snake-case:terms-of-service` +}; diff --git a/libs/ui/src/lib/membership-card/membership-card.component.ts b/libs/ui/src/lib/membership-card/membership-card.component.ts index d40031b18..fd2986e18 100644 --- a/libs/ui/src/lib/membership-card/membership-card.component.ts +++ b/libs/ui/src/lib/membership-card/membership-card.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA, @@ -27,7 +29,7 @@ export class GfMembershipCardComponent { @Output() generateApiKeyClicked = new EventEmitter(); - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; + public routerLinkPricing = ['/' + paths.pricing]; public onGenerateApiKey(event: MouseEvent) { event.preventDefault(); diff --git a/libs/ui/src/lib/premium-indicator/premium-indicator.component.ts b/libs/ui/src/lib/premium-indicator/premium-indicator.component.ts index b4e871342..90198fed6 100644 --- a/libs/ui/src/lib/premium-indicator/premium-indicator.component.ts +++ b/libs/ui/src/lib/premium-indicator/premium-indicator.component.ts @@ -1,3 +1,5 @@ +import { paths } from '@ghostfolio/common/paths'; + import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA, @@ -18,5 +20,5 @@ import { RouterModule } from '@angular/router'; export class GfPremiumIndicatorComponent { @Input() enableLink = true; - public routerLinkPricing = ['/' + $localize`:snake-case:pricing`]; + public routerLinkPricing = ['/' + paths.pricing]; }