diff --git a/.agents/skills/karpathy-guidelines/SKILL.md b/.agents/skills/karpathy-guidelines/SKILL.md new file mode 100644 index 000000000..029e4d55d --- /dev/null +++ b/.agents/skills/karpathy-guidelines/SKILL.md @@ -0,0 +1,72 @@ +--- +name: karpathy-guidelines +description: Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid overcomplication, make surgical changes, surface assumptions, and define verifiable success criteria. +license: MIT +--- + +# Karpathy Guidelines + +Behavioral guidelines to reduce common LLM coding mistakes, derived from [Andrej Karpathy's observations](https://x.com/karpathy/status/2015883857489522876) on LLM coding pitfalls. + +**Tradeoff:** These guidelines bias toward caution over speed. For trivial tasks, use judgment. + +## 1. Think Before Coding + +**Don't assume. Don't hide confusion. Surface tradeoffs.** + +Before implementing: + +- State your assumptions explicitly. If uncertain, ask. +- If multiple interpretations exist, present them - don't pick silently. +- If a simpler approach exists, say so. Push back when warranted. +- If something is unclear, stop. Name what's confusing. Ask. + +## 2. Simplicity First + +**Minimum code that solves the problem. Nothing speculative.** + +- No features beyond what was asked. +- No abstractions for single-use code. +- No "flexibility" or "configurability" that wasn't requested. +- No error handling for impossible scenarios. +- If you write 200 lines and it could be 50, rewrite it. + +Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify. + +## 3. Surgical Changes + +**Touch only what you must. Clean up only your own mess.** + +When editing existing code: + +- Don't "improve" adjacent code, comments, or formatting. +- Don't refactor things that aren't broken. +- Match existing style, even if you'd do it differently. +- If you notice unrelated dead code, mention it - don't delete it. + +When your changes create orphans: + +- Remove imports/variables/functions that YOUR changes made unused. +- Don't remove pre-existing dead code unless asked. + +The test: Every changed line should trace directly to the user's request. + +## 4. Goal-Driven Execution + +**Define success criteria. Loop until verified.** + +Transform tasks into verifiable goals: + +- "Add validation" → "Write tests for invalid inputs, then make them pass" +- "Fix the bug" → "Write a test that reproduces it, then make it pass" +- "Refactor X" → "Ensure tests pass before and after" + +For multi-step tasks, state a brief plan: + +``` +1. [Step] → verify: [check] +2. [Step] → verify: [check] +3. [Step] → verify: [check] +``` + +Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification. diff --git a/.claude/skills/karpathy-guidelines b/.claude/skills/karpathy-guidelines new file mode 120000 index 000000000..743bef527 --- /dev/null +++ b/.claude/skills/karpathy-guidelines @@ -0,0 +1 @@ +../../.agents/skills/karpathy-guidelines \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index d23e20b5c..37541cfe9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + +- Added support for a copy-to-clipboard action in the alert dialog component + ### Changed - Hardened the endpoint to update a property of the admin control panel by validating the `key` path parameter +- Improved the user account deletion flow in the user settings of the user account page +- Set the change detection strategy to `OnPush` in the portfolio holdings page - Set the change detection strategy to `OnPush` in the _FIRE_ page +- Set the change detection strategy to `OnPush` in the users section of the admin control panel +- Renamed the `SymbolProfileOverrides` _Prisma_ data model to `AssetProfileOverrides` while keeping the database table name +- Improved the language localization for Dutch (`nl`) +- Improved the language localization for French (`fr`) +- Improved the language localization for German (`de`) ## 3.21.0 - 2026-07-05 diff --git a/apps/api/src/app/activities/activities.service.ts b/apps/api/src/app/activities/activities.service.ts index b404b6a37..bd08d05f9 100644 --- a/apps/api/src/app/activities/activities.service.ts +++ b/apps/api/src/app/activities/activities.service.ts @@ -615,14 +615,14 @@ export class ActivitiesService { }, { OR: [ - { SymbolProfileOverrides: { is: null } }, - { SymbolProfileOverrides: { assetClass: null } } + { assetProfileOverrides: { is: null } }, + { assetProfileOverrides: { assetClass: null } } ] } ] }, { - SymbolProfileOverrides: { + assetProfileOverrides: { OR: filtersByAssetClass.map(({ id }) => { return { assetClass: AssetClass[id] }; }) diff --git a/apps/api/src/app/admin/admin.service.ts b/apps/api/src/app/admin/admin.service.ts index 31b28a855..8325fa90e 100644 --- a/apps/api/src/app/admin/admin.service.ts +++ b/apps/api/src/app/admin/admin.service.ts @@ -299,7 +299,7 @@ export class AdminService { ); } } else { - const symbolProfileOverrides = { + const assetProfileOverrides = { assetClass: assetClass as AssetClass, assetSubClass: assetSubClass as AssetSubClass, countries: countries as Prisma.JsonArray, @@ -320,7 +320,7 @@ export class AdminService { symbolMapping, ...this.symbolProfileService.getAssetProfileUpdateInput( { dataSource, symbol }, - symbolProfileOverrides + assetProfileOverrides ) }; diff --git a/apps/api/src/app/endpoints/asset-profiles/asset-profiles.service.ts b/apps/api/src/app/endpoints/asset-profiles/asset-profiles.service.ts index 68b8d5627..b1a36df26 100644 --- a/apps/api/src/app/endpoints/asset-profiles/asset-profiles.service.ts +++ b/apps/api/src/app/endpoints/asset-profiles/asset-profiles.service.ts @@ -198,6 +198,7 @@ export class AssetProfilesService { take: 1 }, assetClass: true, + assetProfileOverrides: true, assetSubClass: true, comment: true, countries: true, @@ -210,8 +211,7 @@ export class AssetProfilesService { name: true, scraperConfiguration: true, sectors: true, - symbol: true, - SymbolProfileOverrides: true + symbol: true } }), this.prismaService.symbolProfile.count({ where }) @@ -268,7 +268,7 @@ export class AssetProfilesService { const { assetClass, assetSubClass, countries, name, sectors } = applyAssetProfileOverrides( assetProfile, - assetProfile.SymbolProfileOverrides + assetProfile.assetProfileOverrides ); const countriesCount = countries ? Object.keys(countries).length : 0; diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index 0c159bc1c..4dcf16034 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -535,6 +535,14 @@ export class UserService { user.subscription.offer.label = undefined; } + if ( + !hasRole(user, Role.DEMO) && + (user.provider !== 'ANONYMOUS' || + user.subscription?.type === SubscriptionType.Premium) + ) { + currentPermissions.push(permissions.requestOwnUserDeletion); + } + if (hasRole(user, Role.ADMIN)) { currentPermissions.push(permissions.syncDemoUserAccount); } diff --git a/apps/api/src/services/symbol-profile/symbol-profile.service.ts b/apps/api/src/services/symbol-profile/symbol-profile.service.ts index 5d0968c5c..7157f0856 100644 --- a/apps/api/src/services/symbol-profile/symbol-profile.service.ts +++ b/apps/api/src/services/symbol-profile/symbol-profile.service.ts @@ -12,10 +12,10 @@ import { Sector } from '@ghostfolio/common/interfaces/sector.interface'; import { Injectable } from '@nestjs/common'; import { + AssetProfileOverrides, DataSource, Prisma, - SymbolProfile, - SymbolProfileOverrides + SymbolProfile } from '@prisma/client'; import { continents, countries } from 'countries-list'; @@ -85,12 +85,12 @@ export class SymbolProfileService { } return { - SymbolProfileOverrides: { + assetProfileOverrides: { upsert: { create: - data as Prisma.SymbolProfileOverridesCreateWithoutSymbolProfileInput, + data as Prisma.AssetProfileOverridesCreateWithoutSymbolProfileInput, update: - data as Prisma.SymbolProfileOverridesUpdateWithoutSymbolProfileInput + data as Prisma.AssetProfileOverridesUpdateWithoutSymbolProfileInput } } }; @@ -112,7 +112,7 @@ export class SymbolProfileService { select: { date: true }, take: 1 }, - SymbolProfileOverrides: true + assetProfileOverrides: true }, where: { OR: aAssetProfileIdentifiers.map(({ dataSource, symbol }) => { @@ -137,7 +137,7 @@ export class SymbolProfileService { _count: { select: { activities: true, watchedBy: true } }, - SymbolProfileOverrides: true + assetProfileOverrides: true }, where: { id: { @@ -174,6 +174,7 @@ export class SymbolProfileService { { dataSource, symbol }: AssetProfileIdentifier, { assetClass, + assetProfileOverrides, assetSubClass, comment, countries, @@ -185,13 +186,13 @@ export class SymbolProfileService { scraperConfiguration, sectors, symbolMapping, - SymbolProfileOverrides, url }: Prisma.SymbolProfileUpdateInput ) { return this.prismaService.symbolProfile.update({ data: { assetClass, + assetProfileOverrides, assetSubClass, comment, countries, @@ -203,7 +204,6 @@ export class SymbolProfileService { scraperConfiguration, sectors, symbolMapping, - SymbolProfileOverrides, url }, where: { dataSource_symbol: { dataSource, symbol } } @@ -216,13 +216,13 @@ export class SymbolProfileService { activities?: { date: Date; }[]; - SymbolProfileOverrides: SymbolProfileOverrides; + assetProfileOverrides: AssetProfileOverrides; })[] ): EnhancedSymbolProfile[] { return symbolProfiles.map((symbolProfile) => { const symbolProfileWithOverrides = applyAssetProfileOverrides( symbolProfile, - symbolProfile.SymbolProfileOverrides + symbolProfile.assetProfileOverrides ); const item = { @@ -252,7 +252,7 @@ export class SymbolProfileService { item.dateOfFirstActivity = symbolProfile.activities?.[0]?.date; delete item.activities; - delete item.SymbolProfileOverrides; + delete item.assetProfileOverrides; return item; }); diff --git a/apps/client/src/app/components/admin-overview/admin-overview.component.ts b/apps/client/src/app/components/admin-overview/admin-overview.component.ts index b2c9b11a3..7374fb05c 100644 --- a/apps/client/src/app/components/admin-overview/admin-overview.component.ts +++ b/apps/client/src/app/components/admin-overview/admin-overview.component.ts @@ -90,7 +90,12 @@ export class GfAdminOverviewComponent implements OnInit { protected activitiesCount: number; protected couponDuration: StringValue = '14 days'; protected readonly couponsDataSource = new MatTableDataSource(); - protected readonly couponsDisplayedColumns = ['code', 'duration', 'actions']; + protected readonly couponsDisplayedColumns = [ + 'code', + 'duration', + 'createdAt', + 'actions' + ]; protected hasPermissionForSubscription: boolean; protected hasPermissionForSystemMessage: boolean; protected hasPermissionToSyncDemoUserAccount: boolean; @@ -201,6 +206,7 @@ export class GfAdminOverviewComponent implements OnInit { protected onAddCoupon() { const newCoupon: Coupon = { code: `${ghostfolioPrefix}${this.generateCouponCode(14)}`, + createdAt: new Date().toISOString(), duration: this.couponDuration }; diff --git a/apps/client/src/app/components/admin-overview/admin-overview.html b/apps/client/src/app/components/admin-overview/admin-overview.html index bccedd251..2fde94083 100644 --- a/apps/client/src/app/components/admin-overview/admin-overview.html +++ b/apps/client/src/app/components/admin-overview/admin-overview.html @@ -180,6 +180,28 @@ + + + Creation + + + @if (element.createdAt) { + + } @else { + - + } + + + Get Access diff --git a/apps/client/src/app/components/admin-users/admin-users.component.ts b/apps/client/src/app/components/admin-users/admin-users.component.ts index 5460745f5..4b9848cf8 100644 --- a/apps/client/src/app/components/admin-users/admin-users.component.ts +++ b/apps/client/src/app/components/admin-users/admin-users.component.ts @@ -27,6 +27,7 @@ import { GfValueComponent } from '@ghostfolio/ui/value'; import { CommonModule } from '@angular/common'; import { + ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, @@ -67,6 +68,7 @@ import { interval } from 'rxjs'; import { switchMap, tap } from 'rxjs/operators'; @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, imports: [ CommonModule, GfPremiumIndicatorComponent, @@ -165,6 +167,8 @@ export class GfAdminUsersComponent implements OnInit { this.user.permissions, permissions.impersonateAllUsers ); + + this.changeDetectorRef.markForCheck(); } }), switchMap(() => this.route.paramMap) @@ -196,6 +200,8 @@ export class GfAdminUsersComponent implements OnInit { pageIndex: this.paginator().pageIndex, showLoading: false }); + + this.changeDetectorRef.markForCheck(); }); } 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 b2cdedbc5..c5beb6c2d 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 @@ -456,7 +456,7 @@ export class GfHoldingDetailDialogComponent implements OnInit { this.assetProfile?.symbol ? ` (${this.assetProfile.symbol})` : '' }`; - this.reportDataGlitchMail = `mailto:hi@ghostfol.io?Subject=${reportDataGlitchSubject}&body=Hello%0D%0DI would like to report a data glitch for%0D%0DSymbol: ${this.assetProfile?.symbol}%0DData Source: ${this.assetProfile?.dataSource}%0D%0DAdditional notes:%0D%0DCan you please take a look?%0D%0DKind regards`; + this.reportDataGlitchMail = `mailto:hi@ghostfol.io?subject=${reportDataGlitchSubject}&body=Hello%0D%0DI would like to report a data glitch for%0D%0DSymbol: ${this.assetProfile?.symbol}%0DData Source: ${this.assetProfile?.dataSource}%0D%0DAdditional notes:%0D%0DCan you please take a look?%0D%0DKind regards`; if (this.assetProfile?.assetClass) { this.assetClass = translate(this.assetProfile?.assetClass); diff --git a/apps/client/src/app/components/home-holdings/home-holdings.component.ts b/apps/client/src/app/components/home-holdings/home-holdings.component.ts index 661e21163..a789f3c66 100644 --- a/apps/client/src/app/components/home-holdings/home-holdings.component.ts +++ b/apps/client/src/app/components/home-holdings/home-holdings.component.ts @@ -15,6 +15,7 @@ import { GfToggleComponent } from '@ghostfolio/ui/toggle'; import { GfTreemapChartComponent } from '@ghostfolio/ui/treemap-chart'; import { + ChangeDetectionStrategy, ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA, @@ -32,6 +33,7 @@ import { gridOutline, reorderFourOutline } from 'ionicons/icons'; import { DeviceDetectorService } from 'ngx-device-detector'; @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, imports: [ FormsModule, GfHoldingsTableComponent, @@ -88,6 +90,8 @@ export class GfHomeHoldingsComponent implements OnInit { .pipe(takeUntilDestroyed(this.destroyRef)) .subscribe((impersonationId) => { this.hasImpersonationId = !!impersonationId; + + this.changeDetectorRef.markForCheck(); }); this.userService.stateChanged @@ -107,9 +111,9 @@ export class GfHomeHoldingsComponent implements OnInit { ); this.initialize(); - - this.changeDetectorRef.markForCheck(); } + + this.changeDetectorRef.markForCheck(); }); this.viewModeFormControl.valueChanges diff --git a/apps/client/src/app/components/home-overview/home-overview.html b/apps/client/src/app/components/home-overview/home-overview.html index 8361c5b88..0ca4912b9 100644 --- a/apps/client/src/app/components/home-overview/home-overview.html +++ b/apps/client/src/app/components/home-overview/home-overview.html @@ -86,7 +86,6 @@
- @if (errors?.length > 0 && !isLoading) { + @if (errors()?.length > 0 && !isLoading()) { }
- @if (isLoading) { + @if (isLoading()) {
- {{ unit }} + {{ unit() }}
- @if (showDetails) { + @if (showDetails()) {
@@ -50,11 +50,11 @@
diff --git a/apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts b/apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts index 56e75ec1e..a48d77a2d 100644 --- a/apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts +++ b/apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts @@ -13,10 +13,11 @@ import { GfValueComponent } from '@ghostfolio/ui/value'; import { ChangeDetectionStrategy, Component, + effect, ElementRef, - Input, - OnChanges, - ViewChild + inject, + input, + viewChild } from '@angular/core'; import { IonIcon } from '@ionic/angular/standalone'; import { CountUp } from 'countup.js'; @@ -32,58 +33,68 @@ import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; styleUrls: ['./portfolio-performance.component.scss'], templateUrl: './portfolio-performance.component.html' }) -export class GfPortfolioPerformanceComponent implements OnChanges { - @Input() deviceType: string; - @Input() errors: ResponseError['errors']; - @Input() isLoading: boolean; - @Input() locale = getLocale(); - @Input() performance: PortfolioPerformance; - @Input() precision: number; - @Input() showDetails: boolean; - @Input() unit: string; +export class GfPortfolioPerformanceComponent { + public readonly errors = input(); + public readonly isLoading = input(); + public readonly locale = input(getLocale()); + public readonly performance = input.required(); + public readonly precision = input.required({ + transform: (value) => { + return value >= 0 ? value : 2; + } + }); + public readonly showDetails = input(false); + public readonly unit = input.required(); - @ViewChild('value') value: ElementRef; + private readonly value = + viewChild.required>('value'); - public constructor(private notificationService: NotificationService) { - addIcons({ timeOutline }); - } + private readonly notificationService = inject(NotificationService); - public ngOnChanges() { - this.precision = this.precision >= 0 ? this.precision : 2; + public constructor() { + addIcons({ timeOutline }); - if (this.isLoading) { - if (this.value?.nativeElement) { - this.value.nativeElement.innerHTML = ''; - } - } else { - if (isNumber(this.performance?.currentValueInBaseCurrency)) { - new CountUp('value', this.performance?.currentValueInBaseCurrency, { - decimal: getNumberFormatDecimal(this.locale), - decimalPlaces: this.precision, - duration: 1, - separator: getNumberFormatGroup(this.locale) - }).start(); - } else if (this.showDetails === false) { - new CountUp( - 'value', - this.performance?.netPerformancePercentageWithCurrencyEffect * 100, - { - decimal: getNumberFormatDecimal(this.locale), - decimalPlaces: 2, - duration: 1, - separator: getNumberFormatGroup(this.locale) - } - ).start(); + effect(() => { + if (this.isLoading()) { + if (this.value().nativeElement) { + this.value().nativeElement.innerHTML = ''; + } } else { - this.value.nativeElement.innerHTML = '*****'; + if (isNumber(this.performance().currentValueInBaseCurrency)) { + new CountUp('value', this.performance().currentValueInBaseCurrency, { + decimal: getNumberFormatDecimal(this.locale()), + decimalPlaces: this.precision(), + duration: 1, + separator: getNumberFormatGroup(this.locale()) + }).start(); + } else if (this.showDetails() === false) { + new CountUp( + 'value', + this.performance().netPerformancePercentageWithCurrencyEffect * 100, + { + decimal: getNumberFormatDecimal(this.locale()), + decimalPlaces: 2, + duration: 1, + separator: getNumberFormatGroup(this.locale()) + } + ).start(); + } else { + this.value().nativeElement.innerHTML = '*****'; + } } - } + }); } - public onShowErrors() { - const errorMessageParts = []; + protected onShowErrors() { + const errors = this.errors(); + + if (!errors?.length) { + return; + } + + const errorMessageParts: string[] = []; - for (const error of this.errors) { + for (const error of errors) { errorMessageParts.push(`${error.symbol} (${error.dataSource})`); } 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 b13a983fc..d086867aa 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 @@ -52,7 +52,7 @@ export class GfUserAccountMembershipComponent { public priceId: string; public routerLinkPricing = publicRoutes.pricing.routerLink; 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'; + '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; public constructor( @@ -146,11 +146,9 @@ export class GfUserAccountMembershipComponent { ) .subscribe(({ apiKey }) => { this.notificationService.alert({ + copyValue: apiKey, discardLabel: $localize`Okay`, - message: - $localize`Set this API key in your self-hosted environment:` + - '
' + - apiKey, + message: $localize`Set this API key in your self-hosted environment:`, title: $localize`Ghostfolio Premium Data Provider API Key` }); }); diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts index 948c5a25e..c8210b0c3 100644 --- a/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts +++ b/apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -71,11 +71,13 @@ import { catchError } from 'rxjs/operators'; export class GfUserAccountSettingsComponent implements OnInit { public appearancePlaceholder = $localize`Auto`; public baseCurrency: string; + public closeUserAccountMail: string; public currencies: string[] = []; public deleteOwnUserForm = this.formBuilder.group({ accessToken: ['', Validators.required] }); public hasPermissionToDeleteOwnUser: boolean; + public hasPermissionToRequestOwnUserDeletion: boolean; public hasPermissionToUpdateViewMode: boolean; public hasPermissionToUpdateUserSettings: boolean; public isAccessTokenHidden = true; @@ -124,11 +126,18 @@ export class GfUserAccountSettingsComponent implements OnInit { if (state?.user) { this.user = state.user; + this.closeUserAccountMail = `mailto:hi@ghostfol.io?subject=Delete Account&body=Hello%0D%0DPlease delete my Ghostfolio account.%0D%0DUser ID: ${this.user.id}%0D%0DKind regards`; + this.hasPermissionToDeleteOwnUser = hasPermission( this.user.permissions, permissions.deleteOwnUser ); + this.hasPermissionToRequestOwnUserDeletion = hasPermission( + this.user.permissions, + permissions.requestOwnUserDeletion + ); + this.hasPermissionToUpdateUserSettings = hasPermission( this.user.permissions, permissions.updateUserSettings diff --git a/apps/client/src/app/components/user-account-settings/user-account-settings.html b/apps/client/src/app/components/user-account-settings/user-account-settings.html index cefa3a0a1..351e718ec 100644 --- a/apps/client/src/app/components/user-account-settings/user-account-settings.html +++ b/apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -280,61 +280,81 @@
-
- @if (hasPermissionToDeleteOwnUser) { + @if ( + hasPermissionToDeleteOwnUser || hasPermissionToRequestOwnUserDeletion + ) {
-
-
}
diff --git a/apps/client/src/app/pages/faq/saas/saas-page.html b/apps/client/src/app/pages/faq/saas/saas-page.html index e832676bf..fc39acc53 100644 --- a/apps/client/src/app/pages/faq/saas/saas-page.html +++ b/apps/client/src/app/pages/faq/saas/saas-page.html @@ -96,7 +96,7 @@ Request your student discount - here with + here with your university e-mail address. diff --git a/apps/client/src/app/pages/pricing/pricing-page.html b/apps/client/src/app/pages/pricing/pricing-page.html index 23693457c..ddd92892a 100644 --- a/apps/client/src/app/pages/pricing/pricing-page.html +++ b/apps/client/src/app/pages/pricing/pricing-page.html @@ -332,7 +332,7 @@ } please   - contact us   @@ -343,7 +343,7 @@   Request it   - here + here   with your university e-mail address.

diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/interfaces/interfaces.ts b/apps/client/src/app/pages/resources/personal-finance-tools/interfaces/interfaces.ts new file mode 100644 index 000000000..738719f0a --- /dev/null +++ b/apps/client/src/app/pages/resources/personal-finance-tools/interfaces/interfaces.ts @@ -0,0 +1,6 @@ +import type { Product } from '@ghostfolio/common/interfaces'; + +export type ResolvedProduct = Omit & { + categories?: string[]; + platforms?: string[]; +}; 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 b030521db..d33ec17d6 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,4 @@ import { getCountryName } from '@ghostfolio/common/helper'; -import { Product } from '@ghostfolio/common/interfaces'; import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; import { publicRoutes } from '@ghostfolio/common/routes/routes'; import { translate } from '@ghostfolio/ui/i18n'; @@ -14,6 +13,8 @@ import { import { MatButtonModule } from '@angular/material/button'; import { ActivatedRoute, RouterModule } from '@angular/router'; +import { ResolvedProduct } from './interfaces/interfaces'; + @Component({ changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'page' }, @@ -28,8 +29,12 @@ export class GfProductPageComponent { return subscriptionOffer?.price; }); - protected readonly product1 = computed(() => ({ - categories: ['FINANCIAL_PLANNING', 'NET_WORTH_TRACKING', 'STOCK_TRACKING'], + protected readonly product1 = computed(() => ({ + categories: this.getSortedTranslations([ + 'FINANCIAL_PLANNING', + 'NET_WORTH_TRACKING', + 'STOCK_TRACKING' + ]), founded: 2021, hasFreePlan: true, hasSelfHostingAbility: true, @@ -50,21 +55,23 @@ export class GfProductPageComponent { ], name: 'Ghostfolio', origin: getCountryName({ code: 'CH' }), - platforms: ['ANDROID', 'WEB'], + platforms: this.getSortedTranslations(['ANDROID', 'WEB']), regions: [$localize`Global`], slogan: 'Open Source Wealth Management', useAnonymously: true })); - protected readonly product2 = computed(() => { + protected readonly product2 = computed(() => { const product = personalFinanceTools.find(({ key }) => { return key === this.route.snapshot.data['key']; }); - const mappedProduct = { + const mappedProduct: ResolvedProduct = { key: product?.key ?? '', name: product?.name ?? '', - ...product + ...product, + categories: this.getSortedTranslations(product?.categories), + platforms: this.getSortedTranslations(product?.platforms) }; if (mappedProduct.origin) { @@ -97,9 +104,8 @@ export class GfProductPageComponent { ...[product1, product2].flatMap( ({ categories, name, origin, platforms }) => { return [ - ...[...(categories ?? []), ...(platforms ?? [])].map((key) => { - return translate(key); - }), + ...(categories ?? []), + ...(platforms ?? []), name, origin ]; @@ -130,8 +136,16 @@ export class GfProductPageComponent { }); }); - protected readonly translate = translate; - private readonly dataService = inject(DataService); private readonly route = inject(ActivatedRoute); + + private getSortedTranslations(values?: string[]) { + return values + ?.map((value) => { + return translate(value); + }) + .sort((a, b) => { + return a.localeCompare(b, undefined, { sensitivity: 'base' }); + }); + } } diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/product-page.html b/apps/client/src/app/pages/resources/personal-finance-tools/product-page.html index 9a89c941f..192b3cadb 100644 --- a/apps/client/src/app/pages/resources/personal-finance-tools/product-page.html +++ b/apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -81,7 +81,7 @@ track category; let isLast = $last ) { - {{ translate(category) }}{{ isLast ? '' : ', ' }} + {{ category }}{{ isLast ? '' : ', ' }} } @@ -90,7 +90,7 @@ track category; let isLast = $last ) { - {{ translate(category) }}{{ isLast ? '' : ', ' }} + {{ category }}{{ isLast ? '' : ', ' }} } @@ -135,7 +135,7 @@ track platform; let isLast = $last ) { - {{ translate(platform) }}{{ isLast ? '' : ', ' }} + {{ platform }}{{ isLast ? '' : ', ' }} } @@ -144,7 +144,7 @@ track platform; let isLast = $last ) { - {{ translate(platform) }}{{ isLast ? '' : ', ' }} + {{ platform }}{{ isLast ? '' : ', ' }} } diff --git a/apps/client/src/locales/messages.ca.xlf b/apps/client/src/locales/messages.ca.xlf index c9f75afde..3ef04ff96 100644 --- a/apps/client/src/locales/messages.ca.xlf +++ b/apps/client/src/locales/messages.ca.xlf @@ -498,6 +498,14 @@ 62 + + Copy + Copy + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency Divisa @@ -623,7 +631,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1331,7 +1339,7 @@ Està segur qeu vol eliminar aquest cupó? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 @@ -1339,7 +1347,7 @@ Està segur que vol eliminar aquest missatge del sistema? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 @@ -1347,7 +1355,7 @@ Està segur que vol depurar el cache? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 @@ -1355,7 +1363,7 @@ Si us plau, afegeixi el seu missatge del sistema: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -1371,7 +1379,7 @@ per Usuari apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -1447,7 +1455,7 @@ Afegir apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -1587,7 +1595,7 @@ Està segur que vol eliminar aquest usuari? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -1695,7 +1703,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -1791,7 +1799,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -1871,7 +1879,7 @@ en Actiiu apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -1879,7 +1887,7 @@ Finalitzat apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 @@ -2091,7 +2099,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -2183,7 +2191,7 @@ Les dades del mercat s’han retardat apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -2526,6 +2534,14 @@ 204 + + The value has been copied to the clipboard + The value has been copied to the clipboard + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access Concedeix accés @@ -2579,7 +2595,7 @@ Introduïu el vostre codi de cupó. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 @@ -2587,7 +2603,7 @@ No s’ha pogut bescanviar el codi de cupó apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 174 + 172 @@ -2603,7 +2619,7 @@ El codi del cupó s’ha bescanviat apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 @@ -2611,7 +2627,7 @@ Torna a carregar apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -2667,7 +2683,7 @@ De debò vols tancar el teu compte de Ghostfolio? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 @@ -2683,7 +2699,7 @@ De debò vols eliminar aquest mètode d’inici de sessió? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -2699,7 +2715,7 @@ Ups! Hi ha hagut un error en configurar l’autenticació biomètrica. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -2778,6 +2794,18 @@ 153 + + Close Account + Close Account + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance Aparença @@ -2870,7 +2898,7 @@ 255 - + Export Data Exporta dades @@ -2883,7 +2911,7 @@ Zona de perill apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -2891,7 +2919,7 @@ Tanca el compte apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 @@ -2943,7 +2971,7 @@ D’acord apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -3515,6 +3543,14 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds Bons @@ -3638,6 +3674,10 @@ Creation Creation + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -3676,7 +3716,7 @@ just now apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -4772,7 +4812,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 @@ -5265,7 +5305,7 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -6677,7 +6717,7 @@ Alternativa apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -6685,7 +6725,7 @@ Aplicació apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 @@ -6753,7 +6793,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 @@ -6777,7 +6817,7 @@ Investor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -6789,7 +6829,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 @@ -6801,7 +6841,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 @@ -6809,7 +6849,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -6817,7 +6857,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -6825,7 +6865,7 @@ Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 @@ -6833,7 +6873,7 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 @@ -6841,7 +6881,7 @@ Wealth apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -7129,7 +7169,7 @@ has been copied to the clipboard apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -7507,7 +7547,7 @@ Ghostfolio Premium Data Provider API Key apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -7515,7 +7555,7 @@ Do you really want to generate a new API key? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 @@ -7871,7 +7911,7 @@ Security token apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -7883,7 +7923,7 @@ Do you really want to generate a new security token for this user? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 @@ -8093,7 +8133,7 @@ Demo user account has been synced. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf index 9181a1d91..313a22ce3 100644 --- a/apps/client/src/locales/messages.de.xlf +++ b/apps/client/src/locales/messages.de.xlf @@ -270,7 +270,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -538,7 +538,7 @@ Möchtest du diesen Gutscheincode wirklich löschen? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 @@ -546,7 +546,7 @@ Möchtest du den Cache wirklich leeren? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 @@ -554,7 +554,7 @@ Bitte gebe deine Systemmeldung ein: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -562,7 +562,7 @@ pro Benutzer apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -638,7 +638,7 @@ Hinzufügen apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -666,7 +666,7 @@ Möchtest du diesen Benutzer wirklich löschen? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -768,6 +768,10 @@ Creation Erstellung + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -810,7 +814,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -850,7 +854,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -1186,7 +1190,7 @@ Okay apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -1254,7 +1258,7 @@ Bitte gebe deinen Gutscheincode ein. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 @@ -1262,7 +1266,7 @@ Gutscheincode konnte nicht eingelöst werden apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 174 + 172 @@ -1278,7 +1282,7 @@ Gutscheincode wurde eingelöst apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 @@ -1286,7 +1290,7 @@ Neu laden apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -1294,7 +1298,7 @@ Möchtest du diese Anmeldemethode wirklich löschen? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -1429,6 +1433,14 @@ 59 + + The value has been copied to the clipboard + Der Wert wurde in die Zwischenablage kopiert + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access Zugang gewähren @@ -1505,6 +1517,14 @@ 10 + + Copy + Kopieren + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency Währung @@ -2274,7 +2294,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -2873,6 +2893,18 @@ 190 + + Close Account + Konto schliessen + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance Aussehen @@ -3466,7 +3498,7 @@ gerade eben apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -4389,6 +4421,14 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + Bitte lösche aus Sicherheitsgründen zuerst alle Aktivitäten und Konten, bevor dein Ghostfolio Konto geschlossen werden kann. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds Anleihen @@ -5013,7 +5053,7 @@ 133 - + Export Data Daten exportieren @@ -5649,7 +5689,7 @@ Ready to take your investments to the next level? - Bereit, deine Investitionen auf ein neues Levelzu bringen? + Bereit, deine Investitionen auf ein neues Level zu bringen? apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 369 @@ -5660,7 +5700,7 @@ Weltweit apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -6048,7 +6088,7 @@ Möchtest du diese Systemmeldung wirklich löschen? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 @@ -6192,7 +6232,7 @@ Die Marktdaten sind verzögert für apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -6216,7 +6256,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 @@ -6493,7 +6533,7 @@ Aktiv apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -6501,7 +6541,7 @@ Abgeschlossen apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 @@ -6589,7 +6629,7 @@ Möchtest du dieses Ghostfolio Konto wirklich schliessen? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 @@ -6605,7 +6645,7 @@ Gefahrenzone apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -6613,7 +6653,7 @@ Konto schliessen apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 @@ -6653,7 +6693,7 @@ Ups! Beim Einrichten der biometrischen Authentifizierung ist ein Fehler aufgetreten. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -6701,7 +6741,7 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -6709,7 +6749,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 @@ -6777,7 +6817,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 @@ -6801,7 +6841,7 @@ Investor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -6813,7 +6853,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 @@ -6825,7 +6865,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 @@ -6833,7 +6873,7 @@ Datenschutz apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -6841,7 +6881,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -6849,7 +6889,7 @@ Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 @@ -6857,7 +6897,7 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 @@ -6865,7 +6905,7 @@ Vermögen apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -7153,7 +7193,7 @@ wurde in die Zwischenablage kopiert apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -7531,7 +7571,7 @@ API-Schlüssel für den Ghostfolio Premium Datenanbieter apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -7539,7 +7579,7 @@ Möchtest du wirklich einen neuen API-Schlüssel erstellen? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 @@ -7895,7 +7935,7 @@ Sicherheits-Token apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -7907,7 +7947,7 @@ Möchtest du für diesen Benutzer wirklich ein neues Sicherheits-Token generieren? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 @@ -8093,7 +8133,7 @@ Demo Benutzerkonto wurde synchronisiert. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf index f459717b1..e99def710 100644 --- a/apps/client/src/locales/messages.es.xlf +++ b/apps/client/src/locales/messages.es.xlf @@ -271,7 +271,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -539,7 +539,7 @@ ¿Seguro que quieres eliminar este cupón? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 @@ -547,7 +547,7 @@ ¿Seguro que quieres limpiar la caché? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 @@ -555,7 +555,7 @@ Por favor, establece tu mensaje del sistema: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -563,7 +563,7 @@ por usuario apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -623,7 +623,7 @@ Añadir apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -651,7 +651,7 @@ ¿Seguro que quieres eliminar este usuario? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -753,6 +753,10 @@ Creation Creation + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -795,7 +799,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -835,7 +839,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -1171,7 +1175,7 @@ De acuerdo apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -1239,7 +1243,7 @@ Por favor, ingresa tu código de cupón. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 @@ -1247,7 +1251,7 @@ No se pudo canjear el código de cupón apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 174 + 172 @@ -1263,7 +1267,7 @@ El código del cupón ha sido canjeado apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 @@ -1271,7 +1275,7 @@ Recargar apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -1279,7 +1283,7 @@ ¿Seguro que quieres eliminar este método de acceso? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -1414,6 +1418,14 @@ 59 + + The value has been copied to the clipboard + The value has been copied to the clipboard + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access Conceder acceso @@ -1490,6 +1502,14 @@ 10 + + Copy + Copy + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency Divisa @@ -2259,7 +2279,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -2858,6 +2878,18 @@ 190 + + Close Account + Close Account + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance Apariencia @@ -3451,7 +3483,7 @@ just now apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -4366,6 +4398,14 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds Bonos @@ -4990,7 +5030,7 @@ 133 - + Export Data Exportar datos @@ -5637,7 +5677,7 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -6025,7 +6065,7 @@ ¿Seguro que quieres eliminar este mensaje del sistema? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 @@ -6169,7 +6209,7 @@ Los datos del mercado tienen un retraso de apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -6193,7 +6233,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 @@ -6470,7 +6510,7 @@ Activo apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -6478,7 +6518,7 @@ Cerrado apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 @@ -6566,7 +6606,7 @@ ¿Seguro que quieres eliminar tu cuenta de Ghostfolio? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 @@ -6582,7 +6622,7 @@ Zona peligrosa apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -6590,7 +6630,7 @@ Eliminar cuenta apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 @@ -6630,7 +6670,7 @@ ¡Vaya! Hubo un error al configurar la autenticación biométrica. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -6678,7 +6718,7 @@ Alternativa apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -6686,7 +6726,7 @@ Aplicación apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 @@ -6754,7 +6794,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 @@ -6778,7 +6818,7 @@ Inversor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -6790,7 +6830,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 @@ -6802,7 +6842,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 @@ -6810,7 +6850,7 @@ Privacidad apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -6818,7 +6858,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -6826,7 +6866,7 @@ Herramienta apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 @@ -6834,7 +6874,7 @@ Experiencia del usuario apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 @@ -6842,7 +6882,7 @@ Patrimonio apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -7130,7 +7170,7 @@ ha sido copiado al portapapeles apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -7508,7 +7548,7 @@ Clave API del proveedor de datos premium de Ghostfolio apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -7516,7 +7556,7 @@ ¿Seguro que quieres generar una nueva clave API? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 @@ -7872,7 +7912,7 @@ Token de seguridad apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -7884,7 +7924,7 @@ ¿Seguro que quieres generar un nuevo token de seguridad para este usuario? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 @@ -8094,7 +8134,7 @@ La cuenta de usuario de demostración se ha sincronizado. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf index 05ecd4c4f..119ba3d02 100644 --- a/apps/client/src/locales/messages.fr.xlf +++ b/apps/client/src/locales/messages.fr.xlf @@ -83,7 +83,7 @@ with - with + avec apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html 87 @@ -185,6 +185,14 @@ 62 + + Copy + Copy + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency Devise @@ -326,7 +334,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -507,7 +515,7 @@ Find an account... - Find an account... + Rechercher un compte... libs/ui/src/lib/assistant/assistant.component.ts 447 @@ -535,7 +543,7 @@ Watch the Ghostfol.io Trailer on YouTube - Watch the Ghostfol.io Trailer on YouTube + Regarder la bande-annonce de Ghostfol.io sur YouTube apps/client/src/app/pages/landing/landing-page.html 19 @@ -587,7 +595,7 @@ Data Gathering Frequency - Data Gathering Frequency + Fréquence de collecte des données apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 454 @@ -623,7 +631,7 @@ Apply current market price - Apply current market price + Appliquer le prix actuel du marché apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 238 @@ -631,7 +639,7 @@ Subscription History - Subscription History + Historique de l’abonnement apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 136 @@ -770,7 +778,7 @@ Voulez-vous vraiment supprimer ce code promotionnel ? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 @@ -778,7 +786,7 @@ Voulez-vous vraiment vider le cache ? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 @@ -786,7 +794,7 @@ Veuillez définir votre message système : apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -794,7 +802,7 @@ par Utilisateur apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -866,7 +874,7 @@ Ajouter apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -894,7 +902,7 @@ Voulez-vous vraiment supprimer cet·te utilisateur·rice ? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -915,7 +923,7 @@ No auto-renewal on membership. - No auto-renewal on membership. + Pas de renouvellement automatique de l’abonnement. apps/client/src/app/components/user-account-membership/user-account-membership.html 74 @@ -943,7 +951,7 @@ Could not validate form - Could not validate form + Le formulaire n’a pas pu être validé apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 621 @@ -978,7 +986,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -1054,7 +1062,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -1119,7 +1127,7 @@ Code - Code + Code apps/client/src/app/components/admin-overview/admin-overview.html 159 @@ -1150,7 +1158,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -1215,7 +1223,7 @@ Energy - Energy + Énergie libs/ui/src/lib/i18n.ts 94 @@ -1399,7 +1407,7 @@ Ghostfolio in Numbers: Monthly Active Users (MAU) - Ghostfolio in Numbers: Monthly Active Users (MAU) + Ghostfolio en chiffres : utilisateurs actifs mensuels (MAU) apps/client/src/app/pages/landing/landing-page.html 63 @@ -1419,7 +1427,7 @@ Performance with currency effect - Performance with currency effect + Performance avec effet de change apps/client/src/app/pages/portfolio/analysis/analysis-page.html 134 @@ -1478,7 +1486,7 @@ D’accord apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -1558,7 +1566,7 @@ Veuillez entrer votre code promotionnel. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 @@ -1566,12 +1574,12 @@ Le code promotionnel n’a pas pu être appliqué apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 174 + 172 Consumer Defensive - Consumer Defensive + Consommation de Base libs/ui/src/lib/i18n.ts 93 @@ -1582,7 +1590,7 @@ Le code promotionnel a été appliqué apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 @@ -1590,7 +1598,7 @@ Rafraîchir apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -1598,7 +1606,7 @@ Voulez-vous vraiment supprimer cette méthode de connexion ? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -1639,7 +1647,7 @@ Utilities - Utilities + Services aux Collectivités libs/ui/src/lib/i18n.ts 101 @@ -1697,6 +1705,18 @@ 153 + + Close Account + Close Account + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance Apparence @@ -1707,7 +1727,7 @@ Contributors to Ghostfolio - Contributors to Ghostfolio + Contributeurs de Ghostfolio apps/client/src/app/pages/about/overview/about-overview-page.html 54 @@ -1781,6 +1801,14 @@ 59 + + The value has been copied to the clipboard + The value has been copied to the clipboard + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access Donner accès @@ -1867,7 +1895,7 @@ Financial Planning - Financial Planning + Planification Financière libs/ui/src/lib/i18n.ts 108 @@ -2035,7 +2063,7 @@ Duration - Duration + Durée apps/client/src/app/components/admin-overview/admin-overview.html 172 @@ -2111,10 +2139,10 @@ just now - just now + à l’instant apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -2239,7 +2267,7 @@ Current week - Current week + Semaine en cours apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 220 @@ -2291,7 +2319,7 @@ Consumer Cyclical - Consumer Cyclical + Consommation Discrétionnaire libs/ui/src/lib/i18n.ts 92 @@ -2327,7 +2355,7 @@ or start a discussion at - or start a discussion at + ou lancez une discussion sur apps/client/src/app/pages/about/overview/about-overview-page.html 98 @@ -2363,7 +2391,7 @@ Price - Price + Prix apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 171 @@ -2479,7 +2507,7 @@ Trial - Trial + Essai apps/client/src/app/components/user-detail-dialog/user-detail-dialog.component.ts 126 @@ -2487,7 +2515,7 @@ Exclude from Analysis - Exclude from Analysis + Exclure de l’analyse apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html 99 @@ -2511,7 +2539,7 @@ Latest activities - Latest activities + Dernières activités apps/client/src/app/pages/public/public-page.html 210 @@ -2555,7 +2583,7 @@ Looking for a student discount? - Looking for a student discount? + Vous cherchez une réduction étudiant ? apps/client/src/app/pages/pricing/pricing-page.html 342 @@ -2595,7 +2623,7 @@ annual interest rate - annual interest rate + taux d’intérêt annuel apps/client/src/app/pages/portfolio/fire/fire-page.html 186 @@ -2723,7 +2751,7 @@ Sustainable retirement income - Sustainable retirement income + Revenu de retraite durable apps/client/src/app/pages/portfolio/fire/fire-page.html 42 @@ -2771,7 +2799,11 @@ Creation - Creation + Création + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -3011,7 +3043,7 @@ {VAR_PLURAL, plural, =1 {Profile} other {Profiles}} - {VAR_PLURAL, plural, =1 {Profile} other {Profiles}} + {VAR_PLURAL, plural, =1 {Profil} other {Profils}} apps/client/src/app/components/admin-market-data/admin-market-data.html 249 @@ -3303,7 +3335,7 @@ Authentication - Authentication + Authentification apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 60 @@ -3383,7 +3415,7 @@ Communication Services - Communication Services + Services de Communication libs/ui/src/lib/i18n.ts 91 @@ -3407,7 +3439,7 @@ If you retire today, you would be able to withdraw - If you retire today, you would be able to withdraw + Si vous partez à la retraite aujourd’hui, vous pourriez retirer apps/client/src/app/pages/portfolio/fire/fire-page.html 69 @@ -3555,7 +3587,7 @@ No Activities - No Activities + Aucune Activité apps/client/src/app/components/admin-market-data/admin-market-data.component.ts 150 @@ -3571,7 +3603,7 @@ Everything in Basic, plus - Everything in Basic, plus + Tout ce qui est inclus dans Basic, plus apps/client/src/app/pages/pricing/pricing-page.html 199 @@ -3739,7 +3771,7 @@ Hourly - Hourly + Toutes les heures apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 214 @@ -3831,7 +3863,7 @@ Expiration - Expiration + Expiration apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 204 @@ -3847,7 +3879,7 @@ Could not save asset profile - Could not save asset profile + Le profil d’actif n’a pas pu être enregistré apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 655 @@ -3951,7 +3983,7 @@ Loan - Loan + Prêt libs/ui/src/lib/i18n.ts 64 @@ -4051,7 +4083,7 @@ Explore - Explore + Explorer apps/client/src/app/pages/resources/overview/resources-overview.component.html 11 @@ -4075,7 +4107,7 @@ Current year - Current year + Année en cours apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 228 @@ -4111,7 +4143,7 @@ Asset profile has been saved - Asset profile has been saved + Le profil d’actif a été enregistré apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 645 @@ -4303,7 +4335,7 @@ View Details - View Details + Voir les Détails apps/client/src/app/components/admin-users/admin-users.html 220 @@ -4365,6 +4397,14 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds Obligations @@ -4439,7 +4479,7 @@ per week - per week + par semaine apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html 130 @@ -4463,7 +4503,7 @@ Technology - Technology + Technologie libs/ui/src/lib/i18n.ts 100 @@ -4471,7 +4511,7 @@ and we share aggregated key metrics of the platform’s performance - and we share aggregated key metrics of the platform’s performance + et nous partageons des indicateurs clés agrégés de la performance de la plateforme apps/client/src/app/pages/about/overview/about-overview-page.html 33 @@ -4479,7 +4519,7 @@ Total - Total + Total apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 155 @@ -4523,7 +4563,7 @@ Website of Thomas Kaul - Website of Thomas Kaul + Site web de Thomas Kaul apps/client/src/app/pages/about/overview/about-overview-page.html 45 @@ -4599,7 +4639,7 @@ Upgrade to Ghostfolio Premium - Upgrade to Ghostfolio Premium + Passer à Ghostfolio Premium libs/ui/src/lib/premium-indicator/premium-indicator.component.html 4 @@ -4675,7 +4715,7 @@ Web - Web + Web libs/ui/src/lib/i18n.ts 120 @@ -4719,7 +4759,7 @@ Sign in with OpenID Connect - Sign in with OpenID Connect + Se connecter avec OpenID Connect apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html 57 @@ -4747,7 +4787,7 @@ Category - Category + Catégorie apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 77 @@ -4779,7 +4819,7 @@ Ghostfolio in Numbers: Pulls on Docker Hub - Ghostfolio in Numbers: Pulls on Docker Hub + Ghostfolio en chiffres : téléchargements sur Docker Hub apps/client/src/app/pages/landing/landing-page.html 101 @@ -4891,7 +4931,7 @@ this is projected to increase to - this is projected to increase to + cela devrait augmenter jusqu’à apps/client/src/app/pages/portfolio/fire/fire-page.html 148 @@ -4943,7 +4983,7 @@ Job ID - Job ID + ID de Tâche apps/client/src/app/components/admin-jobs/admin-jobs.html 34 @@ -4989,7 +5029,7 @@ 133 - + Export Data Exporter les Data @@ -5027,7 +5067,7 @@ for - for + pour apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html 128 @@ -5051,7 +5091,7 @@ Could not parse scraper configuration - Could not parse scraper configuration + La configuration du scraper n’a pas pu être analysée apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 569 @@ -5095,7 +5135,7 @@ Edit access - Edit access + Modifier l’accès apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html 11 @@ -5151,7 +5191,7 @@ Basic Materials - Basic Materials + Matériaux de Base libs/ui/src/lib/i18n.ts 90 @@ -5367,7 +5407,7 @@ less than - less than + moins de apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html 129 @@ -5609,7 +5649,7 @@ Stock Tracking - Stock Tracking + Suivi des Actions libs/ui/src/lib/i18n.ts 111 @@ -5636,7 +5676,7 @@ Mondial apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -5653,7 +5693,7 @@ Ghostfolio Status - Ghostfolio Status + Statut de Ghostfolio apps/client/src/app/pages/about/overview/about-overview-page.html 64 @@ -5661,7 +5701,7 @@ with your university e-mail address - with your university e-mail address + avec votre adresse e-mail universitaire apps/client/src/app/pages/pricing/pricing-page.html 348 @@ -5681,7 +5721,7 @@ and a safe withdrawal rate (SWR) of - and a safe withdrawal rate (SWR) of + et un taux de retrait sûr (SWR) de apps/client/src/app/pages/portfolio/fire/fire-page.html 109 @@ -5689,7 +5729,7 @@ Available on - Available on + Disponible sur apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 130 @@ -5853,7 +5893,7 @@ Request it - Request it + Faites-en la demande apps/client/src/app/pages/pricing/pricing-page.html 344 @@ -5897,7 +5937,7 @@ Industrials - Industrials + Industrie libs/ui/src/lib/i18n.ts 97 @@ -5921,7 +5961,7 @@ , - , + , apps/client/src/app/pages/portfolio/fire/fire-page.html 146 @@ -5937,7 +5977,7 @@ per month - per month + par mois apps/client/src/app/pages/portfolio/fire/fire-page.html 95 @@ -6013,7 +6053,7 @@ Healthcare - Healthcare + Santé libs/ui/src/lib/i18n.ts 96 @@ -6024,12 +6064,12 @@ Confirmer la suppresion de ce message système? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 Portfolio Filters - Portfolio Filters + Filtres du Portefeuille apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html 63 @@ -6168,7 +6208,7 @@ Les données du marché sont retardées de apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -6192,12 +6232,12 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 here - here + ici apps/client/src/app/pages/pricing/pricing-page.html 347 @@ -6205,7 +6245,7 @@ Close Holding - Close Holding + Clôturer la Position apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 451 @@ -6285,7 +6325,7 @@ Expires () - Expires () + Expire () apps/client/src/app/components/admin-users/admin-users.html 34 @@ -6313,7 +6353,7 @@ Fetch market price - Fetch market price + Récupérer le prix du marché libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html 40 @@ -6389,7 +6429,7 @@ Find a holding... - Find a holding... + Rechercher une position... libs/ui/src/lib/assistant/assistant.component.ts 448 @@ -6442,7 +6482,7 @@ Daily - Daily + Tous les jours apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 210 @@ -6469,7 +6509,7 @@ Actif apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -6477,7 +6517,7 @@ Clôturé apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 @@ -6565,12 +6605,12 @@ Confirmer la suppresion de votre compte Ghostfolio ? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 Jump to a page... - Jump to a page... + Aller à une page... libs/ui/src/lib/assistant/assistant.component.ts 449 @@ -6581,7 +6621,7 @@ Zone de danger apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -6589,7 +6629,7 @@ Supprimer le compte apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 @@ -6618,7 +6658,7 @@ Include in - Include in + Inclure dans apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 386 @@ -6629,7 +6669,7 @@ Oops! Une erreur s’est produite lors de la configuration de l’authentification biométrique. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -6677,7 +6717,7 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -6685,7 +6725,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 @@ -6753,7 +6793,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 @@ -6777,7 +6817,7 @@ Investisseur apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -6789,7 +6829,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 @@ -6801,7 +6841,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 @@ -6809,7 +6849,7 @@ Confidentialité apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -6817,7 +6857,7 @@ Logiciels apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -6825,7 +6865,7 @@ Outils apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 @@ -6833,7 +6873,7 @@ Expérience Utilisateur apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 @@ -6841,7 +6881,7 @@ Patrimoine apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -6854,7 +6894,7 @@ View Holding - View Holding + Voir la Position libs/ui/src/lib/activities-table/activities-table.component.html 475 @@ -6862,7 +6902,7 @@ Do you really want to delete these asset profiles? - Do you really want to delete these asset profiles? + Voulez-vous vraiment supprimer ces profils d’actifs ? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts 67 @@ -6902,7 +6942,7 @@ , based on your total assets of - , based on your total assets of + , basé sur le total de vos actifs de apps/client/src/app/pages/portfolio/fire/fire-page.html 97 @@ -7022,7 +7062,7 @@ Role - Role + Rôle apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 39 @@ -7046,7 +7086,7 @@ Tax Reporting - Tax Reporting + Déclaration Fiscale libs/ui/src/lib/i18n.ts 112 @@ -7070,7 +7110,7 @@ If you plan to open an account at - If you plan to open an account at + Si vous prévoyez d’ouvrir un compte chez apps/client/src/app/pages/pricing/pricing-page.html 312 @@ -7102,7 +7142,7 @@ send an e-mail to - send an e-mail to + envoyez un e-mail à apps/client/src/app/pages/about/overview/about-overview-page.html 91 @@ -7126,10 +7166,10 @@ has been copied to the clipboard - has been copied to the clipboard + a été copié dans le presse-papiers apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -7146,7 +7186,7 @@ Compare Ghostfolio to - - Compare Ghostfolio to - + Comparer Ghostfolio à - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html 32 @@ -7194,7 +7234,7 @@ , assuming a - , assuming a + , en supposant un apps/client/src/app/pages/portfolio/fire/fire-page.html 175 @@ -7202,7 +7242,7 @@ Financial Services - Financial Services + Services Financiers libs/ui/src/lib/i18n.ts 95 @@ -7230,7 +7270,7 @@ Delete - Delete + Supprimer apps/client/src/app/components/admin-market-data/admin-market-data.html 244 @@ -7286,7 +7326,7 @@ Dividend Tracking - Dividend Tracking + Suivi des Dividendes libs/ui/src/lib/i18n.ts 105 @@ -7306,7 +7346,7 @@ Ghostfolio is a lightweight wealth management application for individuals to keep track of stocks, ETFs or cryptocurrencies and make solid, data-driven investment decisions. - Ghostfolio is a lightweight wealth management application for individuals to keep track of stocks, ETFs or cryptocurrencies and make solid, data-driven investment decisions. + Ghostfolio est une application légère de gestion de patrimoine permettant de suivre des actions, ETF ou cryptomonnaies et de prendre des décisions d’investissement solides et basées sur les données. apps/client/src/app/pages/about/overview/about-overview-page.html 10 @@ -7346,7 +7386,7 @@ Investment Research - Investment Research + Recherche d’Investissement libs/ui/src/lib/i18n.ts 109 @@ -7507,7 +7547,7 @@ Clé API du fournisseur de données Ghostfolio Premium apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -7515,7 +7555,7 @@ Voulez-vous vraiment générer une nouvelle clé API ? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 @@ -7620,7 +7660,7 @@ Check the system status at - Check the system status at + Vérifiez le statut du système sur apps/client/src/app/pages/about/overview/about-overview-page.html 59 @@ -7628,7 +7668,7 @@ Net Worth Tracking - Net Worth Tracking + Suivi du Patrimoine Net libs/ui/src/lib/i18n.ts 110 @@ -7760,7 +7800,7 @@ Ghostfolio in Numbers: Stars on GitHub - Ghostfolio in Numbers: Stars on GitHub + Ghostfolio en chiffres : étoiles sur GitHub apps/client/src/app/pages/landing/landing-page.html 82 @@ -7796,7 +7836,7 @@ The project has been initiated by - The project has been initiated by + Le projet a été initié par apps/client/src/app/pages/about/overview/about-overview-page.html 41 @@ -7820,7 +7860,7 @@ Total amount - Total amount + Montant Total apps/client/src/app/pages/portfolio/analysis/analysis-page.html 94 @@ -7871,7 +7911,7 @@ Jeton de sécurité apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -7883,7 +7923,7 @@ Voulez-vous vraiment générer un nouveau jeton de sécurité pour cet utilisateur ? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 @@ -8082,7 +8122,7 @@ ETF Tracking - ETF Tracking + Suivi des ETF libs/ui/src/lib/i18n.ts 106 @@ -8093,7 +8133,7 @@ Le compte utilisateur de démonstration a été synchronisé. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 @@ -8106,7 +8146,7 @@ Set up - Fonds d’urgence : Mise en place + Mise en place apps/client/src/app/pages/i18n/i18n-page.html 145 @@ -8130,7 +8170,7 @@ Fee Ratio - Fee Ratio + Ratio de Frais apps/client/src/app/pages/i18n/i18n-page.html 152 @@ -8138,7 +8178,7 @@ The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%) - The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%) + Les frais dépassent ${thresholdMax}% de votre volume d’investissement total (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html 154 @@ -8146,7 +8186,7 @@ The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%) - The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%) + Les frais ne dépassent pas ${thresholdMax}% de votre volume d’investissement total (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html 158 @@ -8312,7 +8352,7 @@ Current month - Current month + Mois en cours apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 224 @@ -8320,7 +8360,7 @@ new - new + nouveau apps/client/src/app/components/admin-settings/admin-settings.component.html 79 @@ -8328,7 +8368,7 @@ Investment - Investment + Investissement apps/client/src/app/pages/i18n/i18n-page.html 15 @@ -8336,7 +8376,7 @@ Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) - Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + Plus de ${thresholdMax}% de votre investissement actuel est chez ${maxAccountName} (${maxInvestmentRatio}%) apps/client/src/app/pages/i18n/i18n-page.html 17 @@ -8344,7 +8384,7 @@ The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% - The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + La majeure partie de votre investissement actuel est chez ${maxAccountName} (${maxInvestmentRatio}%) et n’excède pas ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 24 @@ -8384,7 +8424,7 @@ Fixed Income - Fixed Income + Revenu Fixe apps/client/src/app/pages/i18n/i18n-page.html 55 @@ -8392,7 +8432,7 @@ The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% - The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% + La part en revenu fixe de votre investissement actuel (${fixedIncomeValueRatio}%) dépasse ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 57 @@ -8400,7 +8440,7 @@ The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% - The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% + La part en revenu fixe de votre investissement actuel (${fixedIncomeValueRatio}%) est inférieure à ${thresholdMin}% apps/client/src/app/pages/i18n/i18n-page.html 61 @@ -8408,7 +8448,7 @@ The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% - The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% + La part en revenu fixe de votre investissement actuel (${fixedIncomeValueRatio}%) se situe entre ${thresholdMin}% et ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 66 @@ -8416,7 +8456,7 @@ Investment: Base Currency - Investment: Base Currency + Investissement : Devise de Base apps/client/src/app/pages/i18n/i18n-page.html 85 @@ -8424,7 +8464,7 @@ The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) - The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) + La majeure partie de votre investissement actuel n’est pas dans votre devise de base (${baseCurrencyValueRatio}% en ${baseCurrency}) apps/client/src/app/pages/i18n/i18n-page.html 88 @@ -8432,7 +8472,7 @@ The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) - The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) + La majeure partie de votre investissement actuel est dans votre devise de base (${baseCurrencyValueRatio}% en ${baseCurrency}) apps/client/src/app/pages/i18n/i18n-page.html 92 @@ -8549,7 +8589,7 @@ Average Unit Price - Average Unit Price + Prix Unitaire Moyen apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts 136 @@ -8561,7 +8601,7 @@ Account Cluster Risks - Account Cluster Risks + Risques de Concentration par Compte apps/client/src/app/pages/i18n/i18n-page.html 14 @@ -8569,7 +8609,7 @@ Asset Class Cluster Risks - Asset Class Cluster Risks + Risques de Concentration par Classe d’Actifs apps/client/src/app/pages/i18n/i18n-page.html 39 @@ -8577,7 +8617,7 @@ Currency Cluster Risks - Currency Cluster Risks + Risques de Concentration par Devise apps/client/src/app/pages/i18n/i18n-page.html 83 @@ -8585,7 +8625,7 @@ Economic Market Cluster Risks - Economic Market Cluster Risks + Risques de Concentration par Marché Économique apps/client/src/app/pages/i18n/i18n-page.html 106 @@ -8593,7 +8633,7 @@ Emergency Fund - Emergency Fund + Fonds d’Urgence apps/client/src/app/pages/i18n/i18n-page.html 144 @@ -8601,7 +8641,7 @@ Fees - Fees + Frais apps/client/src/app/pages/i18n/i18n-page.html 161 @@ -8609,7 +8649,7 @@ Liquidity - Liquidity + Liquidités apps/client/src/app/pages/i18n/i18n-page.html 70 @@ -8617,7 +8657,7 @@ Buying Power - Buying Power + Pouvoir d’Achat apps/client/src/app/pages/i18n/i18n-page.html 71 @@ -8625,7 +8665,7 @@ Your buying power is below ${thresholdMin} ${baseCurrency} - Your buying power is below ${thresholdMin} ${baseCurrency} + Votre pouvoir d’achat est inférieur à ${thresholdMin} ${baseCurrency} apps/client/src/app/pages/i18n/i18n-page.html 73 @@ -8633,7 +8673,7 @@ Your buying power is 0 ${baseCurrency} - Your buying power is 0 ${baseCurrency} + Votre pouvoir d’achat est de 0 ${baseCurrency} apps/client/src/app/pages/i18n/i18n-page.html 77 @@ -8641,7 +8681,7 @@ Your buying power exceeds ${thresholdMin} ${baseCurrency} - Your buying power exceeds ${thresholdMin} ${baseCurrency} + Votre pouvoir d’achat dépasse ${thresholdMin} ${baseCurrency} apps/client/src/app/pages/i18n/i18n-page.html 80 @@ -8649,7 +8689,7 @@ Regional Market Cluster Risks - Regional Market Cluster Risks + Risques de Concentration par Marché Régional apps/client/src/app/pages/i18n/i18n-page.html 163 @@ -8657,7 +8697,7 @@ No results found... - No results found... + Aucun résultat trouvé... libs/ui/src/lib/assistant/assistant.html 51 @@ -8665,7 +8705,7 @@ Developed Markets - Developed Markets + Marchés développés apps/client/src/app/pages/i18n/i18n-page.html 109 @@ -8673,7 +8713,7 @@ The developed markets contribution of your current investment (${developedMarketsValueRatio}%) exceeds ${thresholdMax}% - The developed markets contribution of your current investment (${developedMarketsValueRatio}%) exceeds ${thresholdMax}% + La part des marchés développés de votre investissement actuel (${developedMarketsValueRatio}%) dépasse ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 112 @@ -8681,7 +8721,7 @@ The developed markets contribution of your current investment (${developedMarketsValueRatio}%) is below ${thresholdMin}% - The developed markets contribution of your current investment (${developedMarketsValueRatio}%) is below ${thresholdMin}% + La part des marchés développés de votre investissement actuel (${developedMarketsValueRatio}%) est inférieure à ${thresholdMin}% apps/client/src/app/pages/i18n/i18n-page.html 117 @@ -8689,7 +8729,7 @@ The developed markets contribution of your current investment (${developedMarketsValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% - The developed markets contribution of your current investment (${developedMarketsValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% + La part des marchés développés de votre investissement actuel (${developedMarketsValueRatio}%) se situe entre ${thresholdMin}% et ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 122 @@ -8697,7 +8737,7 @@ Emerging Markets - Emerging Markets + Marchés émergents apps/client/src/app/pages/i18n/i18n-page.html 127 @@ -8705,7 +8745,7 @@ The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) exceeds ${thresholdMax}% - The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) exceeds ${thresholdMax}% + La part des marchés émergents de votre investissement actuel (${emergingMarketsValueRatio}%) dépasse ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 130 @@ -8713,7 +8753,7 @@ The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) is below ${thresholdMin}% - The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) is below ${thresholdMin}% + La part des marchés émergents de votre investissement actuel (${emergingMarketsValueRatio}%) est inférieure à ${thresholdMin}% apps/client/src/app/pages/i18n/i18n-page.html 135 @@ -8721,7 +8761,7 @@ The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% - The emerging markets contribution of your current investment (${emergingMarketsValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% + La part des marchés émergents de votre investissement actuel (${emergingMarketsValueRatio}%) se situe entre ${thresholdMin}% et ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 140 @@ -8729,7 +8769,7 @@ No accounts have been set up - No accounts have been set up + Aucun compte n’a été configuré apps/client/src/app/pages/i18n/i18n-page.html 21 @@ -8737,7 +8777,7 @@ Your net worth is managed by 0 accounts - Your net worth is managed by 0 accounts + Votre patrimoine est géré par 0 compte apps/client/src/app/pages/i18n/i18n-page.html 33 @@ -8745,7 +8785,7 @@ Asia-Pacific - Asia-Pacific + Asie-Pacifique apps/client/src/app/pages/i18n/i18n-page.html 165 @@ -8753,7 +8793,7 @@ The Asia-Pacific market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}% - The Asia-Pacific market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}% + La part du marché Asie-Pacifique de votre investissement actuel (${valueRatio}%) dépasse ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 167 @@ -8761,7 +8801,7 @@ The Asia-Pacific market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}% - The Asia-Pacific market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}% + La part du marché Asie-Pacifique de votre investissement actuel (${valueRatio}%) est inférieure à ${thresholdMin}% apps/client/src/app/pages/i18n/i18n-page.html 171 @@ -8769,7 +8809,7 @@ The Asia-Pacific market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% - The Asia-Pacific market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% + La part du marché Asie-Pacifique de votre investissement actuel (${valueRatio}%) se situe entre ${thresholdMin}% et ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 175 @@ -8777,7 +8817,7 @@ Emerging Markets - Emerging Markets + Marchés émergents apps/client/src/app/pages/i18n/i18n-page.html 180 @@ -8809,7 +8849,7 @@ Europe - Europe + Europe apps/client/src/app/pages/i18n/i18n-page.html 195 @@ -8817,7 +8857,7 @@ The Europe market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}% - The Europe market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}% + La part du marché européen de votre investissement actuel (${valueRatio}%) dépasse ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 197 @@ -8825,7 +8865,7 @@ The Europe market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}% - The Europe market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}% + La part du marché européen de votre investissement actuel (${valueRatio}%) est inférieure à ${thresholdMin}% apps/client/src/app/pages/i18n/i18n-page.html 201 @@ -8833,7 +8873,7 @@ The Europe market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% - The Europe market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% + La part du marché européen de votre investissement actuel (${valueRatio}%) se situe entre ${thresholdMin}% et ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 205 @@ -8841,7 +8881,7 @@ Japan - Japan + Japon apps/client/src/app/pages/i18n/i18n-page.html 209 @@ -8849,7 +8889,7 @@ The Japan market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}% - The Japan market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}% + La part du marché japonais de votre investissement actuel (${valueRatio}%) dépasse ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 211 @@ -8857,7 +8897,7 @@ The Japan market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}% - The Japan market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}% + La part du marché japonais de votre investissement actuel (${valueRatio}%) est inférieure à ${thresholdMin}% apps/client/src/app/pages/i18n/i18n-page.html 215 @@ -8865,7 +8905,7 @@ The Japan market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% - The Japan market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% + La part du marché japonais de votre investissement actuel (${valueRatio}%) se situe entre ${thresholdMin}% et ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 219 @@ -8873,7 +8913,7 @@ North America - North America + Amérique du Nord apps/client/src/app/pages/i18n/i18n-page.html 223 @@ -8881,7 +8921,7 @@ The North America market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}% - The North America market contribution of your current investment (${valueRatio}%) exceeds ${thresholdMax}% + La part du marché nord-américain de votre investissement actuel (${valueRatio}%) dépasse ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 225 @@ -8889,7 +8929,7 @@ The North America market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}% - The North America market contribution of your current investment (${valueRatio}%) is below ${thresholdMin}% + La part du marché nord-américain de votre investissement actuel (${valueRatio}%) est inférieure à ${thresholdMin}% apps/client/src/app/pages/i18n/i18n-page.html 229 @@ -8897,7 +8937,7 @@ The North America market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% - The North America market contribution of your current investment (${valueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% + La part du marché nord-américain de votre investissement actuel (${valueRatio}%) se situe entre ${thresholdMin}% et ${thresholdMax}% apps/client/src/app/pages/i18n/i18n-page.html 233 @@ -8905,7 +8945,7 @@ Find Ghostfolio on GitHub - Find Ghostfolio on GitHub + Trouver Ghostfolio sur GitHub apps/client/src/app/pages/about/overview/about-overview-page.html 20 @@ -8925,7 +8965,7 @@ Join the Ghostfolio Slack community - Join the Ghostfolio Slack community + Rejoindre la communauté Ghostfolio sur Slack apps/client/src/app/pages/about/overview/about-overview-page.html 78 @@ -8937,7 +8977,7 @@ Follow Ghostfolio on X (formerly Twitter) - Follow Ghostfolio on X (formerly Twitter) + Suivre Ghostfolio sur X (anciennement Twitter) apps/client/src/app/pages/about/overview/about-overview-page.html 122 @@ -8945,7 +8985,7 @@ Send an e-mail - Send an e-mail + Envoyer un e-mail apps/client/src/app/pages/about/overview/about-overview-page.html 93 @@ -8957,7 +8997,7 @@ Registration Date - Registration Date + Date d’Inscription apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 51 @@ -8965,7 +9005,7 @@ Follow Ghostfolio on LinkedIn - Follow Ghostfolio on LinkedIn + Suivre Ghostfolio sur LinkedIn apps/client/src/app/pages/about/overview/about-overview-page.html 151 @@ -8973,7 +9013,7 @@ Ghostfolio is an independent & bootstrapped business - Ghostfolio is an independent & bootstrapped business + Ghostfolio est une entreprise indépendante & autofinancée apps/client/src/app/pages/about/overview/about-overview-page.html 161 @@ -8981,7 +9021,7 @@ Support Ghostfolio - Support Ghostfolio + Soutenir Ghostfolio apps/client/src/app/pages/about/overview/about-overview-page.html 170 diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf index a8fd45524..66c141baa 100644 --- a/apps/client/src/locales/messages.it.xlf +++ b/apps/client/src/locales/messages.it.xlf @@ -271,7 +271,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -539,7 +539,7 @@ Vuoi davvero eliminare questo buono? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 @@ -547,7 +547,7 @@ Vuoi davvero svuotare la cache? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 @@ -555,7 +555,7 @@ Imposta il messaggio di sistema: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -563,7 +563,7 @@ per utente apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -623,7 +623,7 @@ Aggiungi apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -651,7 +651,7 @@ Vuoi davvero eliminare questo utente? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -753,6 +753,10 @@ Creation Creation + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -795,7 +799,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -835,7 +839,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -1171,7 +1175,7 @@ Bene apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -1239,7 +1243,7 @@ Inserisci il tuo codice del buono: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 @@ -1247,7 +1251,7 @@ Impossibile riscattare il codice del buono apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 174 + 172 @@ -1263,7 +1267,7 @@ Il codice del buono è stato riscattato apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 @@ -1271,7 +1275,7 @@ Ricarica apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -1279,7 +1283,7 @@ Vuoi davvero rimuovere questo metodo di accesso? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -1414,6 +1418,14 @@ 59 + + The value has been copied to the clipboard + The value has been copied to the clipboard + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access Concedi l’accesso @@ -1490,6 +1502,14 @@ 10 + + Copy + Copy + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency Valuta @@ -2259,7 +2279,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -2858,6 +2878,18 @@ 190 + + Close Account + Close Account + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance Aspetto @@ -3451,7 +3483,7 @@ just now apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -4366,6 +4398,14 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds Obbligazioni @@ -4990,7 +5030,7 @@ 133 - + Export Data Esporta dati @@ -5637,7 +5677,7 @@ Globale apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -6025,7 +6065,7 @@ Confermi di voler cancellare questo messaggio di sistema? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 @@ -6169,7 +6209,7 @@ I dati di mercato sono ritardati di apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -6193,7 +6233,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 @@ -6470,7 +6510,7 @@ Attivo apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -6478,7 +6518,7 @@ Chiuso apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 @@ -6566,7 +6606,7 @@ Confermi di voler chiudere il tuo account Ghostfolio? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 @@ -6582,7 +6622,7 @@ Zona di Pericolo apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -6590,7 +6630,7 @@ Chiudi l’account apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 @@ -6630,7 +6670,7 @@ Ops! C’è stato un errore impostando l’autenticazione biometrica. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -6678,7 +6718,7 @@ Alternativa apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -6686,7 +6726,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 @@ -6754,7 +6794,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 @@ -6778,7 +6818,7 @@ Investitore apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -6790,7 +6830,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 @@ -6802,7 +6842,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 @@ -6810,7 +6850,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -6818,7 +6858,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -6826,7 +6866,7 @@ Strumento apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 @@ -6834,7 +6874,7 @@ Esperienza Utente apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 @@ -6842,7 +6882,7 @@ Ricchezza apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -7130,7 +7170,7 @@ has been copied to the clipboard apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -7508,7 +7548,7 @@ API Key for Ghostfolio Premium Data Provider apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -7516,7 +7556,7 @@ Vuoi davvero generare una nuova API key? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 @@ -7872,7 +7912,7 @@ Token di sicurezza apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -7884,7 +7924,7 @@ Vuoi davvero generare un nuovo token di sicurezza per questo utente? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 @@ -8094,7 +8134,7 @@ L’account utente demo è stato sincronizzato. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 diff --git a/apps/client/src/locales/messages.ja.xlf b/apps/client/src/locales/messages.ja.xlf index c3ae93112..0e72d5649 100644 --- a/apps/client/src/locales/messages.ja.xlf +++ b/apps/client/src/locales/messages.ja.xlf @@ -431,6 +431,14 @@ 62 + + Copy + Copy + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency 通貨 @@ -556,7 +564,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1192,7 +1200,7 @@ このクーポンを削除してもよろしいですか? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 @@ -1200,7 +1208,7 @@ 本当にこのシステムメッセージを削除しますか? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 @@ -1208,7 +1216,7 @@ キャッシュをクリアしてもよろしいですか? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 @@ -1216,7 +1224,7 @@ システムメッセージを設定してください: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -1232,7 +1240,7 @@ ユーザーあたり apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -1288,7 +1296,7 @@ 追加 apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -1456,7 +1464,7 @@ このユーザーを削除してもよろしいですか? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -1564,7 +1572,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -1640,7 +1648,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -1836,7 +1844,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -2323,6 +2331,14 @@ 415 + + The value has been copied to the clipboard + The value has been copied to the clipboard + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access アクセスを許可する @@ -2352,7 +2368,7 @@ クーポンコードを入力してください。 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 @@ -2360,7 +2376,7 @@ クーポンコードを引き換えられませんでした apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 174 + 172 @@ -2376,7 +2392,7 @@ クーポンコードが引き換えられました apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 @@ -2384,7 +2400,7 @@ 再読み込み apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -2440,7 +2456,7 @@ このサインイン方法を本当に削除しますか? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -2511,6 +2527,18 @@ 153 + + Close Account + Close Account + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance 外見 @@ -2619,7 +2647,7 @@ 35 - + Export Data データをエクスポート @@ -2668,7 +2696,7 @@ オッケー apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -3187,6 +3215,14 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds 債券 @@ -3310,6 +3346,10 @@ Creation 創造 + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -3348,7 +3388,7 @@ just now apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -5129,7 +5169,7 @@ グローバル apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -6193,7 +6233,7 @@ 市場データは〜間遅延しています apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -6241,7 +6281,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 @@ -6494,7 +6534,7 @@ クローズ済み apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 @@ -6502,7 +6542,7 @@ アクティブ apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -6590,7 +6630,7 @@ アカウントを閉鎖する apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 @@ -6598,7 +6638,7 @@ Ghostfolioアカウントを本当に閉鎖しますか? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 @@ -6614,7 +6654,7 @@ 危険ゾーン apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -6654,7 +6694,7 @@ Oops! There was an error setting up biometric authentication. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -6702,7 +6742,7 @@ Wealth apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -6762,7 +6802,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 @@ -6778,7 +6818,7 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 @@ -6786,7 +6826,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 @@ -6794,7 +6834,7 @@ Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 @@ -6802,7 +6842,7 @@ Investor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -6826,7 +6866,7 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -6846,7 +6886,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 @@ -6854,7 +6894,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -6874,7 +6914,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 @@ -6882,7 +6922,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -7170,7 +7210,7 @@ has been copied to the clipboard apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -7540,7 +7580,7 @@ Do you really want to generate a new API key? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 @@ -7548,7 +7588,7 @@ Ghostfolio Premium Data Provider API Key apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -7896,7 +7936,7 @@ Do you really want to generate a new security token for this user? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 @@ -7904,7 +7944,7 @@ Security token apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -8102,7 +8142,7 @@ Demo user account has been synced. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 diff --git a/apps/client/src/locales/messages.ko.xlf b/apps/client/src/locales/messages.ko.xlf index 50b90ef68..b7d7cad22 100644 --- a/apps/client/src/locales/messages.ko.xlf +++ b/apps/client/src/locales/messages.ko.xlf @@ -431,6 +431,14 @@ 62 + + Copy + Copy + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency 통화 @@ -556,7 +564,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1192,7 +1200,7 @@ 이 쿠폰을 정말 삭제하시겠습니까? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 @@ -1200,7 +1208,7 @@ 이 시스템 메시지를 정말 삭제하시겠습니까? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 @@ -1208,7 +1216,7 @@ 정말로 캐시를 플러시하시겠습니까? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 @@ -1216,7 +1224,7 @@ 시스템 메시지를 설정하십시오: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -1232,7 +1240,7 @@ 사용자당 apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -1288,7 +1296,7 @@ 추가 apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -1456,7 +1464,7 @@ 이 사용자를 정말로 삭제하시겠습니까? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -1564,7 +1572,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -1640,7 +1648,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -1836,7 +1844,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -2323,6 +2331,14 @@ 415 + + The value has been copied to the clipboard + The value has been copied to the clipboard + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access 액세스 권한 부여 @@ -2352,7 +2368,7 @@ 쿠폰 코드를 입력해주세요. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 @@ -2360,7 +2376,7 @@ 쿠폰 코드를 사용할 수 없습니다. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 174 + 172 @@ -2376,7 +2392,7 @@ 쿠폰 코드가 사용되었습니다. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 @@ -2384,7 +2400,7 @@ 새로고침 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -2440,7 +2456,7 @@ 이 로그인 방법을 정말로 제거하시겠습니까? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -2511,6 +2527,18 @@ 153 + + Close Account + Close Account + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance 테마 @@ -2619,7 +2647,7 @@ 35 - + Export Data 데이터 내보내기 @@ -2668,7 +2696,7 @@ 좋아요 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -3187,6 +3215,14 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds 채권 @@ -3310,6 +3346,10 @@ Creation Creation + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -3348,7 +3388,7 @@ just now apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -5121,7 +5161,7 @@ 글로벌 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -6193,7 +6233,7 @@ 시장 데이터가 지연됩니다. apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -6241,7 +6281,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 @@ -6494,7 +6534,7 @@ 닫은 apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 @@ -6502,7 +6542,7 @@ 활동적인 apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -6590,7 +6630,7 @@ 계정 폐쇄 apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 @@ -6598,7 +6638,7 @@ 정말로 Ghostfolio 계정을 폐쇄하시겠습니까? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 @@ -6614,7 +6654,7 @@ 위험지대 apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -6654,7 +6694,7 @@ 이런! 생체 인증을 설정하는 중에 오류가 발생했습니다. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -6702,7 +6742,7 @@ 재산 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -6762,7 +6802,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 @@ -6778,7 +6818,7 @@ 사용자 경험 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 @@ -6786,7 +6826,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 @@ -6794,7 +6834,7 @@ 도구 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 @@ -6802,7 +6842,7 @@ 투자자 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -6826,7 +6866,7 @@ 대안 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -6846,7 +6886,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 @@ -6854,7 +6894,7 @@ 소프트웨어 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -6874,7 +6914,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 @@ -6882,7 +6922,7 @@ 은둔 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -7170,7 +7210,7 @@ 가 클립보드에 복사되었습니다. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -7540,7 +7580,7 @@ 정말로 새 API 키를 생성하시겠습니까? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 @@ -7548,7 +7588,7 @@ Ghostfolio 프리미엄 데이터 공급자 API 키 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -7896,7 +7936,7 @@ 정말로 이 사용자에 대한 새 보안 토큰을 생성하시겠습니까? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 @@ -7904,7 +7944,7 @@ 보안 토큰 apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -8102,7 +8142,7 @@ 데모 사용자 계정이 동기화되었습니다. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index 455745435..0f02c4747 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -270,7 +270,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -311,7 +311,7 @@ Paid - Paid + Betaald apps/client/src/app/components/user-detail-dialog/user-detail-dialog.component.ts 122 @@ -387,7 +387,7 @@ and is driven by the efforts of its contributors - en wordt gedreven door de inspanningen van zijn bijdragers + en wordt gedreven door de inspanningen van zijn bijdragers apps/client/src/app/pages/about/overview/about-overview-page.html 50 @@ -479,7 +479,7 @@ Watch the Ghostfol.io Trailer on YouTube - Watch the Ghostfol.io Trailer on YouTube + Bekijk de Ghostfol.io-trailer op YouTube apps/client/src/app/pages/landing/landing-page.html 19 @@ -538,7 +538,7 @@ Wil je deze coupon echt verwijderen? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 @@ -546,7 +546,7 @@ Wil je echt de cache legen? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 @@ -554,7 +554,7 @@ Stel je systeemboodschap in: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -562,7 +562,7 @@ per gebruiker apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -622,7 +622,7 @@ Toevoegen apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -650,7 +650,7 @@ Wilt je deze gebruiker echt verwijderen? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -751,7 +751,11 @@ Creation - Creation + Aanmaakdatum + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -794,7 +798,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -834,7 +838,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -899,7 +903,7 @@ Energy - Energy + Energie libs/ui/src/lib/i18n.ts 94 @@ -1127,7 +1131,7 @@ Ghostfolio in Numbers: Monthly Active Users (MAU) - Ghostfolio in Numbers: Monthly Active Users (MAU) + Ghostfolio in cijfers: maandelijks actieve gebruikers (MAU) apps/client/src/app/pages/landing/landing-page.html 63 @@ -1170,7 +1174,7 @@ Oké apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -1238,7 +1242,7 @@ Voer je couponcode in: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 @@ -1246,12 +1250,12 @@ Kon je kortingscode niet inwisselen apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 174 + 172 Consumer Defensive - Consumer Defensive + Basisconsumptiegoederen libs/ui/src/lib/i18n.ts 93 @@ -1262,7 +1266,7 @@ Je couponcode is ingewisseld apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 @@ -1270,7 +1274,7 @@ Herladen apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -1278,7 +1282,7 @@ Wil je deze aanmeldingsmethode echt verwijderen? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -1319,7 +1323,7 @@ Utilities - Utilities + Nutsbedrijven libs/ui/src/lib/i18n.ts 101 @@ -1343,7 +1347,7 @@ Coupon - Coupon + Coupon apps/client/src/app/components/user-detail-dialog/user-detail-dialog.component.ts 127 @@ -1413,6 +1417,14 @@ 59 + + The value has been copied to the clipboard + The value has been copied to the clipboard + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access Toegang verlenen @@ -1489,6 +1501,14 @@ 10 + + Copy + Copy + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency Valuta @@ -1563,7 +1583,7 @@ Financial Planning - Financial Planning + Financiële planning libs/ui/src/lib/i18n.ts 108 @@ -1707,7 +1727,7 @@ Duration - Duration + Looptijd apps/client/src/app/components/admin-overview/admin-overview.html 172 @@ -1923,7 +1943,7 @@ Trial - Trial + Proefperiode apps/client/src/app/components/user-detail-dialog/user-detail-dialog.component.ts 126 @@ -2071,7 +2091,7 @@ Consumer Cyclical - Consumer Cyclical + Cyclische consumptiegoederen libs/ui/src/lib/i18n.ts 92 @@ -2258,7 +2278,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -2467,7 +2487,7 @@ {VAR_PLURAL, plural, =1 {Profile} other {Profiles}} - {VAR_PLURAL, plural, =1 {Profile} other {Profiles}} + {VAR_PLURAL, plural, =1 {Profiel} other {Profielen}} apps/client/src/app/components/admin-market-data/admin-market-data.html 249 @@ -2707,7 +2727,7 @@ Apply current market price - Apply current market price + Huidige marktprijs toepassen apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 238 @@ -2715,7 +2735,7 @@ Subscription History - Subscription History + Abonnementsgeschiedenis apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 136 @@ -2857,6 +2877,18 @@ 190 + + Close Account + Close Account + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance Weergave @@ -2867,7 +2899,7 @@ Contributors to Ghostfolio - Contributors to Ghostfolio + Bijdragers aan Ghostfolio apps/client/src/app/pages/about/overview/about-overview-page.html 54 @@ -2907,7 +2939,7 @@ Code - Code + Code apps/client/src/app/components/admin-overview/admin-overview.html 159 @@ -3215,7 +3247,7 @@ Communication Services - Communication Services + Communicatiediensten libs/ui/src/lib/i18n.ts 91 @@ -3275,7 +3307,7 @@ Price - Price + Prijs apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 171 @@ -3283,7 +3315,7 @@ Data Gathering Frequency - Data Gathering Frequency + Frequentie van gegevensverzameling apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 454 @@ -3447,10 +3479,10 @@ just now - just now + zojuist apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -3739,7 +3771,7 @@ Hourly - Hourly + Elk uur apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 214 @@ -3831,7 +3863,7 @@ Expiration - Expiration + Vervaldatum apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 204 @@ -3951,7 +3983,7 @@ Loan - Loan + Lening libs/ui/src/lib/i18n.ts 64 @@ -4051,7 +4083,7 @@ Explore - Explore + Verken apps/client/src/app/pages/resources/overview/resources-overview.component.html 11 @@ -4365,6 +4397,14 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds Obligaties @@ -4463,7 +4503,7 @@ Technology - Technology + Technologie libs/ui/src/lib/i18n.ts 100 @@ -4479,7 +4519,7 @@ Total - Total + Totaal apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 155 @@ -4599,7 +4639,7 @@ Upgrade to Ghostfolio Premium - Upgrade to Ghostfolio Premium + Upgraden naar Ghostfolio Premium libs/ui/src/lib/premium-indicator/premium-indicator.component.html 4 @@ -4675,7 +4715,7 @@ Web - Web + Web libs/ui/src/lib/i18n.ts 120 @@ -4747,7 +4787,7 @@ Category - Category + Categorie apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 77 @@ -4779,7 +4819,7 @@ Ghostfolio in Numbers: Pulls on Docker Hub - Ghostfolio in Numbers: Pulls on Docker Hub + Ghostfolio in cijfers: downloads op Docker Hub apps/client/src/app/pages/landing/landing-page.html 101 @@ -4989,7 +5029,7 @@ 133 - + Export Data Exporteer Data @@ -5151,7 +5191,7 @@ Basic Materials - Basic Materials + Basismaterialen libs/ui/src/lib/i18n.ts 90 @@ -5279,7 +5319,7 @@ Oops! Could not delete the asset profiles. - Oops! Could not delete the asset profiles. + Oeps! De activaprofielen konden niet worden verwijderd. apps/client/src/app/components/admin-market-data/admin-market-data.service.ts 52 @@ -5609,7 +5649,7 @@ Stock Tracking - Stock Tracking + Aandelen volgen libs/ui/src/lib/i18n.ts 111 @@ -5636,7 +5676,7 @@ Wereldwijd apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -5689,7 +5729,7 @@ Available on - Available on + Beschikbaar op apps/client/src/app/pages/resources/personal-finance-tools/product-page.html 130 @@ -5897,7 +5937,7 @@ Industrials - Industrials + Industrie libs/ui/src/lib/i18n.ts 97 @@ -6013,7 +6053,7 @@ Healthcare - Healthcare + Gezondheidszorg libs/ui/src/lib/i18n.ts 96 @@ -6024,12 +6064,12 @@ Wilt u dit systeembericht echt verwijderen? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 Portfolio Filters - Portfolio Filters + Portefeuillefilters apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html 63 @@ -6168,7 +6208,7 @@ Markt data is vertraagd voor apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -6192,7 +6232,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 @@ -6285,7 +6325,7 @@ Expires () - Expires () + Verloopt () apps/client/src/app/components/admin-users/admin-users.html 34 @@ -6313,7 +6353,7 @@ Fetch market price - Fetch market price + Marktprijs ophalen libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html 40 @@ -6389,7 +6429,7 @@ Find a holding... - Find a holding... + Zoek een positie... libs/ui/src/lib/assistant/assistant.component.ts 448 @@ -6442,7 +6482,7 @@ Daily - Daily + Dagelijks apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts 210 @@ -6469,7 +6509,7 @@ Actief apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -6477,7 +6517,7 @@ Gesloten apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 @@ -6565,12 +6605,12 @@ Wilt u uw Ghostfolio account echt sluiten? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 Jump to a page... - Jump to a page... + Ga naar een pagina... libs/ui/src/lib/assistant/assistant.component.ts 449 @@ -6581,7 +6621,7 @@ Gevarenzone apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -6589,7 +6629,7 @@ Account Sluiten apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 @@ -6629,7 +6669,7 @@ Oeps! Er is een fout opgetreden met het instellen van de biometrische authenticatie. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -6677,7 +6717,7 @@ Alternatief apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -6685,7 +6725,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 @@ -6753,12 +6793,12 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 Oops! Could not delete the asset profile. - Oops! Could not delete the asset profile. + Oeps! Het activaprofiel kon niet worden verwijderd. apps/client/src/app/components/admin-market-data/admin-market-data.service.ts 51 @@ -6777,7 +6817,7 @@ Investeerder apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -6789,7 +6829,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 @@ -6801,7 +6841,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 @@ -6809,7 +6849,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -6817,7 +6857,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -6825,7 +6865,7 @@ Hulpmiddel apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 @@ -6833,7 +6873,7 @@ Gebruikers Ervaring apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 @@ -6841,7 +6881,7 @@ Vermogen apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -6862,7 +6902,7 @@ Do you really want to delete these asset profiles? - Do you really want to delete these asset profiles? + Wil je deze activaprofielen echt verwijderen? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts 67 @@ -7062,7 +7102,7 @@ Change with currency effect Change - Verandering met valuta effect Verandering + Verandering met valuta-effect Verandering apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 63 @@ -7078,7 +7118,7 @@ Performance with currency effect Performance - Prestatie met valuta effect Prestatie + Prestaties met valuta-effect Prestaties apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 83 @@ -7126,10 +7166,10 @@ has been copied to the clipboard - has been copied to the clipboard + is naar het klembord gekopieerd apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -7146,7 +7186,7 @@ Compare Ghostfolio to - - Compare Ghostfolio to - + Vergelijk Ghostfolio met - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html 32 @@ -7202,7 +7242,7 @@ Financial Services - Financial Services + Financiële diensten libs/ui/src/lib/i18n.ts 95 @@ -7230,7 +7270,7 @@ Delete - Delete + Verwijder apps/client/src/app/components/admin-market-data/admin-market-data.html 244 @@ -7286,7 +7326,7 @@ Dividend Tracking - Dividend Tracking + Dividend volgen libs/ui/src/lib/i18n.ts 105 @@ -7346,7 +7386,7 @@ Investment Research - Investment Research + Beleggingsonderzoek libs/ui/src/lib/i18n.ts 109 @@ -7507,7 +7547,7 @@ Ghostfolio Premium Gegevensleverancier API-sleutel apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -7515,7 +7555,7 @@ Wilt u echt een nieuwe API-sleutel genereren? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 @@ -7620,7 +7660,7 @@ Check the system status at - Check the system status at + Controleer de systeemstatus op apps/client/src/app/pages/about/overview/about-overview-page.html 59 @@ -7760,7 +7800,7 @@ Ghostfolio in Numbers: Stars on GitHub - Ghostfolio in Numbers: Stars on GitHub + Ghostfolio in cijfers: sterren op GitHub apps/client/src/app/pages/landing/landing-page.html 82 @@ -7871,7 +7911,7 @@ Beveiligingstoken apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -7883,7 +7923,7 @@ Wilt u echt een nieuw beveiligingstoken voor deze gebruiker aanmaken? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 @@ -8082,7 +8122,7 @@ ETF Tracking - ETF Tracking + ETF’s volgen libs/ui/src/lib/i18n.ts 106 @@ -8093,7 +8133,7 @@ Demo-gebruikersaccount is gesynchroniseerd. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 diff --git a/apps/client/src/locales/messages.pl.xlf b/apps/client/src/locales/messages.pl.xlf index cc1137028..2c993890c 100644 --- a/apps/client/src/locales/messages.pl.xlf +++ b/apps/client/src/locales/messages.pl.xlf @@ -422,6 +422,14 @@ 62 + + Copy + Copy + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency Waluta @@ -547,7 +555,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1159,7 +1167,7 @@ Czy naprawdę chcesz usunąć ten kupon? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 @@ -1167,7 +1175,7 @@ Czy naprawdę chcesz usunąć tę wiadomość systemową? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 @@ -1175,7 +1183,7 @@ Czy naprawdę chcesz wyczyścić pamięć podręczną? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 @@ -1183,7 +1191,7 @@ Proszę ustawić swoją wiadomość systemową: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -1199,7 +1207,7 @@ na Użytkownika apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -1255,7 +1263,7 @@ Dodaj apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -1423,7 +1431,7 @@ Czy na pewno chcesz usunąć tego użytkownika? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -1531,7 +1539,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -1607,7 +1615,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -1803,7 +1811,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -2290,6 +2298,14 @@ 415 + + The value has been copied to the clipboard + The value has been copied to the clipboard + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access Przyznaj dostęp @@ -2319,7 +2335,7 @@ Wpisz kod kuponu: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 @@ -2327,7 +2343,7 @@ Nie udało się zrealizować kodu kuponu apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 174 + 172 @@ -2343,7 +2359,7 @@ Kupon został zrealizowany apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 @@ -2351,7 +2367,7 @@ Odśwież apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -2407,7 +2423,7 @@ Czy na pewno chcesz usunąć tą metode logowania? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -2478,6 +2494,18 @@ 153 + + Close Account + Close Account + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance Wygląd (tryb) @@ -2586,7 +2614,7 @@ 35 - + Export Data Eksportuj Dane @@ -2635,7 +2663,7 @@ Okej apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -3154,6 +3182,14 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds Obligacje @@ -3277,6 +3313,10 @@ Creation Creation + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -3315,7 +3355,7 @@ just now apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -5076,7 +5116,7 @@ Globalny apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -6168,7 +6208,7 @@ Dane rynkowe są opóźnione o apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -6192,7 +6232,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 @@ -6469,7 +6509,7 @@ Antywne apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -6477,7 +6517,7 @@ Zamknięte apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 @@ -6565,7 +6605,7 @@ Czy na pewno chcesz zamknąć swoje konto Ghostfolio? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 @@ -6581,7 +6621,7 @@ Strefa Zagrożenia apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -6589,7 +6629,7 @@ Zamknij Konto apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 @@ -6629,7 +6669,7 @@ Ups! Wystąpił błąd podczas konfigurowania uwierzytelniania biometrycznego. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -6677,7 +6717,7 @@ Alternatywa apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -6685,7 +6725,7 @@ Aplikacja apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 @@ -6753,7 +6793,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 @@ -6777,7 +6817,7 @@ Inwestor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -6789,7 +6829,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 @@ -6801,7 +6841,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 @@ -6809,7 +6849,7 @@ Prywatność apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -6817,7 +6857,7 @@ Oprogramowanie apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -6825,7 +6865,7 @@ Narzędzie apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 @@ -6833,7 +6873,7 @@ Doświadczenie Użytkownika apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 @@ -6841,7 +6881,7 @@ Majątek apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -7129,7 +7169,7 @@ has been copied to the clipboard apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -7507,7 +7547,7 @@ Klucz API dostawcy danych Premium Ghostfolio apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -7515,7 +7555,7 @@ Czy na pewno chcesz wygenerować nowy klucz API? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 @@ -7871,7 +7911,7 @@ Token bezpieczeństwa apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -7883,7 +7923,7 @@ Czy napewno chcesz wygenerować nowy token bezpieczeństwa dla tego użytkownika? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 @@ -8093,7 +8133,7 @@ Konto użytkownika demonstracyjnego zostało zsynchronizowane. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf index 870e1f43b..af9f30ed2 100644 --- a/apps/client/src/locales/messages.pt.xlf +++ b/apps/client/src/locales/messages.pt.xlf @@ -185,6 +185,14 @@ 62 + + Copy + Copy + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency Moeda @@ -326,7 +334,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -646,7 +654,7 @@ Deseja realmente eliminar este cupão? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 @@ -654,7 +662,7 @@ Deseja realmente limpar a cache? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 @@ -662,7 +670,7 @@ Por favor, defina a sua mensagem do sistema: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -670,7 +678,7 @@ por Utilizador apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -718,7 +726,7 @@ Adicionar apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -746,7 +754,7 @@ Deseja realmente excluir este utilizador? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -830,7 +838,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -906,7 +914,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -1018,7 +1026,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -1466,7 +1474,7 @@ OK apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -1546,7 +1554,7 @@ Por favor, insira o seu código de cupão: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 @@ -1554,7 +1562,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 - 174 + 172 @@ -1570,7 +1578,7 @@ Código de cupão foi resgatado apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 @@ -1578,7 +1586,7 @@ Atualizar apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -1586,7 +1594,7 @@ Deseja realmente remover este método de início de sessão? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -1709,6 +1717,18 @@ 246 + + Close Account + Close Account + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance Aparência @@ -1781,6 +1801,14 @@ 59 + + The value has been copied to the clipboard + The value has been copied to the clipboard + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access Conceder Acesso @@ -2700,6 +2728,10 @@ Creation Creation + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -3350,7 +3382,7 @@ just now apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -4365,6 +4397,14 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds Obrigações @@ -4989,7 +5029,7 @@ 133 - + Export Data Exportar dados @@ -5636,7 +5676,7 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -6024,7 +6064,7 @@ Você realmente deseja excluir esta mensagem do sistema? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 @@ -6168,7 +6208,7 @@ Dados de mercado estão atrasados para apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -6192,7 +6232,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 @@ -6469,7 +6509,7 @@ Ativo apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -6477,7 +6517,7 @@ Fechado apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 @@ -6565,7 +6605,7 @@ Você realmente deseja encerrar sua conta Ghostfolio? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 @@ -6581,7 +6621,7 @@ Zona de perigo apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -6589,7 +6629,7 @@ Fechar conta apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 @@ -6629,7 +6669,7 @@ Ops! Ocorreu um erro ao configurar a autenticação biométrica. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -6677,7 +6717,7 @@ Alternativo apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -6685,7 +6725,7 @@ Aplicativo apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 @@ -6753,7 +6793,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 @@ -6777,7 +6817,7 @@ Investidor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -6789,7 +6829,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 @@ -6801,7 +6841,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 @@ -6809,7 +6849,7 @@ Privacidade apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -6817,7 +6857,7 @@ Programas apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -6825,7 +6865,7 @@ Ferramenta apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 @@ -6833,7 +6873,7 @@ Experiência do usuário apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 @@ -6841,7 +6881,7 @@ Fortuna apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -7129,7 +7169,7 @@ has been copied to the clipboard apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -7507,7 +7547,7 @@ Chave de API do Provedor de Dados do Ghostfolio Premium apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -7515,7 +7555,7 @@ Você realmente deseja gerar uma nova chave de API? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 @@ -7871,7 +7911,7 @@ Security token apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -7883,7 +7923,7 @@ Do you really want to generate a new security token for this user? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 @@ -8093,7 +8133,7 @@ Demo user account has been synced. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 diff --git a/apps/client/src/locales/messages.tr.xlf b/apps/client/src/locales/messages.tr.xlf index 27559e50d..8514610e5 100644 --- a/apps/client/src/locales/messages.tr.xlf +++ b/apps/client/src/locales/messages.tr.xlf @@ -382,6 +382,14 @@ 62 + + Copy + Copy + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency Para Birimi @@ -507,7 +515,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1055,7 +1063,7 @@ Bu kuponu gerçekten silmek istiyor musunuz? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 @@ -1063,7 +1071,7 @@ Önbelleği temizlemeyi gerçekten istiyor musunuz? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 @@ -1071,7 +1079,7 @@ Lütfen sistem mesajınızı belirleyin: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -1079,7 +1087,7 @@ Kullanıcı başına apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -1151,7 +1159,7 @@ Ekle apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -1271,7 +1279,7 @@ Bu kullanıcıyı silmeyi gerçekten istiyor musunuz? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -1379,7 +1387,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -1455,7 +1463,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -1651,7 +1659,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -2179,7 +2187,7 @@ Tamam apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -2666,6 +2674,14 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds Tahviller @@ -2801,6 +2817,10 @@ Creation Creation + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -2839,7 +2859,7 @@ just now apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -4500,7 +4520,7 @@ Küresel apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -4531,6 +4551,14 @@ 332 + + The value has been copied to the clipboard + The value has been copied to the clipboard + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access Erişim izni ver @@ -4576,7 +4604,7 @@ Lütfen kupon kodunuzu girin: apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 @@ -4584,7 +4612,7 @@ Kupon kodu kullanılamadı apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 174 + 172 @@ -4600,7 +4628,7 @@ Kupon kodu kullanıldı apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 @@ -4608,7 +4636,7 @@ Yeniden Yükle apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -4616,7 +4644,7 @@ Bu giriş yöntemini kaldırmayı gerçekten istiyor musunuz? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -4735,6 +4763,18 @@ 153 + + Close Account + Close Account + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance Görünüm @@ -4831,7 +4871,7 @@ 35 - + Export Data Verileri Dışa Aktar @@ -6024,7 +6064,7 @@ Bu sistem mesajını silmeyi gerçekten istiyor musunuz? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 @@ -6168,7 +6208,7 @@ Piyasa verileri gecikmeli apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -6192,7 +6232,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 @@ -6469,7 +6509,7 @@ Aktif apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -6477,7 +6517,7 @@ Kapalı apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 @@ -6565,7 +6605,7 @@ Ghostfolio hesabınızı kapatmak istediğinize emin misiniz? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 @@ -6581,7 +6621,7 @@ Tehlikeli Alan apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -6589,7 +6629,7 @@ Hesabı Kapat apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 @@ -6629,7 +6669,7 @@ Oops! Biyometrik kimlik doğrulama ayarlanırken bir hata oluştu. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -6677,7 +6717,7 @@ Alternatif apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -6685,7 +6725,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 @@ -6753,7 +6793,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 @@ -6777,7 +6817,7 @@ Yatırımcı apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -6789,7 +6829,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 @@ -6801,7 +6841,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 @@ -6809,7 +6849,7 @@ Gizlilik apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -6817,7 +6857,7 @@ Yazılım apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -6825,7 +6865,7 @@ Araç apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 @@ -6833,7 +6873,7 @@ Kullanıcı Deneyimi apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 @@ -6841,7 +6881,7 @@ Zenginlik apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -7129,7 +7169,7 @@ has been copied to the clipboard apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -7507,7 +7547,7 @@ Ghostfolio Premium Veri Sağlayıcı API Anahtarı apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -7515,7 +7555,7 @@ Yeni bir API anahtarı oluşturmak istediğinize emin misiniz? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 @@ -7871,7 +7911,7 @@ Güvenlik belirteci apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -7883,7 +7923,7 @@ Bu kullanıcı için yeni bir güvenlik belirteci oluşturmak istediğinize emin misiniz? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 @@ -8093,7 +8133,7 @@ Demo kullanıcı hesabı senkronize edildi. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 diff --git a/apps/client/src/locales/messages.uk.xlf b/apps/client/src/locales/messages.uk.xlf index 18eb0ae03..8152c9936 100644 --- a/apps/client/src/locales/messages.uk.xlf +++ b/apps/client/src/locales/messages.uk.xlf @@ -522,6 +522,14 @@ 62 + + Copy + Copy + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency Валюта @@ -647,7 +655,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1327,7 +1335,7 @@ Ви дійсно хочете видалити цей купон? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 @@ -1335,7 +1343,7 @@ Ви дійсно хочете видалити це системне повідомлення? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 @@ -1343,7 +1351,7 @@ Ви дійсно хочете очистити кеш? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 @@ -1351,7 +1359,7 @@ Будь ласка, встановіть ваше системне повідомлення: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -1367,7 +1375,7 @@ на користувача apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -1435,7 +1443,7 @@ Додати apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -1719,7 +1727,7 @@ Ви дійсно хочете видалити цього користувача? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -1815,7 +1823,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -1911,7 +1919,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -2015,7 +2023,7 @@ Активний apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -2023,7 +2031,7 @@ Закритий apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 @@ -2235,7 +2243,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -2283,7 +2291,7 @@ Ринкові дані затримуються для apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -2754,6 +2762,14 @@ 204 + + The value has been copied to the clipboard + The value has been copied to the clipboard + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access Надати доступ @@ -2843,7 +2859,7 @@ ОК apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -2867,7 +2883,7 @@ Ключ API Ghostfolio Premium Data Provider apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -2875,7 +2891,7 @@ Ви дійсно хочете згенерувати новий ключ API? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 @@ -2883,7 +2899,7 @@ Не вдалося обміняти код купона apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 174 + 172 @@ -2899,7 +2915,7 @@ Код купона був обміняний apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 @@ -2907,7 +2923,7 @@ Перезавантажити apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -2915,7 +2931,7 @@ Будь ласка, введіть ваш код купона. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 @@ -2971,7 +2987,7 @@ Ви дійсно хочете закрити ваш обліковий запис Ghostfolio? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 @@ -2987,7 +3003,7 @@ Ви дійсно хочете вилучити цей спосіб входу? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -3003,7 +3019,7 @@ Упс! Виникла помилка під час налаштування біометричної автентифікації. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -3082,6 +3098,18 @@ 153 + + Close Account + Close Account + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance Зовнішній вигляд @@ -3174,7 +3202,7 @@ 255 - + Export Data Експортувати дані @@ -3187,7 +3215,7 @@ Зона небезпеки apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -3195,7 +3223,7 @@ Закрити обліковий запис apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 @@ -3811,6 +3839,14 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds Облігації @@ -3934,6 +3970,10 @@ Creation Створення + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -3972,7 +4012,7 @@ just now apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -5112,7 +5152,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 @@ -5532,7 +5572,7 @@ has been copied to the clipboard apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -5739,7 +5779,7 @@ Глобальний apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -5751,7 +5791,7 @@ Альтернатива apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -5759,7 +5799,7 @@ Додаток apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 @@ -5827,7 +5867,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 @@ -5851,7 +5891,7 @@ Інвестор apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -5863,7 +5903,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 @@ -5875,7 +5915,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 @@ -5883,7 +5923,7 @@ Конфіденційність apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -5891,7 +5931,7 @@ Програмне забезпечення apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -5899,7 +5939,7 @@ Інструмент apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 @@ -5907,7 +5947,7 @@ Користувацький досвід apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 @@ -5915,7 +5955,7 @@ Багатство apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -7871,7 +7911,7 @@ Security token apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -7883,7 +7923,7 @@ Do you really want to generate a new security token for this user? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 @@ -8093,7 +8133,7 @@ Demo user account has been synced. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf index 672554a58..bf7304782 100644 --- a/apps/client/src/locales/messages.xlf +++ b/apps/client/src/locales/messages.xlf @@ -404,6 +404,13 @@ 62 + + Copy + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency @@ -525,7 +532,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1103,28 +1110,28 @@ Do you really want to delete this coupon? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 Do you really want to delete this system message? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 Do you really want to flush the cache? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 Please set your system message: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -1138,7 +1145,7 @@ per User apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -1187,7 +1194,7 @@ Add apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -1337,7 +1344,7 @@ Do you really want to delete this user? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -1435,7 +1442,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -1506,7 +1513,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -1682,7 +1689,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -2130,6 +2137,13 @@ 415 + + The value has been copied to the clipboard + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access @@ -2155,14 +2169,14 @@ Please enter your coupon code. apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 Could not redeem coupon code apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 174 + 172 @@ -2176,14 +2190,14 @@ Coupon code has been redeemed apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 Reload apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -2234,7 +2248,7 @@ Do you really want to remove this sign in method? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -2297,6 +2311,17 @@ 153 + + Close Account + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance @@ -2393,7 +2418,7 @@ 35 - + Export Data apps/client/src/app/components/user-account-settings/user-account-settings.html @@ -2437,7 +2462,7 @@ Okay apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -2925,6 +2950,13 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds @@ -3035,6 +3067,10 @@ Creation + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -3071,7 +3107,7 @@ just now apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -4671,7 +4707,7 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -5632,7 +5668,7 @@ Market data is delayed for apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -5676,7 +5712,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 @@ -5903,14 +5939,14 @@ Closed apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 Active apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -5987,14 +6023,14 @@ Close Account apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 Do you really want to close your Ghostfolio account? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 @@ -6008,7 +6044,7 @@ Danger Zone apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -6043,7 +6079,7 @@ Oops! There was an error setting up biometric authentication. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -6085,7 +6121,7 @@ Wealth apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -6144,7 +6180,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 @@ -6158,28 +6194,28 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 Investor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -6200,7 +6236,7 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -6218,14 +6254,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -6243,14 +6279,14 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -6513,7 +6549,7 @@ has been copied to the clipboard apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -6845,14 +6881,14 @@ Do you really want to generate a new API key? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 Ghostfolio Premium Data Provider API Key apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -7165,14 +7201,14 @@ Do you really want to generate a new security token for this user? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 Security token apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -7349,7 +7385,7 @@ Demo user account has been synced. apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 diff --git a/apps/client/src/locales/messages.zh.xlf b/apps/client/src/locales/messages.zh.xlf index 1537fa141..2230a6f86 100644 --- a/apps/client/src/locales/messages.zh.xlf +++ b/apps/client/src/locales/messages.zh.xlf @@ -431,6 +431,14 @@ 62 + + Copy + Copy + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html + 20 + + Currency 货币 @@ -556,7 +564,7 @@ apps/client/src/app/components/admin-overview/admin-overview.html - 213 + 235 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1168,7 +1176,7 @@ 您确实要删除此优惠券吗? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 226 + 232 @@ -1176,7 +1184,7 @@ 您真的要删除这条系统消息吗? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 239 + 245 @@ -1184,7 +1192,7 @@ 您真的要刷新缓存吗? apps/client/src/app/components/admin-overview/admin-overview.component.ts - 263 + 269 @@ -1192,7 +1200,7 @@ 请设置您的系统消息: apps/client/src/app/components/admin-overview/admin-overview.component.ts - 283 + 289 @@ -1208,7 +1216,7 @@ 每位用户 apps/client/src/app/components/admin-overview/admin-overview.component.ts - 170 + 175 @@ -1264,7 +1272,7 @@ 添加 apps/client/src/app/components/admin-overview/admin-overview.html - 265 + 287 libs/ui/src/lib/account-balances/account-balances.component.html @@ -1432,7 +1440,7 @@ 您真的要删除该用户吗? apps/client/src/app/components/admin-users/admin-users.component.ts - 238 + 244 @@ -1540,7 +1548,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 117 + 123 libs/common/src/lib/routes/routes.ts @@ -1616,7 +1624,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 194 + 203 @@ -1812,7 +1820,7 @@ apps/client/src/app/components/user-account-settings/user-account-settings.html - 303 + 306 apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html @@ -2299,6 +2307,14 @@ 415 + + The value has been copied to the clipboard + The value has been copied to the clipboard + + libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts + 46 + + Grant access 授予访问权限 @@ -2328,7 +2344,7 @@ 请输入您的优惠券代码。 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 210 + 208 @@ -2336,7 +2352,7 @@ 无法兑换优惠券代码 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 174 + 172 @@ -2352,7 +2368,7 @@ 优惠券代码已被兑换 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 187 + 185 @@ -2360,7 +2376,7 @@ 重新加载 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 188 + 186 @@ -2416,7 +2432,7 @@ 您确实要删除此登录方法吗? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 282 + 291 @@ -2487,6 +2503,18 @@ 153 + + Close Account + Close Account + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 337 + + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 345 + + Appearance 外观 @@ -2595,7 +2623,7 @@ 35 - + Export Data 导出数据 @@ -2644,7 +2672,7 @@ 好的 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 149 + 150 apps/client/src/app/core/http-response.interceptor.ts @@ -3163,6 +3191,14 @@ 25 + + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + For security reasons, please delete all activities and accounts first before your Ghostfolio account can be closed. + + apps/client/src/app/components/user-account-settings/user-account-settings.html + 348 + + Bonds 债券 @@ -3286,6 +3322,10 @@ Creation Creation + + apps/client/src/app/components/admin-overview/admin-overview.html + 185 + apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html 145 @@ -3324,7 +3364,7 @@ just now apps/client/src/app/components/admin-users/admin-users.component.ts - 211 + 217 @@ -5105,7 +5145,7 @@ 全球的 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 54 + 59 libs/ui/src/lib/i18n.ts @@ -6169,7 +6209,7 @@ 市场数据延迟 apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts - 92 + 103 @@ -6217,7 +6257,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 112 + 118 @@ -6470,7 +6510,7 @@ 已关闭 apps/client/src/app/components/home-holdings/home-holdings.component.ts - 62 + 64 @@ -6478,7 +6518,7 @@ 活跃 apps/client/src/app/components/home-holdings/home-holdings.component.ts - 61 + 63 @@ -6566,7 +6606,7 @@ 您确定要关闭您的 Ghostfolio 账户吗? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 208 + 217 @@ -6582,7 +6622,7 @@ 危险区域 apps/client/src/app/components/user-account-settings/user-account-settings.html - 296 + 293 @@ -6590,7 +6630,7 @@ 关闭账户 apps/client/src/app/components/user-account-settings/user-account-settings.html - 333 + 353 @@ -6630,7 +6670,7 @@ 哎呀!设置生物识别认证时发生错误。 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts - 331 + 340 @@ -6678,7 +6718,7 @@ 另类 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 108 + 114 @@ -6686,7 +6726,7 @@ 应用 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 109 + 115 @@ -6754,7 +6794,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 110 + 116 @@ -6778,7 +6818,7 @@ 投资者 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 113 + 119 @@ -6790,7 +6830,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 114 + 120 @@ -6802,7 +6842,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 116 + 122 @@ -6810,7 +6850,7 @@ 隐私 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 118 + 124 @@ -6818,7 +6858,7 @@ 软件 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 119 + 125 @@ -6826,7 +6866,7 @@ 工具 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 120 + 126 @@ -6834,7 +6874,7 @@ 用户体验 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 121 + 127 @@ -6842,7 +6882,7 @@ 财富 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 122 + 128 @@ -7130,7 +7170,7 @@ has been copied to the clipboard apps/client/src/app/components/admin-overview/admin-overview.component.ts - 382 + 388 libs/ui/src/lib/value/value.component.ts @@ -7508,7 +7548,7 @@ Ghostfolio Premium 数据提供者 API 密钥 apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 154 + 152 @@ -7516,7 +7556,7 @@ 您确定要生成新的 API 密钥吗? apps/client/src/app/components/user-account-membership/user-account-membership.component.ts - 159 + 157 @@ -7872,7 +7912,7 @@ 安全令牌 apps/client/src/app/components/admin-users/admin-users.component.ts - 258 + 264 apps/client/src/app/components/user-account-access/user-account-access.component.ts @@ -7884,7 +7924,7 @@ 您确定要为此用户生成新的安全令牌吗? apps/client/src/app/components/admin-users/admin-users.component.ts - 263 + 269 @@ -8094,7 +8134,7 @@ 演示用户账户已同步。 apps/client/src/app/components/admin-overview/admin-overview.component.ts - 307 + 313 diff --git a/libs/common/src/lib/helper.ts b/libs/common/src/lib/helper.ts index f9dcd52cf..42aec19ac 100644 --- a/libs/common/src/lib/helper.ts +++ b/libs/common/src/lib/helper.ts @@ -1,10 +1,10 @@ import { NumberParser } from '@internationalized/number'; import { Type as ActivityType, + AssetProfileOverrides, MarketData, Prisma, - SymbolProfile, - SymbolProfileOverrides + SymbolProfile } from '@prisma/client'; import { Big } from 'big.js'; import { isISO4217CurrencyCode } from 'class-validator'; @@ -56,7 +56,7 @@ export const DATE_FORMAT_YEARLY = 'yyyy'; export function applyAssetProfileOverrides>( assetProfile: T, - assetProfileOverrides: SymbolProfileOverrides | null + assetProfileOverrides: AssetProfileOverrides | null ): T { if (!assetProfileOverrides) { return assetProfile; diff --git a/libs/common/src/lib/interfaces/coupon.interface.ts b/libs/common/src/lib/interfaces/coupon.interface.ts index cbf8525a2..0ee1ddb24 100644 --- a/libs/common/src/lib/interfaces/coupon.interface.ts +++ b/libs/common/src/lib/interfaces/coupon.interface.ts @@ -2,5 +2,6 @@ import { StringValue } from 'ms'; export interface Coupon { code: string; - duration?: StringValue; + createdAt: string; + duration: StringValue; } diff --git a/libs/common/src/lib/permissions.ts b/libs/common/src/lib/permissions.ts index f9cb19562..428de1788 100644 --- a/libs/common/src/lib/permissions.ts +++ b/libs/common/src/lib/permissions.ts @@ -50,6 +50,7 @@ export const permissions = { readTags: 'readTags', readWatchlist: 'readWatchlist', reportDataGlitch: 'reportDataGlitch', + requestOwnUserDeletion: 'requestOwnUserDeletion', syncDemoUserAccount: 'syncDemoUserAccount', toggleReadOnlyMode: 'toggleReadOnlyMode', updateAccount: 'updateAccount', diff --git a/libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts b/libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts index 3dbe70387..16fb4b47b 100644 --- a/libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts +++ b/libs/ui/src/lib/notifications/alert-dialog/alert-dialog.component.ts @@ -1,6 +1,9 @@ +import { Clipboard } from '@angular/cdk/clipboard'; import { ChangeDetectionStrategy, Component, inject } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MatDialogModule, MatDialogRef } from '@angular/material/dialog'; +import { MatSnackBar } from '@angular/material/snack-bar'; +import ms from 'ms'; import { AlertDialogParams } from './interfaces/interfaces'; @@ -12,6 +15,7 @@ import { AlertDialogParams } from './interfaces/interfaces'; templateUrl: './alert-dialog.html' }) export class GfAlertDialogComponent { + public copyValue?: string; public discardLabel: string; public message?: string; public title: string; @@ -19,9 +23,32 @@ export class GfAlertDialogComponent { protected readonly dialogRef = inject>(MatDialogRef); - public initialize({ discardLabel, message, title }: AlertDialogParams) { + private readonly clipboard = inject(Clipboard); + private readonly snackBar = inject(MatSnackBar); + + public initialize({ + copyValue, + discardLabel, + message, + title + }: AlertDialogParams) { + this.copyValue = copyValue; this.discardLabel = discardLabel; this.message = message; this.title = title; } + + public onCopyToClipboard() { + if (this.copyValue) { + this.clipboard.copy(this.copyValue); + + this.snackBar.open( + '✅ ' + $localize`The value has been copied to the clipboard`, + undefined, + { + duration: ms('3 seconds') + } + ); + } + } } diff --git a/libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html b/libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html index 6602078d3..f690a8e5d 100644 --- a/libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html +++ b/libs/ui/src/lib/notifications/alert-dialog/alert-dialog.html @@ -2,10 +2,22 @@
} -@if (message) { -
+@if (message || copyValue) { +
+ @if (message) { +
+ } + @if (copyValue) { +
{{ copyValue }}
+ } +
}
+ @if (copyValue) { + + }
diff --git a/libs/ui/src/lib/notifications/alert-dialog/interfaces/interfaces.ts b/libs/ui/src/lib/notifications/alert-dialog/interfaces/interfaces.ts index fa330c463..7b2c16e52 100644 --- a/libs/ui/src/lib/notifications/alert-dialog/interfaces/interfaces.ts +++ b/libs/ui/src/lib/notifications/alert-dialog/interfaces/interfaces.ts @@ -1,4 +1,5 @@ export interface AlertDialogParams { + copyValue?: string; discardLabel: string; message?: string; title: string; diff --git a/libs/ui/src/lib/notifications/interfaces/interfaces.ts b/libs/ui/src/lib/notifications/interfaces/interfaces.ts index 071597691..dcea7d53c 100644 --- a/libs/ui/src/lib/notifications/interfaces/interfaces.ts +++ b/libs/ui/src/lib/notifications/interfaces/interfaces.ts @@ -1,6 +1,7 @@ import { ConfirmationDialogType } from '@ghostfolio/common/enums'; export interface AlertParams { + copyValue?: string; discardFn?: () => void; discardLabel?: string; message?: string; diff --git a/libs/ui/src/lib/notifications/notification.service.ts b/libs/ui/src/lib/notifications/notification.service.ts index b9a2562f7..389f52180 100644 --- a/libs/ui/src/lib/notifications/notification.service.ts +++ b/libs/ui/src/lib/notifications/notification.service.ts @@ -31,6 +31,7 @@ export class NotificationService { }); dialog.componentInstance.initialize({ + copyValue: aParams.copyValue, discardLabel: aParams.discardLabel, message: aParams.message, title: aParams.title diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 233a63688..733399506 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -90,6 +90,21 @@ model ApiKey { @@index([userId]) } +model AssetProfileOverrides { + assetClass AssetClass? + assetSubClass AssetSubClass? + countries Json? @default("[]") + holdings Json? @default("[]") + name String? + sectors Json? @default("[]") + symbolProfile SymbolProfile @relation(fields: [symbolProfileId], onDelete: Cascade, references: [id]) + symbolProfileId String @id + updatedAt DateTime @updatedAt + url String? + + @@map("SymbolProfileOverrides") +} + model AssetProfileResolution { createdAt DateTime @default(now()) currency String @@ -187,32 +202,32 @@ model Settings { model SymbolProfile { activities Order[] assetClass AssetClass? + assetProfileOverrides AssetProfileOverrides? assetSubClass AssetSubClass? comment String? countries Json? - createdAt DateTime @default(now()) + createdAt DateTime @default(now()) currency String cusip String? - dataGatheringFrequency DataGatheringFrequency @default(DAILY) + dataGatheringFrequency DataGatheringFrequency @default(DAILY) dataSource DataSource figi String? figiComposite String? figiShareClass String? - holdings Json? @default("[]") - id String @id @default(uuid()) - isActive Boolean @default(true) + holdings Json? @default("[]") + id String @id @default(uuid()) + isActive Boolean @default(true) isin String? name String? - updatedAt DateTime @updatedAt scraperConfiguration Json? sectors Json? symbol String symbolMapping Json? + updatedAt DateTime @updatedAt url String? - user User? @relation(fields: [userId], onDelete: Cascade, references: [id]) + user User? @relation(fields: [userId], onDelete: Cascade, references: [id]) userId String? - watchedBy User[] @relation("UserWatchlist") - SymbolProfileOverrides SymbolProfileOverrides? + watchedBy User[] @relation("UserWatchlist") @@unique([dataSource, symbol]) @@index([assetClass]) @@ -226,19 +241,6 @@ model SymbolProfile { @@index([symbol]) } -model SymbolProfileOverrides { - assetClass AssetClass? - assetSubClass AssetSubClass? - countries Json? @default("[]") - holdings Json? @default("[]") - name String? - sectors Json? @default("[]") - symbolProfileId String @id - updatedAt DateTime @updatedAt - url String? - SymbolProfile SymbolProfile @relation(fields: [symbolProfileId], onDelete: Cascade, references: [id]) -} - model Subscription { createdAt DateTime @default(now()) expiresAt DateTime diff --git a/skills-lock.json b/skills-lock.json index 0ecf51f96..06bf64189 100644 --- a/skills-lock.json +++ b/skills-lock.json @@ -7,6 +7,12 @@ "skillPath": "angular-developer/SKILL.md", "computedHash": "28eb592b92e5a24c4e3a1c0229a854069f0b8c49bed7b8d2bf6b852812dbe214" }, + "karpathy-guidelines": { + "source": "multica-ai/andrej-karpathy-skills", + "sourceType": "github", + "skillPath": "skills/karpathy-guidelines/SKILL.md", + "computedHash": "41e8ca055bbde13d240776a14a076a59614057200340c243130a76ba4e64cac8" + }, "nestjs-best-practices": { "source": "kadajett/agent-nestjs-skills", "sourceType": "github",