Browse Source

Merge branch 'main' into feature/upgrade-stripe-dependencies-20250504

pull/4662/head
Thomas Kaul 3 months ago
committed by GitHub
parent
commit
fbd274bdc4
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 32
      CHANGELOG.md
  2. 9
      apps/api/src/app/admin/admin.controller.ts
  3. 2
      apps/api/src/app/admin/admin.module.ts
  4. 8
      apps/api/src/app/app.module.ts
  5. 13
      apps/api/src/app/portfolio/portfolio.service.ts
  6. 6
      apps/api/src/app/user/user.service.ts
  7. 736
      apps/api/src/assets/cryptocurrencies/cryptocurrencies.json
  8. 23
      apps/api/src/services/cron/cron.module.ts
  9. 15
      apps/api/src/services/cron/cron.service.ts
  10. 13
      apps/api/src/services/demo/demo.module.ts
  11. 59
      apps/api/src/services/demo/demo.service.ts
  12. 8
      apps/api/src/services/tag/tag.service.ts
  13. 2
      apps/client/src/app/app.component.html
  14. 6
      apps/client/src/app/app.component.scss
  15. 25
      apps/client/src/app/components/admin-overview/admin-overview.component.ts
  16. 21
      apps/client/src/app/components/admin-overview/admin-overview.html
  17. 2
      apps/client/src/app/components/admin-overview/admin-overview.module.ts
  18. 7
      apps/client/src/app/components/admin-settings/admin-settings.component.html
  19. 13
      apps/client/src/app/components/admin-settings/admin-settings.component.scss
  20. 21
      apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts
  21. 8
      apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
  22. 6
      apps/client/src/app/components/home-market/home-market.html
  23. 15
      apps/client/src/app/pages/faq/overview/faq-overview-page.html
  24. 37
      apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts
  25. 3
      apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
  26. 8
      apps/client/src/app/pages/webauthn/webauthn-page.html
  27. 4
      apps/client/src/app/services/admin.service.ts
  28. 72
      apps/client/src/locales/messages.ca.xlf
  29. 46
      apps/client/src/locales/messages.de.xlf
  30. 84
      apps/client/src/locales/messages.es.xlf
  31. 44
      apps/client/src/locales/messages.fr.xlf
  32. 44
      apps/client/src/locales/messages.it.xlf
  33. 44
      apps/client/src/locales/messages.nl.xlf
  34. 62
      apps/client/src/locales/messages.pl.xlf
  35. 44
      apps/client/src/locales/messages.pt.xlf
  36. 52
      apps/client/src/locales/messages.tr.xlf
  37. 50
      apps/client/src/locales/messages.uk.xlf
  38. 42
      apps/client/src/locales/messages.xlf
  39. 44
      apps/client/src/locales/messages.zh.xlf
  40. 6
      libs/common/src/lib/config.ts
  41. 2
      libs/common/src/lib/interfaces/responses/portfolio-holding-response.interface.ts
  42. 1
      libs/common/src/lib/permissions.ts
  43. 30
      package-lock.json
  44. 6
      package.json
  45. 10
      prisma/schema.prisma

32
CHANGELOG.md

@ -7,12 +7,42 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased ## Unreleased
### Added
- Added support to create custom tags in the create or update activity dialog (experimental)
### Changed ### Changed
- Improved the language localization for Dutch (`nl`) - Improved the style of the system message
- Improved the language localization for German (`de`)
- Improved the language localization for Turkish (`tr`)
- Improved the language localization for Ukrainian (`uk`)
- Upgraded the _Stripe_ dependencies - Upgraded the _Stripe_ dependencies
- Upgraded `ngx-stripe` from version `19.0.0` to `19.7.0` - Upgraded `ngx-stripe` from version `19.0.0` to `19.7.0`
## 2.165.0 - 2025-05-31
### Added
- Extended the content of the _General_ section by the performance calculation method on the Frequently Asked Questions (FAQ) page
### Changed
- Improved the _Live Demo_ setup by syncing activities based on tags
- Renamed `orders` to `activities` in the `Tag` database schema
- Modularized the cron service
- Refreshed the cryptocurrencies list
- Improved the language localization for Catalan (`ca`)
- Improved the language localization for Dutch (`nl`)
- Improved the language localization for Polish (`pl`)
- Improved the language localization for Spanish (`es`)
- Upgraded `big.js` from version `6.2.2` to `7.0.1`
- Upgraded `ng-extract-i18n-merge` from version `2.14.3` to `2.15.0`
### Fixed
- Changed the investment value to take the currency effects into account in the holding detail dialog
## 2.164.0 - 2025-05-28 ## 2.164.0 - 2025-05-28
### Changed ### Changed

9
apps/api/src/app/admin/admin.controller.ts

@ -3,6 +3,7 @@ import { HasPermissionGuard } from '@ghostfolio/api/guards/has-permission.guard'
import { TransformDataSourceInRequestInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.interceptor'; import { TransformDataSourceInRequestInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.interceptor';
import { ApiService } from '@ghostfolio/api/services/api/api.service'; import { ApiService } from '@ghostfolio/api/services/api/api.service';
import { ManualService } from '@ghostfolio/api/services/data-provider/manual/manual.service'; import { ManualService } from '@ghostfolio/api/services/data-provider/manual/manual.service';
import { DemoService } from '@ghostfolio/api/services/demo/demo.service';
import { PropertyDto } from '@ghostfolio/api/services/property/property.dto'; import { PropertyDto } from '@ghostfolio/api/services/property/property.dto';
import { DataGatheringService } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.service'; import { DataGatheringService } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.service';
import { import {
@ -55,6 +56,7 @@ export class AdminController {
private readonly adminService: AdminService, private readonly adminService: AdminService,
private readonly apiService: ApiService, private readonly apiService: ApiService,
private readonly dataGatheringService: DataGatheringService, private readonly dataGatheringService: DataGatheringService,
private readonly demoService: DemoService,
private readonly manualService: ManualService, private readonly manualService: ManualService,
@Inject(REQUEST) private readonly request: RequestWithUser @Inject(REQUEST) private readonly request: RequestWithUser
) {} ) {}
@ -66,6 +68,13 @@ export class AdminController {
return this.adminService.get({ user: this.request.user }); return this.adminService.get({ user: this.request.user });
} }
@Get('demo-user/sync')
@HasPermission(permissions.syncDemoUserAccount)
@UseGuards(AuthGuard('jwt'), HasPermissionGuard)
public async syncDemoUserAccount(): Promise<Prisma.BatchPayload> {
return this.demoService.syncDemoUserAccount();
}
@HasPermission(permissions.accessAdminControl) @HasPermission(permissions.accessAdminControl)
@Post('gather') @Post('gather')
@UseGuards(AuthGuard('jwt'), HasPermissionGuard) @UseGuards(AuthGuard('jwt'), HasPermissionGuard)

2
apps/api/src/app/admin/admin.module.ts

@ -4,6 +4,7 @@ import { ApiModule } from '@ghostfolio/api/services/api/api.module';
import { BenchmarkModule } from '@ghostfolio/api/services/benchmark/benchmark.module'; import { BenchmarkModule } from '@ghostfolio/api/services/benchmark/benchmark.module';
import { ConfigurationModule } from '@ghostfolio/api/services/configuration/configuration.module'; import { ConfigurationModule } from '@ghostfolio/api/services/configuration/configuration.module';
import { DataProviderModule } from '@ghostfolio/api/services/data-provider/data-provider.module'; import { DataProviderModule } from '@ghostfolio/api/services/data-provider/data-provider.module';
import { DemoModule } from '@ghostfolio/api/services/demo/demo.module';
import { ExchangeRateDataModule } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.module'; import { ExchangeRateDataModule } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.module';
import { MarketDataModule } from '@ghostfolio/api/services/market-data/market-data.module'; import { MarketDataModule } from '@ghostfolio/api/services/market-data/market-data.module';
import { PrismaModule } from '@ghostfolio/api/services/prisma/prisma.module'; import { PrismaModule } from '@ghostfolio/api/services/prisma/prisma.module';
@ -24,6 +25,7 @@ import { QueueModule } from './queue/queue.module';
ConfigurationModule, ConfigurationModule,
DataGatheringModule, DataGatheringModule,
DataProviderModule, DataProviderModule,
DemoModule,
ExchangeRateDataModule, ExchangeRateDataModule,
MarketDataModule, MarketDataModule,
OrderModule, OrderModule,

8
apps/api/src/app/app.module.ts

@ -1,13 +1,12 @@
import { EventsModule } from '@ghostfolio/api/events/events.module'; import { EventsModule } from '@ghostfolio/api/events/events.module';
import { ConfigurationModule } from '@ghostfolio/api/services/configuration/configuration.module'; import { ConfigurationModule } from '@ghostfolio/api/services/configuration/configuration.module';
import { CronService } from '@ghostfolio/api/services/cron.service'; import { CronModule } from '@ghostfolio/api/services/cron/cron.module';
import { DataProviderModule } from '@ghostfolio/api/services/data-provider/data-provider.module'; import { DataProviderModule } from '@ghostfolio/api/services/data-provider/data-provider.module';
import { ExchangeRateDataModule } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.module'; import { ExchangeRateDataModule } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.module';
import { PrismaModule } from '@ghostfolio/api/services/prisma/prisma.module'; import { PrismaModule } from '@ghostfolio/api/services/prisma/prisma.module';
import { PropertyModule } from '@ghostfolio/api/services/property/property.module'; import { PropertyModule } from '@ghostfolio/api/services/property/property.module';
import { DataGatheringModule } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.module'; import { DataGatheringModule } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.module';
import { PortfolioSnapshotQueueModule } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.module'; import { PortfolioSnapshotQueueModule } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.module';
import { TwitterBotModule } from '@ghostfolio/api/services/twitter-bot/twitter-bot.module';
import { import {
DEFAULT_LANGUAGE_CODE, DEFAULT_LANGUAGE_CODE,
SUPPORTED_LANGUAGE_CODES SUPPORTED_LANGUAGE_CODES
@ -78,6 +77,7 @@ import { UserModule } from './user/user.module';
CacheModule, CacheModule,
ConfigModule.forRoot(), ConfigModule.forRoot(),
ConfigurationModule, ConfigurationModule,
CronModule,
DataGatheringModule, DataGatheringModule,
DataProviderModule, DataProviderModule,
EventEmitterModule.forRoot(), EventEmitterModule.forRoot(),
@ -128,10 +128,8 @@ import { UserModule } from './user/user.module';
SubscriptionModule, SubscriptionModule,
SymbolModule, SymbolModule,
TagsModule, TagsModule,
TwitterBotModule,
UserModule, UserModule,
WatchlistModule WatchlistModule
], ]
providers: [CronService]
}) })
export class AppModule {} export class AppModule {}

13
apps/api/src/app/portfolio/portfolio.service.ts

@ -31,7 +31,7 @@ import {
} from '@ghostfolio/common/calculation-helper'; } from '@ghostfolio/common/calculation-helper';
import { import {
DEFAULT_CURRENCY, DEFAULT_CURRENCY,
EMERGENCY_FUND_TAG_ID, TAG_ID_EMERGENCY_FUND,
UNKNOWN_KEY UNKNOWN_KEY
} from '@ghostfolio/common/config'; } from '@ghostfolio/common/config';
import { DATE_FORMAT, getSum, parseDate } from '@ghostfolio/common/helper'; import { DATE_FORMAT, getSum, parseDate } from '@ghostfolio/common/helper';
@ -564,7 +564,7 @@ export class PortfolioService {
if ( if (
filters?.length === 1 && filters?.length === 1 &&
filters[0].id === EMERGENCY_FUND_TAG_ID && filters[0].id === TAG_ID_EMERGENCY_FUND &&
filters[0].type === 'TAG' filters[0].type === 'TAG'
) { ) {
const emergencyFundCashPositions = await this.getCashPositions({ const emergencyFundCashPositions = await this.getCashPositions({
@ -663,7 +663,7 @@ export class PortfolioService {
grossPerformancePercentWithCurrencyEffect: undefined, grossPerformancePercentWithCurrencyEffect: undefined,
grossPerformanceWithCurrencyEffect: undefined, grossPerformanceWithCurrencyEffect: undefined,
historicalData: [], historicalData: [],
investment: undefined, investmentInBaseCurrencyWithCurrencyEffect: undefined,
marketPrice: undefined, marketPrice: undefined,
marketPriceMax: undefined, marketPriceMax: undefined,
marketPriceMin: undefined, marketPriceMin: undefined,
@ -853,7 +853,8 @@ export class PortfolioService {
grossPerformanceWithCurrencyEffect: grossPerformanceWithCurrencyEffect:
position.grossPerformanceWithCurrencyEffect?.toNumber(), position.grossPerformanceWithCurrencyEffect?.toNumber(),
historicalData: historicalDataArray, historicalData: historicalDataArray,
investment: position.investment?.toNumber(), investmentInBaseCurrencyWithCurrencyEffect:
position.investmentWithCurrencyEffect?.toNumber(),
netPerformance: position.netPerformance?.toNumber(), netPerformance: position.netPerformance?.toNumber(),
netPerformancePercent: position.netPerformancePercentage?.toNumber(), netPerformancePercent: position.netPerformancePercentage?.toNumber(),
netPerformancePercentWithCurrencyEffect: netPerformancePercentWithCurrencyEffect:
@ -952,7 +953,7 @@ export class PortfolioService {
grossPerformancePercentWithCurrencyEffect: undefined, grossPerformancePercentWithCurrencyEffect: undefined,
grossPerformanceWithCurrencyEffect: undefined, grossPerformanceWithCurrencyEffect: undefined,
historicalData: historicalDataArray, historicalData: historicalDataArray,
investment: 0, investmentInBaseCurrencyWithCurrencyEffect: 0,
netPerformance: undefined, netPerformance: undefined,
netPerformancePercent: undefined, netPerformancePercent: undefined,
netPerformancePercentWithCurrencyEffect: undefined, netPerformancePercentWithCurrencyEffect: undefined,
@ -1654,7 +1655,7 @@ export class PortfolioService {
const emergencyFundHoldings = Object.values(holdings).filter(({ tags }) => { const emergencyFundHoldings = Object.values(holdings).filter(({ tags }) => {
return ( return (
tags?.some(({ id }) => { tags?.some(({ id }) => {
return id === EMERGENCY_FUND_TAG_ID; return id === TAG_ID_EMERGENCY_FUND;
}) ?? false }) ?? false
); );
}); });

6
apps/api/src/app/user/user.service.ts

@ -411,6 +411,10 @@ export class UserService {
user.subscription.offer.durationExtension = undefined; user.subscription.offer.durationExtension = undefined;
user.subscription.offer.label = undefined; user.subscription.offer.label = undefined;
} }
if (hasRole(user, Role.ADMIN)) {
currentPermissions.push(permissions.syncDemoUserAccount);
}
} }
if (this.configurationService.get('ENABLE_FEATURE_READ_ONLY_MODE')) { if (this.configurationService.get('ENABLE_FEATURE_READ_ONLY_MODE')) {
@ -433,7 +437,7 @@ export class UserService {
} }
} }
if (!environment.production && role === 'ADMIN') { if (!environment.production && hasRole(user, Role.ADMIN)) {
currentPermissions.push(permissions.impersonateAllUsers); currentPermissions.push(permissions.impersonateAllUsers);
} }

736
apps/api/src/assets/cryptocurrencies/cryptocurrencies.json

File diff suppressed because it is too large

23
apps/api/src/services/cron/cron.module.ts

@ -0,0 +1,23 @@
import { UserModule } from '@ghostfolio/api/app/user/user.module';
import { ConfigurationModule } from '@ghostfolio/api/services/configuration/configuration.module';
import { ExchangeRateDataModule } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.module';
import { PropertyModule } from '@ghostfolio/api/services/property/property.module';
import { DataGatheringModule } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.module';
import { TwitterBotModule } from '@ghostfolio/api/services/twitter-bot/twitter-bot.module';
import { Module } from '@nestjs/common';
import { CronService } from './cron.service';
@Module({
imports: [
ConfigurationModule,
DataGatheringModule,
ExchangeRateDataModule,
PropertyModule,
TwitterBotModule,
UserModule
],
providers: [CronService]
})
export class CronModule {}

15
apps/api/src/services/cron.service.ts → apps/api/src/services/cron/cron.service.ts

@ -1,4 +1,9 @@
import { UserService } from '@ghostfolio/api/app/user/user.service'; import { UserService } from '@ghostfolio/api/app/user/user.service';
import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service';
import { PropertyService } from '@ghostfolio/api/services/property/property.service';
import { DataGatheringService } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.service';
import { TwitterBotService } from '@ghostfolio/api/services/twitter-bot/twitter-bot.service';
import { import {
DATA_GATHERING_QUEUE_PRIORITY_LOW, DATA_GATHERING_QUEUE_PRIORITY_LOW,
GATHER_ASSET_PROFILE_PROCESS_JOB_NAME, GATHER_ASSET_PROFILE_PROCESS_JOB_NAME,
@ -10,12 +15,6 @@ import { getAssetProfileIdentifier } from '@ghostfolio/common/helper';
import { Injectable } from '@nestjs/common'; import { Injectable } from '@nestjs/common';
import { Cron, CronExpression } from '@nestjs/schedule'; import { Cron, CronExpression } from '@nestjs/schedule';
import { ConfigurationService } from './configuration/configuration.service';
import { ExchangeRateDataService } from './exchange-rate-data/exchange-rate-data.service';
import { PropertyService } from './property/property.service';
import { DataGatheringService } from './queues/data-gathering/data-gathering.service';
import { TwitterBotService } from './twitter-bot/twitter-bot.service';
@Injectable() @Injectable()
export class CronService { export class CronService {
private static readonly EVERY_SUNDAY_AT_LUNCH_TIME = '0 12 * * 0'; private static readonly EVERY_SUNDAY_AT_LUNCH_TIME = '0 12 * * 0';
@ -43,7 +42,9 @@ export class CronService {
@Cron(CronExpression.EVERY_DAY_AT_5PM) @Cron(CronExpression.EVERY_DAY_AT_5PM)
public async runEveryDayAtFivePm() { public async runEveryDayAtFivePm() {
this.twitterBotService.tweetFearAndGreedIndex(); if (this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) {
this.twitterBotService.tweetFearAndGreedIndex();
}
} }
@Cron(CronExpression.EVERY_DAY_AT_MIDNIGHT) @Cron(CronExpression.EVERY_DAY_AT_MIDNIGHT)

13
apps/api/src/services/demo/demo.module.ts

@ -0,0 +1,13 @@
import { PrismaModule } from '@ghostfolio/api/services/prisma/prisma.module';
import { PropertyModule } from '@ghostfolio/api/services/property/property.module';
import { Module } from '@nestjs/common';
import { DemoService } from './demo.service';
@Module({
exports: [DemoService],
imports: [PrismaModule, PropertyModule],
providers: [DemoService]
})
export class DemoModule {}

59
apps/api/src/services/demo/demo.service.ts

@ -0,0 +1,59 @@
import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service';
import { PropertyService } from '@ghostfolio/api/services/property/property.service';
import {
PROPERTY_DEMO_ACCOUNT_ID,
PROPERTY_DEMO_USER_ID,
TAG_ID_DEMO
} from '@ghostfolio/common/config';
import { Injectable } from '@nestjs/common';
import { v4 as uuidv4 } from 'uuid';
@Injectable()
export class DemoService {
public constructor(
private readonly prismaService: PrismaService,
private readonly propertyService: PropertyService
) {}
public async syncDemoUserAccount() {
const [demoAccountId, demoUserId] = (await Promise.all([
this.propertyService.getByKey(PROPERTY_DEMO_ACCOUNT_ID),
this.propertyService.getByKey(PROPERTY_DEMO_USER_ID)
])) as [string, string];
let activities = await this.prismaService.order.findMany({
orderBy: {
date: 'asc'
},
where: {
tags: {
some: {
id: TAG_ID_DEMO
}
}
}
});
activities = activities.map((activity) => {
return {
...activity,
accountId: demoAccountId,
accountUserId: demoUserId,
comment: null,
id: uuidv4(),
userId: demoUserId
};
});
await this.prismaService.order.deleteMany({
where: {
userId: demoUserId
}
});
return this.prismaService.order.createMany({
data: activities
});
}
}

8
apps/api/src/services/tag/tag.service.ts

@ -52,7 +52,7 @@ export class TagService {
include: { include: {
_count: { _count: {
select: { select: {
orders: { activities: {
where: { where: {
userId userId
} }
@ -79,7 +79,7 @@ export class TagService {
id, id,
name, name,
userId, userId,
isUsed: _count.orders > 0 isUsed: _count.activities > 0
})); }));
} }
@ -87,7 +87,7 @@ export class TagService {
const tagsWithOrderCount = await this.prismaService.tag.findMany({ const tagsWithOrderCount = await this.prismaService.tag.findMany({
include: { include: {
_count: { _count: {
select: { orders: true } select: { activities: true }
} }
} }
}); });
@ -97,7 +97,7 @@ export class TagService {
id, id,
name, name,
userId, userId,
activityCount: _count.orders activityCount: _count.activities
}; };
}); });
} }

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

@ -10,7 +10,7 @@
(click)="onCreateAccount()" (click)="onCreateAccount()"
> >
<span i18n>You are using the Live Demo.</span> <span i18n>You are using the Live Demo.</span>
<span class="a ml-2" i18n>Create Account</span> <span class="a ml-2 p-1" i18n>Create Account</span>
</div></a </div></a
> >
} }

6
apps/client/src/app/app.component.scss

@ -15,12 +15,14 @@
z-index: 999; z-index: 999;
.info-message { .info-message {
color: rgba(var(--palette-foreground-text), 1); color: rgba(var(--light-primary-text));
font-size: 80%; font-size: 80%;
font-weight: 500;
max-width: 100%; max-width: 100%;
.a { .a {
font-weight: 500; border: 1px solid rgba(var(--light-primary-text));
border-radius: 0.25rem;
} }
} }
} }

25
apps/client/src/app/components/admin-overview/admin-overview.component.ts

@ -22,12 +22,13 @@ import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
import { MatSlideToggleChange } from '@angular/material/slide-toggle'; import { MatSlideToggleChange } from '@angular/material/slide-toggle';
import { MatSnackBar } from '@angular/material/snack-bar';
import { import {
differenceInSeconds, differenceInSeconds,
formatDistanceToNowStrict, formatDistanceToNowStrict,
parseISO parseISO
} from 'date-fns'; } from 'date-fns';
import { StringValue } from 'ms'; import ms, { StringValue } from 'ms';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators'; import { takeUntil } from 'rxjs/operators';
@ -42,6 +43,7 @@ export class AdminOverviewComponent implements OnDestroy, OnInit {
public coupons: Coupon[]; public coupons: Coupon[];
public hasPermissionForSubscription: boolean; public hasPermissionForSubscription: boolean;
public hasPermissionForSystemMessage: boolean; public hasPermissionForSystemMessage: boolean;
public hasPermissionToSyncDemoUserAccount: boolean;
public hasPermissionToToggleReadOnlyMode: boolean; public hasPermissionToToggleReadOnlyMode: boolean;
public info: InfoItem; public info: InfoItem;
public isDataGatheringEnabled: boolean; public isDataGatheringEnabled: boolean;
@ -60,6 +62,7 @@ export class AdminOverviewComponent implements OnDestroy, OnInit {
private changeDetectorRef: ChangeDetectorRef, private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService, private dataService: DataService,
private notificationService: NotificationService, private notificationService: NotificationService,
private snackBar: MatSnackBar,
private userService: UserService private userService: UserService
) { ) {
this.info = this.dataService.fetchInfo(); this.info = this.dataService.fetchInfo();
@ -80,6 +83,11 @@ export class AdminOverviewComponent implements OnDestroy, OnInit {
permissions.enableSystemMessage permissions.enableSystemMessage
); );
this.hasPermissionToSyncDemoUserAccount = hasPermission(
this.user.permissions,
permissions.syncDemoUserAccount
);
this.hasPermissionToToggleReadOnlyMode = hasPermission( this.hasPermissionToToggleReadOnlyMode = hasPermission(
this.user.permissions, this.user.permissions,
permissions.toggleReadOnlyMode permissions.toggleReadOnlyMode
@ -206,6 +214,21 @@ export class AdminOverviewComponent implements OnDestroy, OnInit {
} }
} }
public onSyncDemoUserAccount() {
this.adminService
.syncDemoUserAccount()
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(() => {
this.snackBar.open(
'✅ ' + $localize`Demo user account has been synced.`,
undefined,
{
duration: ms('3 seconds')
}
);
});
}
public ngOnDestroy() { public ngOnDestroy() {
this.unsubscribeSubject.next(); this.unsubscribeSubject.next();
this.unsubscribeSubject.complete(); this.unsubscribeSubject.complete();

21
apps/client/src/app/components/admin-overview/admin-overview.html

@ -169,10 +169,23 @@
<div class="d-flex my-3"> <div class="d-flex my-3">
<div class="w-50" i18n>Housekeeping</div> <div class="w-50" i18n>Housekeeping</div>
<div class="w-50"> <div class="w-50">
<button color="warn" mat-flat-button (click)="onFlushCache()"> <div class="align-items-start d-flex flex-column">
<ion-icon class="mr-1" name="close-circle-outline" /> @if (hasPermissionToSyncDemoUserAccount) {
<span i18n>Flush Cache</span> <button
</button> class="mb-2"
color="accent"
mat-flat-button
(click)="onSyncDemoUserAccount()"
>
<ion-icon class="mr-1" name="sync-outline" />
<span i18n>Sync Demo User Account</span>
</button>
}
<button color="warn" mat-flat-button (click)="onFlushCache()">
<ion-icon class="mr-1" name="close-circle-outline" />
<span i18n>Flush Cache</span>
</button>
</div>
</div> </div>
</div> </div>
</mat-card-content> </mat-card-content>

2
apps/client/src/app/components/admin-overview/admin-overview.module.ts

@ -9,6 +9,7 @@ import { MatCardModule } from '@angular/material/card';
import { MatMenuModule } from '@angular/material/menu'; import { MatMenuModule } from '@angular/material/menu';
import { MatSelectModule } from '@angular/material/select'; import { MatSelectModule } from '@angular/material/select';
import { MatSlideToggleModule } from '@angular/material/slide-toggle'; import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { MatSnackBarModule } from '@angular/material/snack-bar';
import { RouterModule } from '@angular/router'; import { RouterModule } from '@angular/router';
import { AdminOverviewComponent } from './admin-overview.component'; import { AdminOverviewComponent } from './admin-overview.component';
@ -24,6 +25,7 @@ import { AdminOverviewComponent } from './admin-overview.component';
MatCardModule, MatCardModule,
MatMenuModule, MatMenuModule,
MatSelectModule, MatSelectModule,
MatSnackBarModule,
MatSlideToggleModule, MatSlideToggleModule,
ReactiveFormsModule, ReactiveFormsModule,
RouterModule RouterModule

7
apps/client/src/app/components/admin-settings/admin-settings.component.html

@ -23,7 +23,7 @@
[enableLink]="false" [enableLink]="false"
/> />
@if (isGhostfolioApiKeyValid === false) { @if (isGhostfolioApiKeyValid === false) {
<span class="badge badge-warning ml-2" i18n <span class="badge badge-light early-access ml-2" i18n
>Early Access</span >Early Access</span
> >
} }
@ -105,12 +105,11 @@
</mat-menu> </mat-menu>
} @else if (isGhostfolioApiKeyValid === false) { } @else if (isGhostfolioApiKeyValid === false) {
<button <button
color="accent" class="special"
mat-flat-button mat-flat-button
(click)="onSetGhostfolioApiKey()" (click)="onSetGhostfolioApiKey()"
> >
<ion-icon class="mr-1" name="key-outline" /> <ng-container i18n>Set API key</ng-container>
<span i18n>Set API key</span>
</button> </button>
} }
} }

13
apps/client/src/app/components/admin-settings/admin-settings.component.scss

@ -1,6 +1,19 @@
:host { :host {
display: block; display: block;
button {
&.special {
background: linear-gradient(45deg, rgb(228, 94, 237), rgb(104, 94, 237));
color: #fff;
}
}
.badge {
&.early-access {
border: 1px solid var(--mat-table-row-item-outline-color);
}
}
.mat-mdc-progress-bar { .mat-mdc-progress-bar {
--mdc-linear-progress-active-indicator-height: 0.5rem; --mdc-linear-progress-active-indicator-height: 0.5rem;
--mdc-linear-progress-track-height: 0.5rem; --mdc-linear-progress-track-height: 0.5rem;

21
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts

@ -102,8 +102,8 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
public hasPermissionToCreateOwnTag: boolean; public hasPermissionToCreateOwnTag: boolean;
public hasPermissionToReadMarketDataOfOwnAssetProfile: boolean; public hasPermissionToReadMarketDataOfOwnAssetProfile: boolean;
public historicalDataItems: LineChartItem[]; public historicalDataItems: LineChartItem[];
public investment: number; public investmentInBaseCurrencyWithCurrencyEffect: number;
public investmentPrecision = 2; public investmentInBaseCurrencyWithCurrencyEffectPrecision = 2;
public marketDataItems: MarketData[] = []; public marketDataItems: MarketData[] = [];
public marketPrice: number; public marketPrice: number;
public marketPriceMax: number; public marketPriceMax: number;
@ -233,7 +233,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
feeInBaseCurrency, feeInBaseCurrency,
firstBuyDate, firstBuyDate,
historicalData, historicalData,
investment, investmentInBaseCurrencyWithCurrencyEffect,
marketPrice, marketPrice,
marketPriceMax, marketPriceMax,
marketPriceMin, marketPriceMin,
@ -288,13 +288,15 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
} }
); );
this.investment = investment; this.investmentInBaseCurrencyWithCurrencyEffect =
investmentInBaseCurrencyWithCurrencyEffect;
if ( if (
this.data.deviceType === 'mobile' && this.data.deviceType === 'mobile' &&
this.investment >= NUMERICAL_PRECISION_THRESHOLD this.investmentInBaseCurrencyWithCurrencyEffect >=
NUMERICAL_PRECISION_THRESHOLD
) { ) {
this.investmentPrecision = 0; this.investmentInBaseCurrencyWithCurrencyEffectPrecision = 0;
} }
this.marketPrice = marketPrice; this.marketPrice = marketPrice;
@ -450,10 +452,9 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
if (state?.user) { if (state?.user) {
this.user = state.user; this.user = state.user;
this.hasPermissionToCreateOwnTag = hasPermission( this.hasPermissionToCreateOwnTag =
this.user.permissions, hasPermission(this.user.permissions, permissions.createOwnTag) &&
permissions.createOwnTag this.user?.settings?.isExperimentalFeatures;
);
this.tagsAvailable = this.tagsAvailable =
this.user?.tags?.map((tag) => { this.user?.tags?.map((tag) => {

8
apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html

@ -146,9 +146,9 @@
size="medium" size="medium"
[isCurrency]="true" [isCurrency]="true"
[locale]="data.locale" [locale]="data.locale"
[precision]="investmentPrecision" [precision]="investmentInBaseCurrencyWithCurrencyEffectPrecision"
[unit]="data.baseCurrency" [unit]="data.baseCurrency"
[value]="investment" [value]="investmentInBaseCurrencyWithCurrencyEffect"
>Investment</gf-value >Investment</gf-value
> >
</div> </div>
@ -388,9 +388,7 @@
</mat-tab-group> </mat-tab-group>
<gf-tags-selector <gf-tags-selector
[hasPermissionToCreateTag]=" [hasPermissionToCreateTag]="hasPermissionToCreateOwnTag"
hasPermissionToCreateOwnTag && user?.settings?.isExperimentalFeatures
"
[readonly]="!data.hasPermissionToUpdateOrder" [readonly]="!data.hasPermissionToUpdateOrder"
[tags]="activityForm.get('tags')?.value" [tags]="activityForm.get('tags')?.value"
[tagsAvailable]="tagsAvailable" [tagsAvailable]="tagsAvailable"

6
apps/client/src/app/components/home-market/home-market.html

@ -37,8 +37,10 @@
[user]="user" [user]="user"
/> />
@if (benchmarks?.length > 0) { @if (benchmarks?.length > 0) {
<div class="mt-3 text-center"> <div
<small class="text-muted" i18n> class="gf-text-wrap-balance line-height-1 mt-3 text-center text-muted"
>
<small i18n>
Calculations are based on delayed market data and may not be Calculations are based on delayed market data and may not be
displayed in real-time.</small displayed in real-time.</small
> >

15
apps/client/src/app/pages/faq/overview/faq-overview-page.html

@ -40,6 +40,21 @@
<a [routerLink]="routerLinkFeatures">here</a>. <a [routerLink]="routerLinkFeatures">here</a>.
</mat-card-content> </mat-card-content>
</mat-card> </mat-card>
<mat-card appearance="outlined" class="mb-3">
<mat-card-header>
<mat-card-title
>Which calculation method does Ghostfolio use for
performance?</mat-card-title
>
</mat-card-header>
<mat-card-content
>Ghostfolio uses the <i>Return on Average Investment</i> (ROAI)
calculation method based on the average amount of capital invested
over time. ROAI aims to provide a more insightful view of investment
performance than simpler approaches, especially when contributions are
made over time.</mat-card-content
>
</mat-card>
<mat-card appearance="outlined" class="mb-3"> <mat-card appearance="outlined" class="mb-3">
<mat-card-header> <mat-card-header>
<mat-card-title>Can I use Ghostfolio anonymously?</mat-card-title> <mat-card-title>Can I use Ghostfolio anonymously?</mat-card-title>

37
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts

@ -1,6 +1,8 @@
import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto'; import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto';
import { UpdateOrderDto } from '@ghostfolio/api/app/order/update-order.dto'; import { UpdateOrderDto } from '@ghostfolio/api/app/order/update-order.dto';
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { getDateFormatString } from '@ghostfolio/common/helper'; import { getDateFormatString } from '@ghostfolio/common/helper';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { translate } from '@ghostfolio/ui/i18n'; import { translate } from '@ghostfolio/ui/i18n';
import { import {
@ -42,6 +44,7 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
public currencyOfAssetProfile: string; public currencyOfAssetProfile: string;
public currentMarketPrice = null; public currentMarketPrice = null;
public defaultDateFormat: string; public defaultDateFormat: string;
public hasPermissionToCreateOwnTag: boolean;
public isLoading = false; public isLoading = false;
public isToday = isToday; public isToday = isToday;
public mode: 'create' | 'update'; public mode: 'create' | 'update';
@ -60,11 +63,15 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
private dateAdapter: DateAdapter<any>, private dateAdapter: DateAdapter<any>,
public dialogRef: MatDialogRef<CreateOrUpdateActivityDialog>, public dialogRef: MatDialogRef<CreateOrUpdateActivityDialog>,
private formBuilder: FormBuilder, private formBuilder: FormBuilder,
@Inject(MAT_DATE_LOCALE) private locale: string @Inject(MAT_DATE_LOCALE) private locale: string,
private userService: UserService
) {} ) {}
public ngOnInit() { public ngOnInit() {
this.currencyOfAssetProfile = this.data.activity?.SymbolProfile?.currency; this.currencyOfAssetProfile = this.data.activity?.SymbolProfile?.currency;
this.hasPermissionToCreateOwnTag =
this.data.user?.settings?.isExperimentalFeatures &&
hasPermission(this.data.user?.permissions, permissions.createOwnTag);
this.locale = this.data.user?.settings?.locale; this.locale = this.data.user?.settings?.locale;
this.mode = this.data.activity?.id ? 'update' : 'create'; this.mode = this.data.activity?.id ? 'update' : 'create';
@ -219,6 +226,34 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
this.changeDetectorRef.markForCheck(); this.changeDetectorRef.markForCheck();
}); });
this.activityForm.get('tags').valueChanges.subscribe((tags: Tag[]) => {
const newTag = tags.find(({ id }) => {
return id === undefined;
});
if (newTag && this.hasPermissionToCreateOwnTag) {
this.dataService
.postTag({ ...newTag, userId: this.data.user.id })
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe((tag) => {
this.activityForm.get('tags').setValue(
tags.map((currentTag) => {
if (currentTag.id === undefined) {
return tag;
}
return currentTag;
})
);
this.userService
.get(true)
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe();
});
}
});
this.activityForm this.activityForm
.get('type') .get('type')
.valueChanges.pipe(takeUntil(this.unsubscribeSubject)) .valueChanges.pipe(takeUntil(this.unsubscribeSubject))

3
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html

@ -313,8 +313,9 @@
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
</div> </div>
<div class="mb-3" [ngClass]="{ 'd-none': tagsAvailable?.length < 1 }"> <div class="mb-3">
<gf-tags-selector <gf-tags-selector
[hasPermissionToCreateTag]="hasPermissionToCreateOwnTag"
[tags]="activityForm.get('tags')?.value" [tags]="activityForm.get('tags')?.value"
[tagsAvailable]="tagsAvailable" [tagsAvailable]="tagsAvailable"
(tagsChanged)="onTagsChanged($event)" (tagsChanged)="onTagsChanged($event)"

8
apps/client/src/app/pages/webauthn/webauthn-page.html

@ -19,15 +19,17 @@
<ng-container i18n>Oops, authentication has failed.</ng-container> <ng-container i18n>Oops, authentication has failed.</ng-container>
</h1> </h1>
<button <button
class="mb-3 mt-4" class="mt-4"
color="primary" color="primary"
mat-flat-button mat-flat-button
(click)="signIn()" (click)="signIn()"
> >
<ng-container i18n>Try again</ng-container> <ng-container i18n>Try again</ng-container>
</button> </button>
<div class="text-muted"><ng-container i18n>or</ng-container></div> <div class="my-2 text-muted">
<button class="mt-1" mat-flat-button (click)="deregisterDevice()"> <ng-container i18n>or</ng-container>
</div>
<button mat-stroked-button (click)="deregisterDevice()">
<ng-container i18n>Go back to Home Page</ng-container> <ng-container i18n>Go back to Home Page</ng-container>
</button> </button>
</div> </div>

4
apps/client/src/app/services/admin.service.ts

@ -246,6 +246,10 @@ export class AdminService {
); );
} }
public syncDemoUserAccount() {
return this.http.get<void>(`/api/v1/admin/demo-user/sync`);
}
public testMarketData({ public testMarketData({
dataSource, dataSource,
scraperConfiguration, scraperConfiguration,

72
apps/client/src/locales/messages.ca.xlf

@ -1123,7 +1123,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">336</context> <context context-type="linenumber">337</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context>
@ -1171,7 +1171,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">343</context> <context context-type="linenumber">344</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context> <context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -1591,7 +1591,7 @@
<target state="translated">Està segur qeu vol eliminar aquest cupó?</target> <target state="translated">Està segur qeu vol eliminar aquest cupó?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">134</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="297546430113071258" datatype="html"> <trans-unit id="297546430113071258" datatype="html">
@ -1599,7 +1599,7 @@
<target state="translated">Està segur que vol eliminar aquest missatge del sistema?</target> <target state="translated">Està segur que vol eliminar aquest missatge del sistema?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">147</context> <context context-type="linenumber">155</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6470890277760887814" datatype="html"> <trans-unit id="6470890277760887814" datatype="html">
@ -1607,7 +1607,7 @@
<target state="translated">Està segur que vol depurar el cache?</target> <target state="translated">Està segur que vol depurar el cache?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">171</context> <context context-type="linenumber">179</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2712770700065625080" datatype="html"> <trans-unit id="2712770700065625080" datatype="html">
@ -1615,7 +1615,7 @@
<target state="translated">Si us plau, afegeixi el seu missatge del sistema:</target> <target state="translated">Si us plau, afegeixi el seu missatge del sistema:</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">191</context> <context context-type="linenumber">199</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html"> <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">
@ -1735,7 +1735,7 @@
<target state="translated">Depurar el Cache</target> <target state="translated">Depurar el Cache</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">186</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7418ba6a757086804d7e00948f8b328050d99040" datatype="html"> <trans-unit id="7418ba6a757086804d7e00948f8b328050d99040" datatype="html">
@ -1803,7 +1803,7 @@
<target state="translated">Plataformes</target> <target state="translated">Plataformes</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">136</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html"> <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
@ -1811,7 +1811,7 @@
<target state="translated">Etiquetes</target> <target state="translated">Etiquetes</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">143</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -2231,7 +2231,7 @@
<target state="translated">Informar d’un Problema amb les Dades</target> <target state="translated">Informar d’un Problema amb les Dades</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">409</context> <context context-type="linenumber">407</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8204176479746810612" datatype="html"> <trans-unit id="8204176479746810612" datatype="html">
@ -2463,7 +2463,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">30</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html"> <trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html">
@ -2516,7 +2516,7 @@
</trans-unit> </trans-unit>
<trans-unit id="44268762ecf7c7d690288f763f17196216671353" datatype="html"> <trans-unit id="44268762ecf7c7d690288f763f17196216671353" datatype="html">
<source>{VAR_PLURAL, plural, =1 {activity} other {activities}}</source> <source>{VAR_PLURAL, plural, =1 {activity} other {activities}}</source>
<target state="new">{VAR_PLURAL, plural, =1 {activity} other {activities}}</target> <target state="translated">{VAR_PLURAL, plural, =1 {activitat} other {activitats}}</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">14</context> <context context-type="linenumber">14</context>
@ -4257,7 +4257,7 @@
</trans-unit> </trans-unit>
<trans-unit id="0c733f4d3a472252964704587a83aa7cc83e1bb3" datatype="html"> <trans-unit id="0c733f4d3a472252964704587a83aa7cc83e1bb3" datatype="html">
<source>Mortgages, personal loans, credit cards</source> <source>Mortgages, personal loans, credit cards</source>
<target state="new">Mortgages, personal loans, credit cards</target> <target state="translated">Hipoteques, préstecs personals, targetes de crèdit</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">57</context> <context context-type="linenumber">57</context>
@ -4265,7 +4265,7 @@
</trans-unit> </trans-unit>
<trans-unit id="8beebcb81b9784b6be5d535419735221efd2d1ce" datatype="html"> <trans-unit id="8beebcb81b9784b6be5d535419735221efd2d1ce" datatype="html">
<source>Luxury items, real estate, private companies</source> <source>Luxury items, real estate, private companies</source>
<target state="new">Luxury items, real estate, private companies</target> <target state="translated">Articles de luxe, immobiliari, empreses privades</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">73</context> <context context-type="linenumber">73</context>
@ -4273,7 +4273,7 @@
</trans-unit> </trans-unit>
<trans-unit id="29881a45dafbe5aa05cd9d0441a4c0c2fb06df92" datatype="html"> <trans-unit id="29881a45dafbe5aa05cd9d0441a4c0c2fb06df92" datatype="html">
<source>Account</source> <source>Account</source>
<target state="new">Account</target> <target state="translated">Compte</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">85</context> <context context-type="linenumber">85</context>
@ -4289,7 +4289,7 @@
</trans-unit> </trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html"> <trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
<source>Update Cash Balance</source> <source>Update Cash Balance</source>
<target state="new">Update Cash Balance</target> <target state="translated">Actualitzar el saldo d’efectiu</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">112</context> <context context-type="linenumber">112</context>
@ -4297,7 +4297,7 @@
</trans-unit> </trans-unit>
<trans-unit id="6713459747f0f67e53a8a0be0bba45ed324bc112" datatype="html"> <trans-unit id="6713459747f0f67e53a8a0be0bba45ed324bc112" datatype="html">
<source>Unit Price</source> <source>Unit Price</source>
<target state="new">Unit Price</target> <target state="translated">Preu unitari</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">213</context> <context context-type="linenumber">213</context>
@ -4309,7 +4309,7 @@
</trans-unit> </trans-unit>
<trans-unit id="160f1ffbd26df073d0fbd02cf8ce0d8cea7603b0" datatype="html"> <trans-unit id="160f1ffbd26df073d0fbd02cf8ce0d8cea7603b0" datatype="html">
<source>Fee</source> <source>Fee</source>
<target state="new">Fee</target> <target state="translated">Quota</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">261</context> <context context-type="linenumber">261</context>
@ -4321,7 +4321,7 @@
</trans-unit> </trans-unit>
<trans-unit id="1817902710689724227" datatype="html"> <trans-unit id="1817902710689724227" datatype="html">
<source>Import Activities</source> <source>Import Activities</source>
<target state="new">Import Activities</target> <target state="translated">Activitats d’importació</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context>
<context context-type="linenumber">47</context> <context context-type="linenumber">47</context>
@ -4329,7 +4329,7 @@
</trans-unit> </trans-unit>
<trans-unit id="72640258012696878" datatype="html"> <trans-unit id="72640258012696878" datatype="html">
<source>Import Dividends</source> <source>Import Dividends</source>
<target state="new">Import Dividends</target> <target state="translated">Importar dividends</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context>
<context context-type="linenumber">88</context> <context context-type="linenumber">88</context>
@ -4337,7 +4337,7 @@
</trans-unit> </trans-unit>
<trans-unit id="848497846891931418" datatype="html"> <trans-unit id="848497846891931418" datatype="html">
<source>Importing data...</source> <source>Importing data...</source>
<target state="new">Importing data...</target> <target state="translated">S’estan important dades...</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context>
<context context-type="linenumber">126</context> <context context-type="linenumber">126</context>
@ -4345,7 +4345,7 @@
</trans-unit> </trans-unit>
<trans-unit id="7500216440144530775" datatype="html"> <trans-unit id="7500216440144530775" datatype="html">
<source>Import has been completed</source> <source>Import has been completed</source>
<target state="new">Import has been completed</target> <target state="translated">La importació s’ha completat</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context>
<context context-type="linenumber">134</context> <context context-type="linenumber">134</context>
@ -4353,7 +4353,7 @@
</trans-unit> </trans-unit>
<trans-unit id="8763985977445247551" datatype="html"> <trans-unit id="8763985977445247551" datatype="html">
<source>Validating data...</source> <source>Validating data...</source>
<target state="new">Validating data...</target> <target state="translated">S’estan validant les dades...</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context>
<context context-type="linenumber">242</context> <context context-type="linenumber">242</context>
@ -4361,7 +4361,7 @@
</trans-unit> </trans-unit>
<trans-unit id="4de7b521c9a386fa682d6c995b30f6bc2d6c14b8" datatype="html"> <trans-unit id="4de7b521c9a386fa682d6c995b30f6bc2d6c14b8" datatype="html">
<source>Select Holding</source> <source>Select Holding</source>
<target state="new">Select Holding</target> <target state="translated">Seleccioneu Holding</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">20</context> <context context-type="linenumber">20</context>
@ -4369,7 +4369,7 @@
</trans-unit> </trans-unit>
<trans-unit id="e95a9542e72bb61cac804b274ab760af2b5f7fc5" datatype="html"> <trans-unit id="e95a9542e72bb61cac804b274ab760af2b5f7fc5" datatype="html">
<source>Select File</source> <source>Select File</source>
<target state="new">Select File</target> <target state="translated">Seleccioneu Fitxer</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">22</context> <context context-type="linenumber">22</context>
@ -5501,7 +5501,7 @@
<target state="new">Go back to Home Page</target> <target state="new">Go back to Home Page</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">31</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2263595996673750436" datatype="html"> <trans-unit id="2263595996673750436" datatype="html">
@ -6893,7 +6893,7 @@
<target state="new">Set API key</target> <target state="new">Set API key</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context> <context context-type="linenumber">112</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7592,7 +7592,7 @@
<target state="new"> Calculations are based on delayed market data and may not be displayed in real-time.</target> <target state="new"> Calculations are based on delayed market data and may not be displayed in real-time.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context> <context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context>
<context context-type="linenumber">41</context> <context context-type="linenumber">43</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="793097298820646129" datatype="html"> <trans-unit id="793097298820646129" datatype="html">
@ -7604,6 +7604,22 @@
<context context-type="linenumber">37</context> <context context-type="linenumber">37</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3920411961658116502" datatype="html">
<source>Demo user account has been synced.</source>
<target state="new">Demo user account has been synced.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">223</context>
</context-group>
</trans-unit>
<trans-unit id="18fe01d6ae816d6787148e59ea1a39d0bb542e24" datatype="html">
<source>Sync Demo User Account</source>
<target state="new">Sync Demo User Account</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">181</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -534,7 +534,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">336</context> <context context-type="linenumber">337</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context>
@ -582,7 +582,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">343</context> <context context-type="linenumber">344</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context> <context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -634,7 +634,7 @@
<target state="translated">Möchtest du diesen Gutscheincode wirklich löschen?</target> <target state="translated">Möchtest du diesen Gutscheincode wirklich löschen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">134</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6470890277760887814" datatype="html"> <trans-unit id="6470890277760887814" datatype="html">
@ -642,7 +642,7 @@
<target state="translated">Möchtest du den Cache wirklich leeren?</target> <target state="translated">Möchtest du den Cache wirklich leeren?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">171</context> <context context-type="linenumber">179</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2712770700065625080" datatype="html"> <trans-unit id="2712770700065625080" datatype="html">
@ -650,7 +650,7 @@
<target state="translated">Bitte gebe deine Systemmeldung ein:</target> <target state="translated">Bitte gebe deine Systemmeldung ein:</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">191</context> <context context-type="linenumber">199</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html"> <trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html">
@ -762,7 +762,7 @@
<target state="translated">Cache leeren</target> <target state="translated">Cache leeren</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">186</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2817099043823177227" datatype="html"> <trans-unit id="2817099043823177227" datatype="html">
@ -1114,7 +1114,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">30</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html"> <trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html">
@ -1338,7 +1338,7 @@
<target state="translated">Tags</target> <target state="translated">Tags</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">143</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -1354,7 +1354,7 @@
<target state="translated">Datenfehler melden</target> <target state="translated">Datenfehler melden</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">409</context> <context context-type="linenumber">407</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2ee26d58f2707416e636887111d5603b35346c4a" datatype="html"> <trans-unit id="2ee26d58f2707416e636887111d5603b35346c4a" datatype="html">
@ -2478,7 +2478,7 @@
<target state="translated">Zurück zur Startseite</target> <target state="translated">Zurück zur Startseite</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">31</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="86022280b7836d1aff7fdc0182415b041ae3625c" datatype="html"> <trans-unit id="86022280b7836d1aff7fdc0182415b041ae3625c" datatype="html">
@ -3966,7 +3966,7 @@
<target state="translated">Plattformen</target> <target state="translated">Plattformen</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">136</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html"> <trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -5732,7 +5732,7 @@
<target state="translated">Möchtest du diese Systemmeldung wirklich löschen?</target> <target state="translated">Möchtest du diese Systemmeldung wirklich löschen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">147</context> <context context-type="linenumber">155</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html"> <trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html">
@ -6917,7 +6917,7 @@
<target state="translated">API-Schlüssel setzen</target> <target state="translated">API-Schlüssel setzen</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context> <context context-type="linenumber">112</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7592,18 +7592,34 @@
<target state="translated"> Berechnungen basieren auf verzögerten Marktdaten und werden nicht in Echtzeit angezeigt.</target> <target state="translated"> Berechnungen basieren auf verzögerten Marktdaten und werden nicht in Echtzeit angezeigt.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context> <context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context>
<context context-type="linenumber">41</context> <context context-type="linenumber">43</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="793097298820646129" datatype="html"> <trans-unit id="793097298820646129" datatype="html">
<source>changelog</source> <source>changelog</source>
<target state="new">changelog</target> <target state="translated">changelog</target>
<note priority="1" from="description">kebab-case</note> <note priority="1" from="description">kebab-case</note>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/paths.ts</context> <context context-type="sourcefile">libs/common/src/lib/paths.ts</context>
<context context-type="linenumber">37</context> <context context-type="linenumber">37</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3920411961658116502" datatype="html">
<source>Demo user account has been synced.</source>
<target state="translated">Demo Benutzerkonto wurde synchronisiert.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">223</context>
</context-group>
</trans-unit>
<trans-unit id="18fe01d6ae816d6787148e59ea1a39d0bb542e24" datatype="html">
<source>Sync Demo User Account</source>
<target state="translate">Synchronisiere Demo Benutzerkonto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">181</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -535,7 +535,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">336</context> <context context-type="linenumber">337</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context>
@ -583,7 +583,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">343</context> <context context-type="linenumber">344</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context> <context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -635,7 +635,7 @@
<target state="translated">¿Estás seguro de eliminar este cupón?</target> <target state="translated">¿Estás seguro de eliminar este cupón?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">134</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6470890277760887814" datatype="html"> <trans-unit id="6470890277760887814" datatype="html">
@ -643,7 +643,7 @@
<target state="translated">¿Estás seguro de limpiar la caché?</target> <target state="translated">¿Estás seguro de limpiar la caché?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">171</context> <context context-type="linenumber">179</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2712770700065625080" datatype="html"> <trans-unit id="2712770700065625080" datatype="html">
@ -651,7 +651,7 @@
<target state="translated">Por favor, establece tu mensaje del sistema:</target> <target state="translated">Por favor, establece tu mensaje del sistema:</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">191</context> <context context-type="linenumber">199</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html"> <trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html">
@ -747,7 +747,7 @@
<target state="translated">Limpiar caché</target> <target state="translated">Limpiar caché</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">186</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2817099043823177227" datatype="html"> <trans-unit id="2817099043823177227" datatype="html">
@ -1099,7 +1099,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">30</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html"> <trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html">
@ -1323,7 +1323,7 @@
<target state="translated">Etiquetas</target> <target state="translated">Etiquetas</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">143</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -1339,7 +1339,7 @@
<target state="translated">Reporta un anomalía de los datos</target> <target state="translated">Reporta un anomalía de los datos</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">409</context> <context context-type="linenumber">407</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2ee26d58f2707416e636887111d5603b35346c4a" datatype="html"> <trans-unit id="2ee26d58f2707416e636887111d5603b35346c4a" datatype="html">
@ -2463,7 +2463,7 @@
<target state="translated">Volver a la página principal</target> <target state="translated">Volver a la página principal</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">31</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="86022280b7836d1aff7fdc0182415b041ae3625c" datatype="html"> <trans-unit id="86022280b7836d1aff7fdc0182415b041ae3625c" datatype="html">
@ -3943,7 +3943,7 @@
<target state="translated">Plataformas</target> <target state="translated">Plataformas</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">136</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html"> <trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -5008,7 +5008,7 @@
</trans-unit> </trans-unit>
<trans-unit id="5fae4f4ad7de60db18a5c52ccf5e7e8c7b194a9c" datatype="html"> <trans-unit id="5fae4f4ad7de60db18a5c52ccf5e7e8c7b194a9c" datatype="html">
<source>into minimalism</source> <source>into minimalism</source>
<target state="new">into minimalism</target> <target state="translated">en el minimalismo</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">299</context> <context context-type="linenumber">299</context>
@ -5016,7 +5016,7 @@
</trans-unit> </trans-unit>
<trans-unit id="18bb2c16577866572e3656986d9660d2db012565" datatype="html"> <trans-unit id="18bb2c16577866572e3656986d9660d2db012565" datatype="html">
<source>caring about diversifying your financial resources</source> <source>caring about diversifying your financial resources</source>
<target state="new">caring about diversifying your financial resources</target> <target state="translated">preocuparse por diversificar tus recursos financieros</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">303</context> <context context-type="linenumber">303</context>
@ -5024,7 +5024,7 @@
</trans-unit> </trans-unit>
<trans-unit id="0a6c37c2d3a8c41e7e44f020aefb1c667ac150dc" datatype="html"> <trans-unit id="0a6c37c2d3a8c41e7e44f020aefb1c667ac150dc" datatype="html">
<source>interested in financial independence</source> <source>interested in financial independence</source>
<target state="new">interested in financial independence</target> <target state="translated">interesado en la independencia financiera</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">307</context> <context context-type="linenumber">307</context>
@ -5032,7 +5032,7 @@
</trans-unit> </trans-unit>
<trans-unit id="81fbb4e2cd3d3079d790bdddbfcc73ec3b600d22" datatype="html"> <trans-unit id="81fbb4e2cd3d3079d790bdddbfcc73ec3b600d22" datatype="html">
<source>saying no to spreadsheets in <x id="INTERPOLATION" equiv-text="{{ currentYear }}"/></source> <source>saying no to spreadsheets in <x id="INTERPOLATION" equiv-text="{{ currentYear }}"/></source>
<target state="new">saying no to spreadsheets in <x id="INTERPOLATION" equiv-text="{{ currentYear }}"/></target> <target state="translated">diciendo no a las hojas de cálculo en <x id="INTERPOLATION" equiv-text="{{ currentYear }}"/></target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">311</context> <context context-type="linenumber">311</context>
@ -5040,7 +5040,7 @@
</trans-unit> </trans-unit>
<trans-unit id="92cef868de56015b451e7eee26c9eaef54f41d37" datatype="html"> <trans-unit id="92cef868de56015b451e7eee26c9eaef54f41d37" datatype="html">
<source>still reading this list</source> <source>still reading this list</source>
<target state="new">still reading this list</target> <target state="translated">todavía leyendo esta lista</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">314</context> <context context-type="linenumber">314</context>
@ -5048,7 +5048,7 @@
</trans-unit> </trans-unit>
<trans-unit id="8c11c506c55700ca9883f360c52df5a432a51dcf" datatype="html"> <trans-unit id="8c11c506c55700ca9883f360c52df5a432a51dcf" datatype="html">
<source>Learn more about Ghostfolio</source> <source>Learn more about Ghostfolio</source>
<target state="new">Learn more about Ghostfolio</target> <target state="translated">Más información sobre Ghostfolio</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">319</context> <context context-type="linenumber">319</context>
@ -5056,7 +5056,7 @@
</trans-unit> </trans-unit>
<trans-unit id="ae508ae33a02ae69247d9e4d84e98b610209ef3b" datatype="html"> <trans-unit id="ae508ae33a02ae69247d9e4d84e98b610209ef3b" datatype="html">
<source> What our <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>users<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> are saying </source> <source> What our <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>users<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> are saying </source>
<target state="new"> What our <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>users<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> are saying </target> <target state="translated"> Lo que nuestros <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>usuarios<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> están diciendo </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">327</context> <context context-type="linenumber">327</context>
@ -5064,7 +5064,7 @@
</trans-unit> </trans-unit>
<trans-unit id="49cccc34723a396488453992d4d469fb0f644ef4" datatype="html"> <trans-unit id="49cccc34723a396488453992d4d469fb0f644ef4" datatype="html">
<source> Members from around the globe are using <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;pricing&quot;&gt;"/><x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>Ghostfolio Premium<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/></source> <source> Members from around the globe are using <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;pricing&quot;&gt;"/><x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>Ghostfolio Premium<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/></source>
<target state="new"> Members from around the globe are using <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;pricing&quot;&gt;"/><x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>Ghostfolio Premium<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/></target> <target state="translated"> Miembros de todo el mundo están usando <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;pricing&quot;&gt;"/><x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>Ghostfolio Premium<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/></target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">366</context> <context context-type="linenumber">366</context>
@ -5072,7 +5072,7 @@
</trans-unit> </trans-unit>
<trans-unit id="fb9e3bfd7030894a15bebdb45e9502469d7b44b1" datatype="html"> <trans-unit id="fb9e3bfd7030894a15bebdb45e9502469d7b44b1" datatype="html">
<source> How does <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>Ghostfolio<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> work? </source> <source> How does <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>Ghostfolio<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> work? </source>
<target state="new"> How does <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>Ghostfolio<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> work? </target> <target state="translated"> ¿Cómo <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>Ghostfolio<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> work? </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">383</context> <context context-type="linenumber">383</context>
@ -5080,7 +5080,7 @@
</trans-unit> </trans-unit>
<trans-unit id="969974097ecdfff6cb04b4cb71efccd717da1ce8" datatype="html"> <trans-unit id="969974097ecdfff6cb04b4cb71efccd717da1ce8" datatype="html">
<source>Sign up anonymously*</source> <source>Sign up anonymously*</source>
<target state="new">Sign up anonymously*</target> <target state="translated">Regístrate de forma anónima*</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">392</context> <context context-type="linenumber">392</context>
@ -5088,7 +5088,7 @@
</trans-unit> </trans-unit>
<trans-unit id="100e94a30dd0af12854336d0c90b50381e457b97" datatype="html"> <trans-unit id="100e94a30dd0af12854336d0c90b50381e457b97" datatype="html">
<source><x id="START_SMALL_TEXT" ctype="x-small" equiv-text="&lt;small&gt;"/>* no e-mail address nor credit card required<x id="CLOSE_SMALL_TEXT" ctype="x-small" equiv-text="&lt;/small&gt;"/></source> <source><x id="START_SMALL_TEXT" ctype="x-small" equiv-text="&lt;small&gt;"/>* no e-mail address nor credit card required<x id="CLOSE_SMALL_TEXT" ctype="x-small" equiv-text="&lt;/small&gt;"/></source>
<target state="new"><x id="START_SMALL_TEXT" ctype="x-small" equiv-text="&lt;small&gt;"/>* no e-mail address nor credit card required<x id="CLOSE_SMALL_TEXT" ctype="x-small" equiv-text="&lt;/small&gt;"/></target> <target state="translated"><x id="START_SMALL_TEXT" ctype="x-small" equiv-text="&lt;small&gt;"/>* no se requiere dirección de correo electrónico ni tarjeta de crédito<x id="CLOSE_SMALL_TEXT" ctype="x-small" equiv-text="&lt;/small&gt;"/></target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">394</context> <context context-type="linenumber">394</context>
@ -5096,7 +5096,7 @@
</trans-unit> </trans-unit>
<trans-unit id="57aad8c9d23cc4f0bbb0abf4f3313bfb85154592" datatype="html"> <trans-unit id="57aad8c9d23cc4f0bbb0abf4f3313bfb85154592" datatype="html">
<source> Add any of your historical transactions </source> <source> Add any of your historical transactions </source>
<target state="new"> Add any of your historical transactions </target> <target state="translated"> Agrega cualquiera de tus transacciones históricas </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">405</context> <context context-type="linenumber">405</context>
@ -5104,7 +5104,7 @@
</trans-unit> </trans-unit>
<trans-unit id="9bb49f7d149617560f1962d3688ed6fafba63c0d" datatype="html"> <trans-unit id="9bb49f7d149617560f1962d3688ed6fafba63c0d" datatype="html">
<source> Get valuable insights of your portfolio composition </source> <source> Get valuable insights of your portfolio composition </source>
<target state="new"> Get valuable insights of your portfolio composition </target> <target state="translated"> Obtén información valiosa sobre la composición de tu portafolio </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">417</context> <context context-type="linenumber">417</context>
@ -5112,7 +5112,7 @@
</trans-unit> </trans-unit>
<trans-unit id="80abe38d82bca467f47bbb65f821a115cf9dfdc1" datatype="html"> <trans-unit id="80abe38d82bca467f47bbb65f821a115cf9dfdc1" datatype="html">
<source> Are <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>you<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> ready? </source> <source> Are <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>you<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> ready? </source>
<target state="new"> Are <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>you<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> ready? </target> <target state="translated"> ¿Estás <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/><x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> listo? </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">431</context> <context context-type="linenumber">431</context>
@ -5120,7 +5120,7 @@
</trans-unit> </trans-unit>
<trans-unit id="195d2d6475819f55cf73287f97752093b7721ade" datatype="html"> <trans-unit id="195d2d6475819f55cf73287f97752093b7721ade" datatype="html">
<source>Live Demo</source> <source>Live Demo</source>
<target state="new">Live Demo</target> <target state="translated">Demostración en vivo</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">49</context> <context context-type="linenumber">49</context>
@ -5132,7 +5132,7 @@
</trans-unit> </trans-unit>
<trans-unit id="dbe66b4824faaff93249a96c9ce23c237b446ed5" datatype="html"> <trans-unit id="dbe66b4824faaff93249a96c9ce23c237b446ed5" datatype="html">
<source> Get the full picture of your personal finances across multiple platforms. </source> <source> Get the full picture of your personal finances across multiple platforms. </source>
<target state="new"> Get the full picture of your personal finances across multiple platforms. </target> <target state="translated"> Obtén una visión completa de tus finanzas personales en múltiples plataformas. </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">242</context> <context context-type="linenumber">242</context>
@ -5140,7 +5140,7 @@
</trans-unit> </trans-unit>
<trans-unit id="9454b3758f67cb4d178570e8bfb3e0d684e2353e" datatype="html"> <trans-unit id="9454b3758f67cb4d178570e8bfb3e0d684e2353e" datatype="html">
<source>Get started in only 3 steps</source> <source>Get started in only 3 steps</source>
<target state="new">Get started in only 3 steps</target> <target state="translated">Comienza en solo 3 pasos</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">386</context> <context context-type="linenumber">386</context>
@ -5229,7 +5229,7 @@
</trans-unit> </trans-unit>
<trans-unit id="a92a0e8a2e70e4a0735b714680629187d2b6f23e" datatype="html"> <trans-unit id="a92a0e8a2e70e4a0735b714680629187d2b6f23e" datatype="html">
<source> This overview page features a curated collection of personal finance tools compared to the open source alternative <x id="START_LINK" ctype="x-a" equiv-text="&lt;a [routerLink]=&quot;routerLinkAbout&quot;&gt;"/>Ghostfolio<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. </source> <source> This overview page features a curated collection of personal finance tools compared to the open source alternative <x id="START_LINK" ctype="x-a" equiv-text="&lt;a [routerLink]=&quot;routerLinkAbout&quot;&gt;"/>Ghostfolio<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. </source>
<target state="new"> This overview page features a curated collection of personal finance tools compared to the open source alternative <x id="START_LINK" ctype="x-a" equiv-text="&lt;a [routerLink]=&quot;routerLinkAbout&quot;&gt;"/>Ghostfolio<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. If you value transparency, data privacy, and community collaboration, Ghostfolio provides an excellent opportunity to take control of your financial management. </target> <target state="translated"> Esta página de resumen presenta una colección seleccionada de herramientas de finanzas personales, comparadas con la alternativa de código abierto <x id="START_LINK" ctype="x-a" equiv-text="&lt;a [routerLink]=&quot;routerLinkAbout&quot;&gt;"/>Ghostfolio<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/>. Si valoras la transparencia, la privacidad de los datos y la colaboración comunitaria, Ghostfolio ofrece una excelente oportunidad para tomar el control de tu gestión financiera. </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html</context>
<context context-type="linenumber">8</context> <context context-type="linenumber">8</context>
@ -5237,7 +5237,7 @@
</trans-unit> </trans-unit>
<trans-unit id="bd90980cf63dc92053b4b209cc82b609fded14e9" datatype="html"> <trans-unit id="bd90980cf63dc92053b4b209cc82b609fded14e9" datatype="html">
<source> Explore the links below to compare a variety of personal finance tools with Ghostfolio. </source> <source> Explore the links below to compare a variety of personal finance tools with Ghostfolio. </source>
<target state="new"> Explore the links below to compare a variety of personal finance tools with Ghostfolio. </target> <target state="translated"> Explora los siguientes enlaces para comparar una variedad de herramientas de finanzas personales con Ghostfolio. </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html</context>
<context context-type="linenumber">16</context> <context context-type="linenumber">16</context>
@ -5245,7 +5245,7 @@
</trans-unit> </trans-unit>
<trans-unit id="6264b47d8cbc74a3a411c1910964285bb0c8cc5e" datatype="html"> <trans-unit id="6264b47d8cbc74a3a411c1910964285bb0c8cc5e" datatype="html">
<source> Open Source Alternative to <x id="INTERPOLATION" equiv-text="{{ personalFinanceTool.name }}"/> </source> <source> Open Source Alternative to <x id="INTERPOLATION" equiv-text="{{ personalFinanceTool.name }}"/> </source>
<target state="new"> Alternativa de software libre a <x id="INTERPOLATION" equiv-text="{{ product.name }}"/> </target> <target state="translated"> Alternativa de software libre a <x id="INTERPOLATION" equiv-text="{{ product.name }}"/> </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html</context>
<context context-type="linenumber">42</context> <context context-type="linenumber">42</context>
@ -5709,7 +5709,7 @@
<target state="new">Do you really want to delete this system message?</target> <target state="new">Do you really want to delete this system message?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">147</context> <context context-type="linenumber">155</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html"> <trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html">
@ -6894,7 +6894,7 @@
<target state="new">Set API key</target> <target state="new">Set API key</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context> <context context-type="linenumber">112</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7593,7 +7593,7 @@
<target state="new"> Calculations are based on delayed market data and may not be displayed in real-time.</target> <target state="new"> Calculations are based on delayed market data and may not be displayed in real-time.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context> <context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context>
<context context-type="linenumber">41</context> <context context-type="linenumber">43</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="793097298820646129" datatype="html"> <trans-unit id="793097298820646129" datatype="html">
@ -7605,6 +7605,22 @@
<context context-type="linenumber">37</context> <context context-type="linenumber">37</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3920411961658116502" datatype="html">
<source>Demo user account has been synced.</source>
<target state="new">Demo user account has been synced.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">223</context>
</context-group>
</trans-unit>
<trans-unit id="18fe01d6ae816d6787148e59ea1a39d0bb542e24" datatype="html">
<source>Sync Demo User Account</source>
<target state="new">Sync Demo User Account</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">181</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -590,7 +590,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">336</context> <context context-type="linenumber">337</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context>
@ -638,7 +638,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">343</context> <context context-type="linenumber">344</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context> <context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -874,7 +874,7 @@
<target state="translated">Voulez-vous vraiment supprimer ce code promotionnel ?</target> <target state="translated">Voulez-vous vraiment supprimer ce code promotionnel ?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">134</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6470890277760887814" datatype="html"> <trans-unit id="6470890277760887814" datatype="html">
@ -882,7 +882,7 @@
<target state="translated">Voulez-vous vraiment vider le cache ?</target> <target state="translated">Voulez-vous vraiment vider le cache ?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">171</context> <context context-type="linenumber">179</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2712770700065625080" datatype="html"> <trans-unit id="2712770700065625080" datatype="html">
@ -890,7 +890,7 @@
<target state="translated">Veuillez définir votre message système :</target> <target state="translated">Veuillez définir votre message système :</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">191</context> <context context-type="linenumber">199</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html"> <trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html">
@ -930,7 +930,7 @@
<target state="translated">Étiquettes</target> <target state="translated">Étiquettes</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">143</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -1006,7 +1006,7 @@
<target state="translated">Vider le Cache</target> <target state="translated">Vider le Cache</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">186</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2817099043823177227" datatype="html"> <trans-unit id="2817099043823177227" datatype="html">
@ -1450,7 +1450,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">30</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html"> <trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html">
@ -1682,7 +1682,7 @@
<target state="translated">Signaler une Erreur de Données</target> <target state="translated">Signaler une Erreur de Données</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">409</context> <context context-type="linenumber">407</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6048892649018070225" datatype="html"> <trans-unit id="6048892649018070225" datatype="html">
@ -2958,7 +2958,7 @@
<target state="translated">Retour à la Page d’Accueil</target> <target state="translated">Retour à la Page d’Accueil</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">31</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2614607010577950577" datatype="html"> <trans-unit id="2614607010577950577" datatype="html">
@ -3942,7 +3942,7 @@
<target state="translated">Platformes</target> <target state="translated">Platformes</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">136</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html"> <trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -5708,7 +5708,7 @@
<target state="translated">Confirmer la suppresion de ce message système?</target> <target state="translated">Confirmer la suppresion de ce message système?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">147</context> <context context-type="linenumber">155</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html"> <trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html">
@ -6893,7 +6893,7 @@
<target state="translated">Définir clé API</target> <target state="translated">Définir clé API</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context> <context context-type="linenumber">112</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7592,7 +7592,7 @@
<target state="translated"> Les calculs sont basés sur des données de marché retardées et peuvent ne pas être affichés en temps réel.</target> <target state="translated"> Les calculs sont basés sur des données de marché retardées et peuvent ne pas être affichés en temps réel.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context> <context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context>
<context context-type="linenumber">41</context> <context context-type="linenumber">43</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="793097298820646129" datatype="html"> <trans-unit id="793097298820646129" datatype="html">
@ -7604,6 +7604,22 @@
<context context-type="linenumber">37</context> <context context-type="linenumber">37</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3920411961658116502" datatype="html">
<source>Demo user account has been synced.</source>
<target state="new">Demo user account has been synced.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">223</context>
</context-group>
</trans-unit>
<trans-unit id="18fe01d6ae816d6787148e59ea1a39d0bb542e24" datatype="html">
<source>Sync Demo User Account</source>
<target state="new">Sync Demo User Account</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">181</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -535,7 +535,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">336</context> <context context-type="linenumber">337</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context>
@ -583,7 +583,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">343</context> <context context-type="linenumber">344</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context> <context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -635,7 +635,7 @@
<target state="translated">Vuoi davvero eliminare questo buono?</target> <target state="translated">Vuoi davvero eliminare questo buono?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">134</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6470890277760887814" datatype="html"> <trans-unit id="6470890277760887814" datatype="html">
@ -643,7 +643,7 @@
<target state="translated">Vuoi davvero svuotare la cache?</target> <target state="translated">Vuoi davvero svuotare la cache?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">171</context> <context context-type="linenumber">179</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2712770700065625080" datatype="html"> <trans-unit id="2712770700065625080" datatype="html">
@ -651,7 +651,7 @@
<target state="translated">Imposta il messaggio di sistema:</target> <target state="translated">Imposta il messaggio di sistema:</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">191</context> <context context-type="linenumber">199</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html"> <trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html">
@ -747,7 +747,7 @@
<target state="translated">Svuota la cache</target> <target state="translated">Svuota la cache</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">186</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2817099043823177227" datatype="html"> <trans-unit id="2817099043823177227" datatype="html">
@ -1099,7 +1099,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">30</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html"> <trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html">
@ -1323,7 +1323,7 @@
<target state="translated">Tag</target> <target state="translated">Tag</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">143</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -1339,7 +1339,7 @@
<target state="translated">Segnala un’anomalia dei dati</target> <target state="translated">Segnala un’anomalia dei dati</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">409</context> <context context-type="linenumber">407</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2ee26d58f2707416e636887111d5603b35346c4a" datatype="html"> <trans-unit id="2ee26d58f2707416e636887111d5603b35346c4a" datatype="html">
@ -2463,7 +2463,7 @@
<target state="translated">Torna alla pagina iniziale</target> <target state="translated">Torna alla pagina iniziale</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">31</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="86022280b7836d1aff7fdc0182415b041ae3625c" datatype="html"> <trans-unit id="86022280b7836d1aff7fdc0182415b041ae3625c" datatype="html">
@ -3943,7 +3943,7 @@
<target state="translated">Piattaforme</target> <target state="translated">Piattaforme</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">136</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html"> <trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -5709,7 +5709,7 @@
<target state="translated">Confermi di voler cancellare questo messaggio di sistema?</target> <target state="translated">Confermi di voler cancellare questo messaggio di sistema?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">147</context> <context context-type="linenumber">155</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html"> <trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html">
@ -6894,7 +6894,7 @@
<target state="translated">Imposta API Key</target> <target state="translated">Imposta API Key</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context> <context context-type="linenumber">112</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7593,7 +7593,7 @@
<target state="translated"> I calcoli sono basati su dati di mercato ritardati e potrebbero non essere visualizzati in tempo reale.</target> <target state="translated"> I calcoli sono basati su dati di mercato ritardati e potrebbero non essere visualizzati in tempo reale.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context> <context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context>
<context context-type="linenumber">41</context> <context context-type="linenumber">43</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="793097298820646129" datatype="html"> <trans-unit id="793097298820646129" datatype="html">
@ -7605,6 +7605,22 @@
<context context-type="linenumber">37</context> <context context-type="linenumber">37</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3920411961658116502" datatype="html">
<source>Demo user account has been synced.</source>
<target state="new">Demo user account has been synced.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">223</context>
</context-group>
</trans-unit>
<trans-unit id="18fe01d6ae816d6787148e59ea1a39d0bb542e24" datatype="html">
<source>Sync Demo User Account</source>
<target state="new">Sync Demo User Account</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">181</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -534,7 +534,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">336</context> <context context-type="linenumber">337</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context>
@ -582,7 +582,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">343</context> <context context-type="linenumber">344</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context> <context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -634,7 +634,7 @@
<target state="translated">Wil je deze coupon echt verwijderen?</target> <target state="translated">Wil je deze coupon echt verwijderen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">134</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6470890277760887814" datatype="html"> <trans-unit id="6470890277760887814" datatype="html">
@ -642,7 +642,7 @@
<target state="translated">Wil je echt de cache legen?</target> <target state="translated">Wil je echt de cache legen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">171</context> <context context-type="linenumber">179</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2712770700065625080" datatype="html"> <trans-unit id="2712770700065625080" datatype="html">
@ -650,7 +650,7 @@
<target state="translated">Stel je systeemboodschap in:</target> <target state="translated">Stel je systeemboodschap in:</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">191</context> <context context-type="linenumber">199</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html"> <trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html">
@ -746,7 +746,7 @@
<target state="translated">Cache legen</target> <target state="translated">Cache legen</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">186</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2817099043823177227" datatype="html"> <trans-unit id="2817099043823177227" datatype="html">
@ -1098,7 +1098,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">30</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html"> <trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html">
@ -1322,7 +1322,7 @@
<target state="translated">Tags</target> <target state="translated">Tags</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">143</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -1338,7 +1338,7 @@
<target state="translated">Gegevensstoring melden</target> <target state="translated">Gegevensstoring melden</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">409</context> <context context-type="linenumber">407</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2ee26d58f2707416e636887111d5603b35346c4a" datatype="html"> <trans-unit id="2ee26d58f2707416e636887111d5603b35346c4a" datatype="html">
@ -2462,7 +2462,7 @@
<target state="translated">Ga terug naar de startpagina</target> <target state="translated">Ga terug naar de startpagina</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">31</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="86022280b7836d1aff7fdc0182415b041ae3625c" datatype="html"> <trans-unit id="86022280b7836d1aff7fdc0182415b041ae3625c" datatype="html">
@ -3942,7 +3942,7 @@
<target state="translated">Platforms</target> <target state="translated">Platforms</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">136</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html"> <trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -5708,7 +5708,7 @@
<target state="translated">Wilt u dit systeembericht echt verwijderen?</target> <target state="translated">Wilt u dit systeembericht echt verwijderen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">147</context> <context context-type="linenumber">155</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html"> <trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html">
@ -6893,7 +6893,7 @@
<target state="translated">API-sleutel instellen</target> <target state="translated">API-sleutel instellen</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context> <context context-type="linenumber">112</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7592,7 +7592,7 @@
<target state="translated">Berekeningen zijn gebaseerd op vertraagde marktgegevens en worden mogelijk niet in realtime weergegeven.</target> <target state="translated">Berekeningen zijn gebaseerd op vertraagde marktgegevens en worden mogelijk niet in realtime weergegeven.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context> <context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context>
<context context-type="linenumber">41</context> <context context-type="linenumber">43</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="793097298820646129" datatype="html"> <trans-unit id="793097298820646129" datatype="html">
@ -7604,6 +7604,22 @@
<context context-type="linenumber">37</context> <context context-type="linenumber">37</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3920411961658116502" datatype="html">
<source>Demo user account has been synced.</source>
<target state="new">Demo user account has been synced.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">223</context>
</context-group>
</trans-unit>
<trans-unit id="18fe01d6ae816d6787148e59ea1a39d0bb542e24" datatype="html">
<source>Sync Demo User Account</source>
<target state="new">Sync Demo User Account</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">181</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

62
apps/client/src/locales/messages.pl.xlf

@ -1015,7 +1015,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">336</context> <context context-type="linenumber">337</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context>
@ -1063,7 +1063,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">343</context> <context context-type="linenumber">344</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context> <context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -1415,7 +1415,7 @@
<target state="translated">Czy naprawdę chcesz usunąć ten kupon?</target> <target state="translated">Czy naprawdę chcesz usunąć ten kupon?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">134</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="297546430113071258" datatype="html"> <trans-unit id="297546430113071258" datatype="html">
@ -1423,7 +1423,7 @@
<target state="translated">Czy naprawdę chcesz usunąć tę wiadomość systemową?</target> <target state="translated">Czy naprawdę chcesz usunąć tę wiadomość systemową?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">147</context> <context context-type="linenumber">155</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6470890277760887814" datatype="html"> <trans-unit id="6470890277760887814" datatype="html">
@ -1431,7 +1431,7 @@
<target state="translated">Czy naprawdę chcesz wyczyścić pamięć podręczną?</target> <target state="translated">Czy naprawdę chcesz wyczyścić pamięć podręczną?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">171</context> <context context-type="linenumber">179</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2712770700065625080" datatype="html"> <trans-unit id="2712770700065625080" datatype="html">
@ -1439,7 +1439,7 @@
<target state="translated">Proszę ustawić swoją wiadomość systemową:</target> <target state="translated">Proszę ustawić swoją wiadomość systemową:</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">191</context> <context context-type="linenumber">199</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html"> <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">
@ -1547,7 +1547,7 @@
<target state="translated">Wyczyszczenie pamięci podręcznej</target> <target state="translated">Wyczyszczenie pamięci podręcznej</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">186</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7418ba6a757086804d7e00948f8b328050d99040" datatype="html"> <trans-unit id="7418ba6a757086804d7e00948f8b328050d99040" datatype="html">
@ -1635,7 +1635,7 @@
<target state="translated">Platformy</target> <target state="translated">Platformy</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">136</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html"> <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
@ -1643,7 +1643,7 @@
<target state="translated">Tagi</target> <target state="translated">Tagi</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">143</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -2119,7 +2119,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">30</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html"> <trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html">
@ -2403,7 +2403,7 @@
<target state="translated">Zgłoś Błąd Danych</target> <target state="translated">Zgłoś Błąd Danych</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">409</context> <context context-type="linenumber">407</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2573979fd7d8602db44b7b4ad493428bc354d2f5" datatype="html"> <trans-unit id="2573979fd7d8602db44b7b4ad493428bc354d2f5" datatype="html">
@ -5044,7 +5044,7 @@
<target state="translated">Wróć do Strony Głównej</target> <target state="translated">Wróć do Strony Głównej</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">31</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ed1d0d3031aba025b9bf280c1d7c54f44982ed46" datatype="html"> <trans-unit id="ed1d0d3031aba025b9bf280c1d7c54f44982ed46" datatype="html">
@ -6170,7 +6170,7 @@
</trans-unit> </trans-unit>
<trans-unit id="44268762ecf7c7d690288f763f17196216671353" datatype="html"> <trans-unit id="44268762ecf7c7d690288f763f17196216671353" datatype="html">
<source>{VAR_PLURAL, plural, =1 {activity} other {activities}}</source> <source>{VAR_PLURAL, plural, =1 {activity} other {activities}}</source>
<target state="new">{VAR_PLURAL, plural, =1 {activity} other {activities}}</target> <target state="translated">{VAR_PLURAL, plural, =1 {działalność} other {działalność}}</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">14</context> <context context-type="linenumber">14</context>
@ -6893,7 +6893,7 @@
<target state="translated">Skonfiguruj klucz API</target> <target state="translated">Skonfiguruj klucz API</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context> <context context-type="linenumber">112</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7204,7 +7204,7 @@
</trans-unit> </trans-unit>
<trans-unit id="47969a4a0916bea5385b42c18749e32a35f07bd7" datatype="html"> <trans-unit id="47969a4a0916bea5385b42c18749e32a35f07bd7" datatype="html">
<source>Default Market Price</source> <source>Default Market Price</source>
<target state="new">Default Market Price</target> <target state="translated">Domyślna cena rynkowa</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
<context context-type="linenumber">386</context> <context context-type="linenumber">386</context>
@ -7212,7 +7212,7 @@
</trans-unit> </trans-unit>
<trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html"> <trans-unit id="37e10df2d9c0c25ef04ac112c9c9a7723e8efae0" datatype="html">
<source>Mode</source> <source>Mode</source>
<target state="new">Mode</target> <target state="translated">Tryb</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
<context context-type="linenumber">423</context> <context context-type="linenumber">423</context>
@ -7220,7 +7220,7 @@
</trans-unit> </trans-unit>
<trans-unit id="5de9d226db382155f482a557b832da6d63108112" datatype="html"> <trans-unit id="5de9d226db382155f482a557b832da6d63108112" datatype="html">
<source>Selector</source> <source>Selector</source>
<target state="new">Selector</target> <target state="translated">Selektor</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
<context context-type="linenumber">439</context> <context context-type="linenumber">439</context>
@ -7228,7 +7228,7 @@
</trans-unit> </trans-unit>
<trans-unit id="135a208952e884a5ee78533cc4cc8559c702d555" datatype="html"> <trans-unit id="135a208952e884a5ee78533cc4cc8559c702d555" datatype="html">
<source>HTTP Request Headers</source> <source>HTTP Request Headers</source>
<target state="new">HTTP Request Headers</target> <target state="translated">Nagłówki żądań HTTP</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
<context context-type="linenumber">399</context> <context context-type="linenumber">399</context>
@ -7236,7 +7236,7 @@
</trans-unit> </trans-unit>
<trans-unit id="8635324470284879211" datatype="html"> <trans-unit id="8635324470284879211" datatype="html">
<source>end of day</source> <source>end of day</source>
<target state="new">end of day</target> <target state="translated">koniec dnia</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context> <context context-type="linenumber">138</context>
@ -7244,7 +7244,7 @@
</trans-unit> </trans-unit>
<trans-unit id="4547068148181074902" datatype="html"> <trans-unit id="4547068148181074902" datatype="html">
<source>real-time</source> <source>real-time</source>
<target state="new">real-time</target> <target state="translated">w czasie rzeczywistym</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context> <context context-type="linenumber">142</context>
@ -7268,7 +7268,7 @@
</trans-unit> </trans-unit>
<trans-unit id="cdcd7c871f3bc0326ee77e5aea82af1ef26f46f2" datatype="html"> <trans-unit id="cdcd7c871f3bc0326ee77e5aea82af1ef26f46f2" datatype="html">
<source>Market Data</source> <source>Market Data</source>
<target state="new">Market Data</target> <target state="translated">Dane rynkowe</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">374</context> <context context-type="linenumber">374</context>
@ -7485,7 +7485,7 @@
</trans-unit> </trans-unit>
<trans-unit id="d59937471dbd9dee61cfd6402c3963bbfccc7b2b" datatype="html"> <trans-unit id="d59937471dbd9dee61cfd6402c3963bbfccc7b2b" datatype="html">
<source>Gather Recent Historical Market Data</source> <source>Gather Recent Historical Market Data</source>
<target state="new">Gather Recent Historical Market Data</target> <target state="translated">Zbierz najnowsze historyczne dane rynkowe</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.html</context>
<context context-type="linenumber">226</context> <context context-type="linenumber">226</context>
@ -7592,7 +7592,7 @@
<target state="new"> Calculations are based on delayed market data and may not be displayed in real-time.</target> <target state="new"> Calculations are based on delayed market data and may not be displayed in real-time.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context> <context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context>
<context context-type="linenumber">41</context> <context context-type="linenumber">43</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="793097298820646129" datatype="html"> <trans-unit id="793097298820646129" datatype="html">
@ -7604,6 +7604,22 @@
<context context-type="linenumber">37</context> <context context-type="linenumber">37</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3920411961658116502" datatype="html">
<source>Demo user account has been synced.</source>
<target state="new">Demo user account has been synced.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">223</context>
</context-group>
</trans-unit>
<trans-unit id="18fe01d6ae816d6787148e59ea1a39d0bb542e24" datatype="html">
<source>Sync Demo User Account</source>
<target state="new">Sync Demo User Account</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">181</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -590,7 +590,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">336</context> <context context-type="linenumber">337</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context>
@ -638,7 +638,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">343</context> <context context-type="linenumber">344</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context> <context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -778,7 +778,7 @@
<target state="translated">Deseja realmente eliminar este cupão?</target> <target state="translated">Deseja realmente eliminar este cupão?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">134</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6470890277760887814" datatype="html"> <trans-unit id="6470890277760887814" datatype="html">
@ -786,7 +786,7 @@
<target state="translated">Deseja realmente limpar a cache?</target> <target state="translated">Deseja realmente limpar a cache?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">171</context> <context context-type="linenumber">179</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2712770700065625080" datatype="html"> <trans-unit id="2712770700065625080" datatype="html">
@ -794,7 +794,7 @@
<target state="translated">Por favor, defina a sua mensagem do sistema:</target> <target state="translated">Por favor, defina a sua mensagem do sistema:</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">191</context> <context context-type="linenumber">199</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html"> <trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html">
@ -878,7 +878,7 @@
<target state="translated">Limpar Cache</target> <target state="translated">Limpar Cache</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">186</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2817099043823177227" datatype="html"> <trans-unit id="2817099043823177227" datatype="html">
@ -1330,7 +1330,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">30</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html"> <trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html">
@ -1626,7 +1626,7 @@
<target state="translated">Marcadores</target> <target state="translated">Marcadores</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">143</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -1642,7 +1642,7 @@
<target state="translated">Dados do Relatório com Problema</target> <target state="translated">Dados do Relatório com Problema</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">409</context> <context context-type="linenumber">407</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2ee26d58f2707416e636887111d5603b35346c4a" datatype="html"> <trans-unit id="2ee26d58f2707416e636887111d5603b35346c4a" datatype="html">
@ -2854,7 +2854,7 @@
<target state="translated">Voltar à Página Inicial</target> <target state="translated">Voltar à Página Inicial</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">31</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="86022280b7836d1aff7fdc0182415b041ae3625c" datatype="html"> <trans-unit id="86022280b7836d1aff7fdc0182415b041ae3625c" datatype="html">
@ -3942,7 +3942,7 @@
<target state="translated">Plataformas</target> <target state="translated">Plataformas</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">136</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html"> <trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -5708,7 +5708,7 @@
<target state="new">Do you really want to delete this system message?</target> <target state="new">Do you really want to delete this system message?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">147</context> <context context-type="linenumber">155</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html"> <trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html">
@ -6893,7 +6893,7 @@
<target state="new">Set API key</target> <target state="new">Set API key</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context> <context context-type="linenumber">112</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7592,7 +7592,7 @@
<target state="new"> Calculations are based on delayed market data and may not be displayed in real-time.</target> <target state="new"> Calculations are based on delayed market data and may not be displayed in real-time.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context> <context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context>
<context context-type="linenumber">41</context> <context context-type="linenumber">43</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="793097298820646129" datatype="html"> <trans-unit id="793097298820646129" datatype="html">
@ -7604,6 +7604,22 @@
<context context-type="linenumber">37</context> <context context-type="linenumber">37</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3920411961658116502" datatype="html">
<source>Demo user account has been synced.</source>
<target state="new">Demo user account has been synced.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">223</context>
</context-group>
</trans-unit>
<trans-unit id="18fe01d6ae816d6787148e59ea1a39d0bb542e24" datatype="html">
<source>Sync Demo User Account</source>
<target state="new">Sync Demo User Account</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">181</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

52
apps/client/src/locales/messages.tr.xlf

@ -979,7 +979,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">336</context> <context context-type="linenumber">337</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context>
@ -1027,7 +1027,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">343</context> <context context-type="linenumber">344</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context> <context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -1320,18 +1320,18 @@
</trans-unit> </trans-unit>
<trans-unit id="8122024350760043460" datatype="html"> <trans-unit id="8122024350760043460" datatype="html">
<source>Do you really want to delete this coupon?</source> <source>Do you really want to delete this coupon?</source>
<target state="translated">Önbelleği temizlemeyi gerçekten istiyor musunuz?</target> <target state="translated">Bu kuponu gerçekten silmek istiyor musunuz?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">134</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6470890277760887814" datatype="html"> <trans-unit id="6470890277760887814" datatype="html">
<source>Do you really want to flush the cache?</source> <source>Do you really want to flush the cache?</source>
<target state="translated">Önbelleği temizlemeyi gerçekten istiyor musunuz</target> <target state="translated">Önbelleği temizlemeyi gerçekten istiyor musunuz?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">171</context> <context context-type="linenumber">179</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2712770700065625080" datatype="html"> <trans-unit id="2712770700065625080" datatype="html">
@ -1339,7 +1339,7 @@
<target state="translated">Lütfen sistem mesajınızı belirleyin:</target> <target state="translated">Lütfen sistem mesajınızı belirleyin:</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">191</context> <context context-type="linenumber">199</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html"> <trans-unit id="ec03f5c28b327fc7ecfc4b20a0a7cf14a75843ff" datatype="html">
@ -1379,7 +1379,7 @@
<target state="translated">Etiketler</target> <target state="translated">Etiketler</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">143</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -1455,7 +1455,7 @@
<target state="translated">Önbelleği temizle</target> <target state="translated">Önbelleği temizle</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">186</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7418ba6a757086804d7e00948f8b328050d99040" datatype="html"> <trans-unit id="7418ba6a757086804d7e00948f8b328050d99040" datatype="html">
@ -1543,12 +1543,12 @@
<target state="translated">Platformlar</target> <target state="translated">Platformlar</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">136</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2817099043823177227" datatype="html"> <trans-unit id="2817099043823177227" datatype="html">
<source>Do you really want to delete this user?</source> <source>Do you really want to delete this user?</source>
<target state="translated">Bu kullanıcıyı silmeyi gerçekten istiyor musunu?</target> <target state="translated">Bu kullanıcıyı silmeyi gerçekten istiyor musunuz?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">142</context> <context context-type="linenumber">142</context>
@ -1744,7 +1744,7 @@
</trans-unit> </trans-unit>
<trans-unit id="3ccabfc3dc288eaa2355ba43298c739f85951ec3" datatype="html"> <trans-unit id="3ccabfc3dc288eaa2355ba43298c739f85951ec3" datatype="html">
<source>Get started</source> <source>Get started</source>
<target state="translate">Haydi Başlayalım</target> <target state="translated">Haydi Başlayalım</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.html</context>
<context context-type="linenumber">420</context> <context context-type="linenumber">420</context>
@ -1971,7 +1971,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">30</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html"> <trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html">
@ -2247,7 +2247,7 @@
<target state="translated">Rapor Veri Sorunu</target> <target state="translated">Rapor Veri Sorunu</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">409</context> <context context-type="linenumber">407</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2573979fd7d8602db44b7b4ad493428bc354d2f5" datatype="html"> <trans-unit id="2573979fd7d8602db44b7b4ad493428bc354d2f5" datatype="html">
@ -4772,7 +4772,7 @@
<target state="translated">Ana Sayfaya Geri Dön</target> <target state="translated">Ana Sayfaya Geri Dön</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">31</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ed1d0d3031aba025b9bf280c1d7c54f44982ed46" datatype="html"> <trans-unit id="ed1d0d3031aba025b9bf280c1d7c54f44982ed46" datatype="html">
@ -5708,7 +5708,7 @@
<target state="translated">Bu sistem mesajını silmeyi gerçekten istiyor musunuz?</target> <target state="translated">Bu sistem mesajını silmeyi gerçekten istiyor musunuz?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">147</context> <context context-type="linenumber">155</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html"> <trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html">
@ -6893,7 +6893,7 @@
<target state="translated">API anahtarını ayarla</target> <target state="translated">API anahtarını ayarla</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context> <context context-type="linenumber">112</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7592,7 +7592,7 @@
<target state="translated"> Hesaplamalar gecikmeli piyasa verilerine dayanmaktadır ve gerçek zamanlı olarak görüntülenemeyebilir.</target> <target state="translated"> Hesaplamalar gecikmeli piyasa verilerine dayanmaktadır ve gerçek zamanlı olarak görüntülenemeyebilir.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context> <context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context>
<context context-type="linenumber">41</context> <context context-type="linenumber">43</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="793097298820646129" datatype="html"> <trans-unit id="793097298820646129" datatype="html">
@ -7604,6 +7604,22 @@
<context context-type="linenumber">37</context> <context context-type="linenumber">37</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3920411961658116502" datatype="html">
<source>Demo user account has been synced.</source>
<target state="new">Demo user account has been synced.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">223</context>
</context-group>
</trans-unit>
<trans-unit id="18fe01d6ae816d6787148e59ea1a39d0bb542e24" datatype="html">
<source>Sync Demo User Account</source>
<target state="new">Sync Demo User Account</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">181</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

50
apps/client/src/locales/messages.uk.xlf

@ -1467,7 +1467,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">336</context> <context context-type="linenumber">337</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context>
@ -1515,7 +1515,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">343</context> <context context-type="linenumber">344</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context> <context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -1587,7 +1587,7 @@
<target state="translated">Ви дійсно хочете видалити цей купон?</target> <target state="translated">Ви дійсно хочете видалити цей купон?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">134</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="297546430113071258" datatype="html"> <trans-unit id="297546430113071258" datatype="html">
@ -1595,7 +1595,7 @@
<target state="translated">Ви дійсно хочете видалити це системне повідомлення?</target> <target state="translated">Ви дійсно хочете видалити це системне повідомлення?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">147</context> <context context-type="linenumber">155</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6470890277760887814" datatype="html"> <trans-unit id="6470890277760887814" datatype="html">
@ -1603,7 +1603,7 @@
<target state="translated">Ви дійсно хочете очистити кеш?</target> <target state="translated">Ви дійсно хочете очистити кеш?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">171</context> <context context-type="linenumber">179</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2712770700065625080" datatype="html"> <trans-unit id="2712770700065625080" datatype="html">
@ -1611,7 +1611,7 @@
<target state="translated">Будь ласка, встановіть ваше системне повідомлення:</target> <target state="translated">Будь ласка, встановіть ваше системне повідомлення:</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">191</context> <context context-type="linenumber">199</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html"> <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">
@ -1723,7 +1723,7 @@
<target state="translated">Очистити кеш</target> <target state="translated">Очистити кеш</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">186</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7418ba6a757086804d7e00948f8b328050d99040" datatype="html"> <trans-unit id="7418ba6a757086804d7e00948f8b328050d99040" datatype="html">
@ -1835,7 +1835,7 @@
<target state="translated">Встановити ключ API</target> <target state="translated">Встановити ключ API</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context> <context context-type="linenumber">112</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6ee0b8778b1e61a6434b8f1a92febacca34112a7" datatype="html"> <trans-unit id="6ee0b8778b1e61a6434b8f1a92febacca34112a7" datatype="html">
@ -1843,7 +1843,7 @@
<target state="translated">Платформи</target> <target state="translated">Платформи</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">136</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html"> <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
@ -1851,7 +1851,7 @@
<target state="translated">Теги</target> <target state="translated">Теги</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">143</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -1907,7 +1907,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">30</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html"> <trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
@ -2220,7 +2220,7 @@
</trans-unit> </trans-unit>
<trans-unit id="76897e07c5670ce3b7710cc10c5e1c08b5f6a83a" datatype="html"> <trans-unit id="76897e07c5670ce3b7710cc10c5e1c08b5f6a83a" datatype="html">
<source><x id="START_BLOCK_IF" equiv-text="@if ( SymbolProfile?.currency &amp;&amp; data.baseCurrency !== SymbolProfile?.currency ) {"/> Change with currency effect <x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="START_BLOCK_ELSE" equiv-text="@else {"/> Change <x id="CLOSE_BLOCK_ELSE" equiv-text="}"/></source> <source><x id="START_BLOCK_IF" equiv-text="@if ( SymbolProfile?.currency &amp;&amp; data.baseCurrency !== SymbolProfile?.currency ) {"/> Change with currency effect <x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="START_BLOCK_ELSE" equiv-text="@else {"/> Change <x id="CLOSE_BLOCK_ELSE" equiv-text="}"/></source>
<target state="new"><x id="START_BLOCK_IF" equiv-text="seCurrency !== SymbolProfile?.currency ) {"/> Зміна з урахуванням валютного ефекту <x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="START_BLOCK_ELSE" equiv-text="@else {"/> Зміна <x id="CLOSE_BLOCK_ELSE" equiv-text="}"/></target> <target state="translated"><x id="START_BLOCK_IF" equiv-text="seCurrency !== SymbolProfile?.currency ) {"/> Зміна з урахуванням валютного ефекту <x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="START_BLOCK_ELSE" equiv-text="@else {"/> Зміна <x id="CLOSE_BLOCK_ELSE" equiv-text="}"/></target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">50</context> <context context-type="linenumber">50</context>
@ -2228,7 +2228,7 @@
</trans-unit> </trans-unit>
<trans-unit id="65ff514a2e167229e1a34b3712f2cf2908576d0f" datatype="html"> <trans-unit id="65ff514a2e167229e1a34b3712f2cf2908576d0f" datatype="html">
<source><x id="START_BLOCK_IF" equiv-text="@if ( SymbolProfile?.currency &amp;&amp; data.baseCurrency !== SymbolProfile?.currency ) {"/> Performance with currency effect <x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="START_BLOCK_ELSE" equiv-text="@else {"/> Performance <x id="CLOSE_BLOCK_ELSE" equiv-text="}"/></source> <source><x id="START_BLOCK_IF" equiv-text="@if ( SymbolProfile?.currency &amp;&amp; data.baseCurrency !== SymbolProfile?.currency ) {"/> Performance with currency effect <x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="START_BLOCK_ELSE" equiv-text="@else {"/> Performance <x id="CLOSE_BLOCK_ELSE" equiv-text="}"/></source>
<target state="new"><x id="START_BLOCK_IF" equiv-text="seCurrency !== SymbolProfile?.currency ) {"/> Прибутковість з урахуванням валютного ефекту валюти <x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="START_BLOCK_ELSE" equiv-text="@else {"/> Прибутковість <x id="CLOSE_BLOCK_ELSE" equiv-text="}"/></target> <target state="translated"><x id="START_BLOCK_IF" equiv-text="seCurrency !== SymbolProfile?.currency ) {"/> Прибутковість з урахуванням валютного ефекту валюти <x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="START_BLOCK_ELSE" equiv-text="@else {"/> Прибутковість <x id="CLOSE_BLOCK_ELSE" equiv-text="}"/></target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">69</context> <context context-type="linenumber">69</context>
@ -2343,7 +2343,7 @@
<target state="translated">Повідомити про збій даних</target> <target state="translated">Повідомити про збій даних</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">409</context> <context context-type="linenumber">407</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8204176479746810612" datatype="html"> <trans-unit id="8204176479746810612" datatype="html">
@ -6115,7 +6115,7 @@
<target state="translated">Повернутися на головну сторінку</target> <target state="translated">Повернутися на головну сторінку</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">31</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2263595996673750436" datatype="html"> <trans-unit id="2263595996673750436" datatype="html">
@ -6656,7 +6656,7 @@
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
<source>Get access to 80’000+ tickers from over 50 exchanges</source> <source>Get access to 80’000+ tickers from over 50 exchanges</source>
<target state="new">Отримайте доступ до 100 000+ тікерів з понад 50 бірж</target> <target state="translated">Отримайте доступ до 80 000+ тікерів з понад 50 бірж</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">24</context> <context context-type="linenumber">24</context>
@ -7592,7 +7592,7 @@
<target state="new"> Calculations are based on delayed market data and may not be displayed in real-time.</target> <target state="new"> Calculations are based on delayed market data and may not be displayed in real-time.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context> <context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context>
<context context-type="linenumber">41</context> <context context-type="linenumber">43</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="793097298820646129" datatype="html"> <trans-unit id="793097298820646129" datatype="html">
@ -7604,6 +7604,22 @@
<context context-type="linenumber">37</context> <context context-type="linenumber">37</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3920411961658116502" datatype="html">
<source>Demo user account has been synced.</source>
<target state="new">Demo user account has been synced.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">223</context>
</context-group>
</trans-unit>
<trans-unit id="18fe01d6ae816d6787148e59ea1a39d0bb542e24" datatype="html">
<source>Sync Demo User Account</source>
<target state="new">Sync Demo User Account</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">181</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -965,7 +965,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">336</context> <context context-type="linenumber">337</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context>
@ -1012,7 +1012,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">343</context> <context context-type="linenumber">344</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context> <context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -1356,28 +1356,28 @@
<source>Do you really want to delete this coupon?</source> <source>Do you really want to delete this coupon?</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">134</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="297546430113071258" datatype="html"> <trans-unit id="297546430113071258" datatype="html">
<source>Do you really want to delete this system message?</source> <source>Do you really want to delete this system message?</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">147</context> <context context-type="linenumber">155</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6470890277760887814" datatype="html"> <trans-unit id="6470890277760887814" datatype="html">
<source>Do you really want to flush the cache?</source> <source>Do you really want to flush the cache?</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">171</context> <context context-type="linenumber">179</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2712770700065625080" datatype="html"> <trans-unit id="2712770700065625080" datatype="html">
<source>Please set your system message:</source> <source>Please set your system message:</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">191</context> <context context-type="linenumber">199</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html"> <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">
@ -1472,7 +1472,7 @@
<source>Flush Cache</source> <source>Flush Cache</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">186</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7418ba6a757086804d7e00948f8b328050d99040" datatype="html"> <trans-unit id="7418ba6a757086804d7e00948f8b328050d99040" datatype="html">
@ -1553,14 +1553,14 @@
<source>Platforms</source> <source>Platforms</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">136</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html"> <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
<source>Tags</source> <source>Tags</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">143</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -1989,7 +1989,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">30</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html"> <trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html">
@ -2243,7 +2243,7 @@
<source>Report Data Glitch</source> <source>Report Data Glitch</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">409</context> <context context-type="linenumber">407</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2573979fd7d8602db44b7b4ad493428bc354d2f5" datatype="html"> <trans-unit id="2573979fd7d8602db44b7b4ad493428bc354d2f5" datatype="html">
@ -4632,7 +4632,7 @@
<source>Go back to Home Page</source> <source>Go back to Home Page</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">31</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2263595996673750436" datatype="html"> <trans-unit id="2263595996673750436" datatype="html">
@ -6233,7 +6233,7 @@
<source>Set API key</source> <source>Set API key</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context> <context context-type="linenumber">112</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -6827,7 +6827,7 @@
<source> Calculations are based on delayed market data and may not be displayed in real-time.</source> <source> Calculations are based on delayed market data and may not be displayed in real-time.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context> <context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context>
<context context-type="linenumber">41</context> <context context-type="linenumber">43</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="793097298820646129" datatype="html"> <trans-unit id="793097298820646129" datatype="html">
@ -6838,6 +6838,20 @@
<context context-type="linenumber">37</context> <context context-type="linenumber">37</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="18fe01d6ae816d6787148e59ea1a39d0bb542e24" datatype="html">
<source>Sync Demo User Account</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">181</context>
</context-group>
</trans-unit>
<trans-unit id="3920411961658116502" datatype="html">
<source>Demo user account has been synced.</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">223</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

44
apps/client/src/locales/messages.zh.xlf

@ -1024,7 +1024,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">336</context> <context context-type="linenumber">337</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context>
@ -1072,7 +1072,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">343</context> <context context-type="linenumber">344</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context> <context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -1424,7 +1424,7 @@
<target state="translated">您确实要删除此优惠券吗?</target> <target state="translated">您确实要删除此优惠券吗?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">134</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="297546430113071258" datatype="html"> <trans-unit id="297546430113071258" datatype="html">
@ -1432,7 +1432,7 @@
<target state="translated">您真的要删除这条系统消息吗?</target> <target state="translated">您真的要删除这条系统消息吗?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">147</context> <context context-type="linenumber">155</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6470890277760887814" datatype="html"> <trans-unit id="6470890277760887814" datatype="html">
@ -1440,7 +1440,7 @@
<target state="translated">您真的要刷新缓存吗?</target> <target state="translated">您真的要刷新缓存吗?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">171</context> <context context-type="linenumber">179</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2712770700065625080" datatype="html"> <trans-unit id="2712770700065625080" datatype="html">
@ -1448,7 +1448,7 @@
<target state="translated">请设置您的系统消息:</target> <target state="translated">请设置您的系统消息:</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">191</context> <context context-type="linenumber">199</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html"> <trans-unit id="8fe73a4787b8068b2ba61f54ab7e0f9af2ea1fc9" datatype="html">
@ -1556,7 +1556,7 @@
<target state="translated">刷新缓存</target> <target state="translated">刷新缓存</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">174</context> <context context-type="linenumber">186</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7418ba6a757086804d7e00948f8b328050d99040" datatype="html"> <trans-unit id="7418ba6a757086804d7e00948f8b328050d99040" datatype="html">
@ -1644,7 +1644,7 @@
<target state="translated">平台</target> <target state="translated">平台</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">136</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html"> <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
@ -1652,7 +1652,7 @@
<target state="translated">标签</target> <target state="translated">标签</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">143</context> <context context-type="linenumber">142</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/tags-selector/tags-selector.component.html</context>
@ -2128,7 +2128,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">30</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html"> <trans-unit id="06ce3d665f2d87f69884667d21699ab1cc6fa585" datatype="html">
@ -2412,7 +2412,7 @@
<target state="translated">报告数据故障</target> <target state="translated">报告数据故障</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">409</context> <context context-type="linenumber">407</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2573979fd7d8602db44b7b4ad493428bc354d2f5" datatype="html"> <trans-unit id="2573979fd7d8602db44b7b4ad493428bc354d2f5" datatype="html">
@ -5077,7 +5077,7 @@
<target state="translated">返回首页</target> <target state="translated">返回首页</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context> <context context-type="sourcefile">apps/client/src/app/pages/webauthn/webauthn-page.html</context>
<context context-type="linenumber">31</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2263595996673750436" datatype="html"> <trans-unit id="2263595996673750436" datatype="html">
@ -6894,7 +6894,7 @@
<target state="translated">设置 API 密钥</target> <target state="translated">设置 API 密钥</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">113</context> <context context-type="linenumber">112</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7593,7 +7593,7 @@
<target state="translated"> 计算基于延迟的市场数据,可能无法实时显示。</target> <target state="translated"> 计算基于延迟的市场数据,可能无法实时显示。</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context> <context context-type="sourcefile">apps/client/src/app/components/home-market/home-market.html</context>
<context context-type="linenumber">41</context> <context context-type="linenumber">43</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="793097298820646129" datatype="html"> <trans-unit id="793097298820646129" datatype="html">
@ -7605,6 +7605,22 @@
<context context-type="linenumber">37</context> <context context-type="linenumber">37</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3920411961658116502" datatype="html">
<source>Demo user account has been synced.</source>
<target state="new">Demo user account has been synced.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">223</context>
</context-group>
</trans-unit>
<trans-unit id="18fe01d6ae816d6787148e59ea1a39d0bb542e24" datatype="html">
<source>Sync Demo User Account</source>
<target state="new">Sync Demo User Account</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">181</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

6
libs/common/src/lib/config.ts

@ -76,8 +76,6 @@ export const DERIVED_CURRENCIES = [
} }
]; ];
export const EMERGENCY_FUND_TAG_ID = '4452656d-9fa4-4bd0-ba38-70492e31d180';
export const GATHER_ASSET_PROFILE_PROCESS_JOB_NAME = 'GATHER_ASSET_PROFILE'; export const GATHER_ASSET_PROFILE_PROCESS_JOB_NAME = 'GATHER_ASSET_PROFILE';
export const GATHER_ASSET_PROFILE_PROCESS_JOB_OPTIONS: JobOptions = { export const GATHER_ASSET_PROFILE_PROCESS_JOB_OPTIONS: JobOptions = {
attempts: 12, attempts: 12,
@ -122,6 +120,7 @@ export const PROPERTY_CURRENCIES = 'CURRENCIES';
export const PROPERTY_DATA_SOURCE_MAPPING = 'DATA_SOURCE_MAPPING'; export const PROPERTY_DATA_SOURCE_MAPPING = 'DATA_SOURCE_MAPPING';
export const PROPERTY_DATA_SOURCES_GHOSTFOLIO_DATA_PROVIDER_MAX_REQUESTS = export const PROPERTY_DATA_SOURCES_GHOSTFOLIO_DATA_PROVIDER_MAX_REQUESTS =
'DATA_SOURCES_GHOSTFOLIO_DATA_PROVIDER_MAX_REQUESTS'; 'DATA_SOURCES_GHOSTFOLIO_DATA_PROVIDER_MAX_REQUESTS';
export const PROPERTY_DEMO_ACCOUNT_ID = 'DEMO_ACCOUNT_ID';
export const PROPERTY_DEMO_USER_ID = 'DEMO_USER_ID'; export const PROPERTY_DEMO_USER_ID = 'DEMO_USER_ID';
export const PROPERTY_IS_DATA_GATHERING_ENABLED = 'IS_DATA_GATHERING_ENABLED'; export const PROPERTY_IS_DATA_GATHERING_ENABLED = 'IS_DATA_GATHERING_ENABLED';
export const PROPERTY_IS_READ_ONLY_MODE = 'IS_READ_ONLY_MODE'; export const PROPERTY_IS_READ_ONLY_MODE = 'IS_READ_ONLY_MODE';
@ -171,4 +170,7 @@ export const SUPPORTED_LANGUAGE_CODES = [
'zh' 'zh'
]; ];
export const TAG_ID_EMERGENCY_FUND = '4452656d-9fa4-4bd0-ba38-70492e31d180';
export const TAG_ID_DEMO = 'efa08cb3-9b9d-4974-ac68-db13a19c4874';
export const UNKNOWN_KEY = 'UNKNOWN'; export const UNKNOWN_KEY = 'UNKNOWN';

2
libs/common/src/lib/interfaces/responses/portfolio-holding-response.interface.ts

@ -22,7 +22,7 @@ export interface PortfolioHoldingResponse {
grossPerformancePercentWithCurrencyEffect: number; grossPerformancePercentWithCurrencyEffect: number;
grossPerformanceWithCurrencyEffect: number; grossPerformanceWithCurrencyEffect: number;
historicalData: HistoricalDataItem[]; historicalData: HistoricalDataItem[];
investment: number; investmentInBaseCurrencyWithCurrencyEffect: number;
marketPrice: number; marketPrice: number;
marketPriceMax: number; marketPriceMax: number;
marketPriceMin: number; marketPriceMin: number;

1
libs/common/src/lib/permissions.ts

@ -45,6 +45,7 @@ export const permissions = {
readTags: 'readTags', readTags: 'readTags',
readWatchlist: 'readWatchlist', readWatchlist: 'readWatchlist',
reportDataGlitch: 'reportDataGlitch', reportDataGlitch: 'reportDataGlitch',
syncDemoUserAccount: 'syncDemoUserAccount',
toggleReadOnlyMode: 'toggleReadOnlyMode', toggleReadOnlyMode: 'toggleReadOnlyMode',
updateAccount: 'updateAccount', updateAccount: 'updateAccount',
updateAuthDevice: 'updateAuthDevice', updateAuthDevice: 'updateAuthDevice',

30
package-lock.json

@ -1,12 +1,12 @@
{ {
"name": "ghostfolio", "name": "ghostfolio",
"version": "2.164.0", "version": "2.165.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ghostfolio", "name": "ghostfolio",
"version": "2.164.0", "version": "2.165.0",
"hasInstallScript": true, "hasInstallScript": true,
"license": "AGPL-3.0", "license": "AGPL-3.0",
"dependencies": { "dependencies": {
@ -47,7 +47,7 @@
"@simplewebauthn/server": "13.1.1", "@simplewebauthn/server": "13.1.1",
"@stripe/stripe-js": "7.3.0", "@stripe/stripe-js": "7.3.0",
"alphavantage": "2.2.0", "alphavantage": "2.2.0",
"big.js": "6.2.2", "big.js": "7.0.1",
"bootstrap": "4.6.2", "bootstrap": "4.6.2",
"bull": "4.16.5", "bull": "4.16.5",
"chart.js": "4.4.9", "chart.js": "4.4.9",
@ -72,7 +72,7 @@
"lodash": "4.17.21", "lodash": "4.17.21",
"marked": "15.0.4", "marked": "15.0.4",
"ms": "3.0.0-canary.1", "ms": "3.0.0-canary.1",
"ng-extract-i18n-merge": "2.14.3", "ng-extract-i18n-merge": "2.15.0",
"ngx-device-detector": "9.0.0", "ngx-device-detector": "9.0.0",
"ngx-markdown": "19.0.0", "ngx-markdown": "19.0.0",
"ngx-skeleton-loader": "11.0.0", "ngx-skeleton-loader": "11.0.0",
@ -15220,9 +15220,9 @@
} }
}, },
"node_modules/big.js": { "node_modules/big.js": {
"version": "6.2.2", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.2.tgz", "resolved": "https://registry.npmjs.org/big.js/-/big.js-7.0.1.tgz",
"integrity": "sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==", "integrity": "sha512-iFgV784tD8kq4ccF1xtNMZnXeZzVuXWWM+ERFzKQjv+A5G9HC8CY3DuV45vgzFFcW+u2tIvmF95+AzWgs6BjCg==",
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": "*" "node": "*"
@ -27037,22 +27037,22 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/ng-extract-i18n-merge": { "node_modules/ng-extract-i18n-merge": {
"version": "2.14.3", "version": "2.15.0",
"resolved": "https://registry.npmjs.org/ng-extract-i18n-merge/-/ng-extract-i18n-merge-2.14.3.tgz", "resolved": "https://registry.npmjs.org/ng-extract-i18n-merge/-/ng-extract-i18n-merge-2.15.0.tgz",
"integrity": "sha512-5zYuS/divhP2Tk0fizk7D8q5TyhwRjyj/DgaEgurrRwkWfIZFDUGc98eTziR3vIMsb9/sgbUSyeA+8LllCkKyA==", "integrity": "sha512-43ew7btSrRJ34BHfRkjvvW8wXxfyFiM5rbFU22f/ZuEK1wpClV8lNaF09CYixY1+ycMpKLLyW+olj1Nj3kvs4g==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@angular-devkit/architect": "^0.1301.0 || ^0.1401.0 || ^0.1501.0 || ^0.1601.0 || ^0.1700.0 || ^0.1800.0 || ^0.1900.0", "@angular-devkit/architect": "^0.1301.0 || ^0.1401.0 || ^0.1501.0 || ^0.1601.0 || ^0.1700.0 || ^0.1800.0 || ^0.1900.0 || ^0.2000.0 || 0.2000.0-rc.2",
"@angular-devkit/core": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "@angular-devkit/core": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || 20.0.0-rc.2",
"@angular-devkit/schematics": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "@angular-devkit/schematics": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || 20.0.0-rc.2",
"@schematics/angular": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "@schematics/angular": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || 20.0.0-rc.2",
"xmldoc": "^1.1.3" "xmldoc": "^1.1.3"
}, },
"engines": { "engines": {
"node": ">=14.0.0" "node": ">=14.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"@angular-devkit/build-angular": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" "@angular-devkit/build-angular": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || 20.0.0-rc.2"
} }
}, },
"node_modules/ng-extract-i18n-merge/node_modules/@angular-devkit/architect": { "node_modules/ng-extract-i18n-merge/node_modules/@angular-devkit/architect": {

6
package.json

@ -1,6 +1,6 @@
{ {
"name": "ghostfolio", "name": "ghostfolio",
"version": "2.164.0", "version": "2.165.0",
"homepage": "https://ghostfol.io", "homepage": "https://ghostfol.io",
"license": "AGPL-3.0", "license": "AGPL-3.0",
"repository": "https://github.com/ghostfolio/ghostfolio", "repository": "https://github.com/ghostfolio/ghostfolio",
@ -93,7 +93,7 @@
"@simplewebauthn/server": "13.1.1", "@simplewebauthn/server": "13.1.1",
"@stripe/stripe-js": "7.3.0", "@stripe/stripe-js": "7.3.0",
"alphavantage": "2.2.0", "alphavantage": "2.2.0",
"big.js": "6.2.2", "big.js": "7.0.1",
"bootstrap": "4.6.2", "bootstrap": "4.6.2",
"bull": "4.16.5", "bull": "4.16.5",
"chart.js": "4.4.9", "chart.js": "4.4.9",
@ -118,7 +118,7 @@
"lodash": "4.17.21", "lodash": "4.17.21",
"marked": "15.0.4", "marked": "15.0.4",
"ms": "3.0.0-canary.1", "ms": "3.0.0-canary.1",
"ng-extract-i18n-merge": "2.14.3", "ng-extract-i18n-merge": "2.15.0",
"ngx-device-detector": "9.0.0", "ngx-device-detector": "9.0.0",
"ngx-markdown": "19.0.0", "ngx-markdown": "19.0.0",
"ngx-skeleton-loader": "11.0.0", "ngx-skeleton-loader": "11.0.0",

10
prisma/schema.prisma

@ -233,11 +233,11 @@ model Subscription {
} }
model Tag { model Tag {
id String @id @default(uuid()) activities Order[]
name String id String @id @default(uuid())
orders Order[] name String
userId String? userId String?
User User? @relation(fields: [userId], onDelete: Cascade, references: [id]) User User? @relation(fields: [userId], onDelete: Cascade, references: [id])
@@unique([name, userId]) @@unique([name, userId])
@@index([name]) @@index([name])

Loading…
Cancel
Save