Browse Source

Merge branch 'main' into feature/rename-order-to-activities-in-account-database-schema

pull/4577/head
Thomas Kaul 4 months ago
committed by GitHub
parent
commit
817bacb124
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 16
      CHANGELOG.md
  2. 2
      apps/api/src/app/admin/admin.controller.ts
  3. 11
      apps/api/src/app/admin/admin.service.ts
  4. 10
      apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts
  5. 26
      apps/api/src/app/endpoints/watchlist/watchlist.controller.ts
  6. 6
      apps/api/src/app/endpoints/watchlist/watchlist.module.ts
  7. 33
      apps/api/src/app/endpoints/watchlist/watchlist.service.ts
  8. 1
      apps/api/src/services/data-provider/alpha-vantage/alpha-vantage.service.ts
  9. 1
      apps/api/src/services/data-provider/coingecko/coingecko.service.ts
  10. 5
      apps/api/src/services/data-provider/data-provider.service.ts
  11. 1
      apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts
  12. 1
      apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts
  13. 3
      apps/api/src/services/data-provider/ghostfolio/ghostfolio.service.ts
  14. 1
      apps/api/src/services/data-provider/google-sheets/google-sheets.service.ts
  15. 1
      apps/api/src/services/data-provider/manual/manual.service.ts
  16. 1
      apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts
  17. 1
      apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts
  18. 152
      apps/client/src/app/components/admin-settings/admin-settings.component.html
  19. 55
      apps/client/src/app/components/admin-settings/admin-settings.component.ts
  20. 2
      apps/client/src/app/components/admin-settings/admin-settings.module.ts
  21. 37
      apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html
  22. 3
      apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/interfaces/interfaces.ts
  23. 3
      apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.component.scss
  24. 92
      apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.component.ts
  25. 25
      apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html
  26. 4
      apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/interfaces/interfaces.ts
  27. 168
      apps/client/src/app/components/home-watchlist/home-watchlist.component.ts
  28. 35
      apps/client/src/app/components/home-watchlist/home-watchlist.html
  29. 3
      apps/client/src/app/components/home-watchlist/home-watchlist.scss
  30. 6
      apps/client/src/app/pages/home/home-page-routing.module.ts
  31. 6
      apps/client/src/app/pages/home/home-page.component.ts
  32. 2
      apps/client/src/app/pages/home/home-page.module.ts
  33. 26
      apps/client/src/app/services/admin.service.ts
  34. 16
      apps/client/src/app/services/data.service.ts
  35. 116
      apps/client/src/locales/messages.ca.xlf
  36. 116
      apps/client/src/locales/messages.de.xlf
  37. 116
      apps/client/src/locales/messages.es.xlf
  38. 116
      apps/client/src/locales/messages.fr.xlf
  39. 116
      apps/client/src/locales/messages.it.xlf
  40. 116
      apps/client/src/locales/messages.nl.xlf
  41. 116
      apps/client/src/locales/messages.pl.xlf
  42. 116
      apps/client/src/locales/messages.pt.xlf
  43. 116
      apps/client/src/locales/messages.tr.xlf
  44. 116
      apps/client/src/locales/messages.uk.xlf
  45. 109
      apps/client/src/locales/messages.xlf
  46. 116
      apps/client/src/locales/messages.zh.xlf
  47. 3
      libs/common/src/lib/interfaces/admin-data.interface.ts
  48. 3
      libs/common/src/lib/interfaces/data-provider-info.interface.ts
  49. 2
      libs/common/src/lib/interfaces/index.ts
  50. 5
      libs/common/src/lib/interfaces/responses/watchlist-response.interface.ts
  51. 73
      libs/ui/src/lib/benchmark/benchmark.component.html
  52. 37
      libs/ui/src/lib/benchmark/benchmark.component.ts
  53. 4
      package-lock.json
  54. 2
      package.json

16
CHANGELOG.md

@ -7,10 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased ## Unreleased
### Added
- Added support to delete an asset from the watchlist (experimental)
### Changed ### Changed
- Renamed `Order` to `activities` in the `Account` database schema - Renamed `Order` to `activities` in the `Account` database schema
## 2.157.1 - 2025-04-29
### Added
- Introduced a watchlist to follow assets (experimental)
### Changed
- Changed the column label from _Index_ to _Name_ in the benchmark component
- Extended the data providers management of the admin control panel
- Improved the language localization for German (`de`)
## 2.156.0 - 2025-04-27 ## 2.156.0 - 2025-04-27
### Changed ### Changed

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

@ -68,7 +68,7 @@ export class AdminController {
@HasPermission(permissions.accessAdminControl) @HasPermission(permissions.accessAdminControl)
@UseGuards(AuthGuard('jwt'), HasPermissionGuard) @UseGuards(AuthGuard('jwt'), HasPermissionGuard)
public async getAdminData(): Promise<AdminData> { public async getAdminData(): Promise<AdminData> {
return this.adminService.get(); return this.adminService.get({ user: this.request.user });
} }
@HasPermission(permissions.accessAdminControl) @HasPermission(permissions.accessAdminControl)

11
apps/api/src/app/admin/admin.service.ts

@ -29,7 +29,7 @@ import {
Filter Filter
} from '@ghostfolio/common/interfaces'; } from '@ghostfolio/common/interfaces';
import { Sector } from '@ghostfolio/common/interfaces/sector.interface'; import { Sector } from '@ghostfolio/common/interfaces/sector.interface';
import { MarketDataPreset } from '@ghostfolio/common/types'; import { MarketDataPreset, UserWithSettings } from '@ghostfolio/common/types';
import { import {
BadRequestException, BadRequestException,
@ -134,7 +134,9 @@ export class AdminService {
} }
} }
public async get(): Promise<AdminData> { public async get({ user }: { user: UserWithSettings }): Promise<AdminData> {
const dataSources = await this.dataProviderService.getDataSources({ user });
const [settings, transactionCount, userCount] = await Promise.all([ const [settings, transactionCount, userCount] = await Promise.all([
this.propertyService.get(), this.propertyService.get(),
this.prismaService.order.count(), this.prismaService.order.count(),
@ -145,6 +147,11 @@ export class AdminService {
settings, settings,
transactionCount, transactionCount,
userCount, userCount,
dataProviders: dataSources.map((dataSource) => {
return this.dataProviderService
.getDataProvider(dataSource)
.getDataProviderInfo();
}),
version: environment.version version: environment.version
}; };
} }

10
apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts

@ -1,5 +1,6 @@
import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service';
import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service'; import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service';
import { GhostfolioService as GhostfolioDataProviderService } from '@ghostfolio/api/services/data-provider/ghostfolio/ghostfolio.service';
import { import {
GetAssetProfileParams, GetAssetProfileParams,
GetDividendsParams, GetDividendsParams,
@ -327,10 +328,15 @@ export class GhostfolioService {
} }
private getDataProviderInfo(): DataProviderInfo { private getDataProviderInfo(): DataProviderInfo {
const ghostfolioDataProviderService = new GhostfolioDataProviderService(
this.configurationService,
this.propertyService
);
return { return {
...ghostfolioDataProviderService.getDataProviderInfo(),
isPremium: false, isPremium: false,
name: 'Ghostfolio Premium', name: 'Ghostfolio Premium'
url: 'https://ghostfol.io'
}; };
} }

26
apps/api/src/app/endpoints/watchlist/watchlist.controller.ts

@ -2,7 +2,7 @@ import { HasPermission } from '@ghostfolio/api/decorators/has-permission.decorat
import { HasPermissionGuard } from '@ghostfolio/api/guards/has-permission.guard'; 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 { TransformDataSourceInResponseInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor'; import { TransformDataSourceInResponseInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor';
import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; import { WatchlistResponse } from '@ghostfolio/common/interfaces';
import { permissions } from '@ghostfolio/common/permissions'; import { permissions } from '@ghostfolio/common/permissions';
import { RequestWithUser } from '@ghostfolio/common/types'; import { RequestWithUser } from '@ghostfolio/common/types';
@ -53,13 +53,13 @@ export class WatchlistController {
@Param('dataSource') dataSource: DataSource, @Param('dataSource') dataSource: DataSource,
@Param('symbol') symbol: string @Param('symbol') symbol: string
) { ) {
const watchlistItem = await this.watchlistService const watchlistItems = await this.watchlistService.getWatchlistItems(
.getWatchlistItems(this.request.user.id) this.request.user.id
.then((items) => { );
return items.find((item) => {
return item.dataSource === dataSource && item.symbol === symbol; const watchlistItem = watchlistItems.find((item) => {
}); return item.dataSource === dataSource && item.symbol === symbol;
}); });
if (!watchlistItem) { if (!watchlistItem) {
throw new HttpException( throw new HttpException(
@ -79,7 +79,13 @@ export class WatchlistController {
@HasPermission(permissions.readWatchlist) @HasPermission(permissions.readWatchlist)
@UseGuards(AuthGuard('jwt'), HasPermissionGuard) @UseGuards(AuthGuard('jwt'), HasPermissionGuard)
@UseInterceptors(TransformDataSourceInResponseInterceptor) @UseInterceptors(TransformDataSourceInResponseInterceptor)
public async getWatchlistItems(): Promise<AssetProfileIdentifier[]> { public async getWatchlistItems(): Promise<WatchlistResponse> {
return this.watchlistService.getWatchlistItems(this.request.user.id); const watchlist = await this.watchlistService.getWatchlistItems(
this.request.user.id
);
return {
watchlist
};
} }
} }

6
apps/api/src/app/endpoints/watchlist/watchlist.module.ts

@ -1,6 +1,9 @@
import { TransformDataSourceInRequestModule } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.module'; import { TransformDataSourceInRequestModule } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.module';
import { TransformDataSourceInResponseModule } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.module'; import { TransformDataSourceInResponseModule } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.module';
import { DataProviderModule } from '@ghostfolio/api/services/data-provider/data-provider.module';
import { PrismaModule } from '@ghostfolio/api/services/prisma/prisma.module'; import { PrismaModule } from '@ghostfolio/api/services/prisma/prisma.module';
import { DataGatheringModule } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.module';
import { SymbolProfileModule } from '@ghostfolio/api/services/symbol-profile/symbol-profile.module';
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
@ -10,7 +13,10 @@ import { WatchlistService } from './watchlist.service';
@Module({ @Module({
controllers: [WatchlistController], controllers: [WatchlistController],
imports: [ imports: [
DataGatheringModule,
DataProviderModule,
PrismaModule, PrismaModule,
SymbolProfileModule,
TransformDataSourceInRequestModule, TransformDataSourceInRequestModule,
TransformDataSourceInResponseModule TransformDataSourceInResponseModule
], ],

33
apps/api/src/app/endpoints/watchlist/watchlist.service.ts

@ -1,12 +1,20 @@
import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service';
import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service'; import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service';
import { DataGatheringService } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.service';
import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service';
import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces';
import { Injectable, NotFoundException } from '@nestjs/common'; import { BadRequestException, Injectable } from '@nestjs/common';
import { DataSource } from '@prisma/client'; import { DataSource, Prisma } from '@prisma/client';
@Injectable() @Injectable()
export class WatchlistService { export class WatchlistService {
public constructor(private readonly prismaService: PrismaService) {} public constructor(
private readonly dataGatheringService: DataGatheringService,
private readonly dataProviderService: DataProviderService,
private readonly prismaService: PrismaService,
private readonly symbolProfileService: SymbolProfileService
) {}
public async createWatchlistItem({ public async createWatchlistItem({
dataSource, dataSource,
@ -24,11 +32,26 @@ export class WatchlistService {
}); });
if (!symbolProfile) { if (!symbolProfile) {
throw new NotFoundException( const assetProfiles = await this.dataProviderService.getAssetProfiles([
`Asset profile not found for ${symbol} (${dataSource})` { dataSource, symbol }
]);
if (!assetProfiles[symbol]?.currency) {
throw new BadRequestException(
`Asset profile not found for ${symbol} (${dataSource})`
);
}
await this.symbolProfileService.add(
assetProfiles[symbol] as Prisma.SymbolProfileCreateInput
); );
} }
await this.dataGatheringService.gatherSymbol({
dataSource,
symbol
});
await this.prismaService.user.update({ await this.prismaService.user.update({
data: { data: {
watchlist: { watchlist: {

1
apps/api/src/services/data-provider/alpha-vantage/alpha-vantage.service.ts

@ -52,6 +52,7 @@ export class AlphaVantageService implements DataProviderInterface {
public getDataProviderInfo(): DataProviderInfo { public getDataProviderInfo(): DataProviderInfo {
return { return {
dataSource: DataSource.ALPHA_VANTAGE,
isPremium: false, isPremium: false,
name: 'Alpha Vantage', name: 'Alpha Vantage',
url: 'https://www.alphavantage.co' url: 'https://www.alphavantage.co'

1
apps/api/src/services/data-provider/coingecko/coingecko.service.ts

@ -92,6 +92,7 @@ export class CoinGeckoService implements DataProviderInterface {
public getDataProviderInfo(): DataProviderInfo { public getDataProviderInfo(): DataProviderInfo {
return { return {
dataSource: DataSource.COINGECKO,
isPremium: false, isPremium: false,
name: 'CoinGecko', name: 'CoinGecko',
url: 'https://coingecko.com' url: 'https://coingecko.com'

5
apps/api/src/services/data-provider/data-provider.service.ts

@ -26,6 +26,7 @@ import {
LookupItem, LookupItem,
LookupResponse LookupResponse
} from '@ghostfolio/common/interfaces'; } from '@ghostfolio/common/interfaces';
import { hasRole } from '@ghostfolio/common/permissions';
import type { Granularity, UserWithSettings } from '@ghostfolio/common/types'; import type { Granularity, UserWithSettings } from '@ghostfolio/common/types';
import { Inject, Injectable, Logger } from '@nestjs/common'; import { Inject, Injectable, Logger } from '@nestjs/common';
@ -169,6 +170,7 @@ export class DataProviderService {
let dataSourcesKey: 'DATA_SOURCES' | 'DATA_SOURCES_LEGACY' = 'DATA_SOURCES'; let dataSourcesKey: 'DATA_SOURCES' | 'DATA_SOURCES_LEGACY' = 'DATA_SOURCES';
if ( if (
!hasRole(user, 'ADMIN') &&
isBefore(user.createdAt, new Date('2025-03-23')) && isBefore(user.createdAt, new Date('2025-03-23')) &&
this.configurationService.get('DATA_SOURCES_LEGACY')?.length > 0 this.configurationService.get('DATA_SOURCES_LEGACY')?.length > 0
) { ) {
@ -185,7 +187,7 @@ export class DataProviderService {
PROPERTY_API_KEY_GHOSTFOLIO PROPERTY_API_KEY_GHOSTFOLIO
)) as string; )) as string;
if (ghostfolioApiKey) { if (ghostfolioApiKey || hasRole(user, 'ADMIN')) {
dataSources.push('GHOSTFOLIO'); dataSources.push('GHOSTFOLIO');
} }
@ -670,6 +672,7 @@ export class DataProviderService {
lookupItem.dataProviderInfo.isPremium = false; lookupItem.dataProviderInfo.isPremium = false;
} }
lookupItem.dataProviderInfo.dataSource = undefined;
lookupItem.dataProviderInfo.name = undefined; lookupItem.dataProviderInfo.name = undefined;
lookupItem.dataProviderInfo.url = undefined; lookupItem.dataProviderInfo.url = undefined;
} else { } else {

1
apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts

@ -68,6 +68,7 @@ export class EodHistoricalDataService implements DataProviderInterface {
public getDataProviderInfo(): DataProviderInfo { public getDataProviderInfo(): DataProviderInfo {
return { return {
dataSource: DataSource.EOD_HISTORICAL_DATA,
isPremium: true, isPremium: true,
name: 'EOD Historical Data', name: 'EOD Historical Data',
url: 'https://eodhd.com' url: 'https://eodhd.com'

1
apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts

@ -223,6 +223,7 @@ export class FinancialModelingPrepService implements DataProviderInterface {
public getDataProviderInfo(): DataProviderInfo { public getDataProviderInfo(): DataProviderInfo {
return { return {
dataSource: DataSource.FINANCIAL_MODELING_PREP,
isPremium: true, isPremium: true,
name: 'Financial Modeling Prep', name: 'Financial Modeling Prep',
url: 'https://financialmodelingprep.com/developer/docs' url: 'https://financialmodelingprep.com/developer/docs'

3
apps/api/src/services/data-provider/ghostfolio/ghostfolio.service.ts

@ -92,9 +92,10 @@ export class GhostfolioService implements DataProviderInterface {
public getDataProviderInfo(): DataProviderInfo { public getDataProviderInfo(): DataProviderInfo {
return { return {
dataSource: DataSource.GHOSTFOLIO,
isPremium: true, isPremium: true,
name: 'Ghostfolio', name: 'Ghostfolio',
url: 'https://ghostfo.io' url: 'https://ghostfol.io'
}; };
} }

1
apps/api/src/services/data-provider/google-sheets/google-sheets.service.ts

@ -47,6 +47,7 @@ export class GoogleSheetsService implements DataProviderInterface {
public getDataProviderInfo(): DataProviderInfo { public getDataProviderInfo(): DataProviderInfo {
return { return {
dataSource: DataSource.GOOGLE_SHEETS,
isPremium: false, isPremium: false,
name: 'Google Sheets', name: 'Google Sheets',
url: 'https://docs.google.com/spreadsheets' url: 'https://docs.google.com/spreadsheets'

1
apps/api/src/services/data-provider/manual/manual.service.ts

@ -64,6 +64,7 @@ export class ManualService implements DataProviderInterface {
public getDataProviderInfo(): DataProviderInfo { public getDataProviderInfo(): DataProviderInfo {
return { return {
dataSource: DataSource.MANUAL,
isPremium: false isPremium: false
}; };
} }

1
apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts

@ -43,6 +43,7 @@ export class RapidApiService implements DataProviderInterface {
public getDataProviderInfo(): DataProviderInfo { public getDataProviderInfo(): DataProviderInfo {
return { return {
dataSource: DataSource.RAPID_API,
isPremium: false, isPremium: false,
name: 'Rapid API', name: 'Rapid API',
url: 'https://rapidapi.com' url: 'https://rapidapi.com'

1
apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts

@ -51,6 +51,7 @@ export class YahooFinanceService implements DataProviderInterface {
public getDataProviderInfo(): DataProviderInfo { public getDataProviderInfo(): DataProviderInfo {
return { return {
dataSource: DataSource.YAHOO,
isPremium: false, isPremium: false,
name: 'Yahoo Finance', name: 'Yahoo Finance',
url: 'https://finance.yahoo.com' url: 'https://finance.yahoo.com'

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

@ -4,74 +4,100 @@
<h2 class="text-center" i18n>Data Providers</h2> <h2 class="text-center" i18n>Data Providers</h2>
<mat-card appearance="outlined"> <mat-card appearance="outlined">
<mat-card-content> <mat-card-content>
<div class="align-items-center d-flex my-3"> @for (dataProvider of dataProviders; track dataProvider.name) {
<div class="w-50"> <div class="align-items-center d-flex my-3">
<a @if (dataProvider.name === 'Ghostfolio') {
class="align-items-center d-inline-flex" <div class="w-50">
target="_blank" <div class="d-flex">
[href]="pricingUrl" <gf-asset-profile-icon
> class="mr-1"
@if (isGhostfolioApiKeyValid === false) { [url]="dataProvider.url"
<span class="badge badge-warning mr-1" i18n />
>Early Access</span <div>
> <a
} class="align-items-center d-inline-flex"
Ghostfolio Premium target="_blank"
<gf-premium-indicator [href]="pricingUrl"
class="d-inline-block ml-1" >
[enableLink]="false" Ghostfolio Premium
/> <gf-premium-indicator
</a> class="d-inline-block ml-1"
@if (isGhostfolioApiKeyValid === true) { [enableLink]="false"
<div class="line-height-1"> />
<small class="text-muted"> @if (isGhostfolioApiKeyValid === false) {
<ng-container i18n>Valid until</ng-container> <span class="badge badge-warning ml-2" i18n
{{ >Early Access</span
ghostfolioApiStatus?.subscription?.expiresAt >
| date: defaultDateFormat }
}}</small </a>
> @if (isGhostfolioApiKeyValid === true) {
</div> <div class="line-height-1">
} <small class="text-muted">
</div> <ng-container i18n>Valid until</ng-container>
<div class="w-50"> {{
@if (isGhostfolioApiKeyValid === true) { ghostfolioApiStatus?.subscription?.expiresAt
<div class="align-items-center d-flex flex-wrap"> | date: defaultDateFormat
<div class="flex-grow-1 mr-3"> }}</small
{{ ghostfolioApiStatus.dailyRequests }} >
<ng-container i18n>of</ng-container> </div>
{{ ghostfolioApiStatus.dailyRequestsMax }} }
<ng-container i18n>daily requests</ng-container> </div>
</div> </div>
<button </div>
class="mx-1 no-min-width px-2" <div class="w-50">
mat-button @if (isGhostfolioApiKeyValid === true) {
[matMenuTriggerFor]="ghostfolioApiMenu" <div class="align-items-center d-flex flex-wrap">
(click)="$event.stopPropagation()" <div class="flex-grow-1 mr-3">
> {{ ghostfolioApiStatus.dailyRequests }}
<ion-icon name="ellipsis-horizontal" /> <ng-container i18n>of</ng-container>
</button> {{ ghostfolioApiStatus.dailyRequestsMax }}
<mat-menu #ghostfolioApiMenu="matMenu" xPosition="before"> <ng-container i18n>daily requests</ng-container>
<button mat-menu-item (click)="onRemoveGhostfolioApiKey()"> </div>
<span class="align-items-center d-flex"> <button
<ion-icon class="mr-2" name="trash-outline" /> class="mx-1 no-min-width px-2"
<span i18n>Remove API key</span> mat-button
</span> [matMenuTriggerFor]="ghostfolioApiMenu"
(click)="$event.stopPropagation()"
>
<ion-icon name="ellipsis-horizontal" />
</button>
<mat-menu #ghostfolioApiMenu="matMenu" xPosition="before">
<button
mat-menu-item
(click)="onRemoveGhostfolioApiKey()"
>
<span class="align-items-center d-flex">
<ion-icon class="mr-2" name="trash-outline" />
<span i18n>Remove API key</span>
</span>
</button>
</mat-menu>
</div>
} @else if (isGhostfolioApiKeyValid === false) {
<button
color="accent"
mat-flat-button
(click)="onSetGhostfolioApiKey()"
>
<ion-icon class="mr-1" name="key-outline" />
<span i18n>Set API key</span>
</button> </button>
</mat-menu> }
</div>
} @else {
<div class="w-50">
<div class="d-flex">
<gf-asset-profile-icon
class="mr-1"
[url]="dataProvider.url"
/>
{{ dataProvider.name }}
</div>
</div> </div>
} @else if (isGhostfolioApiKeyValid === false) { <div class="w-50"></div>
<button
color="accent"
mat-flat-button
(click)="onSetGhostfolioApiKey()"
>
<ion-icon class="mr-1" name="key-outline" />
<span i18n>Set API key</span>
</button>
} }
</div> </div>
</div> }
</mat-card-content> </mat-card-content>
</mat-card> </mat-card>
</div> </div>

55
apps/client/src/app/components/admin-settings/admin-settings.component.ts

@ -10,6 +10,7 @@ import {
import { getDateFormatString } from '@ghostfolio/common/helper'; import { getDateFormatString } from '@ghostfolio/common/helper';
import { import {
DataProviderGhostfolioStatusResponse, DataProviderGhostfolioStatusResponse,
DataProviderInfo,
User User
} from '@ghostfolio/common/interfaces'; } from '@ghostfolio/common/interfaces';
@ -25,6 +26,7 @@ import { DeviceDetectorService } from 'ngx-device-detector';
import { catchError, filter, of, Subject, takeUntil } from 'rxjs'; import { catchError, filter, of, Subject, takeUntil } from 'rxjs';
import { GfGhostfolioPremiumApiDialogComponent } from './ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component'; import { GfGhostfolioPremiumApiDialogComponent } from './ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component';
import { GhostfolioPremiumApiDialogParams } from './ghostfolio-premium-api-dialog/interfaces/interfaces';
@Component({ @Component({
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
@ -34,6 +36,7 @@ import { GfGhostfolioPremiumApiDialogComponent } from './ghostfolio-premium-api-
standalone: false standalone: false
}) })
export class AdminSettingsComponent implements OnDestroy, OnInit { export class AdminSettingsComponent implements OnDestroy, OnInit {
public dataProviders: DataProviderInfo[];
public defaultDateFormat: string; public defaultDateFormat: string;
public ghostfolioApiStatus: DataProviderGhostfolioStatusResponse; public ghostfolioApiStatus: DataProviderGhostfolioStatusResponse;
public isGhostfolioApiKeyValid: boolean; public isGhostfolioApiKeyValid: boolean;
@ -101,9 +104,8 @@ export class AdminSettingsComponent implements OnDestroy, OnInit {
autoFocus: false, autoFocus: false,
data: { data: {
deviceType: this.deviceType, deviceType: this.deviceType,
pricingUrl: this.pricingUrl, pricingUrl: this.pricingUrl
user: this.user } as GhostfolioPremiumApiDialogParams,
},
height: this.deviceType === 'mobile' ? '98vh' : undefined, height: this.deviceType === 'mobile' ? '98vh' : undefined,
width: this.deviceType === 'mobile' ? '100vw' : '50rem' width: this.deviceType === 'mobile' ? '100vw' : '50rem'
} }
@ -124,23 +126,36 @@ export class AdminSettingsComponent implements OnDestroy, OnInit {
private initialize() { private initialize() {
this.adminService this.adminService
.fetchGhostfolioDataProviderStatus() .fetchAdminData()
.pipe( .pipe(takeUntil(this.unsubscribeSubject))
catchError(() => { .subscribe(({ dataProviders, settings }) => {
this.isGhostfolioApiKeyValid = false; this.dataProviders = dataProviders.filter(({ dataSource }) => {
return dataSource !== 'MANUAL';
this.changeDetectorRef.markForCheck(); });
return of(null); this.adminService
}), .fetchGhostfolioDataProviderStatus(
filter((status) => { settings[PROPERTY_API_KEY_GHOSTFOLIO] as string
return status !== null; )
}), .pipe(
takeUntil(this.unsubscribeSubject) catchError(() => {
) this.isGhostfolioApiKeyValid = false;
.subscribe((status) => {
this.ghostfolioApiStatus = status; this.changeDetectorRef.markForCheck();
this.isGhostfolioApiKeyValid = true;
return of(null);
}),
filter((status) => {
return status !== null;
}),
takeUntil(this.unsubscribeSubject)
)
.subscribe((status) => {
this.ghostfolioApiStatus = status;
this.isGhostfolioApiKeyValid = true;
this.changeDetectorRef.markForCheck();
});
this.changeDetectorRef.markForCheck(); this.changeDetectorRef.markForCheck();
}); });

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

@ -1,5 +1,6 @@
import { GfAdminPlatformModule } from '@ghostfolio/client/components/admin-platform/admin-platform.module'; import { GfAdminPlatformModule } from '@ghostfolio/client/components/admin-platform/admin-platform.module';
import { GfAdminTagModule } from '@ghostfolio/client/components/admin-tag/admin-tag.module'; import { GfAdminTagModule } from '@ghostfolio/client/components/admin-tag/admin-tag.module';
import { GfAssetProfileIconComponent } from '@ghostfolio/client/components/asset-profile-icon/asset-profile-icon.component';
import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
@ -17,6 +18,7 @@ import { AdminSettingsComponent } from './admin-settings.component';
CommonModule, CommonModule,
GfAdminPlatformModule, GfAdminPlatformModule,
GfAdminTagModule, GfAdminTagModule,
GfAssetProfileIconComponent,
GfPremiumIndicatorComponent, GfPremiumIndicatorComponent,
MatButtonModule, MatButtonModule,
MatCardModule, MatCardModule,

37
apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html

@ -7,8 +7,8 @@
/> />
<div class="text-center" mat-dialog-content> <div class="text-center" mat-dialog-content>
<p class="gf-text-wrap-balance mb-1"> <p class="gf-text-wrap-balance">
The official Early access to the official
<a <a
class="align-items-center d-inline-flex" class="align-items-center d-inline-flex"
target="_blank" target="_blank"
@ -18,32 +18,27 @@
</a> </a>
data provider <strong>for self-hosters</strong>, offering data provider <strong>for self-hosters</strong>, offering
<strong>80’000+ tickers</strong> from over <strong>50 exchanges</strong>, is <strong>80’000+ tickers</strong> from over <strong>50 exchanges</strong>, is
coming soon! ready now!
</p>
<p i18n>
Want to stay updated? Click below to get notified as soon as it’s available.
</p> </p>
<div> <div>
<a <a
color="primary" color="primary"
href="mailto:hi@ghostfol.io?Subject=Ghostfolio Premium Data Provider&body=Hello%0D%0DPlease notify me as soon as the Ghostfolio Premium Data Provider is available.%0D%0DKind regards" href="mailto:hi@ghostfol.io?Subject=Ghostfolio Premium Data Provider&body=Hello%0D%0DI am interested in the Ghostfolio Premium data provider. Could you please give me early access so I can try it for some time?%0D%0DKind regards"
i18n i18n
mat-flat-button mat-flat-button
>Notify me</a >Get Early Access</a
>
<div>
<small class="text-muted" i18n>or</small>
</div>
<button
color="accent"
i18n
mat-stroked-button
(click)="onSetGhostfolioApiKey()"
> >
@if (data.user?.settings?.isExperimentalFeatures) { I have an API key
<div> </button>
<small class="text-muted" i18n>or</small>
</div>
<button
color="accent"
i18n
mat-stroked-button
(click)="onSetGhostfolioApiKey()"
>
I have an API key
</button>
}
</div> </div>
</div> </div>

3
apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/interfaces/interfaces.ts

@ -1,7 +1,4 @@
import { User } from '@ghostfolio/common/interfaces';
export interface GhostfolioPremiumApiDialogParams { export interface GhostfolioPremiumApiDialogParams {
deviceType: string; deviceType: string;
pricingUrl: string; pricingUrl: string;
user: User;
} }

3
apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.component.scss

@ -0,0 +1,3 @@
:host {
display: block;
}

92
apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.component.ts

@ -0,0 +1,92 @@
import { GfSymbolAutocompleteComponent } from '@ghostfolio/ui/symbol-autocomplete';
import { CommonModule } from '@angular/common';
import {
ChangeDetectionStrategy,
Component,
OnDestroy,
OnInit
} from '@angular/core';
import {
AbstractControl,
FormBuilder,
FormControl,
FormGroup,
FormsModule,
ReactiveFormsModule,
ValidationErrors,
Validators
} from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import { MatDialogModule, MatDialogRef } from '@angular/material/dialog';
import { MatFormFieldModule } from '@angular/material/form-field';
import { Subject } from 'rxjs';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
host: { class: 'h-100' },
imports: [
CommonModule,
FormsModule,
GfSymbolAutocompleteComponent,
MatButtonModule,
MatDialogModule,
MatFormFieldModule,
ReactiveFormsModule
],
selector: 'gf-create-watchlist-item-dialog',
styleUrls: ['./create-watchlist-item-dialog.component.scss'],
templateUrl: 'create-watchlist-item-dialog.html'
})
export class CreateWatchlistItemDialogComponent implements OnInit, OnDestroy {
public createWatchlistItemForm: FormGroup;
private unsubscribeSubject = new Subject<void>();
public constructor(
public readonly dialogRef: MatDialogRef<CreateWatchlistItemDialogComponent>,
public readonly formBuilder: FormBuilder
) {}
public ngOnInit() {
this.createWatchlistItemForm = this.formBuilder.group(
{
searchSymbol: new FormControl(null, [Validators.required])
},
{
validators: this.validator
}
);
}
public onCancel() {
this.dialogRef.close();
}
public onSubmit() {
this.dialogRef.close({
dataSource:
this.createWatchlistItemForm.get('searchSymbol').value.dataSource,
symbol: this.createWatchlistItemForm.get('searchSymbol').value.symbol
});
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
private validator(control: AbstractControl): ValidationErrors {
const searchSymbolControl = control.get('searchSymbol');
if (
searchSymbolControl.valid &&
searchSymbolControl.value.dataSource &&
searchSymbolControl.value.symbol
) {
return { incomplete: false };
}
return { incomplete: true };
}
}

25
apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html

@ -0,0 +1,25 @@
<form
class="d-flex flex-column h-100"
[formGroup]="createWatchlistItemForm"
(keyup.enter)="createWatchlistItemForm.valid && onSubmit()"
(ngSubmit)="onSubmit()"
>
<h1 i18n mat-dialog-title>Add asset to watchlist</h1>
<div class="flex-grow-1 py-3" mat-dialog-content>
<mat-form-field appearance="outline" class="w-100">
<mat-label i18n>Name, symbol or ISIN</mat-label>
<gf-symbol-autocomplete formControlName="searchSymbol" />
</mat-form-field>
</div>
<div class="d-flex justify-content-end" mat-dialog-actions>
<button i18n mat-button type="button" (click)="onCancel()">Cancel</button>
<button
color="primary"
mat-flat-button
type="submit"
[disabled]="createWatchlistItemForm.hasError('incomplete')"
>
<ng-container i18n>Save</ng-container>
</button>
</div>
</form>

4
apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/interfaces/interfaces.ts

@ -0,0 +1,4 @@
export interface CreateWatchlistItemDialogParams {
deviceType: string;
locale: string;
}

168
apps/client/src/app/components/home-watchlist/home-watchlist.component.ts

@ -0,0 +1,168 @@
import { DataService } from '@ghostfolio/client/services/data.service';
import { UserService } from '@ghostfolio/client/services/user/user.service';
import {
AssetProfileIdentifier,
Benchmark,
User
} from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { GfBenchmarkComponent } from '@ghostfolio/ui/benchmark';
import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator';
import { CommonModule } from '@angular/common';
import {
ChangeDetectionStrategy,
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
OnDestroy,
OnInit
} from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatDialog } from '@angular/material/dialog';
import { ActivatedRoute, Router, RouterModule } from '@angular/router';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { CreateWatchlistItemDialogComponent } from './create-watchlist-item-dialog/create-watchlist-item-dialog.component';
import { CreateWatchlistItemDialogParams } from './create-watchlist-item-dialog/interfaces/interfaces';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
imports: [
CommonModule,
GfBenchmarkComponent,
GfPremiumIndicatorComponent,
MatButtonModule,
RouterModule
],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
selector: 'gf-home-watchlist',
styleUrls: ['./home-watchlist.scss'],
templateUrl: './home-watchlist.html'
})
export class HomeWatchlistComponent implements OnDestroy, OnInit {
public deviceType: string;
public hasPermissionToCreateWatchlistItem: boolean;
public hasPermissionToDeleteWatchlistItem: boolean;
public user: User;
public watchlist: Benchmark[];
private unsubscribeSubject = new Subject<void>();
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
private deviceService: DeviceDetectorService,
private dialog: MatDialog,
private route: ActivatedRoute,
private router: Router,
private userService: UserService
) {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
this.route.queryParams
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe((params) => {
if (params['createWatchlistItemDialog']) {
this.openCreateWatchlistItemDialog();
}
});
this.userService.stateChanged
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
this.hasPermissionToCreateWatchlistItem = hasPermission(
this.user.permissions,
permissions.createWatchlistItem
);
this.hasPermissionToDeleteWatchlistItem = hasPermission(
this.user.permissions,
permissions.deleteWatchlistItem
);
this.changeDetectorRef.markForCheck();
}
});
}
public ngOnInit() {
this.loadWatchlistData();
}
public onWatchlistItemDeleted({
dataSource,
symbol
}: AssetProfileIdentifier) {
this.dataService
.deleteWatchlistItem({ dataSource, symbol })
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe({
next: () => {
return this.loadWatchlistData();
}
});
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
private loadWatchlistData() {
this.dataService
.fetchWatchlist()
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(({ watchlist }) => {
this.watchlist = watchlist.map(({ dataSource, symbol }) => ({
dataSource,
symbol,
marketCondition: null,
name: symbol,
performances: null,
trend50d: 'UNKNOWN',
trend200d: 'UNKNOWN'
}));
this.changeDetectorRef.markForCheck();
});
}
private openCreateWatchlistItemDialog() {
this.userService
.get()
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe((user) => {
this.user = user;
const dialogRef = this.dialog.open(CreateWatchlistItemDialogComponent, {
autoFocus: false,
data: {
deviceType: this.deviceType,
locale: this.user?.settings?.locale
} as CreateWatchlistItemDialogParams,
width: this.deviceType === 'mobile' ? '100vw' : '50rem'
});
dialogRef
.afterClosed()
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(({ dataSource, symbol } = {}) => {
if (dataSource && symbol) {
this.dataService
.postWatchlistItem({ dataSource, symbol })
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe({
next: () => this.loadWatchlistData()
});
}
this.router.navigate(['.'], { relativeTo: this.route });
});
});
}
}

35
apps/client/src/app/components/home-watchlist/home-watchlist.html

@ -0,0 +1,35 @@
<div class="container">
<h1 class="d-none d-sm-block h3 mb-4">
<span class="align-items-center d-flex justify-content-center">
<span i18n>Watchlist</span>
@if (user?.subscription?.type === 'Basic') {
<gf-premium-indicator class="ml-1" />
}
</span>
</h1>
<div class="mb-3 row">
<div class="col-xs-12 col-md-8 offset-md-2">
<gf-benchmark
[benchmarks]="watchlist"
[deviceType]="deviceType"
[hasPermissionToDeleteItem]="hasPermissionToDeleteWatchlistItem"
[locale]="user?.settings?.locale || undefined"
[user]="user"
(itemDeleted)="onWatchlistItemDeleted($event)"
/>
</div>
</div>
</div>
@if (hasPermissionToCreateWatchlistItem) {
<div class="fab-container">
<a
class="align-items-center d-flex justify-content-center"
color="primary"
mat-fab
[queryParams]="{ createWatchlistItemDialog: true }"
[routerLink]="[]"
>
<ion-icon name="add-outline" size="large" />
</a>
</div>
}

3
apps/client/src/app/components/home-watchlist/home-watchlist.scss

@ -0,0 +1,3 @@
:host {
display: block;
}

6
apps/client/src/app/pages/home/home-page-routing.module.ts

@ -2,6 +2,7 @@ import { HomeHoldingsComponent } from '@ghostfolio/client/components/home-holdin
import { HomeMarketComponent } from '@ghostfolio/client/components/home-market/home-market.component'; import { HomeMarketComponent } from '@ghostfolio/client/components/home-market/home-market.component';
import { HomeOverviewComponent } from '@ghostfolio/client/components/home-overview/home-overview.component'; import { HomeOverviewComponent } from '@ghostfolio/client/components/home-overview/home-overview.component';
import { HomeSummaryComponent } from '@ghostfolio/client/components/home-summary/home-summary.component'; import { HomeSummaryComponent } from '@ghostfolio/client/components/home-summary/home-summary.component';
import { HomeWatchlistComponent } from '@ghostfolio/client/components/home-watchlist/home-watchlist.component';
import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { AuthGuard } from '@ghostfolio/client/core/auth.guard';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
@ -36,6 +37,11 @@ const routes: Routes = [
path: 'market', path: 'market',
component: HomeMarketComponent, component: HomeMarketComponent,
title: $localize`Markets` title: $localize`Markets`
},
{
path: 'watchlist',
component: HomeWatchlistComponent,
title: $localize`Watchlist`
} }
], ],
component: HomePageComponent, component: HomePageComponent,

6
apps/client/src/app/pages/home/home-page.component.ts

@ -52,6 +52,12 @@ export class HomePageComponent implements OnDestroy, OnInit {
iconName: 'newspaper-outline', iconName: 'newspaper-outline',
label: $localize`Markets`, label: $localize`Markets`,
path: ['/home', 'market'] path: ['/home', 'market']
},
{
iconName: 'bookmark-outline',
label: $localize`Watchlist`,
path: ['/home', 'watchlist'],
showCondition: this.user?.settings?.isExperimentalFeatures
} }
]; ];
this.user = state.user; this.user = state.user;

2
apps/client/src/app/pages/home/home-page.module.ts

@ -2,6 +2,7 @@ import { GfHomeHoldingsModule } from '@ghostfolio/client/components/home-holding
import { GfHomeMarketModule } from '@ghostfolio/client/components/home-market/home-market.module'; import { GfHomeMarketModule } from '@ghostfolio/client/components/home-market/home-market.module';
import { GfHomeOverviewModule } from '@ghostfolio/client/components/home-overview/home-overview.module'; import { GfHomeOverviewModule } from '@ghostfolio/client/components/home-overview/home-overview.module';
import { GfHomeSummaryModule } from '@ghostfolio/client/components/home-summary/home-summary.module'; import { GfHomeSummaryModule } from '@ghostfolio/client/components/home-summary/home-summary.module';
import { HomeWatchlistComponent } from '@ghostfolio/client/components/home-watchlist/home-watchlist.component';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
@ -20,6 +21,7 @@ import { HomePageComponent } from './home-page.component';
GfHomeOverviewModule, GfHomeOverviewModule,
GfHomeSummaryModule, GfHomeSummaryModule,
HomePageRoutingModule, HomePageRoutingModule,
HomeWatchlistComponent,
MatTabsModule, MatTabsModule,
RouterModule RouterModule
], ],

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

@ -4,8 +4,7 @@ import { UpdatePlatformDto } from '@ghostfolio/api/app/platform/update-platform.
import { IDataProviderHistoricalResponse } from '@ghostfolio/api/services/interfaces/interfaces'; import { IDataProviderHistoricalResponse } from '@ghostfolio/api/services/interfaces/interfaces';
import { import {
HEADER_KEY_SKIP_INTERCEPTOR, HEADER_KEY_SKIP_INTERCEPTOR,
HEADER_KEY_TOKEN, HEADER_KEY_TOKEN
PROPERTY_API_KEY_GHOSTFOLIO
} from '@ghostfolio/common/config'; } from '@ghostfolio/common/config';
import { DEFAULT_PAGE_SIZE } from '@ghostfolio/common/config'; import { DEFAULT_PAGE_SIZE } from '@ghostfolio/common/config';
import { import {
@ -24,7 +23,6 @@ import { Injectable } from '@angular/core';
import { SortDirection } from '@angular/material/sort'; import { SortDirection } from '@angular/material/sort';
import { DataSource, MarketData, Platform } from '@prisma/client'; import { DataSource, MarketData, Platform } from '@prisma/client';
import { JobStatus } from 'bull'; import { JobStatus } from 'bull';
import { switchMap } from 'rxjs';
import { environment } from '../../environments/environment'; import { environment } from '../../environments/environment';
import { DataService } from './data.service'; import { DataService } from './data.service';
@ -115,19 +113,15 @@ export class AdminService {
}); });
} }
public fetchGhostfolioDataProviderStatus() { public fetchGhostfolioDataProviderStatus(aApiKey: string) {
return this.fetchAdminData().pipe( const headers = new HttpHeaders({
switchMap(({ settings }) => { [HEADER_KEY_SKIP_INTERCEPTOR]: 'true',
const headers = new HttpHeaders({ [HEADER_KEY_TOKEN]: `Api-Key ${aApiKey}`
[HEADER_KEY_SKIP_INTERCEPTOR]: 'true', });
[HEADER_KEY_TOKEN]: `Api-Key ${settings[PROPERTY_API_KEY_GHOSTFOLIO]}`
}); return this.http.get<DataProviderGhostfolioStatusResponse>(
`${environment.production ? 'https://ghostfol.io' : ''}/api/v2/data-providers/ghostfolio/status`,
return this.http.get<DataProviderGhostfolioStatusResponse>( { headers }
`${environment.production ? 'https://ghostfol.io' : ''}/api/v2/data-providers/ghostfolio/status`,
{ headers }
);
})
); );
} }

16
apps/client/src/app/services/data.service.ts

@ -6,6 +6,7 @@ import { UpdateAccountDto } from '@ghostfolio/api/app/account/update-account.dto
import { UpdateBulkMarketDataDto } from '@ghostfolio/api/app/admin/update-bulk-market-data.dto'; import { UpdateBulkMarketDataDto } from '@ghostfolio/api/app/admin/update-bulk-market-data.dto';
import { CreateTagDto } from '@ghostfolio/api/app/endpoints/tags/create-tag.dto'; import { CreateTagDto } from '@ghostfolio/api/app/endpoints/tags/create-tag.dto';
import { UpdateTagDto } from '@ghostfolio/api/app/endpoints/tags/update-tag.dto'; import { UpdateTagDto } from '@ghostfolio/api/app/endpoints/tags/update-tag.dto';
import { CreateWatchlistItemDto } from '@ghostfolio/api/app/endpoints/watchlist/create-watchlist-item.dto';
import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto'; import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto';
import { import {
Activities, Activities,
@ -44,7 +45,8 @@ import {
PortfolioPerformanceResponse, PortfolioPerformanceResponse,
PortfolioReportResponse, PortfolioReportResponse,
PublicPortfolioResponse, PublicPortfolioResponse,
User User,
WatchlistResponse
} from '@ghostfolio/common/interfaces'; } from '@ghostfolio/common/interfaces';
import { filterGlobalPermissions } from '@ghostfolio/common/permissions'; import { filterGlobalPermissions } from '@ghostfolio/common/permissions';
import type { import type {
@ -325,6 +327,10 @@ export class DataService {
return this.http.delete<any>(`/api/v1/user/${aId}`); return this.http.delete<any>(`/api/v1/user/${aId}`);
} }
public deleteWatchlistItem({ dataSource, symbol }: AssetProfileIdentifier) {
return this.http.delete<any>(`/api/v1/watchlist/${dataSource}/${symbol}`);
}
public fetchAccesses() { public fetchAccesses() {
return this.http.get<Access[]>('/api/v1/access'); return this.http.get<Access[]>('/api/v1/access');
} }
@ -686,6 +692,10 @@ export class DataService {
return this.http.get<Tag[]>('/api/v1/tags'); return this.http.get<Tag[]>('/api/v1/tags');
} }
public fetchWatchlist() {
return this.http.get<WatchlistResponse>('/api/v1/watchlist');
}
public generateAccessToken(aUserId: string) { public generateAccessToken(aUserId: string) {
return this.http.post<AccessTokenResponse>( return this.http.post<AccessTokenResponse>(
`/api/v1/user/${aUserId}/access-token`, `/api/v1/user/${aUserId}/access-token`,
@ -748,6 +758,10 @@ export class DataService {
return this.http.post<UserItem>('/api/v1/user', {}); return this.http.post<UserItem>('/api/v1/user', {});
} }
public postWatchlistItem(watchlistItem: CreateWatchlistItemDto) {
return this.http.post('/api/v1/watchlist', watchlistItem);
}
public putAccount(aAccount: UpdateAccountDto) { public putAccount(aAccount: UpdateAccountDto) {
return this.http.put<UserItem>(`/api/v1/account/${aAccount.id}`, aAccount); return this.http.put<UserItem>(`/api/v1/account/${aAccount.id}`, aAccount);
} }

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

@ -653,7 +653,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">74</context> <context context-type="linenumber">77</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -1069,6 +1069,10 @@
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">138</context> <context context-type="linenumber">138</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
@ -1473,6 +1477,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">25</context> <context context-type="linenumber">25</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">58</context> <context context-type="linenumber">58</context>
@ -1517,6 +1525,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">32</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context>
<context context-type="linenumber">135</context> <context context-type="linenumber">135</context>
@ -1937,6 +1949,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">10</context>
</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">124</context> <context context-type="linenumber">124</context>
@ -2159,7 +2175,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">81</context> <context context-type="linenumber">107</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html"> <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
@ -2167,7 +2183,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">87</context> <context context-type="linenumber">113</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>
@ -2795,7 +2811,7 @@
<target state="new">or</target> <target state="new">or</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">36</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -4067,11 +4083,11 @@
<target state="new">Holdings</target> <target state="new">Holdings</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">23</context> <context context-type="linenumber">24</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -4087,7 +4103,7 @@
<target state="new">Summary</target> <target state="new">Summary</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">33</context> <context context-type="linenumber">34</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -4099,7 +4115,7 @@
<target state="new">Markets</target> <target state="new">Markets</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">38</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -4943,7 +4959,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">141</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -6078,14 +6094,6 @@
<context context-type="linenumber">197</context> <context context-type="linenumber">197</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="170f7de02b14690fb9c1999a16926c0044bfd5c1" datatype="html">
<source>Index</source>
<target state="new">Index</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
</trans-unit>
<trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html"> <trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html">
<source>50-Day Trend</source> <source>50-Day Trend</source>
<target state="new">50-Day Trend</target> <target state="new">50-Day Trend</target>
@ -6115,7 +6123,7 @@
<target state="new">Change from All Time High</target> <target state="new">Change from All Time High</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">81</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html"> <trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html">
@ -6123,7 +6131,7 @@
<target state="new">from ATH</target> <target state="new">from ATH</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">83</context> <context context-type="linenumber">85</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="b74406fd93207c23bb840732ad2760ce0efaa2c5" datatype="html"> <trans-unit id="b74406fd93207c23bb840732ad2760ce0efaa2c5" datatype="html">
@ -6651,7 +6659,7 @@
<target state="new">Valid until</target> <target state="new">Valid until</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">28</context> <context context-type="linenumber">36</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -7259,15 +7267,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">70</context> <context context-type="linenumber">83</context>
</context-group>
</trans-unit>
<trans-unit id="2fcf96765ae87821e12fe4f6900ba1a218742cfc" datatype="html">
<source> Want to stay updated? Click below to get notified as soon as it’s available. </source>
<target state="new"> Want to stay updated? Click below to get notified as soon as it’s available. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">23</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7373,7 +7373,7 @@
<target state="new">of</target> <target state="new">of</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">42</context> <context context-type="linenumber">52</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html"> <trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7381,7 +7381,7 @@
<target state="new">daily requests</target> <target state="new">daily requests</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">44</context> <context context-type="linenumber">54</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html"> <trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7389,7 +7389,7 @@
<target state="new">Remove API key</target> <target state="new">Remove 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">58</context> <context context-type="linenumber">71</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5649402767950535555" datatype="html"> <trans-unit id="5649402767950535555" datatype="html">
@ -7397,7 +7397,7 @@
<target state="new">Do you really want to delete the API key?</target> <target state="new">Do you really want to delete the 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.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">93</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1486033335993102285" datatype="html"> <trans-unit id="1486033335993102285" datatype="html">
@ -7408,20 +7408,12 @@
<context context-type="linenumber">41</context> <context context-type="linenumber">41</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1b53d197b1067954e0c294f6884e74edacc0c644" datatype="html"> <trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
<source>Notify me</source>
<target state="new">Notify me</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="e9f60204e4f1744563103eefc87829e05ec3d55b" datatype="html">
<source> I have an API key </source> <source> I have an API key </source>
<target state="new"> I have an API key </target> <target state="new"> I have an API key </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html"> <trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html">
@ -7565,7 +7557,7 @@
<target state="new">Early Access</target> <target state="new">Early Access</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">16</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html"> <trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7933,6 +7925,42 @@
<context context-type="linenumber">33</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1efa64b89c9852e7099159ab06af9dcf49870438" datatype="html">
<source>Add asset to watchlist</source>
<target state="new">Add asset to watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="7a6d28bd1c36c8298c95b7965abf226b218be50d" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/home-watchlist.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
<trans-unit id="4558213855845176930" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="e9d59bb8bf6c08243d5411c55ddbdf925c7c799c" datatype="html">
<source>Get Early Access</source>
<target state="new">Get Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">29</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -164,6 +164,10 @@
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">138</context> <context context-type="linenumber">138</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
@ -500,6 +504,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">25</context> <context context-type="linenumber">25</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">58</context> <context context-type="linenumber">58</context>
@ -544,6 +552,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">32</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context>
<context context-type="linenumber">135</context> <context context-type="linenumber">135</context>
@ -1066,7 +1078,7 @@
<target state="translated">oder</target> <target state="translated">oder</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">36</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -1314,7 +1326,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">87</context> <context context-type="linenumber">113</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>
@ -1974,7 +1986,7 @@
<target state="translated">Märkte</target> <target state="translated">Märkte</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">38</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -2154,11 +2166,11 @@
<target state="translated">Positionen</target> <target state="translated">Positionen</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">23</context> <context context-type="linenumber">24</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -2228,6 +2240,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">10</context>
</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">124</context> <context context-type="linenumber">124</context>
@ -2521,20 +2537,12 @@
<context context-type="linenumber">229</context> <context context-type="linenumber">229</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="170f7de02b14690fb9c1999a16926c0044bfd5c1" datatype="html">
<source>Index</source>
<target state="translated">Index</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
</trans-unit>
<trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html"> <trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html">
<source>Change from All Time High</source> <source>Change from All Time High</source>
<target state="translated">Änderung vom Allzeithoch</target> <target state="translated">Änderung vom Allzeithoch</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">81</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html"> <trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html">
@ -2542,7 +2550,7 @@
<target state="translated">vom AZH</target> <target state="translated">vom AZH</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">83</context> <context context-type="linenumber">85</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ba18e93c4572bfe6d14b2a3f333468b12f890e5d" datatype="html"> <trans-unit id="ba18e93c4572bfe6d14b2a3f333468b12f890e5d" datatype="html">
@ -3342,7 +3350,7 @@
<target state="translated">Zusammenfassung</target> <target state="translated">Zusammenfassung</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">33</context> <context context-type="linenumber">34</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -3390,7 +3398,7 @@
<target state="translated">Gültig bis</target> <target state="translated">Gültig bis</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">28</context> <context context-type="linenumber">36</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -3950,7 +3958,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">81</context> <context context-type="linenumber">107</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html"> <trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -4678,7 +4686,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">141</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5441,7 +5449,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">74</context> <context context-type="linenumber">77</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -7283,15 +7291,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">70</context> <context context-type="linenumber">83</context>
</context-group>
</trans-unit>
<trans-unit id="2fcf96765ae87821e12fe4f6900ba1a218742cfc" datatype="html">
<source> Want to stay updated? Click below to get notified as soon as it’s available. </source>
<target state="translated"> Möchtest du auf dem Laufenden bleiben? Dann klicke unten, um benachrichtigt zu werden, sobald es verfügbar ist. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">23</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7397,7 +7397,7 @@
<target state="translated">von</target> <target state="translated">von</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">42</context> <context context-type="linenumber">52</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html"> <trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7405,7 +7405,7 @@
<target state="translated">täglichen Anfragen</target> <target state="translated">täglichen Anfragen</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">44</context> <context context-type="linenumber">54</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html"> <trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7413,7 +7413,7 @@
<target state="translated">API-Schlüssel löschen</target> <target state="translated">API-Schlüssel löschen</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">58</context> <context context-type="linenumber">71</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5649402767950535555" datatype="html"> <trans-unit id="5649402767950535555" datatype="html">
@ -7421,7 +7421,7 @@
<target state="translated">Möchtest du den API-Schlüssel wirklich löschen?</target> <target state="translated">Möchtest du den API-Schlüssel wirklich löschen?</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">93</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1486033335993102285" datatype="html"> <trans-unit id="1486033335993102285" datatype="html">
@ -7432,20 +7432,12 @@
<context context-type="linenumber">41</context> <context context-type="linenumber">41</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1b53d197b1067954e0c294f6884e74edacc0c644" datatype="html"> <trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
<source>Notify me</source>
<target state="translated">Benachrichtige mich</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="e9f60204e4f1744563103eefc87829e05ec3d55b" datatype="html">
<source> I have an API key </source> <source> I have an API key </source>
<target state="translated"> Ich habe einen API-Schlüssel </target> <target state="translated"> Ich habe einen API-Schlüssel </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html"> <trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html">
@ -7589,7 +7581,7 @@
<target state="translated">Early Access</target> <target state="translated">Early Access</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">16</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html"> <trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7933,6 +7925,42 @@
<context context-type="linenumber">33</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1efa64b89c9852e7099159ab06af9dcf49870438" datatype="html">
<source>Add asset to watchlist</source>
<target state="translated">Anlage zur Beobachtungsliste hinzufügen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="7a6d28bd1c36c8298c95b7965abf226b218be50d" datatype="html">
<source>Watchlist</source>
<target state="translated">Beobachtungsliste</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/home-watchlist.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
<trans-unit id="4558213855845176930" datatype="html">
<source>Watchlist</source>
<target state="translated">Beobachtungsliste</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="e9d59bb8bf6c08243d5411c55ddbdf925c7c799c" datatype="html">
<source>Get Early Access</source>
<target state="translated">Early Access erhalten</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">29</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -165,6 +165,10 @@
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">138</context> <context context-type="linenumber">138</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
@ -501,6 +505,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">25</context> <context context-type="linenumber">25</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">58</context> <context context-type="linenumber">58</context>
@ -545,6 +553,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">32</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context>
<context context-type="linenumber">135</context> <context context-type="linenumber">135</context>
@ -1051,7 +1063,7 @@
<target state="translated">o</target> <target state="translated">o</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">36</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -1299,7 +1311,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">87</context> <context context-type="linenumber">113</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>
@ -1959,7 +1971,7 @@
<target state="translated">Mercados</target> <target state="translated">Mercados</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">38</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -2139,11 +2151,11 @@
<target state="translated">Participaciones</target> <target state="translated">Participaciones</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">23</context> <context context-type="linenumber">24</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -2213,6 +2225,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">10</context>
</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">124</context> <context context-type="linenumber">124</context>
@ -2506,20 +2522,12 @@
<context context-type="linenumber">229</context> <context context-type="linenumber">229</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="170f7de02b14690fb9c1999a16926c0044bfd5c1" datatype="html">
<source>Index</source>
<target state="translated">Índice</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
</trans-unit>
<trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html"> <trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html">
<source>Change from All Time High</source> <source>Change from All Time High</source>
<target state="translated">Variación respecto al máximo histórico (ATH)</target> <target state="translated">Variación respecto al máximo histórico (ATH)</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">81</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html"> <trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html">
@ -2527,7 +2535,7 @@
<target state="translated">desde el máximo histórico (ATH)</target> <target state="translated">desde el máximo histórico (ATH)</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">83</context> <context context-type="linenumber">85</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ba18e93c4572bfe6d14b2a3f333468b12f890e5d" datatype="html"> <trans-unit id="ba18e93c4572bfe6d14b2a3f333468b12f890e5d" datatype="html">
@ -3327,7 +3335,7 @@
<target state="translated">Resumen</target> <target state="translated">Resumen</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">33</context> <context context-type="linenumber">34</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -3375,7 +3383,7 @@
<target state="translated">Válido hasta</target> <target state="translated">Válido hasta</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">28</context> <context context-type="linenumber">36</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -3927,7 +3935,7 @@
<target state="new">Platforms</target> <target state="new">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">81</context> <context context-type="linenumber">107</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html"> <trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -4655,7 +4663,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">141</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5418,7 +5426,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">74</context> <context context-type="linenumber">77</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -7260,15 +7268,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">70</context> <context context-type="linenumber">83</context>
</context-group>
</trans-unit>
<trans-unit id="2fcf96765ae87821e12fe4f6900ba1a218742cfc" datatype="html">
<source> Want to stay updated? Click below to get notified as soon as it’s available. </source>
<target state="new"> Want to stay updated? Click below to get notified as soon as it’s available. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">23</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7374,7 +7374,7 @@
<target state="new">of</target> <target state="new">of</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">42</context> <context context-type="linenumber">52</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html"> <trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7382,7 +7382,7 @@
<target state="new">daily requests</target> <target state="new">daily requests</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">44</context> <context context-type="linenumber">54</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html"> <trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7390,7 +7390,7 @@
<target state="new">Remove API key</target> <target state="new">Remove 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">58</context> <context context-type="linenumber">71</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5649402767950535555" datatype="html"> <trans-unit id="5649402767950535555" datatype="html">
@ -7398,7 +7398,7 @@
<target state="new">Do you really want to delete the API key?</target> <target state="new">Do you really want to delete the 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.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">93</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1486033335993102285" datatype="html"> <trans-unit id="1486033335993102285" datatype="html">
@ -7409,20 +7409,12 @@
<context context-type="linenumber">41</context> <context context-type="linenumber">41</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1b53d197b1067954e0c294f6884e74edacc0c644" datatype="html"> <trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
<source>Notify me</source>
<target state="new">Notify me</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="e9f60204e4f1744563103eefc87829e05ec3d55b" datatype="html">
<source> I have an API key </source> <source> I have an API key </source>
<target state="new"> I have an API key </target> <target state="new"> I have an API key </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html"> <trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html">
@ -7566,7 +7558,7 @@
<target state="new">Early Access</target> <target state="new">Early Access</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">16</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html"> <trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7934,6 +7926,42 @@
<context context-type="linenumber">33</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1efa64b89c9852e7099159ab06af9dcf49870438" datatype="html">
<source>Add asset to watchlist</source>
<target state="new">Add asset to watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="7a6d28bd1c36c8298c95b7965abf226b218be50d" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/home-watchlist.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
<trans-unit id="4558213855845176930" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="e9d59bb8bf6c08243d5411c55ddbdf925c7c799c" datatype="html">
<source>Get Early Access</source>
<target state="new">Get Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">29</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -172,6 +172,10 @@
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">138</context> <context context-type="linenumber">138</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
@ -556,6 +560,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">25</context> <context context-type="linenumber">25</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">58</context> <context context-type="linenumber">58</context>
@ -600,6 +608,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">32</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context>
<context context-type="linenumber">135</context> <context context-type="linenumber">135</context>
@ -906,7 +918,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">87</context> <context context-type="linenumber">113</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>
@ -1402,7 +1414,7 @@
<target state="translated">ou</target> <target state="translated">ou</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">36</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -2346,11 +2358,11 @@
<target state="translated">Positions</target> <target state="translated">Positions</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">23</context> <context context-type="linenumber">24</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -2366,7 +2378,7 @@
<target state="translated">Résumé</target> <target state="translated">Résumé</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">33</context> <context context-type="linenumber">34</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -2378,7 +2390,7 @@
<target state="translated">Marchés</target> <target state="translated">Marchés</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">38</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -2448,6 +2460,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">10</context>
</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">124</context> <context context-type="linenumber">124</context>
@ -3025,20 +3041,12 @@
<context context-type="linenumber">229</context> <context context-type="linenumber">229</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="170f7de02b14690fb9c1999a16926c0044bfd5c1" datatype="html">
<source>Index</source>
<target state="translated">Indice</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
</trans-unit>
<trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html"> <trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html">
<source>Change from All Time High</source> <source>Change from All Time High</source>
<target state="translated">Différence avec le Record Historique</target> <target state="translated">Différence avec le Record Historique</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">81</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html"> <trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html">
@ -3046,7 +3054,7 @@
<target state="translated">par rapport au record historique</target> <target state="translated">par rapport au record historique</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">83</context> <context context-type="linenumber">85</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ba18e93c4572bfe6d14b2a3f333468b12f890e5d" datatype="html"> <trans-unit id="ba18e93c4572bfe6d14b2a3f333468b12f890e5d" datatype="html">
@ -3374,7 +3382,7 @@
<target state="translated">Valide jusqu’au</target> <target state="translated">Valide jusqu’au</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">28</context> <context context-type="linenumber">36</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -3926,7 +3934,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">81</context> <context context-type="linenumber">107</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html"> <trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -4654,7 +4662,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">141</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5417,7 +5425,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">74</context> <context context-type="linenumber">77</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -7259,15 +7267,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">70</context> <context context-type="linenumber">83</context>
</context-group>
</trans-unit>
<trans-unit id="2fcf96765ae87821e12fe4f6900ba1a218742cfc" datatype="html">
<source> Want to stay updated? Click below to get notified as soon as it’s available. </source>
<target state="translated"> Vous souhaitez rester informé ? Cliquez ci-dessous pour être informé dès qu’il sera disponible. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">23</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7373,7 +7373,7 @@
<target state="translated">sur</target> <target state="translated">sur</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">42</context> <context context-type="linenumber">52</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html"> <trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7381,7 +7381,7 @@
<target state="translated">requêtes journalières</target> <target state="translated">requêtes journalières</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">44</context> <context context-type="linenumber">54</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html"> <trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7389,7 +7389,7 @@
<target state="translated">Retirer la clé API</target> <target state="translated">Retirer la 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">58</context> <context context-type="linenumber">71</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5649402767950535555" datatype="html"> <trans-unit id="5649402767950535555" datatype="html">
@ -7397,7 +7397,7 @@
<target state="translated">Voulez-vous vraiment supprimer la clé API?</target> <target state="translated">Voulez-vous vraiment supprimer la 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.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">93</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1486033335993102285" datatype="html"> <trans-unit id="1486033335993102285" datatype="html">
@ -7408,20 +7408,12 @@
<context context-type="linenumber">41</context> <context context-type="linenumber">41</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1b53d197b1067954e0c294f6884e74edacc0c644" datatype="html"> <trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
<source>Notify me</source>
<target state="translated">Me prévenir</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="e9f60204e4f1744563103eefc87829e05ec3d55b" datatype="html">
<source> I have an API key </source> <source> I have an API key </source>
<target state="translated"> J’ai une clé API </target> <target state="translated"> J’ai une clé API </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html"> <trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html">
@ -7565,7 +7557,7 @@
<target state="translated">Accès anticipé</target> <target state="translated">Accès anticipé</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">16</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html"> <trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7933,6 +7925,42 @@
<context context-type="linenumber">33</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1efa64b89c9852e7099159ab06af9dcf49870438" datatype="html">
<source>Add asset to watchlist</source>
<target state="new">Add asset to watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="7a6d28bd1c36c8298c95b7965abf226b218be50d" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/home-watchlist.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
<trans-unit id="4558213855845176930" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="e9d59bb8bf6c08243d5411c55ddbdf925c7c799c" datatype="html">
<source>Get Early Access</source>
<target state="new">Get Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">29</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -165,6 +165,10 @@
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">138</context> <context context-type="linenumber">138</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
@ -501,6 +505,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">25</context> <context context-type="linenumber">25</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">58</context> <context context-type="linenumber">58</context>
@ -545,6 +553,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">32</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context>
<context context-type="linenumber">135</context> <context context-type="linenumber">135</context>
@ -1051,7 +1063,7 @@
<target state="translated">oppure</target> <target state="translated">oppure</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">36</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -1299,7 +1311,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">87</context> <context context-type="linenumber">113</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>
@ -1959,7 +1971,7 @@
<target state="translated">Mercati</target> <target state="translated">Mercati</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">38</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -2139,11 +2151,11 @@
<target state="translated">Partecipazioni</target> <target state="translated">Partecipazioni</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">23</context> <context context-type="linenumber">24</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -2213,6 +2225,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">10</context>
</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">124</context> <context context-type="linenumber">124</context>
@ -2506,20 +2522,12 @@
<context context-type="linenumber">229</context> <context context-type="linenumber">229</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="170f7de02b14690fb9c1999a16926c0044bfd5c1" datatype="html">
<source>Index</source>
<target state="translated">Indice</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
</trans-unit>
<trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html"> <trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html">
<source>Change from All Time High</source> <source>Change from All Time High</source>
<target state="translated">Variazione rispetto al massimo storico (ATH)</target> <target state="translated">Variazione rispetto al massimo storico (ATH)</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">81</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html"> <trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html">
@ -2527,7 +2535,7 @@
<target state="translated">dal massimo storico (ATH)</target> <target state="translated">dal massimo storico (ATH)</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">83</context> <context context-type="linenumber">85</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ba18e93c4572bfe6d14b2a3f333468b12f890e5d" datatype="html"> <trans-unit id="ba18e93c4572bfe6d14b2a3f333468b12f890e5d" datatype="html">
@ -3327,7 +3335,7 @@
<target state="translated">Summario</target> <target state="translated">Summario</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">33</context> <context context-type="linenumber">34</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -3375,7 +3383,7 @@
<target state="translated">Valido fino a</target> <target state="translated">Valido fino a</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">28</context> <context context-type="linenumber">36</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -3927,7 +3935,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">81</context> <context context-type="linenumber">107</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html"> <trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -4655,7 +4663,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">141</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5418,7 +5426,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">74</context> <context context-type="linenumber">77</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -7260,15 +7268,7 @@
<target state="new">Imposta API Key</target> <target state="new">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">70</context> <context context-type="linenumber">83</context>
</context-group>
</trans-unit>
<trans-unit id="2fcf96765ae87821e12fe4f6900ba1a218742cfc" datatype="html">
<source> Want to stay updated? Click below to get notified as soon as it’s available. </source>
<target state="translated"> Vuoi seguire le novità? Clicca sotto per essere notificato appena è disponibile. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">23</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7374,7 +7374,7 @@
<target state="new">of</target> <target state="new">of</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">42</context> <context context-type="linenumber">52</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html"> <trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7382,7 +7382,7 @@
<target state="new">daily requests</target> <target state="new">daily requests</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">44</context> <context context-type="linenumber">54</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html"> <trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7390,7 +7390,7 @@
<target state="new">Remove API key</target> <target state="new">Remove 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">58</context> <context context-type="linenumber">71</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5649402767950535555" datatype="html"> <trans-unit id="5649402767950535555" datatype="html">
@ -7398,7 +7398,7 @@
<target state="new">Do you really want to delete the API key?</target> <target state="new">Do you really want to delete the 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.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">93</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1486033335993102285" datatype="html"> <trans-unit id="1486033335993102285" datatype="html">
@ -7409,20 +7409,12 @@
<context context-type="linenumber">41</context> <context context-type="linenumber">41</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1b53d197b1067954e0c294f6884e74edacc0c644" datatype="html"> <trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
<source>Notify me</source>
<target state="new">Notify me</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="e9f60204e4f1744563103eefc87829e05ec3d55b" datatype="html">
<source> I have an API key </source> <source> I have an API key </source>
<target state="new"> I have an API key </target> <target state="new"> I have an API key </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html"> <trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html">
@ -7566,7 +7558,7 @@
<target state="new">Early Access</target> <target state="new">Early Access</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">16</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html"> <trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7934,6 +7926,42 @@
<context context-type="linenumber">33</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1efa64b89c9852e7099159ab06af9dcf49870438" datatype="html">
<source>Add asset to watchlist</source>
<target state="new">Add asset to watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="7a6d28bd1c36c8298c95b7965abf226b218be50d" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/home-watchlist.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
<trans-unit id="4558213855845176930" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="e9d59bb8bf6c08243d5411c55ddbdf925c7c799c" datatype="html">
<source>Get Early Access</source>
<target state="new">Get Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">29</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -164,6 +164,10 @@
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">138</context> <context context-type="linenumber">138</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
@ -500,6 +504,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">25</context> <context context-type="linenumber">25</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">58</context> <context context-type="linenumber">58</context>
@ -544,6 +552,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">32</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context>
<context context-type="linenumber">135</context> <context context-type="linenumber">135</context>
@ -1050,7 +1062,7 @@
<target state="translated">of</target> <target state="translated">of</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">36</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -1298,7 +1310,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">87</context> <context context-type="linenumber">113</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>
@ -1958,7 +1970,7 @@
<target state="translated">Markten</target> <target state="translated">Markten</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">38</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -2138,11 +2150,11 @@
<target state="translated">Posities</target> <target state="translated">Posities</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">23</context> <context context-type="linenumber">24</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -2212,6 +2224,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">10</context>
</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">124</context> <context context-type="linenumber">124</context>
@ -2505,20 +2521,12 @@
<context context-type="linenumber">229</context> <context context-type="linenumber">229</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="170f7de02b14690fb9c1999a16926c0044bfd5c1" datatype="html">
<source>Index</source>
<target state="translated">Index</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
</trans-unit>
<trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html"> <trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html">
<source>Change from All Time High</source> <source>Change from All Time High</source>
<target state="translated">Verandering van All Time High</target> <target state="translated">Verandering van All Time High</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">81</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html"> <trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html">
@ -2526,7 +2534,7 @@
<target state="translated">van ATH</target> <target state="translated">van ATH</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">83</context> <context context-type="linenumber">85</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ba18e93c4572bfe6d14b2a3f333468b12f890e5d" datatype="html"> <trans-unit id="ba18e93c4572bfe6d14b2a3f333468b12f890e5d" datatype="html">
@ -3326,7 +3334,7 @@
<target state="translated">Samenvatting</target> <target state="translated">Samenvatting</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">33</context> <context context-type="linenumber">34</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -3374,7 +3382,7 @@
<target state="translated">Geldig tot</target> <target state="translated">Geldig tot</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">28</context> <context context-type="linenumber">36</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -3926,7 +3934,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">81</context> <context context-type="linenumber">107</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html"> <trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -4654,7 +4662,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">141</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5417,7 +5425,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">74</context> <context context-type="linenumber">77</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -7259,15 +7267,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">70</context> <context context-type="linenumber">83</context>
</context-group>
</trans-unit>
<trans-unit id="2fcf96765ae87821e12fe4f6900ba1a218742cfc" datatype="html">
<source> Want to stay updated? Click below to get notified as soon as it’s available. </source>
<target state="new"> Want to stay updated? Click below to get notified as soon as it’s available. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">23</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7373,7 +7373,7 @@
<target state="new">of</target> <target state="new">of</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">42</context> <context context-type="linenumber">52</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html"> <trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7381,7 +7381,7 @@
<target state="new">daily requests</target> <target state="new">daily requests</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">44</context> <context context-type="linenumber">54</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html"> <trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7389,7 +7389,7 @@
<target state="new">Remove API key</target> <target state="new">Remove 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">58</context> <context context-type="linenumber">71</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5649402767950535555" datatype="html"> <trans-unit id="5649402767950535555" datatype="html">
@ -7397,7 +7397,7 @@
<target state="new">Do you really want to delete the API key?</target> <target state="new">Do you really want to delete the 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.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">93</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1486033335993102285" datatype="html"> <trans-unit id="1486033335993102285" datatype="html">
@ -7408,20 +7408,12 @@
<context context-type="linenumber">41</context> <context context-type="linenumber">41</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1b53d197b1067954e0c294f6884e74edacc0c644" datatype="html"> <trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
<source>Notify me</source>
<target state="new">Notify me</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="e9f60204e4f1744563103eefc87829e05ec3d55b" datatype="html">
<source> I have an API key </source> <source> I have an API key </source>
<target state="new"> I have an API key </target> <target state="new"> I have an API key </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html"> <trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html">
@ -7565,7 +7557,7 @@
<target state="new">Early Access</target> <target state="new">Early Access</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">16</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html"> <trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7933,6 +7925,42 @@
<context context-type="linenumber">33</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1efa64b89c9852e7099159ab06af9dcf49870438" datatype="html">
<source>Add asset to watchlist</source>
<target state="new">Add asset to watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="7a6d28bd1c36c8298c95b7965abf226b218be50d" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/home-watchlist.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
<trans-unit id="4558213855845176930" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="e9d59bb8bf6c08243d5411c55ddbdf925c7c799c" datatype="html">
<source>Get Early Access</source>
<target state="new">Get Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">29</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -272,7 +272,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">74</context> <context context-type="linenumber">77</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -997,6 +997,10 @@
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">138</context> <context context-type="linenumber">138</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
@ -1365,6 +1369,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">25</context> <context context-type="linenumber">25</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">58</context> <context context-type="linenumber">58</context>
@ -1409,6 +1417,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">32</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context>
<context context-type="linenumber">135</context> <context context-type="linenumber">135</context>
@ -1761,6 +1773,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">10</context>
</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">124</context> <context context-type="linenumber">124</context>
@ -1991,7 +2007,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">81</context> <context context-type="linenumber">107</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html"> <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
@ -1999,7 +2015,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">87</context> <context context-type="linenumber">113</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>
@ -2451,7 +2467,7 @@
<target state="translated">lub</target> <target state="translated">lub</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">36</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -3695,11 +3711,11 @@
<target state="translated">Inwestycje</target> <target state="translated">Inwestycje</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">23</context> <context context-type="linenumber">24</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -3715,7 +3731,7 @@
<target state="translated">Podsumowanie</target> <target state="translated">Podsumowanie</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">33</context> <context context-type="linenumber">34</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -3727,7 +3743,7 @@
<target state="translated">Rynki</target> <target state="translated">Rynki</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">38</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -4555,7 +4571,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">141</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5518,14 +5534,6 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="170f7de02b14690fb9c1999a16926c0044bfd5c1" datatype="html">
<source>Index</source>
<target state="translated">Indeks</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
</trans-unit>
<trans-unit id="46236411f4e4f76b93179e7c73a08257d1be63cc" datatype="html"> <trans-unit id="46236411f4e4f76b93179e7c73a08257d1be63cc" datatype="html">
<source>Last All Time High</source> <source>Last All Time High</source>
<target state="translated">Ostatni Najwyższy Punkt w Historii</target> <target state="translated">Ostatni Najwyższy Punkt w Historii</target>
@ -5539,7 +5547,7 @@
<target state="translated">Zmiana od Najwyższego Punktu w Historii</target> <target state="translated">Zmiana od Najwyższego Punktu w Historii</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">81</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html"> <trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html">
@ -5547,7 +5555,7 @@
<target state="translated">od ATH</target> <target state="translated">od ATH</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">83</context> <context context-type="linenumber">85</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="b74406fd93207c23bb840732ad2760ce0efaa2c5" datatype="html"> <trans-unit id="b74406fd93207c23bb840732ad2760ce0efaa2c5" datatype="html">
@ -6051,7 +6059,7 @@
<target state="translated">Ważność do</target> <target state="translated">Ważność do</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">28</context> <context context-type="linenumber">36</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -7259,15 +7267,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">70</context> <context context-type="linenumber">83</context>
</context-group>
</trans-unit>
<trans-unit id="2fcf96765ae87821e12fe4f6900ba1a218742cfc" datatype="html">
<source> Want to stay updated? Click below to get notified as soon as it’s available. </source>
<target state="translated"> Chcesz być na bieżąco? Kliknij poniżej, aby otrzymać powiadomienie, gdy tylko będzie dostępne. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">23</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7373,7 +7373,7 @@
<target state="translated">z</target> <target state="translated">z</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">42</context> <context context-type="linenumber">52</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html"> <trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7381,7 +7381,7 @@
<target state="translated">codzienne żądania</target> <target state="translated">codzienne żądania</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">44</context> <context context-type="linenumber">54</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html"> <trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7389,7 +7389,7 @@
<target state="translated">Usuń klucz API</target> <target state="translated">Usuń 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">58</context> <context context-type="linenumber">71</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5649402767950535555" datatype="html"> <trans-unit id="5649402767950535555" datatype="html">
@ -7397,7 +7397,7 @@
<target state="translated">Czy na pewno chcesz usunąć klucz API??</target> <target state="translated">Czy na pewno chcesz usunąć 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.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">93</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1486033335993102285" datatype="html"> <trans-unit id="1486033335993102285" datatype="html">
@ -7408,20 +7408,12 @@
<context context-type="linenumber">41</context> <context context-type="linenumber">41</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1b53d197b1067954e0c294f6884e74edacc0c644" datatype="html"> <trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
<source>Notify me</source>
<target state="translated">Powiadom mnie</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="e9f60204e4f1744563103eefc87829e05ec3d55b" datatype="html">
<source> I have an API key </source> <source> I have an API key </source>
<target state="translated"> Posiadam klucz API </target> <target state="translated"> Posiadam klucz API </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html"> <trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html">
@ -7565,7 +7557,7 @@
<target state="translated">Wczesny dostęp</target> <target state="translated">Wczesny dostęp</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">16</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html"> <trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7933,6 +7925,42 @@
<context context-type="linenumber">33</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1efa64b89c9852e7099159ab06af9dcf49870438" datatype="html">
<source>Add asset to watchlist</source>
<target state="new">Add asset to watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="7a6d28bd1c36c8298c95b7965abf226b218be50d" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/home-watchlist.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
<trans-unit id="4558213855845176930" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="e9d59bb8bf6c08243d5411c55ddbdf925c7c799c" datatype="html">
<source>Get Early Access</source>
<target state="new">Get Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">29</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -172,6 +172,10 @@
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">138</context> <context context-type="linenumber">138</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
@ -556,6 +560,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">25</context> <context context-type="linenumber">25</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">58</context> <context context-type="linenumber">58</context>
@ -600,6 +608,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">32</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context>
<context context-type="linenumber">135</context> <context context-type="linenumber">135</context>
@ -1282,7 +1294,7 @@
<target state="translated">ou</target> <target state="translated">ou</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">36</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -1602,7 +1614,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">87</context> <context context-type="linenumber">113</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>
@ -2290,7 +2302,7 @@
<target state="translated">Mercados</target> <target state="translated">Mercados</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">38</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -2360,6 +2372,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">10</context>
</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">124</context> <context context-type="linenumber">124</context>
@ -2662,11 +2678,11 @@
<target state="translated">Posições</target> <target state="translated">Posições</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">23</context> <context context-type="linenumber">24</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -2897,20 +2913,12 @@
<context context-type="linenumber">229</context> <context context-type="linenumber">229</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="170f7de02b14690fb9c1999a16926c0044bfd5c1" datatype="html">
<source>Index</source>
<target state="translated">Índice</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
</trans-unit>
<trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html"> <trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html">
<source>Change from All Time High</source> <source>Change from All Time High</source>
<target state="translated">Diferença desde o Máximo Histórico</target> <target state="translated">Diferença desde o Máximo Histórico</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">81</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html"> <trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html">
@ -2918,7 +2926,7 @@
<target state="translated">a partir do ATH (All Time High)</target> <target state="translated">a partir do ATH (All Time High)</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">83</context> <context context-type="linenumber">85</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ba18e93c4572bfe6d14b2a3f333468b12f890e5d" datatype="html"> <trans-unit id="ba18e93c4572bfe6d14b2a3f333468b12f890e5d" datatype="html">
@ -3274,7 +3282,7 @@
<target state="translated">Sumário</target> <target state="translated">Sumário</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">33</context> <context context-type="linenumber">34</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -3374,7 +3382,7 @@
<target state="translated">Válido até</target> <target state="translated">Válido até</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">28</context> <context context-type="linenumber">36</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -3926,7 +3934,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">81</context> <context context-type="linenumber">107</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html"> <trans-unit id="f4e44195c1fc545934be51e9abfba1202911462a" datatype="html">
@ -4654,7 +4662,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">141</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5417,7 +5425,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">74</context> <context context-type="linenumber">77</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -7259,15 +7267,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">70</context> <context context-type="linenumber">83</context>
</context-group>
</trans-unit>
<trans-unit id="2fcf96765ae87821e12fe4f6900ba1a218742cfc" datatype="html">
<source> Want to stay updated? Click below to get notified as soon as it’s available. </source>
<target state="new"> Want to stay updated? Click below to get notified as soon as it’s available. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">23</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7373,7 +7373,7 @@
<target state="new">of</target> <target state="new">of</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">42</context> <context context-type="linenumber">52</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html"> <trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7381,7 +7381,7 @@
<target state="new">daily requests</target> <target state="new">daily requests</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">44</context> <context context-type="linenumber">54</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html"> <trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7389,7 +7389,7 @@
<target state="new">Remove API key</target> <target state="new">Remove 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">58</context> <context context-type="linenumber">71</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5649402767950535555" datatype="html"> <trans-unit id="5649402767950535555" datatype="html">
@ -7397,7 +7397,7 @@
<target state="new">Do you really want to delete the API key?</target> <target state="new">Do you really want to delete the 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.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">93</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1486033335993102285" datatype="html"> <trans-unit id="1486033335993102285" datatype="html">
@ -7408,20 +7408,12 @@
<context context-type="linenumber">41</context> <context context-type="linenumber">41</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1b53d197b1067954e0c294f6884e74edacc0c644" datatype="html"> <trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
<source>Notify me</source>
<target state="new">Notify me</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="e9f60204e4f1744563103eefc87829e05ec3d55b" datatype="html">
<source> I have an API key </source> <source> I have an API key </source>
<target state="new"> I have an API key </target> <target state="new"> I have an API key </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html"> <trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html">
@ -7565,7 +7557,7 @@
<target state="new">Early Access</target> <target state="new">Early Access</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">16</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html"> <trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7933,6 +7925,42 @@
<context context-type="linenumber">33</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1efa64b89c9852e7099159ab06af9dcf49870438" datatype="html">
<source>Add asset to watchlist</source>
<target state="new">Add asset to watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="7a6d28bd1c36c8298c95b7965abf226b218be50d" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/home-watchlist.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
<trans-unit id="4558213855845176930" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="e9d59bb8bf6c08243d5411c55ddbdf925c7c799c" datatype="html">
<source>Get Early Access</source>
<target state="new">Get Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">29</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -272,7 +272,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">74</context> <context context-type="linenumber">77</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -957,6 +957,10 @@
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">138</context> <context context-type="linenumber">138</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
@ -1325,6 +1329,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">25</context> <context context-type="linenumber">25</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">58</context> <context context-type="linenumber">58</context>
@ -1369,6 +1377,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">32</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context>
<context context-type="linenumber">135</context> <context context-type="linenumber">135</context>
@ -1665,6 +1677,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">10</context>
</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">124</context> <context context-type="linenumber">124</context>
@ -1731,7 +1747,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">87</context> <context context-type="linenumber">113</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>
@ -1895,7 +1911,7 @@
<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">81</context> <context context-type="linenumber">107</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2817099043823177227" datatype="html"> <trans-unit id="2817099043823177227" datatype="html">
@ -2299,7 +2315,7 @@
<target state="translated">veya</target> <target state="translated">veya</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">36</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -3251,11 +3267,11 @@
<target state="translated">Varlıklar</target> <target state="translated">Varlıklar</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">23</context> <context context-type="linenumber">24</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -3271,7 +3287,7 @@
<target state="translated">Özet</target> <target state="translated">Özet</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">33</context> <context context-type="linenumber">34</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -3283,7 +3299,7 @@
<target state="translated">Piyasalar</target> <target state="translated">Piyasalar</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">38</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -4043,7 +4059,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">141</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -4923,7 +4939,7 @@
<target state="translated">Geçerli tarih</target> <target state="translated">Geçerli tarih</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">28</context> <context context-type="linenumber">36</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -5214,20 +5230,12 @@
<context context-type="linenumber">229</context> <context context-type="linenumber">229</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="170f7de02b14690fb9c1999a16926c0044bfd5c1" datatype="html">
<source>Index</source>
<target state="translated">Endeks</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
</trans-unit>
<trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html"> <trans-unit id="c81076431c2d98928ac370ca3e57092ae77366d7" datatype="html">
<source>Change from All Time High</source> <source>Change from All Time High</source>
<target state="translated">Tüm Zamanların En Yüksek Seviyesinden (ATH) Değişim</target> <target state="translated">Tüm Zamanların En Yüksek Seviyesinden (ATH) Değişim</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">81</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html"> <trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html">
@ -5235,7 +5243,7 @@
<target state="translated">Tüm Zamanların En Yüksek Seviyesinden</target> <target state="translated">Tüm Zamanların En Yüksek Seviyesinden</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">83</context> <context context-type="linenumber">85</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="b74406fd93207c23bb840732ad2760ce0efaa2c5" datatype="html"> <trans-unit id="b74406fd93207c23bb840732ad2760ce0efaa2c5" datatype="html">
@ -7259,15 +7267,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">70</context> <context context-type="linenumber">83</context>
</context-group>
</trans-unit>
<trans-unit id="2fcf96765ae87821e12fe4f6900ba1a218742cfc" datatype="html">
<source> Want to stay updated? Click below to get notified as soon as it’s available. </source>
<target state="new"> Want to stay updated? Click below to get notified as soon as it’s available. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">23</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7373,7 +7373,7 @@
<target state="new">of</target> <target state="new">of</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">42</context> <context context-type="linenumber">52</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html"> <trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7381,7 +7381,7 @@
<target state="new">daily requests</target> <target state="new">daily requests</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">44</context> <context context-type="linenumber">54</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html"> <trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7389,7 +7389,7 @@
<target state="new">Remove API key</target> <target state="new">Remove 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">58</context> <context context-type="linenumber">71</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5649402767950535555" datatype="html"> <trans-unit id="5649402767950535555" datatype="html">
@ -7397,7 +7397,7 @@
<target state="new">Do you really want to delete the API key?</target> <target state="new">Do you really want to delete the 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.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">93</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1486033335993102285" datatype="html"> <trans-unit id="1486033335993102285" datatype="html">
@ -7408,20 +7408,12 @@
<context context-type="linenumber">41</context> <context context-type="linenumber">41</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1b53d197b1067954e0c294f6884e74edacc0c644" datatype="html"> <trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
<source>Notify me</source>
<target state="new">Notify me</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="e9f60204e4f1744563103eefc87829e05ec3d55b" datatype="html">
<source> I have an API key </source> <source> I have an API key </source>
<target state="new"> I have an API key </target> <target state="new"> I have an API key </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html"> <trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html">
@ -7565,7 +7557,7 @@
<target state="translated">Erken Erişim</target> <target state="translated">Erken Erişim</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">16</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html"> <trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7933,6 +7925,42 @@
<context context-type="linenumber">33</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1efa64b89c9852e7099159ab06af9dcf49870438" datatype="html">
<source>Add asset to watchlist</source>
<target state="new">Add asset to watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="7a6d28bd1c36c8298c95b7965abf226b218be50d" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/home-watchlist.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
<trans-unit id="4558213855845176930" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="e9d59bb8bf6c08243d5411c55ddbdf925c7c799c" datatype="html">
<source>Get Early Access</source>
<target state="new">Get Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">29</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -653,7 +653,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">74</context> <context context-type="linenumber">77</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -1085,6 +1085,10 @@
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">138</context> <context context-type="linenumber">138</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
@ -1817,6 +1821,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">25</context> <context context-type="linenumber">25</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">58</context> <context context-type="linenumber">58</context>
@ -1861,6 +1869,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">32</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context>
<context context-type="linenumber">135</context> <context context-type="linenumber">135</context>
@ -1925,6 +1937,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">10</context>
</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">124</context> <context context-type="linenumber">124</context>
@ -2155,7 +2171,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">28</context> <context context-type="linenumber">36</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -2167,7 +2183,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">42</context> <context context-type="linenumber">52</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html"> <trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -2175,7 +2191,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">44</context> <context context-type="linenumber">54</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html"> <trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -2183,7 +2199,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">58</context> <context context-type="linenumber">71</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8af1a18460a6a5a33c19443ae14a0417c3a9c023" datatype="html"> <trans-unit id="8af1a18460a6a5a33c19443ae14a0417c3a9c023" datatype="html">
@ -2191,7 +2207,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">70</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6ee0b8778b1e61a6434b8f1a92febacca34112a7" datatype="html"> <trans-unit id="6ee0b8778b1e61a6434b8f1a92febacca34112a7" datatype="html">
@ -2199,7 +2215,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">81</context> <context context-type="linenumber">107</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html"> <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
@ -2207,7 +2223,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">87</context> <context context-type="linenumber">113</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>
@ -2223,7 +2239,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.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">93</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4068738931505527681" datatype="html"> <trans-unit id="4068738931505527681" datatype="html">
@ -2234,28 +2250,12 @@
<context context-type="linenumber">57</context> <context context-type="linenumber">57</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2fcf96765ae87821e12fe4f6900ba1a218742cfc" datatype="html">
<source> Want to stay updated? Click below to get notified as soon as it’s available. </source>
<target state="translated"> Хочете залишатися в курсі? Натисніть нижче, щоб отримати сповіщення, як тільки це буде доступно. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">23</context>
</context-group>
</trans-unit>
<trans-unit id="1b53d197b1067954e0c294f6884e74edacc0c644" datatype="html">
<source>Notify me</source>
<target state="translated">Сповістіть мене</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="053e81597467a642e04109eebe934c84e6a1f467" datatype="html"> <trans-unit id="053e81597467a642e04109eebe934c84e6a1f467" datatype="html">
<source>or</source> <source>or</source>
<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/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">36</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -2282,12 +2282,12 @@
<context context-type="linenumber">29</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="e9f60204e4f1744563103eefc87829e05ec3d55b" datatype="html"> <trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
<source> I have an API key </source> <source> I have an API key </source>
<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/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="de074268d7d7d759a6ca93af78aace60e16bb671" datatype="html"> <trans-unit id="de074268d7d7d759a6ca93af78aace60e16bb671" datatype="html">
@ -4299,11 +4299,11 @@
<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/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">23</context> <context context-type="linenumber">24</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -4319,7 +4319,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/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">33</context> <context context-type="linenumber">34</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -4331,7 +4331,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/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">38</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -5211,7 +5211,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">141</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -6724,14 +6724,6 @@
<context context-type="linenumber">197</context> <context context-type="linenumber">197</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="170f7de02b14690fb9c1999a16926c0044bfd5c1" datatype="html">
<source>Index</source>
<target state="translated">Індекс</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
</trans-unit>
<trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html"> <trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html">
<source>50-Day Trend</source> <source>50-Day Trend</source>
<target state="translated">Тренд на 50 днів</target> <target state="translated">Тренд на 50 днів</target>
@ -6761,7 +6753,7 @@
<target state="translated">Зміна від Історичного Максимуму</target> <target state="translated">Зміна від Історичного Максимуму</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">81</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html"> <trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html">
@ -6769,7 +6761,7 @@
<target state="translated">від ІМ</target> <target state="translated">від ІМ</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">83</context> <context context-type="linenumber">85</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="b74406fd93207c23bb840732ad2760ce0efaa2c5" datatype="html"> <trans-unit id="b74406fd93207c23bb840732ad2760ce0efaa2c5" datatype="html">
@ -7565,7 +7557,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">16</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html"> <trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7933,6 +7925,42 @@
<context context-type="linenumber">33</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1efa64b89c9852e7099159ab06af9dcf49870438" datatype="html">
<source>Add asset to watchlist</source>
<target state="new">Add asset to watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="7a6d28bd1c36c8298c95b7965abf226b218be50d" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/home-watchlist.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
<trans-unit id="4558213855845176930" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="e9d59bb8bf6c08243d5411c55ddbdf925c7c799c" datatype="html">
<source>Get Early Access</source>
<target state="new">Get Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">29</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -267,7 +267,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">74</context> <context context-type="linenumber">77</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -969,6 +969,10 @@
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">138</context> <context context-type="linenumber">138</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
@ -1315,6 +1319,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">25</context> <context context-type="linenumber">25</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">58</context> <context context-type="linenumber">58</context>
@ -1358,6 +1366,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">32</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context>
<context context-type="linenumber">135</context> <context context-type="linenumber">135</context>
@ -1703,6 +1715,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">10</context>
</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">124</context> <context context-type="linenumber">124</context>
@ -1909,14 +1925,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">81</context> <context context-type="linenumber">107</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">87</context> <context context-type="linenumber">113</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>
@ -2321,7 +2337,7 @@
<source>or</source> <source>or</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">36</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -3442,11 +3458,11 @@
<source>Holdings</source> <source>Holdings</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">23</context> <context context-type="linenumber">24</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -3461,7 +3477,7 @@
<source>Summary</source> <source>Summary</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">33</context> <context context-type="linenumber">34</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -3472,7 +3488,7 @@
<source>Markets</source> <source>Markets</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">38</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -4209,7 +4225,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">141</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5102,13 +5118,6 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="170f7de02b14690fb9c1999a16926c0044bfd5c1" datatype="html">
<source>Index</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
</trans-unit>
<trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html"> <trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html">
<source>50-Day Trend</source> <source>50-Day Trend</source>
<context-group purpose="location"> <context-group purpose="location">
@ -5134,14 +5143,14 @@
<source>Change from All Time High</source> <source>Change from All Time High</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">81</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html"> <trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html">
<source>from ATH</source> <source>from ATH</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">83</context> <context context-type="linenumber">85</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="b74406fd93207c23bb840732ad2760ce0efaa2c5" datatype="html"> <trans-unit id="b74406fd93207c23bb840732ad2760ce0efaa2c5" datatype="html">
@ -5584,7 +5593,7 @@
<source>Valid until</source> <source>Valid until</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">28</context> <context context-type="linenumber">36</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -6587,13 +6596,6 @@
<context context-type="linenumber">40</context> <context context-type="linenumber">40</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2fcf96765ae87821e12fe4f6900ba1a218742cfc" datatype="html">
<source> Want to stay updated? Click below to get notified as soon as it’s available. </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">23</context>
</context-group>
</trans-unit>
<trans-unit id="4346283537747431562" datatype="html"> <trans-unit id="4346283537747431562" datatype="html">
<source>Ukraine</source> <source>Ukraine</source>
<context-group purpose="location"> <context-group purpose="location">
@ -6605,7 +6607,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">70</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -6707,42 +6709,35 @@
<source>of</source> <source>of</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">42</context> <context context-type="linenumber">52</context>
</context-group>
</trans-unit>
<trans-unit id="1b53d197b1067954e0c294f6884e74edacc0c644" datatype="html">
<source>Notify me</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">32</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5649402767950535555" datatype="html"> <trans-unit id="5649402767950535555" datatype="html">
<source>Do you really want to delete the API key?</source> <source>Do you really want to delete the 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.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">93</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="e9f60204e4f1744563103eefc87829e05ec3d55b" datatype="html"> <trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
<source> I have an API key </source> <source> I have an API key </source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html"> <trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
<source>Remove API key</source> <source>Remove 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">58</context> <context context-type="linenumber">71</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html"> <trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
<source>daily requests</source> <source>daily requests</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">44</context> <context context-type="linenumber">54</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="0ad3c057fbf21b81a1f1d0bad8b9ee4b284139ab" datatype="html"> <trans-unit id="0ad3c057fbf21b81a1f1d0bad8b9ee4b284139ab" datatype="html">
@ -6868,7 +6863,7 @@
<source>Early Access</source> <source>Early Access</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">16</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html"> <trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7172,6 +7167,38 @@
<context context-type="linenumber">33</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1efa64b89c9852e7099159ab06af9dcf49870438" datatype="html">
<source>Add asset to watchlist</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="4558213855845176930" datatype="html">
<source>Watchlist</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="7a6d28bd1c36c8298c95b7965abf226b218be50d" datatype="html">
<source>Watchlist</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/home-watchlist.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
<trans-unit id="e9d59bb8bf6c08243d5411c55ddbdf925c7c799c" datatype="html">
<source>Get Early Access</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">29</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

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

@ -273,7 +273,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">74</context> <context context-type="linenumber">77</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context> <context context-type="sourcefile">apps/client/src/app/components/header/header.component.ts</context>
@ -1006,6 +1006,10 @@
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">138</context> <context context-type="linenumber">138</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
@ -1374,6 +1378,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">25</context> <context context-type="linenumber">25</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">58</context> <context context-type="linenumber">58</context>
@ -1418,6 +1426,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-tag/create-or-update-tag-dialog/create-or-update-tag-dialog.html</context>
<context context-type="linenumber">32</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/rule/rule-settings-dialog/rule-settings-dialog.html</context>
<context context-type="linenumber">135</context> <context context-type="linenumber">135</context>
@ -1770,6 +1782,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html</context>
<context context-type="linenumber">29</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">10</context>
</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">124</context> <context context-type="linenumber">124</context>
@ -2000,7 +2016,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">81</context> <context context-type="linenumber">107</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html"> <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
@ -2008,7 +2024,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">87</context> <context context-type="linenumber">113</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>
@ -2460,7 +2476,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/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">36</context> <context context-type="linenumber">32</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html</context>
@ -3704,11 +3720,11 @@
<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/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">23</context> <context context-type="linenumber">24</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">28</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -3724,7 +3740,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/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">33</context> <context context-type="linenumber">34</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -3736,7 +3752,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/home/home-page-routing.module.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">38</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context> <context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
@ -4564,7 +4580,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">137</context> <context context-type="linenumber">141</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5559,14 +5575,6 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="170f7de02b14690fb9c1999a16926c0044bfd5c1" datatype="html">
<source>Index</source>
<target state="translated">指数</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
</trans-unit>
<trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html"> <trans-unit id="d762c43328624b5dd81f3c6a3023203ae9a7553f" datatype="html">
<source>50-Day Trend</source> <source>50-Day Trend</source>
<target state="translated">50 天趋势</target> <target state="translated">50 天趋势</target>
@ -5596,7 +5604,7 @@
<target state="translated">从历史最高点开始变化</target> <target state="translated">从历史最高点开始变化</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">81</context> <context context-type="linenumber">83</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html"> <trans-unit id="4bbe89749f1580cdca7f9238cb67ba2bd6968126" datatype="html">
@ -5604,7 +5612,7 @@
<target state="translated">来自 ATH</target> <target state="translated">来自 ATH</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">83</context> <context context-type="linenumber">85</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="b74406fd93207c23bb840732ad2760ce0efaa2c5" datatype="html"> <trans-unit id="b74406fd93207c23bb840732ad2760ce0efaa2c5" datatype="html">
@ -6108,7 +6116,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">28</context> <context context-type="linenumber">36</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context> <context context-type="sourcefile">libs/ui/src/lib/membership-card/membership-card.component.html</context>
@ -7260,15 +7268,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">70</context> <context context-type="linenumber">83</context>
</context-group>
</trans-unit>
<trans-unit id="2fcf96765ae87821e12fe4f6900ba1a218742cfc" datatype="html">
<source> Want to stay updated? Click below to get notified as soon as it’s available. </source>
<target state="new"> Want to stay updated? Click below to get notified as soon as it’s available. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">23</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6973601224334878334" datatype="html"> <trans-unit id="6973601224334878334" datatype="html">
@ -7374,7 +7374,7 @@
<target state="new">of</target> <target state="new">of</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">42</context> <context context-type="linenumber">52</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html"> <trans-unit id="d666fa5e7e930b82f6c790ccdfe03526664229de" datatype="html">
@ -7382,7 +7382,7 @@
<target state="new">daily requests</target> <target state="new">daily requests</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">44</context> <context context-type="linenumber">54</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html"> <trans-unit id="ab92acbb19a07fb231c67bb8b89c5840087570aa" datatype="html">
@ -7390,7 +7390,7 @@
<target state="new">Remove API key</target> <target state="new">Remove 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">58</context> <context context-type="linenumber">71</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5649402767950535555" datatype="html"> <trans-unit id="5649402767950535555" datatype="html">
@ -7398,7 +7398,7 @@
<target state="new">Do you really want to delete the API key?</target> <target state="new">Do you really want to delete the 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.ts</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.ts</context>
<context context-type="linenumber">93</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1486033335993102285" datatype="html"> <trans-unit id="1486033335993102285" datatype="html">
@ -7409,20 +7409,12 @@
<context context-type="linenumber">41</context> <context context-type="linenumber">41</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1b53d197b1067954e0c294f6884e74edacc0c644" datatype="html"> <trans-unit id="a651ea4f13e3034518dd3d096958ab482d51b7a5" datatype="html">
<source>Notify me</source>
<target state="new">Notify me</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="e9f60204e4f1744563103eefc87829e05ec3d55b" datatype="html">
<source> I have an API key </source> <source> I have an API key </source>
<target state="new"> I have an API key </target> <target state="new"> I have an API key </target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context> <context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">39</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html"> <trans-unit id="4405ffa42898e217fcb92b7d1f08bb91ef895ed8" datatype="html">
@ -7566,7 +7558,7 @@
<target state="new">Early Access</target> <target state="new">Early Access</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">16</context> <context context-type="linenumber">29</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html"> <trans-unit id="189ecd7821c0e70fd7b29d9255600d3157865b3b" datatype="html">
@ -7934,6 +7926,42 @@
<context context-type="linenumber">33</context> <context context-type="linenumber">33</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1efa64b89c9852e7099159ab06af9dcf49870438" datatype="html">
<source>Add asset to watchlist</source>
<target state="new">Add asset to watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/create-watchlist-item-dialog/create-watchlist-item-dialog.html</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="7a6d28bd1c36c8298c95b7965abf226b218be50d" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-watchlist/home-watchlist.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
<trans-unit id="4558213855845176930" datatype="html">
<source>Watchlist</source>
<target state="new">Watchlist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page-routing.module.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/home/home-page.component.ts</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="e9d59bb8bf6c08243d5411c55ddbdf925c7c799c" datatype="html">
<source>Get Early Access</source>
<target state="new">Get Early Access</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html</context>
<context context-type="linenumber">29</context>
</context-group>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

3
libs/common/src/lib/interfaces/admin-data.interface.ts

@ -1,4 +1,7 @@
import { DataProviderInfo } from './data-provider-info.interface';
export interface AdminData { export interface AdminData {
dataProviders: DataProviderInfo[];
settings: { [key: string]: boolean | object | string | string[] }; settings: { [key: string]: boolean | object | string | string[] };
transactionCount: number; transactionCount: number;
userCount: number; userCount: number;

3
libs/common/src/lib/interfaces/data-provider-info.interface.ts

@ -1,4 +1,7 @@
import { DataSource } from '@prisma/client';
export interface DataProviderInfo { export interface DataProviderInfo {
dataSource?: DataSource;
isPremium: boolean; isPremium: boolean;
name?: string; name?: string;
url?: string; url?: string;

2
libs/common/src/lib/interfaces/index.ts

@ -57,6 +57,7 @@ import type { PortfolioPerformanceResponse } from './responses/portfolio-perform
import type { PortfolioReportResponse } from './responses/portfolio-report.interface'; import type { PortfolioReportResponse } from './responses/portfolio-report.interface';
import type { PublicPortfolioResponse } from './responses/public-portfolio-response.interface'; import type { PublicPortfolioResponse } from './responses/public-portfolio-response.interface';
import type { QuotesResponse } from './responses/quotes-response.interface'; import type { QuotesResponse } from './responses/quotes-response.interface';
import type { WatchlistResponse } from './responses/watchlist-response.interface';
import type { ScraperConfiguration } from './scraper-configuration.interface'; import type { ScraperConfiguration } from './scraper-configuration.interface';
import type { Statistics } from './statistics.interface'; import type { Statistics } from './statistics.interface';
import type { SubscriptionOffer } from './subscription-offer.interface'; import type { SubscriptionOffer } from './subscription-offer.interface';
@ -135,5 +136,6 @@ export {
ToggleOption, ToggleOption,
User, User,
UserSettings, UserSettings,
WatchlistResponse,
XRayRulesSettings XRayRulesSettings
}; };

5
libs/common/src/lib/interfaces/responses/watchlist-response.interface.ts

@ -0,0 +1,5 @@
import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces';
export interface WatchlistResponse {
watchlist: AssetProfileIdentifier[];
}

73
libs/ui/src/lib/benchmark/benchmark.component.html

@ -1,6 +1,6 @@
<table class="gf-table w-100" mat-table [dataSource]="benchmarks"> <table class="gf-table w-100" mat-table [dataSource]="benchmarks">
<ng-container matColumnDef="name"> <ng-container matColumnDef="name">
<th *matHeaderCellDef class="px-2" i18n mat-header-cell>Index</th> <th *matHeaderCellDef class="px-2" i18n mat-header-cell>Name</th>
<td *matCellDef="let element" class="px-2" mat-cell> <td *matCellDef="let element" class="px-2" mat-cell>
{{ element?.name }} {{ element?.name }}
</td> </td>
@ -66,11 +66,13 @@
</th> </th>
<td *matCellDef="let element" class="d-none d-lg-table-cell px-2" mat-cell> <td *matCellDef="let element" class="d-none d-lg-table-cell px-2" mat-cell>
<div class="d-flex justify-content-end"> <div class="d-flex justify-content-end">
<gf-value @if (element?.performances?.allTimeHigh?.date) {
[isDate]="true" <gf-value
[locale]="locale" [isDate]="true"
[value]="element?.performances?.allTimeHigh?.date" [locale]="locale"
/> [value]="element?.performances?.allTimeHigh?.date"
/>
}
</div> </div>
</td> </td>
</ng-container> </ng-container>
@ -83,18 +85,20 @@
<span class="d-block d-sm-none text-nowrap" i18n>from ATH</span> <span class="d-block d-sm-none text-nowrap" i18n>from ATH</span>
</th> </th>
<td *matCellDef="let element" class="px-2 text-right" mat-cell> <td *matCellDef="let element" class="px-2 text-right" mat-cell>
<gf-value @if (isNumber(element?.performances?.allTimeHigh?.performancePercent)) {
class="d-inline-block justify-content-end" <gf-value
[isPercent]="true" class="d-inline-block justify-content-end"
[locale]="locale" [isPercent]="true"
[ngClass]="{ [locale]="locale"
'text-danger': [ngClass]="{
element?.performances?.allTimeHigh?.performancePercent < 0, 'text-danger':
'text-success': element?.performances?.allTimeHigh?.performancePercent < 0,
element?.performances?.allTimeHigh?.performancePercent === 0 'text-success':
}" element?.performances?.allTimeHigh?.performancePercent === 0
[value]="element?.performances?.allTimeHigh?.performancePercent" }"
/> [value]="element?.performances?.allTimeHigh?.performancePercent"
/>
}
</td> </td>
</ng-container> </ng-container>
@ -109,6 +113,39 @@
</td> </td>
</ng-container> </ng-container>
<ng-container matColumnDef="actions" stickyEnd>
<th *matHeaderCellDef class="px-1 text-center" mat-header-cell></th>
<td *matCellDef="let element" class="px-1 text-center" mat-cell>
@if (hasPermissionToDeleteItem) {
<button
class="mx-1 no-min-width px-2"
mat-button
[matMenuTriggerFor]="benchmarkMenu"
(click)="$event.stopPropagation()"
>
<ion-icon name="ellipsis-horizontal" />
</button>
}
<mat-menu #benchmarkMenu="matMenu" xPosition="before">
<button
mat-menu-item
[disabled]="!hasPermissionToDeleteItem"
(click)="
onDeleteItem({
dataSource: element.dataSource,
symbol: element.symbol
})
"
>
<span class="align-items-center d-flex">
<ion-icon class="mr-2" name="trash-outline" />
<span i18n>Delete</span>
</span>
</button>
</mat-menu>
</td>
</ng-container>
<tr *matHeaderRowDef="displayedColumns" mat-header-row></tr> <tr *matHeaderRowDef="displayedColumns" mat-header-row></tr>
<tr <tr
*matRowDef="let row; columns: displayedColumns" *matRowDef="let row; columns: displayedColumns"

37
libs/ui/src/lib/benchmark/benchmark.component.ts

@ -1,3 +1,5 @@
import { ConfirmationDialogType } from '@ghostfolio/client/core/notification/confirmation-dialog/confirmation-dialog.type';
import { NotificationService } from '@ghostfolio/client/core/notification/notification.service';
import { getLocale, resolveMarketCondition } from '@ghostfolio/common/helper'; import { getLocale, resolveMarketCondition } from '@ghostfolio/common/helper';
import { import {
AssetProfileIdentifier, AssetProfileIdentifier,
@ -13,13 +15,18 @@ import {
CUSTOM_ELEMENTS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA,
ChangeDetectionStrategy, ChangeDetectionStrategy,
Component, Component,
EventEmitter,
Input, Input,
OnChanges, OnChanges,
OnDestroy OnDestroy,
Output
} from '@angular/core'; } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatDialog } from '@angular/material/dialog'; import { MatDialog } from '@angular/material/dialog';
import { MatMenuModule } from '@angular/material/menu';
import { MatTableModule } from '@angular/material/table'; import { MatTableModule } from '@angular/material/table';
import { ActivatedRoute, Router, RouterModule } from '@angular/router'; import { ActivatedRoute, Router, RouterModule } from '@angular/router';
import { isNumber } from 'lodash';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { Subject, takeUntil } from 'rxjs'; import { Subject, takeUntil } from 'rxjs';
@ -32,6 +39,8 @@ import { BenchmarkDetailDialogParams } from './benchmark-detail-dialog/interface
CommonModule, CommonModule,
GfTrendIndicatorComponent, GfTrendIndicatorComponent,
GfValueComponent, GfValueComponent,
MatButtonModule,
MatMenuModule,
MatTableModule, MatTableModule,
NgxSkeletonLoaderModule, NgxSkeletonLoaderModule,
RouterModule RouterModule
@ -44,11 +53,21 @@ import { BenchmarkDetailDialogParams } from './benchmark-detail-dialog/interface
export class GfBenchmarkComponent implements OnChanges, OnDestroy { export class GfBenchmarkComponent implements OnChanges, OnDestroy {
@Input() benchmarks: Benchmark[]; @Input() benchmarks: Benchmark[];
@Input() deviceType: string; @Input() deviceType: string;
@Input() hasPermissionToDeleteItem: boolean;
@Input() locale = getLocale(); @Input() locale = getLocale();
@Input() user: User; @Input() user: User;
public displayedColumns = ['name', 'date', 'change', 'marketCondition']; @Output() itemDeleted = new EventEmitter<AssetProfileIdentifier>();
public displayedColumns = [
'name',
'date',
'change',
'marketCondition',
'actions'
];
public isLoading = true; public isLoading = true;
public isNumber = isNumber;
public resolveMarketCondition = resolveMarketCondition; public resolveMarketCondition = resolveMarketCondition;
public translate = translate; public translate = translate;
@ -56,6 +75,7 @@ export class GfBenchmarkComponent implements OnChanges, OnDestroy {
public constructor( public constructor(
private dialog: MatDialog, private dialog: MatDialog,
private notificationService: NotificationService,
private route: ActivatedRoute, private route: ActivatedRoute,
private router: Router private router: Router
) { ) {
@ -87,11 +107,22 @@ export class GfBenchmarkComponent implements OnChanges, OnDestroy {
'trend200d', 'trend200d',
'date', 'date',
'change', 'change',
'marketCondition' 'marketCondition',
'actions'
]; ];
} }
} }
public onDeleteItem({ dataSource, symbol }: AssetProfileIdentifier) {
this.notificationService.confirm({
confirmFn: () => {
this.itemDeleted.emit({ dataSource, symbol });
},
confirmType: ConfirmationDialogType.Warn,
title: $localize`Do you really want to delete this item?`
});
}
public onOpenBenchmarkDialog({ dataSource, symbol }: AssetProfileIdentifier) { public onOpenBenchmarkDialog({ dataSource, symbol }: AssetProfileIdentifier) {
this.router.navigate([], { this.router.navigate([], {
queryParams: { dataSource, symbol, benchmarkDetailDialog: true } queryParams: { dataSource, symbol, benchmarkDetailDialog: true }

4
package-lock.json

@ -1,12 +1,12 @@
{ {
"name": "ghostfolio", "name": "ghostfolio",
"version": "2.156.0", "version": "2.157.1",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ghostfolio", "name": "ghostfolio",
"version": "2.156.0", "version": "2.157.1",
"hasInstallScript": true, "hasInstallScript": true,
"license": "AGPL-3.0", "license": "AGPL-3.0",
"dependencies": { "dependencies": {

2
package.json

@ -1,6 +1,6 @@
{ {
"name": "ghostfolio", "name": "ghostfolio",
"version": "2.156.0", "version": "2.157.1",
"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",

Loading…
Cancel
Save