Browse Source

Merge remote-tracking branch 'upstream/main' into feature/public-access-filter

pull/5848/head
Germán Martín 5 days ago
parent
commit
55dda36d5b
  1. 14
      .config/prisma.ts
  2. 29
      CHANGELOG.md
  3. 4
      Dockerfile
  4. 1
      apps/api/src/app/app.module.ts
  5. 9
      apps/api/src/app/endpoints/ai/ai.service.ts
  6. 4
      apps/api/src/app/export/export.controller.ts
  7. 19
      apps/api/src/app/export/export.service.ts
  8. 12
      apps/api/src/app/import/import.service.ts
  9. 3
      apps/api/src/app/order/create-order.dto.ts
  10. 5
      apps/api/src/app/order/interfaces/activities.interface.ts
  11. 8
      apps/api/src/app/order/order.controller.ts
  12. 9
      apps/api/src/app/order/order.service.ts
  13. 2
      apps/api/src/app/portfolio/calculator/portfolio-calculator.ts
  14. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-buy.spec.ts
  15. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts
  16. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell.spec.ts
  17. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy.spec.ts
  18. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur.spec.ts
  19. 4
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts
  20. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-short.spec.ts
  21. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd.spec.ts
  22. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-fee.spec.ts
  23. 4
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-buy.spec.ts
  24. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-liability.spec.ts
  25. 2
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-and-sell.spec.ts
  26. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-with-dividend.spec.ts
  27. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-no-orders.spec.ts
  28. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell-partially.spec.ts
  29. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell.spec.ts
  30. 3
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-valuable.spec.ts
  31. 11
      apps/api/src/app/subscription/subscription.controller.ts
  32. 62
      apps/api/src/app/subscription/subscription.service.ts
  33. 3
      apps/api/src/dependencies.ts
  34. 8
      apps/api/src/models/rules/liquidity/buying-power.ts
  35. 70
      apps/client/src/app/components/admin-users/admin-users.component.ts
  36. 12
      apps/client/src/app/components/admin-users/admin-users.html
  37. 57
      apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
  38. 7
      apps/client/src/app/components/user-account-membership/user-account-membership.component.ts
  39. 7
      apps/client/src/app/components/user-detail-dialog/interfaces/interfaces.ts
  40. 7
      apps/client/src/app/components/user-detail-dialog/user-detail-dialog.component.scss
  41. 52
      apps/client/src/app/components/user-detail-dialog/user-detail-dialog.component.ts
  42. 32
      apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html
  43. 7
      apps/client/src/app/pages/pricing/pricing-page.component.ts
  44. 18
      apps/client/src/app/services/data.service.ts
  45. 6
      apps/client/src/app/services/import-activities.service.ts
  46. 2
      apps/client/src/assets/images/logo-selfhostedhub.svg
  47. 152
      apps/client/src/locales/messages.ca.xlf
  48. 152
      apps/client/src/locales/messages.de.xlf
  49. 152
      apps/client/src/locales/messages.es.xlf
  50. 152
      apps/client/src/locales/messages.fr.xlf
  51. 152
      apps/client/src/locales/messages.it.xlf
  52. 152
      apps/client/src/locales/messages.nl.xlf
  53. 152
      apps/client/src/locales/messages.pl.xlf
  54. 152
      apps/client/src/locales/messages.pt.xlf
  55. 152
      apps/client/src/locales/messages.tr.xlf
  56. 152
      apps/client/src/locales/messages.uk.xlf
  57. 150
      apps/client/src/locales/messages.xlf
  58. 152
      apps/client/src/locales/messages.zh.xlf
  59. 4
      libs/common/src/lib/interfaces/index.ts
  60. 6
      libs/common/src/lib/interfaces/responses/activities-response.interface.ts
  61. 3
      libs/common/src/lib/interfaces/responses/create-stripe-checkout-session-response.interface.ts
  62. 8
      libs/common/src/lib/interfaces/responses/export-response.interface.ts
  63. 6
      libs/ui/src/lib/accounts-table/accounts-table.component.html
  64. 5
      libs/ui/src/lib/activities-table/activities-table.component.html
  65. 9
      libs/ui/src/lib/logo-carousel/logo-carousel.component.scss
  66. 6
      libs/ui/src/lib/logo-carousel/logo-carousel.component.ts
  67. 269
      package-lock.json
  68. 8
      package.json
  69. 14
      prisma.config.ts

14
.config/prisma.ts

@ -0,0 +1,14 @@
import { defineConfig } from '@prisma/config';
import { config } from 'dotenv';
import { expand } from 'dotenv-expand';
import { join } from 'node:path';
expand(config({ quiet: true }));
export default defineConfig({
migrations: {
path: join(__dirname, '..', 'prisma', 'migrations'),
seed: `node ${join(__dirname, '..', 'prisma', 'seed.mts')}`
},
schema: join(__dirname, '..', 'prisma', 'schema.prisma')
});

29
CHANGELOG.md

@ -5,7 +5,29 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## Unreleased
## 2.211.0 - 2025-10-25
### Added
- Extended the export functionality by the user account’s performance calculation type
- Added the _SelfhostedHub_ logo to the logo carousel on the landing page
- Added a user detail dialog to the users section of the admin control panel
### Changed
- Localized the number formatting in the static portfolio analysis rule: _Liquidity_ (Buying Power)
- Moved the _Prisma Configuration File_ from `prisma.config.ts` to `.config/prisma.ts`
- Improved the language localization for German (`de`)
- Upgraded `prisma` from version `6.17.1` to `6.18.0`
- Upgraded `tablemark` from version `3.1.0` to `4.1.0`
### Fixed
- Fixed the style in the footer row of the accounts table
- Fixed the rendering of names and symbols for custom assets in the import activities dialog
- Fixed an issue with the market price in base currency during the portfolio snapshot calculation
## 2.210.1 - 2025-10-22
### Added
@ -16,10 +38,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Extracted the portfolio filter form of the assistant to a reusable component
- Formatted the holdings table in the _Copy AI prompt to clipboard for analysis_ action on the analysis page (experimental)
- Formatted the holdings table in the _Copy portfolio data to clipboard for AI prompt_ action on the analysis page (experimental)
- Reverted the explicit configuration of the _Redis_ address family in the job queue module
- Improved the language localization for German (`de`)
- Upgraded `ioredis` from version `5.6.1` to `5.8.2`
### Fixed
- Fixed the enter key press to submit the form of the login with access token dialog
- Fixed an issue in the database seeding process caused by unresolved environment variables in `DATABASE_URL`
## 2.209.0 - 2025-10-18
@ -64,7 +89,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Removed the deprecated endpoint `GET api/v1/portfolio/position/:dataSource/:symbol`
- Removed the deprecated endpoint `PUT api/v1/portfolio/position/:dataSource/:symbol/tags`
- Improved the language localization for German (`de`)
- Upgraded `prisma` from version `6.16.1` to `6.16.3`
- Upgraded `prisma` from version `6.16.1` to `6.17.1`
### Fixed

4
Dockerfile

@ -13,11 +13,11 @@ RUN apt-get update && apt-get install -y --no-install-suggests \
# Only add basic files without the application itself to avoid rebuilding
# layers when files (package.json etc.) have not changed
COPY ./.config .config/
COPY ./CHANGELOG.md CHANGELOG.md
COPY ./LICENSE LICENSE
COPY ./package.json package.json
COPY ./package-lock.json package-lock.json
COPY ./prisma.config.ts prisma.config.ts
COPY ./prisma/schema.prisma prisma/
RUN npm install
@ -44,7 +44,7 @@ WORKDIR /ghostfolio/dist/apps/api
COPY ./package-lock.json /ghostfolio/dist/apps/api/
RUN npm install
COPY prisma.config.ts /ghostfolio/dist/apps/api/
COPY .config /ghostfolio/dist/apps/api/.config/
COPY prisma /ghostfolio/dist/apps/api/prisma/
# Overwrite the generated package.json with the original one to ensure having

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

@ -71,7 +71,6 @@ import { UserModule } from './user/user.module';
BullModule.forRoot({
redis: {
db: parseInt(process.env.REDIS_DB ?? '0', 10),
family: 0,
host: process.env.REDIS_HOST,
password: process.env.REDIS_PASSWORD,
port: parseInt(process.env.REDIS_PORT ?? '6379', 10)

9
apps/api/src/app/endpoints/ai/ai.service.ts

@ -10,7 +10,7 @@ import type { AiPromptMode } from '@ghostfolio/common/types';
import { Injectable } from '@nestjs/common';
import { createOpenRouter } from '@openrouter/ai-sdk-provider';
import { generateText } from 'ai';
import tablemark, { ColumnDescriptor } from 'tablemark';
import type { ColumnDescriptor } from 'tablemark';
@Injectable()
export class AiService {
@ -92,6 +92,13 @@ export class AiService {
}
);
// Dynamic import to load ESM module from CommonJS context
// eslint-disable-next-line @typescript-eslint/no-implied-eval
const dynamicImport = new Function('s', 'return import(s)') as (
s: string
) => Promise<typeof import('tablemark')>;
const { tablemark } = await dynamicImport('tablemark');
const holdingsTableString = tablemark(holdingsTableRows, {
columns: holdingsTableColumns
});

4
apps/api/src/app/export/export.controller.ts

@ -48,8 +48,8 @@ export class ExportController {
return this.exportService.export({
activityIds,
filters,
userCurrency: this.request.user.settings.settings.baseCurrency,
userId: this.request.user.id
userId: this.request.user.id,
userSettings: this.request.user.settings.settings
});
}
}

19
apps/api/src/app/export/export.service.ts

@ -3,7 +3,11 @@ import { OrderService } from '@ghostfolio/api/app/order/order.service';
import { environment } from '@ghostfolio/api/environments/environment';
import { MarketDataService } from '@ghostfolio/api/services/market-data/market-data.service';
import { TagService } from '@ghostfolio/api/services/tag/tag.service';
import { ExportResponse, Filter } from '@ghostfolio/common/interfaces';
import {
ExportResponse,
Filter,
UserSettings
} from '@ghostfolio/common/interfaces';
import { Injectable } from '@nestjs/common';
import { Platform, Prisma } from '@prisma/client';
@ -21,13 +25,13 @@ export class ExportService {
public async export({
activityIds,
filters,
userCurrency,
userId
userId,
userSettings
}: {
activityIds?: string[];
filters?: Filter[];
userCurrency: string;
userId: string;
userSettings: UserSettings;
}): Promise<ExportResponse> {
const { ACCOUNT: filtersByAccount } = groupBy(filters, ({ type }) => {
return type;
@ -36,11 +40,11 @@ export class ExportService {
let { activities } = await this.orderService.getOrders({
filters,
userCurrency,
userId,
includeDrafts: true,
sortColumn: 'date',
sortDirection: 'asc',
userCurrency: userSettings?.baseCurrency,
withExcludedAccountsAndActivities: true
});
@ -244,7 +248,10 @@ export class ExportService {
}
),
user: {
settings: { currency: userCurrency }
settings: {
currency: userSettings?.baseCurrency,
performanceCalculationType: userSettings?.performanceCalculationType
}
}
};
}

12
apps/api/src/app/import/import.service.ts

@ -539,6 +539,7 @@ export class ImportService {
connectOrCreate: {
create: {
dataSource,
name,
symbol,
currency: assetProfile.currency,
userId: dataSource === 'MANUAL' ? user.id : undefined
@ -746,10 +747,19 @@ export class ImportService {
if (['FEE', 'INTEREST', 'LIABILITY'].includes(type)) {
// Skip asset profile validation for FEE, INTEREST, and LIABILITY
// as these activity types don't require asset profiles
const assetProfileInImport = assetProfilesWithMarketDataDto?.find(
(profile) => {
return (
profile.dataSource === dataSource && profile.symbol === symbol
);
}
);
assetProfiles[getAssetProfileIdentifier({ dataSource, symbol })] = {
currency,
dataSource,
symbol
symbol,
name: assetProfileInImport?.name
};
continue;

3
apps/api/src/app/order/create-order.dto.ts

@ -44,7 +44,8 @@ export class CreateOrderDto {
customCurrency?: string;
@IsEnum(DataSource)
dataSource: DataSource;
@IsOptional() // Optional for type FEE, INTEREST, and LIABILITY (default data source is resolved in the backend)
dataSource?: DataSource;
@IsISO8601()
@Validate(IsAfter1970Constraint)

5
apps/api/src/app/order/interfaces/activities.interface.ts

@ -3,11 +3,6 @@ import { AccountWithPlatform } from '@ghostfolio/common/types';
import { Order, Tag } from '@prisma/client';
export interface Activities {
activities: Activity[];
count: number;
}
export interface Activity extends Order {
account?: AccountWithPlatform;
error?: ActivityError;

8
apps/api/src/app/order/order.controller.ts

@ -11,7 +11,10 @@ import {
DATA_GATHERING_QUEUE_PRIORITY_HIGH,
HEADER_KEY_IMPERSONATION
} from '@ghostfolio/common/config';
import { ActivityResponse } from '@ghostfolio/common/interfaces';
import {
ActivitiesResponse,
ActivityResponse
} from '@ghostfolio/common/interfaces';
import { permissions } from '@ghostfolio/common/permissions';
import type { DateRange, RequestWithUser } from '@ghostfolio/common/types';
@ -37,7 +40,6 @@ import { parseISO } from 'date-fns';
import { StatusCodes, getReasonPhrase } from 'http-status-codes';
import { CreateOrderDto } from './create-order.dto';
import { Activities } from './interfaces/activities.interface';
import { OrderService } from './order.service';
import { UpdateOrderDto } from './update-order.dto';
@ -114,7 +116,7 @@ export class OrderController {
@Query('symbol') filterBySymbol?: string,
@Query('tags') filterByTags?: string,
@Query('take') take?: number
): Promise<Activities> {
): Promise<ActivitiesResponse> {
let endDate: Date;
let startDate: Date;

9
apps/api/src/app/order/order.service.ts

@ -14,6 +14,7 @@ import {
} from '@ghostfolio/common/config';
import { getAssetProfileIdentifier } from '@ghostfolio/common/helper';
import {
ActivitiesResponse,
AssetProfileIdentifier,
EnhancedSymbolProfile,
Filter
@ -37,8 +38,6 @@ import { endOfToday, isAfter } from 'date-fns';
import { groupBy, uniqBy } from 'lodash';
import { v4 as uuidv4 } from 'uuid';
import { Activities } from './interfaces/activities.interface';
@Injectable()
export class OrderService {
public constructor(
@ -129,7 +128,7 @@ export class OrderService {
const assetSubClass = data.assetSubClass;
const dataSource: DataSource = 'MANUAL';
let name: string;
let name = data.SymbolProfile.connectOrCreate.create.name;
let symbol: string;
if (
@ -142,7 +141,7 @@ export class OrderService {
symbol = data.SymbolProfile.connectOrCreate.create.symbol;
} else {
// Create custom asset profile
name = data.SymbolProfile.connectOrCreate.create.symbol;
name = name ?? data.SymbolProfile.connectOrCreate.create.symbol;
symbol = uuidv4();
}
@ -345,7 +344,7 @@ export class OrderService {
userCurrency: string;
userId: string;
withExcludedAccountsAndActivities?: boolean;
}): Promise<Activities> {
}): Promise<ActivitiesResponse> {
let orderBy: Prisma.Enumerable<Prisma.OrderOrderByWithRelationInput> = [
{ date: 'asc' }
];

2
apps/api/src/app/portfolio/calculator/portfolio-calculator.ts

@ -336,7 +336,7 @@ export abstract class PortfolioCalculator {
).mul(
exchangeRatesByCurrency[`${item.currency}${this.currency}`]?.[
endDateString
]
] ?? 1
);
const {

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-buy.spec.ts

@ -20,7 +20,6 @@ import { Big } from 'big.js';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -31,7 +30,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -41,7 +39,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts

@ -20,7 +20,6 @@ import { Big } from 'big.js';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -31,7 +30,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -41,7 +39,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell.spec.ts

@ -20,7 +20,6 @@ import { Big } from 'big.js';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -31,7 +30,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -41,7 +39,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy.spec.ts

@ -20,7 +20,6 @@ import { Big } from 'big.js';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -31,7 +30,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -41,7 +39,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur.spec.ts

@ -23,7 +23,6 @@ import { join } from 'node:path';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -34,7 +33,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -44,7 +42,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

4
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts

@ -21,7 +21,6 @@ import { Big } from 'big.js';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -32,7 +31,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -42,7 +40,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})
@ -53,7 +50,6 @@ jest.mock(
'@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
ExchangeRateDataService: jest.fn().mockImplementation(() => {
return ExchangeRateDataServiceMock;
})

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-short.spec.ts

@ -23,7 +23,6 @@ import { join } from 'node:path';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -34,7 +33,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -44,7 +42,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd.spec.ts

@ -23,7 +23,6 @@ import { join } from 'node:path';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -34,7 +33,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -44,7 +42,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-fee.spec.ts

@ -20,7 +20,6 @@ import { Big } from 'big.js';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -31,7 +30,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -41,7 +39,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

4
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-buy.spec.ts

@ -21,7 +21,6 @@ import { Big } from 'big.js';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -32,7 +31,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -42,7 +40,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})
@ -53,7 +50,6 @@ jest.mock(
'@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
ExchangeRateDataService: jest.fn().mockImplementation(() => {
return ExchangeRateDataServiceMock;
})

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-liability.spec.ts

@ -20,7 +20,6 @@ import { Big } from 'big.js';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -31,7 +30,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -41,7 +39,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

2
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-and-sell.spec.ts

@ -28,7 +28,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -38,7 +37,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-with-dividend.spec.ts

@ -20,7 +20,6 @@ import { Big } from 'big.js';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -31,7 +30,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -41,7 +39,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-no-orders.spec.ts

@ -15,7 +15,6 @@ import { Big } from 'big.js';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -26,7 +25,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -36,7 +34,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell-partially.spec.ts

@ -23,7 +23,6 @@ import { join } from 'node:path';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -34,7 +33,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -44,7 +42,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell.spec.ts

@ -23,7 +23,6 @@ import { join } from 'node:path';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -34,7 +33,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -44,7 +42,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

3
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-valuable.spec.ts

@ -20,7 +20,6 @@ import { Big } from 'big.js';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
@ -31,7 +30,6 @@ jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
@ -41,7 +39,6 @@ jest.mock(
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})

11
apps/api/src/app/subscription/subscription.controller.ts

@ -5,7 +5,10 @@ import {
DEFAULT_LANGUAGE_CODE,
PROPERTY_COUPONS
} from '@ghostfolio/common/config';
import { Coupon } from '@ghostfolio/common/interfaces';
import {
Coupon,
CreateStripeCheckoutSessionResponse
} from '@ghostfolio/common/interfaces';
import type { RequestWithUser } from '@ghostfolio/common/types';
import {
@ -111,11 +114,11 @@ export class SubscriptionController {
@Post('stripe/checkout-session')
@UseGuards(AuthGuard('jwt'), HasPermissionGuard)
public async createCheckoutSession(
public createStripeCheckoutSession(
@Body() { couponId, priceId }: { couponId?: string; priceId: string }
) {
): Promise<CreateStripeCheckoutSessionResponse> {
try {
return this.subscriptionService.createCheckoutSession({
return this.subscriptionService.createStripeCheckoutSession({
couponId,
priceId,
user: this.request.user

62
apps/api/src/app/subscription/subscription.service.ts

@ -6,7 +6,10 @@ import {
PROPERTY_STRIPE_CONFIG
} from '@ghostfolio/common/config';
import { parseDate } from '@ghostfolio/common/helper';
import { SubscriptionOffer } from '@ghostfolio/common/interfaces';
import {
CreateStripeCheckoutSessionResponse,
SubscriptionOffer
} from '@ghostfolio/common/interfaces';
import {
SubscriptionOfferKey,
UserWithSettings
@ -38,7 +41,7 @@ export class SubscriptionService {
}
}
public async createCheckoutSession({
public async createStripeCheckoutSession({
couponId,
priceId,
user
@ -46,7 +49,7 @@ export class SubscriptionService {
couponId?: string;
priceId: string;
user: UserWithSettings;
}) {
}): Promise<CreateStripeCheckoutSessionResponse> {
const subscriptionOffers: {
[offer in SubscriptionOfferKey]: SubscriptionOffer;
} =
@ -58,33 +61,34 @@ export class SubscriptionService {
}
);
const checkoutSessionCreateParams: Stripe.Checkout.SessionCreateParams = {
cancel_url: `${this.configurationService.get('ROOT_URL')}/${
user.settings.settings.language
}/account`,
client_reference_id: user.id,
line_items: [
{
price: priceId,
quantity: 1
}
],
locale:
(user.settings?.settings
?.language as Stripe.Checkout.SessionCreateParams.Locale) ??
DEFAULT_LANGUAGE_CODE,
metadata: subscriptionOffer
? { subscriptionOffer: JSON.stringify(subscriptionOffer) }
: {},
mode: 'payment',
payment_method_types: ['card'],
success_url: `${this.configurationService.get(
'ROOT_URL'
)}/api/v1/subscription/stripe/callback?checkoutSessionId={CHECKOUT_SESSION_ID}`
};
const stripeCheckoutSessionCreateParams: Stripe.Checkout.SessionCreateParams =
{
cancel_url: `${this.configurationService.get('ROOT_URL')}/${
user.settings.settings.language
}/account`,
client_reference_id: user.id,
line_items: [
{
price: priceId,
quantity: 1
}
],
locale:
(user.settings?.settings
?.language as Stripe.Checkout.SessionCreateParams.Locale) ??
DEFAULT_LANGUAGE_CODE,
metadata: subscriptionOffer
? { subscriptionOffer: JSON.stringify(subscriptionOffer) }
: {},
mode: 'payment',
payment_method_types: ['card'],
success_url: `${this.configurationService.get(
'ROOT_URL'
)}/api/v1/subscription/stripe/callback?checkoutSessionId={CHECKOUT_SESSION_ID}`
};
if (couponId) {
checkoutSessionCreateParams.discounts = [
stripeCheckoutSessionCreateParams.discounts = [
{
coupon: couponId
}
@ -92,7 +96,7 @@ export class SubscriptionService {
}
const session = await this.stripe.checkout.sessions.create(
checkoutSessionCreateParams
stripeCheckoutSessionCreateParams
);
return {

3
apps/api/src/dependencies.ts

@ -0,0 +1,3 @@
// Dependencies required by .config/prisma.ts in Docker container
import 'dotenv';
import 'dotenv-expand';

8
apps/api/src/models/rules/liquidity/buying-power.ts

@ -40,7 +40,9 @@ export class BuyingPower extends Rule<Settings> {
languageCode: this.getLanguageCode(),
placeholders: {
baseCurrency: ruleSettings.baseCurrency,
thresholdMin: ruleSettings.thresholdMin
thresholdMin: ruleSettings.thresholdMin.toLocaleString(
ruleSettings.locale
)
}
}),
value: false
@ -53,7 +55,9 @@ export class BuyingPower extends Rule<Settings> {
languageCode: this.getLanguageCode(),
placeholders: {
baseCurrency: ruleSettings.baseCurrency,
thresholdMin: ruleSettings.thresholdMin
thresholdMin: ruleSettings.thresholdMin.toLocaleString(
ruleSettings.locale
)
}
}),
value: true

70
apps/client/src/app/components/admin-users/admin-users.component.ts

@ -19,6 +19,7 @@ import {
ViewChild
} from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatDialog } from '@angular/material/dialog';
import { MatMenuModule } from '@angular/material/menu';
import {
MatPaginator,
@ -26,6 +27,7 @@ import {
PageEvent
} from '@angular/material/paginator';
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
import { ActivatedRoute, Router } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
import {
differenceInSeconds,
@ -37,8 +39,10 @@ import {
contractOutline,
ellipsisHorizontal,
keyOutline,
personOutline,
trashOutline
} from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
@ -49,6 +53,8 @@ import { AdminService } from '../../services/admin.service';
import { DataService } from '../../services/data.service';
import { ImpersonationStorageService } from '../../services/impersonation-storage.service';
import { UserService } from '../../services/user/user.service';
import { UserDetailDialogParams } from '../user-detail-dialog/interfaces/interfaces';
import { GfUserDetailDialogComponent } from '../user-detail-dialog/user-detail-dialog.component';
@Component({
imports: [
@ -71,6 +77,7 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
public dataSource = new MatTableDataSource<AdminUsers['users'][0]>();
public defaultDateFormat: string;
public deviceType: string;
public displayedColumns: string[] = [];
public getEmojiFlag = getEmojiFlag;
public hasPermissionForSubscription: boolean;
@ -87,11 +94,16 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
private adminService: AdminService,
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
private deviceService: DeviceDetectorService,
private dialog: MatDialog,
private impersonationStorageService: ImpersonationStorageService,
private notificationService: NotificationService,
private route: ActivatedRoute,
private router: Router,
private tokenStorageService: TokenStorageService,
private userService: UserService
) {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
this.info = this.dataService.fetchInfo();
this.hasPermissionForSubscription = hasPermission(
@ -121,6 +133,14 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
];
}
this.route.queryParams
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe((params) => {
if (params['userDetailDialog'] && params['userId']) {
this.openUserDetailDialog(params['userId']);
}
});
this.userService.stateChanged
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe((state) => {
@ -138,7 +158,13 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
}
});
addIcons({ contractOutline, ellipsisHorizontal, keyOutline, trashOutline });
addIcons({
contractOutline,
ellipsisHorizontal,
keyOutline,
personOutline,
trashOutline
});
}
public ngOnInit() {
@ -161,6 +187,12 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
return '';
}
public onChangePage(page: PageEvent) {
this.fetchUsers({
pageIndex: page.pageIndex
});
}
public onDeleteUser(aId: string) {
this.notificationService.confirm({
confirmFn: () => {
@ -212,9 +244,9 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
window.location.reload();
}
public onChangePage(page: PageEvent) {
this.fetchUsers({
pageIndex: page.pageIndex
public onOpenUserDetailDialog(userId: string) {
this.router.navigate([], {
queryParams: { userId, userDetailDialog: true }
});
}
@ -245,4 +277,34 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
this.changeDetectorRef.markForCheck();
});
}
private openUserDetailDialog(userId: string) {
const userData = this.dataSource.data.find(({ id }) => {
return id === userId;
});
if (!userData) {
this.router.navigate(['.'], { relativeTo: this.route });
return;
}
const dialogRef = this.dialog.open(GfUserDetailDialogComponent, {
autoFocus: false,
data: {
userData,
deviceType: this.deviceType,
locale: this.user?.settings?.locale
} as UserDetailDialogParams,
height: this.deviceType === 'mobile' ? '98vh' : '60vh',
width: this.deviceType === 'mobile' ? '100vw' : '50rem'
});
dialogRef
.afterClosed()
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(() => {
this.fetchUsers();
this.router.navigate(['.'], { relativeTo: this.route });
});
}
}

12
apps/client/src/app/components/admin-users/admin-users.html

@ -216,6 +216,15 @@
<ion-icon name="ellipsis-horizontal" />
</button>
<mat-menu #userMenu="matMenu" xPosition="before">
<button
mat-menu-item
(click)="onOpenUserDetailDialog(element.id)"
>
<span class="align-items-center d-flex">
<ion-icon class="mr-2" name="person-outline" />
<span i18n>View Details</span>
</span>
</button>
@if (hasPermissionToImpersonateAllUsers) {
<button mat-menu-item (click)="onImpersonateUser(element.id)">
<span class="align-items-center d-flex">
@ -255,8 +264,9 @@
></tr>
<tr
*matRowDef="let row; columns: displayedColumns"
class="mat-mdc-row"
class="cursor-pointer mat-mdc-row"
mat-row
(click)="onOpenUserDetailDialog(row.id)"
></tr>
</table>
</div>

57
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html

@ -2,13 +2,14 @@
<div class="py-3" mat-dialog-content>
<div class="align-items-center d-flex flex-column">
<form class="w-100" (ngSubmit)="onLoginWithAccessToken()">
<form class="w-100">
<mat-form-field appearance="outline" class="without-hint w-100">
<mat-label i18n>Security Token</mat-label>
<input
matInput
[formControl]="accessTokenFormControl"
[type]="isAccessTokenHidden ? 'password' : 'text'"
(keydown.enter)="onLoginWithAccessToken(); $event.preventDefault()"
/>
<button
mat-button
@ -21,35 +22,37 @@
/>
</button>
</mat-form-field>
@if (data.hasPermissionToUseSocialLogin) {
<div class="my-3 text-center text-muted" i18n>or</div>
<div class="d-flex flex-column">
<button
class="mb-2 px-4 rounded-pill"
mat-stroked-button
(click)="onLoginWithInternetIdentity()"
>
<img
class="mr-2"
src="../assets/icons/internet-computer.svg"
style="height: 0.75rem"
/><span i18n>Sign in with Internet Identity</span>
</button>
<a
class="px-4 rounded-pill"
href="../api/v1/auth/google"
mat-stroked-button
><img
class="mr-2"
src="../assets/icons/google.svg"
style="height: 1rem"
/><span i18n>Sign in with Google</span></a
>
</div>
}
</form>
@if (data.hasPermissionToUseSocialLogin) {
<div class="my-3 text-center text-muted" i18n>or</div>
<div class="d-flex flex-column">
<button
class="mb-2 px-4 rounded-pill"
mat-stroked-button
(click)="onLoginWithInternetIdentity()"
>
<img
class="mr-2"
src="../assets/icons/internet-computer.svg"
style="height: 0.75rem"
/><span i18n>Sign in with Internet Identity</span>
</button>
<a
class="px-4 rounded-pill"
href="../api/v1/auth/google"
mat-stroked-button
><img
class="mr-2"
src="../assets/icons/google.svg"
style="height: 1rem"
/><span i18n>Sign in with Google</span></a
>
</div>
}
</div>
</div>
<div mat-dialog-actions>
<div class="flex-grow-1">
<mat-checkbox color="primary" i18n (change)="onChangeStaySignedIn($event)"

7
apps/client/src/app/components/user-account-membership/user-account-membership.component.ts

@ -108,7 +108,10 @@ export class GfUserAccountMembershipComponent implements OnDestroy {
public onCheckout() {
this.dataService
.createCheckoutSession({ couponId: this.couponId, priceId: this.priceId })
.createStripeCheckoutSession({
couponId: this.couponId,
priceId: this.priceId
})
.pipe(
catchError((error) => {
this.notificationService.alert({
@ -117,7 +120,7 @@ export class GfUserAccountMembershipComponent implements OnDestroy {
throw error;
}),
switchMap(({ sessionId }: { sessionId: string }) => {
switchMap(({ sessionId }) => {
return this.stripeService.redirectToCheckout({ sessionId });
})
)

7
apps/client/src/app/components/user-detail-dialog/interfaces/interfaces.ts

@ -0,0 +1,7 @@
import { AdminUsers } from '@ghostfolio/common/interfaces';
export interface UserDetailDialogParams {
deviceType: string;
locale: string;
userData: AdminUsers['users'][0];
}

7
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.component.scss

@ -0,0 +1,7 @@
:host {
display: block;
.mat-mdc-dialog-content {
max-height: unset;
}
}

52
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.component.ts

@ -0,0 +1,52 @@
import { GfDialogFooterComponent } from '@ghostfolio/client/components/dialog-footer/dialog-footer.component';
import { GfDialogHeaderComponent } from '@ghostfolio/client/components/dialog-header/dialog-header.component';
import { GfValueComponent } from '@ghostfolio/ui/value';
import { CommonModule } from '@angular/common';
import {
ChangeDetectionStrategy,
Component,
CUSTOM_ELEMENTS_SCHEMA,
Inject,
OnDestroy
} from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { MatDialogModule } from '@angular/material/dialog';
import { Subject } from 'rxjs';
import { UserDetailDialogParams } from './interfaces/interfaces';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
host: { class: 'd-flex flex-column h-100' },
imports: [
CommonModule,
GfDialogFooterComponent,
GfDialogHeaderComponent,
GfValueComponent,
MatButtonModule,
MatDialogModule
],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
selector: 'gf-user-detail-dialog',
styleUrls: ['./user-detail-dialog.component.scss'],
templateUrl: './user-detail-dialog.html'
})
export class GfUserDetailDialogComponent implements OnDestroy {
private unsubscribeSubject = new Subject<void>();
public constructor(
@Inject(MAT_DIALOG_DATA) public data: UserDetailDialogParams,
public dialogRef: MatDialogRef<GfUserDetailDialogComponent>
) {}
public onClose() {
this.dialogRef.close();
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
}

32
apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html

@ -0,0 +1,32 @@
<gf-dialog-header
position="center"
[deviceType]="data.deviceType"
(closeButtonClicked)="onClose()"
/>
<div class="flex-grow-1" mat-dialog-content>
<div class="container p-0">
<div class="mb-3 row">
<div class="col-6 mb-3">
<gf-value i18n size="medium" [value]="data.userData.id"
>User ID</gf-value
>
</div>
<div class="col-6 mb-3">
<gf-value
i18n
size="medium"
[isDate]="true"
[locale]="data.locale"
[value]="data.userData.createdAt"
>Registration Date</gf-value
>
</div>
</div>
</div>
</div>
<gf-dialog-footer
[deviceType]="data.deviceType"
(closeButtonClicked)="onClose()"
/>

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

@ -134,9 +134,12 @@ export class GfPricingPageComponent implements OnDestroy, OnInit {
public onCheckout() {
this.dataService
.createCheckoutSession({ couponId: this.couponId, priceId: this.priceId })
.createStripeCheckoutSession({
couponId: this.couponId,
priceId: this.priceId
})
.pipe(
switchMap(({ sessionId }: { sessionId: string }) => {
switchMap(({ sessionId }) => {
return this.stripeService.redirectToCheckout({ sessionId });
}),
catchError((error) => {

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

@ -9,7 +9,6 @@ import { CreateTagDto } from '@ghostfolio/api/app/endpoints/tags/create-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 { Activities } from '@ghostfolio/api/app/order/interfaces/activities.interface';
import { UpdateOrderDto } from '@ghostfolio/api/app/order/update-order.dto';
import { SymbolItem } from '@ghostfolio/api/app/symbol/interfaces/symbol-item.interface';
import { DeleteOwnUserDto } from '@ghostfolio/api/app/user/delete-own-user.dto';
@ -24,6 +23,7 @@ import {
AccessTokenResponse,
AccountBalancesResponse,
AccountsResponse,
ActivitiesResponse,
ActivityResponse,
AiPromptResponse,
ApiKeyResponse,
@ -31,6 +31,7 @@ import {
AssetResponse,
BenchmarkMarketDataDetailsResponse,
BenchmarkResponse,
CreateStripeCheckoutSessionResponse,
DataProviderHealthResponse,
ExportResponse,
Filter,
@ -168,17 +169,20 @@ export class DataService {
return params;
}
public createCheckoutSession({
public createStripeCheckoutSession({
couponId,
priceId
}: {
couponId?: string;
priceId: string;
}) {
return this.http.post('/api/v1/subscription/stripe/checkout-session', {
couponId,
priceId
});
return this.http.post<CreateStripeCheckoutSessionResponse>(
'/api/v1/subscription/stripe/checkout-session',
{
couponId,
priceId
}
);
}
public fetchAccount(aAccountId: string) {
@ -211,7 +215,7 @@ export class DataService {
sortColumn?: string;
sortDirection?: SortDirection;
take?: number;
}): Observable<Activities> {
}): Observable<ActivitiesResponse> {
let params = this.buildFiltersAsQueryParams({ filters });
if (range) {

6
apps/client/src/app/services/import-activities.service.ts

@ -76,12 +76,8 @@ export class ImportActivitiesService {
updateAccountBalance: false
});
if (
dataSource === DataSource.MANUAL &&
!['FEE', 'INTEREST', 'LIABILITY'].includes(type)
) {
if (dataSource === DataSource.MANUAL) {
// Create synthetic asset profile for MANUAL data source
// (except for FEE, INTEREST, and LIABILITY which don't require asset profiles)
assetProfiles.push({
currency,
symbol,

2
apps/client/src/assets/images/logo-selfhostedhub.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.1 KiB

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

@ -42,7 +42,7 @@
</context-group>
<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="linenumber">68</context>
<context context-type="linenumber">71</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -523,7 +523,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">281</context>
</context-group>
</trans-unit>
<trans-unit id="6555318547274416232" datatype="html">
@ -559,11 +559,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">262</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">298</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -603,7 +603,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">440</context>
<context context-type="linenumber">443</context>
</context-group>
</trans-unit>
<trans-unit id="7022070615528435141" datatype="html">
@ -639,7 +639,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">467</context>
<context context-type="linenumber">470</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -671,7 +671,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="3175281009707730014" datatype="html">
@ -831,7 +831,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">167</context>
<context context-type="linenumber">170</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -1467,7 +1467,7 @@
<target state="translated">Està segur que vol eliminar aquest usuari?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">207</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -1503,7 +1503,7 @@
<target state="translated">Actuar com un altre Usuari</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">223</context>
<context context-type="linenumber">232</context>
</context-group>
</trans-unit>
<trans-unit id="4839682406703705780" datatype="html">
@ -1511,7 +1511,7 @@
<target state="translated">Eliminar Usuari</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">244</context>
<context context-type="linenumber">253</context>
</context-group>
</trans-unit>
<trans-unit id="735924103945447056" datatype="html">
@ -1691,7 +1691,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">188</context>
<context context-type="linenumber">191</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -1979,7 +1979,7 @@
</context-group>
<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="linenumber">27</context>
<context context-type="linenumber">28</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
@ -2015,7 +2015,7 @@
<target state="translated">Inicieu la sessió amb la identitat d’Internet</target>
<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="linenumber">37</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="2734138791192936323" datatype="html">
@ -2023,7 +2023,7 @@
<target state="translated">Inicieu la sessió amb Google</target>
<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="linenumber">47</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="6023420556639522969" datatype="html">
@ -2031,7 +2031,7 @@
<target state="translated">Manteniu la sessió iniciada</target>
<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="linenumber">56</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="4602065467346820556" datatype="html">
@ -2307,7 +2307,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">383</context>
<context context-type="linenumber">364</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -2319,7 +2319,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -2331,7 +2331,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -2343,7 +2343,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
@ -2355,7 +2355,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">436</context>
<context context-type="linenumber">417</context>
</context-group>
</trans-unit>
<trans-unit id="2570446216260149991" datatype="html">
@ -2409,6 +2409,10 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.html</context>
<context context-type="linenumber">252</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="5369707274411995821" datatype="html">
<source>Granted Access</source>
@ -2423,7 +2427,7 @@
<target state="translated">Introduïu el vostre codi de cupó.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="4420880039966769543" datatype="html">
@ -2431,7 +2435,7 @@
<target state="translated">No s’ha pogut bescanviar el codi de cupó</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">179</context>
<context context-type="linenumber">182</context>
</context-group>
</trans-unit>
<trans-unit id="4819099731531004979" datatype="html">
@ -2439,7 +2443,7 @@
<target state="translated">El codi del cupó s’ha bescanviat</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="7967484035994732534" datatype="html">
@ -2447,7 +2451,7 @@
<target state="translated">Torna a carregar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">196</context>
</context-group>
</trans-unit>
<trans-unit id="5186999845658578027" datatype="html">
@ -2727,7 +2731,7 @@
<target state="translated">D’acord</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">154</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/core/http-response.interceptor.ts</context>
@ -4012,7 +4016,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">215</context>
</context-group>
</trans-unit>
<trans-unit id="1817902710689724227" datatype="html">
@ -4028,7 +4032,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">380</context>
</context-group>
</trans-unit>
<trans-unit id="72640258012696878" datatype="html">
@ -4044,7 +4048,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">392</context>
</context-group>
</trans-unit>
<trans-unit id="848497846891931418" datatype="html">
@ -4103,8 +4107,8 @@
<context context-type="linenumber">32</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">207</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="8716714788752456736" datatype="html">
@ -5265,7 +5269,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">402</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="7023389552907218716" datatype="html">
@ -5277,7 +5281,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">418</context>
</context-group>
</trans-unit>
<trans-unit id="7641420101493176397" datatype="html">
@ -5301,7 +5305,7 @@
<target state="translated">Clonar</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">446</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4631493229601603593" datatype="html">
@ -5309,7 +5313,7 @@
<target state="translated">Exporta l’esborrany com a ICS</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">456</context>
<context context-type="linenumber">459</context>
</context-group>
</trans-unit>
<trans-unit id="4239552960465242484" datatype="html">
@ -5333,7 +5337,7 @@
<target state="translated">Setmana fins avui</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5345,7 +5349,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5353,7 +5357,7 @@
<target state="translated">Mes fins a la data</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5365,7 +5369,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5373,7 +5377,7 @@
<target state="translated">Any fins a la data</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -5393,7 +5397,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -5405,7 +5409,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3060494754215793943" datatype="html">
@ -5421,7 +5425,7 @@
<target state="translated">Interval de dates</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">171</context>
<context context-type="linenumber">170</context>
</context-group>
</trans-unit>
<trans-unit id="6978234364807213493" datatype="html">
@ -5429,7 +5433,7 @@
<target state="translated">Restableix els filtres</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">266</context>
<context context-type="linenumber">205</context>
</context-group>
</trans-unit>
<trans-unit id="3764298087243734987" datatype="html">
@ -5437,7 +5441,7 @@
<target state="translated">Aplicar filtres</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">276</context>
<context context-type="linenumber">219</context>
</context-group>
</trans-unit>
<trans-unit id="9038580727258335020" datatype="html">
@ -5609,14 +5613,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">310</context>
<context context-type="linenumber">313</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">185</context>
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">4</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
@ -5651,14 +5655,14 @@
<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">290</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">6</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="7608037008789240367" datatype="html">
<source>Asset Sub Class</source>
@ -5867,14 +5871,14 @@
<trans-unit id="1825829511397926879" datatype="html">
<source>Tag</source>
<target state="translated">Etiqueta</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">235</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="1464072562214937907" datatype="html">
<source>Year</source>
@ -5884,6 +5888,14 @@
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1468015720862673946" datatype="html">
<source>View Details</source>
<target state="new">View Details</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">225</context>
</context-group>
</trans-unit>
<trans-unit id="953022389548488004" datatype="html">
<source>Years</source>
<target state="translated">Anys</target>
@ -5913,7 +5925,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -7071,7 +7083,7 @@
<target state="new">Could not generate an API key</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="9173945515149078768" datatype="html">
@ -7079,7 +7091,7 @@
<target state="new">Set this API key in your self-hosted environment:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">159</context>
</context-group>
</trans-unit>
<trans-unit id="7954609080122968528" datatype="html">
@ -7087,7 +7099,7 @@
<target state="new">Ghostfolio Premium Data Provider API Key</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="7165424720111432862" datatype="html">
@ -7095,7 +7107,7 @@
<target state="new">Do you really want to generate a new API key?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="8517109745758603034" datatype="html">
@ -7439,7 +7451,7 @@
<target state="new">Security token</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">228</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7451,7 +7463,7 @@
<target state="new">Do you really want to generate a new security token for this user?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7459,7 +7471,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7467,7 +7479,7 @@
<target state="new">Generate Security Token</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">233</context>
<context context-type="linenumber">242</context>
</context-group>
</trans-unit>
<trans-unit id="7303091661854783304" datatype="html">
@ -8531,6 +8543,14 @@
<context context-type="linenumber">128</context>
</context-group>
</trans-unit>
<trans-unit id="339860602695747533" datatype="html">
<source>Registration Date</source>
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">
<source>Follow Ghostfolio on LinkedIn</source>
<target state="new">Follow Ghostfolio on LinkedIn</target>

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

@ -62,7 +62,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="5028777105388019087" datatype="html">
@ -198,11 +198,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">262</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">298</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -242,7 +242,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">440</context>
<context context-type="linenumber">443</context>
</context-group>
</trans-unit>
<trans-unit id="7022070615528435141" datatype="html">
@ -278,7 +278,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">467</context>
<context context-type="linenumber">470</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -434,7 +434,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">167</context>
<context context-type="linenumber">170</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -638,7 +638,7 @@
<target state="translated">Möchtest du diesen Benutzer wirklich löschen?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">207</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -714,7 +714,7 @@
</context-group>
<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="linenumber">68</context>
<context context-type="linenumber">71</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -798,7 +798,7 @@
</context-group>
<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="linenumber">27</context>
<context context-type="linenumber">28</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
@ -834,7 +834,7 @@
<target state="translated">Einloggen mit Internet Identity</target>
<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="linenumber">37</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="2734138791192936323" datatype="html">
@ -842,7 +842,7 @@
<target state="translated">Einloggen mit Google</target>
<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="linenumber">47</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="6023420556639522969" datatype="html">
@ -850,7 +850,7 @@
<target state="translated">Eingeloggt bleiben</target>
<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="linenumber">56</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="2598036136305355831" datatype="html">
@ -1022,7 +1022,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">383</context>
<context context-type="linenumber">364</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1034,7 +1034,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1046,7 +1046,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1058,7 +1058,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
@ -1070,7 +1070,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">436</context>
<context context-type="linenumber">417</context>
</context-group>
</trans-unit>
<trans-unit id="1579692722565712588" datatype="html">
@ -1078,7 +1078,7 @@
<target state="translated">Okay</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">154</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/core/http-response.interceptor.ts</context>
@ -1146,7 +1146,7 @@
<target state="translated">Bitte gebe deinen Gutscheincode ein.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="4420880039966769543" datatype="html">
@ -1154,7 +1154,7 @@
<target state="translated">Gutscheincode konnte nicht eingelöst werden</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">179</context>
<context context-type="linenumber">182</context>
</context-group>
</trans-unit>
<trans-unit id="4819099731531004979" datatype="html">
@ -1162,7 +1162,7 @@
<target state="translated">Gutscheincode wurde eingelöst</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="7967484035994732534" datatype="html">
@ -1170,7 +1170,7 @@
<target state="translated">Neu laden</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">196</context>
</context-group>
</trans-unit>
<trans-unit id="7963559562180316948" datatype="html">
@ -1280,6 +1280,10 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.html</context>
<context context-type="linenumber">252</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="5369707274411995821" datatype="html">
<source>Granted Access</source>
@ -1382,7 +1386,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">281</context>
</context-group>
</trans-unit>
<trans-unit id="4029903570030679337" datatype="html">
@ -1914,7 +1918,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">188</context>
<context context-type="linenumber">191</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -1930,7 +1934,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">215</context>
</context-group>
</trans-unit>
<trans-unit id="4388879716045736175" datatype="html">
@ -2202,7 +2206,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">380</context>
</context-group>
</trans-unit>
<trans-unit id="5388209493122807655" datatype="html">
@ -2214,7 +2218,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">402</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="7023389552907218716" datatype="html">
@ -2226,7 +2230,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">418</context>
</context-group>
</trans-unit>
<trans-unit id="5834780181397311898" datatype="html">
@ -2234,7 +2238,7 @@
<target state="translated">Kopieren</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">446</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4631493229601603593" datatype="html">
@ -2242,7 +2246,7 @@
<target state="translated">Geplante Aktivität als ICS exportieren</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">456</context>
<context context-type="linenumber">459</context>
</context-group>
</trans-unit>
<trans-unit id="670983159637074283" datatype="html">
@ -2686,14 +2690,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">310</context>
<context context-type="linenumber">313</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">185</context>
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">4</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
@ -2720,14 +2724,14 @@
<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">290</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">6</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="8106025670158480144" datatype="html">
<source>Symbol</source>
@ -2760,14 +2764,14 @@
<trans-unit id="1825829511397926879" datatype="html">
<source>Tag</source>
<target state="translated">Tag</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">235</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="787798817533231355" datatype="html">
<source>Cash</source>
@ -3177,8 +3181,8 @@
<context context-type="linenumber">32</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">207</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="8716714788752456736" datatype="html">
@ -3210,7 +3214,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">392</context>
</context-group>
</trans-unit>
<trans-unit id="1488866007739765367" datatype="html">
@ -3726,7 +3730,7 @@
<target state="translated">Benutzer verwenden</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">223</context>
<context context-type="linenumber">232</context>
</context-group>
</trans-unit>
<trans-unit id="4839682406703705780" datatype="html">
@ -3734,7 +3738,7 @@
<target state="translated">Benutzer löschen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">244</context>
<context context-type="linenumber">253</context>
</context-group>
</trans-unit>
<trans-unit id="4239552960465242484" datatype="html">
@ -3981,6 +3985,14 @@
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1468015720862673946" datatype="html">
<source>View Details</source>
<target state="translated">Details anzeigen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">225</context>
</context-group>
</trans-unit>
<trans-unit id="5003799027167349722" datatype="html">
<source>Liabilities</source>
<target state="translated">Verbindlichkeiten</target>
@ -5324,7 +5336,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5660,7 +5672,7 @@
<target state="translated">Zeitraum</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">171</context>
<context context-type="linenumber">170</context>
</context-group>
</trans-unit>
<trans-unit id="837553826328586238" datatype="html">
@ -5812,7 +5824,7 @@
<target state="translated">Seit Wochenbeginn</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5824,7 +5836,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5832,7 +5844,7 @@
<target state="translated">Seit Monatsbeginn</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5844,7 +5856,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5852,7 +5864,7 @@
<target state="translated">Seit Jahresbeginn</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -5880,7 +5892,7 @@
<target state="translated">Filter zurücksetzen</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">266</context>
<context context-type="linenumber">205</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -5900,7 +5912,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -5912,7 +5924,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3764298087243734987" datatype="html">
@ -5920,7 +5932,7 @@
<target state="translated">Filter anwenden</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">276</context>
<context context-type="linenumber">219</context>
</context-group>
</trans-unit>
<trans-unit id="2834021536645161016" datatype="html">
@ -7095,7 +7107,7 @@
<target state="translated">API-Schlüssel konnte nicht erstellt werden</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="9173945515149078768" datatype="html">
@ -7103,7 +7115,7 @@
<target state="translated">Setze diesen API-Schlüssel in deiner selbst gehosteten Umgebung:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">159</context>
</context-group>
</trans-unit>
<trans-unit id="7954609080122968528" datatype="html">
@ -7111,7 +7123,7 @@
<target state="translated">API-Schlüssel für den Ghostfolio Premium Datenanbieter</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="7165424720111432862" datatype="html">
@ -7119,7 +7131,7 @@
<target state="translated">Möchtest du wirklich einen neuen API-Schlüssel erstellen?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="8517109745758603034" datatype="html">
@ -7463,7 +7475,7 @@
<target state="translated">Sicherheits-Token</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">228</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7475,7 +7487,7 @@
<target state="translated">Möchtest du für diesen Benutzer wirklich ein neues Sicherheits-Token generieren?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7483,7 +7495,7 @@
<target state="translated">Konto, Position oder Seite finden...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7491,7 +7503,7 @@
<target state="translated">Sicherheits-Token generieren</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">233</context>
<context context-type="linenumber">242</context>
</context-group>
</trans-unit>
<trans-unit id="7303091661854783304" datatype="html">
@ -8531,6 +8543,14 @@
<context context-type="linenumber">128</context>
</context-group>
</trans-unit>
<trans-unit id="339860602695747533" datatype="html">
<source>Registration Date</source>
<target state="translated">Registrierungsdatum</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">
<source>Follow Ghostfolio on LinkedIn</source>
<target state="translated">Folge Ghostfolio auf LinkedIn</target>

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

@ -63,7 +63,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="5028777105388019087" datatype="html">
@ -199,11 +199,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">262</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">298</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -243,7 +243,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">440</context>
<context context-type="linenumber">443</context>
</context-group>
</trans-unit>
<trans-unit id="7022070615528435141" datatype="html">
@ -279,7 +279,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">467</context>
<context context-type="linenumber">470</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -435,7 +435,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">167</context>
<context context-type="linenumber">170</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -623,7 +623,7 @@
<target state="translated">¿Estás seguro de eliminar este usuario?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">207</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -699,7 +699,7 @@
</context-group>
<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="linenumber">68</context>
<context context-type="linenumber">71</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -783,7 +783,7 @@
</context-group>
<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="linenumber">27</context>
<context context-type="linenumber">28</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
@ -819,7 +819,7 @@
<target state="translated">Iniciar sesión con Internet Identity</target>
<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="linenumber">37</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="2734138791192936323" datatype="html">
@ -827,7 +827,7 @@
<target state="translated">Iniciar sesión con Google</target>
<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="linenumber">47</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="6023420556639522969" datatype="html">
@ -835,7 +835,7 @@
<target state="translated">Seguir conectado</target>
<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="linenumber">56</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="2598036136305355831" datatype="html">
@ -1007,7 +1007,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">383</context>
<context context-type="linenumber">364</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1019,7 +1019,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1031,7 +1031,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1043,7 +1043,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
@ -1055,7 +1055,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">436</context>
<context context-type="linenumber">417</context>
</context-group>
</trans-unit>
<trans-unit id="1579692722565712588" datatype="html">
@ -1063,7 +1063,7 @@
<target state="translated">De acuerdo</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">154</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/core/http-response.interceptor.ts</context>
@ -1131,7 +1131,7 @@
<target state="translated">Por favor, ingresa tu código de cupón:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="4420880039966769543" datatype="html">
@ -1139,7 +1139,7 @@
<target state="translated">No se puede canjear este código de cupón</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">179</context>
<context context-type="linenumber">182</context>
</context-group>
</trans-unit>
<trans-unit id="4819099731531004979" datatype="html">
@ -1147,7 +1147,7 @@
<target state="translated">El codigo de cupón ha sido canjeado</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="7967484035994732534" datatype="html">
@ -1155,7 +1155,7 @@
<target state="translated">Refrescar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">196</context>
</context-group>
</trans-unit>
<trans-unit id="7963559562180316948" datatype="html">
@ -1265,6 +1265,10 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.html</context>
<context context-type="linenumber">252</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="5369707274411995821" datatype="html">
<source>Granted Access</source>
@ -1367,7 +1371,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">281</context>
</context-group>
</trans-unit>
<trans-unit id="4029903570030679337" datatype="html">
@ -1899,7 +1903,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">188</context>
<context context-type="linenumber">191</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -1915,7 +1919,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">215</context>
</context-group>
</trans-unit>
<trans-unit id="4388879716045736175" datatype="html">
@ -2187,7 +2191,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">380</context>
</context-group>
</trans-unit>
<trans-unit id="5388209493122807655" datatype="html">
@ -2199,7 +2203,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">402</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="7023389552907218716" datatype="html">
@ -2211,7 +2215,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">418</context>
</context-group>
</trans-unit>
<trans-unit id="5834780181397311898" datatype="html">
@ -2219,7 +2223,7 @@
<target state="translated">Clonar</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">446</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4631493229601603593" datatype="html">
@ -2227,7 +2231,7 @@
<target state="translated">Exportar borrador como ICS</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">456</context>
<context context-type="linenumber">459</context>
</context-group>
</trans-unit>
<trans-unit id="670983159637074283" datatype="html">
@ -2671,14 +2675,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">310</context>
<context context-type="linenumber">313</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">185</context>
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">4</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
@ -2705,14 +2709,14 @@
<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">290</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">6</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="8106025670158480144" datatype="html">
<source>Symbol</source>
@ -2745,14 +2749,14 @@
<trans-unit id="1825829511397926879" datatype="html">
<source>Tag</source>
<target state="translated">Etiqueta</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">235</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="787798817533231355" datatype="html">
<source>Cash</source>
@ -3162,8 +3166,8 @@
<context context-type="linenumber">32</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">207</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="8716714788752456736" datatype="html">
@ -3195,7 +3199,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">392</context>
</context-group>
</trans-unit>
<trans-unit id="1488866007739765367" datatype="html">
@ -3703,7 +3707,7 @@
<target state="translated">Suplantar usuario</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">223</context>
<context context-type="linenumber">232</context>
</context-group>
</trans-unit>
<trans-unit id="4839682406703705780" datatype="html">
@ -3711,7 +3715,7 @@
<target state="translated">Eliminar usuario</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">244</context>
<context context-type="linenumber">253</context>
</context-group>
</trans-unit>
<trans-unit id="4239552960465242484" datatype="html">
@ -3958,6 +3962,14 @@
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1468015720862673946" datatype="html">
<source>View Details</source>
<target state="new">View Details</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">225</context>
</context-group>
</trans-unit>
<trans-unit id="5003799027167349722" datatype="html">
<source>Liabilities</source>
<target state="translated">Pasivos</target>
@ -5301,7 +5313,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5637,7 +5649,7 @@
<target state="translated">Rango de fechas</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">171</context>
<context context-type="linenumber">170</context>
</context-group>
</trans-unit>
<trans-unit id="837553826328586238" datatype="html">
@ -5789,7 +5801,7 @@
<target state="translated">Semana hasta la fecha</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5801,7 +5813,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5809,7 +5821,7 @@
<target state="translated">Mes hasta la fecha</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5821,7 +5833,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5829,7 +5841,7 @@
<target state="translated">El año hasta la fecha</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -5857,7 +5869,7 @@
<target state="translated">Reiniciar filtros</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">266</context>
<context context-type="linenumber">205</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -5877,7 +5889,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -5889,7 +5901,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3764298087243734987" datatype="html">
@ -5897,7 +5909,7 @@
<target state="translated">Aplicar filtros</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">276</context>
<context context-type="linenumber">219</context>
</context-group>
</trans-unit>
<trans-unit id="2834021536645161016" datatype="html">
@ -7072,7 +7084,7 @@
<target state="translated">No se pudo generar una clave API</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="9173945515149078768" datatype="html">
@ -7080,7 +7092,7 @@
<target state="translated">Configure esta clave API en su entorno autohospedado:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">159</context>
</context-group>
</trans-unit>
<trans-unit id="7954609080122968528" datatype="html">
@ -7088,7 +7100,7 @@
<target state="translated">Clave API del proveedor de datos premium de Ghostfolio</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="7165424720111432862" datatype="html">
@ -7096,7 +7108,7 @@
<target state="translated">¿Realmente desea generar una nueva clave API?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="8517109745758603034" datatype="html">
@ -7440,7 +7452,7 @@
<target state="translated">Token de seguridad</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">228</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7452,7 +7464,7 @@
<target state="translated">¿Realmente deseas generar un nuevo token de seguridad para este usuario?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7460,7 +7472,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7468,7 +7480,7 @@
<target state="translated">Generar token de seguridad</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">233</context>
<context context-type="linenumber">242</context>
</context-group>
</trans-unit>
<trans-unit id="7303091661854783304" datatype="html">
@ -8532,6 +8544,14 @@
<context context-type="linenumber">128</context>
</context-group>
</trans-unit>
<trans-unit id="339860602695747533" datatype="html">
<source>Registration Date</source>
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">
<source>Follow Ghostfolio on LinkedIn</source>
<target state="translated">Siga a Ghostfolio en LinkedIn</target>

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

@ -54,7 +54,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="5028777105388019087" datatype="html">
@ -202,7 +202,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">281</context>
</context-group>
</trans-unit>
<trans-unit id="4029903570030679337" datatype="html">
@ -254,11 +254,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">262</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">298</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -298,7 +298,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">440</context>
<context context-type="linenumber">443</context>
</context-group>
</trans-unit>
<trans-unit id="7022070615528435141" datatype="html">
@ -334,7 +334,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">467</context>
<context context-type="linenumber">470</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -490,7 +490,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">167</context>
<context context-type="linenumber">170</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -830,7 +830,7 @@
<target state="translated">Voulez-vous vraiment supprimer cet·te utilisateur·rice ?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">207</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -946,7 +946,7 @@
</context-group>
<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="linenumber">68</context>
<context context-type="linenumber">71</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1078,7 +1078,7 @@
</context-group>
<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="linenumber">27</context>
<context context-type="linenumber">28</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
@ -1114,7 +1114,7 @@
<target state="translated">Se connecter avec Internet Identity</target>
<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="linenumber">37</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="2734138791192936323" datatype="html">
@ -1122,7 +1122,7 @@
<target state="translated">Se connecter avec Google</target>
<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="linenumber">47</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="6023420556639522969" datatype="html">
@ -1130,7 +1130,7 @@
<target state="translated">Rester connecté</target>
<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="linenumber">56</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="2598036136305355831" datatype="html">
@ -1242,7 +1242,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">188</context>
<context context-type="linenumber">191</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -1266,7 +1266,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">383</context>
<context context-type="linenumber">364</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1278,7 +1278,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1290,7 +1290,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1302,7 +1302,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
@ -1314,7 +1314,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">436</context>
<context context-type="linenumber">417</context>
</context-group>
</trans-unit>
<trans-unit id="4190182554887994764" datatype="html">
@ -1358,7 +1358,7 @@
<target state="translated">D’accord</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">154</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/core/http-response.interceptor.ts</context>
@ -1438,7 +1438,7 @@
<target state="translated">Veuillez entrer votre code promotionnel.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="4420880039966769543" datatype="html">
@ -1446,7 +1446,7 @@
<target state="translated">Le code promotionnel n’a pas pu être appliqué</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">179</context>
<context context-type="linenumber">182</context>
</context-group>
</trans-unit>
<trans-unit id="4819099731531004979" datatype="html">
@ -1454,7 +1454,7 @@
<target state="translated">Le code promotionnel a été appliqué</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="7967484035994732534" datatype="html">
@ -1462,7 +1462,7 @@
<target state="translated">Rafraîchir</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">196</context>
</context-group>
</trans-unit>
<trans-unit id="7963559562180316948" datatype="html">
@ -1612,6 +1612,10 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.html</context>
<context context-type="linenumber">252</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="5369707274411995821" datatype="html">
<source>Granted Access</source>
@ -2074,7 +2078,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">215</context>
</context-group>
</trans-unit>
<trans-unit id="848497846891931418" datatype="html">
@ -2662,7 +2666,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">380</context>
</context-group>
</trans-unit>
<trans-unit id="5388209493122807655" datatype="html">
@ -2674,7 +2678,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">402</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="7023389552907218716" datatype="html">
@ -2686,7 +2690,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">418</context>
</context-group>
</trans-unit>
<trans-unit id="5834780181397311898" datatype="html">
@ -2694,7 +2698,7 @@
<target state="translated">Dupliquer</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">446</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4631493229601603593" datatype="html">
@ -2702,7 +2706,7 @@
<target state="translated">Exporter Brouillon sous ICS</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">456</context>
<context context-type="linenumber">459</context>
</context-group>
</trans-unit>
<trans-unit id="670983159637074283" datatype="html">
@ -2818,14 +2822,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">310</context>
<context context-type="linenumber">313</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">185</context>
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">4</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
@ -2852,14 +2856,14 @@
<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">290</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">6</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="7608037008789240367" datatype="html">
<source>Asset Sub Class</source>
@ -2948,14 +2952,14 @@
<trans-unit id="1825829511397926879" datatype="html">
<source>Tag</source>
<target state="translated">Étiquette</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">235</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="787798817533231355" datatype="html">
<source>Cash</source>
@ -3161,8 +3165,8 @@
<context context-type="linenumber">32</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">207</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="8716714788752456736" datatype="html">
@ -3194,7 +3198,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">392</context>
</context-group>
</trans-unit>
<trans-unit id="1488866007739765367" datatype="html">
@ -3702,7 +3706,7 @@
<target state="translated">Voir en tant que ...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">223</context>
<context context-type="linenumber">232</context>
</context-group>
</trans-unit>
<trans-unit id="4839682406703705780" datatype="html">
@ -3710,7 +3714,7 @@
<target state="translated">Supprimer l’Utilisateur</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">244</context>
<context context-type="linenumber">253</context>
</context-group>
</trans-unit>
<trans-unit id="4239552960465242484" datatype="html">
@ -3957,6 +3961,14 @@
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1468015720862673946" datatype="html">
<source>View Details</source>
<target state="new">View Details</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">225</context>
</context-group>
</trans-unit>
<trans-unit id="5003799027167349722" datatype="html">
<source>Liabilities</source>
<target state="translated">Dettes</target>
@ -5300,7 +5312,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5636,7 +5648,7 @@
<target state="translated">Intervalle de Date</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">171</context>
<context context-type="linenumber">170</context>
</context-group>
</trans-unit>
<trans-unit id="837553826328586238" datatype="html">
@ -5788,7 +5800,7 @@
<target state="translated">Week to date</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5800,7 +5812,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5808,7 +5820,7 @@
<target state="translated">Month to date</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5820,7 +5832,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5828,7 +5840,7 @@
<target state="translated">Year to date</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -5856,7 +5868,7 @@
<target state="translated">Réinitialiser les Filtres</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">266</context>
<context context-type="linenumber">205</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -5876,7 +5888,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -5888,7 +5900,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3764298087243734987" datatype="html">
@ -5896,7 +5908,7 @@
<target state="translated">Appliquer les Filtres</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">276</context>
<context context-type="linenumber">219</context>
</context-group>
</trans-unit>
<trans-unit id="2834021536645161016" datatype="html">
@ -7071,7 +7083,7 @@
<target state="translated">Impossible de générer une clé API</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="9173945515149078768" datatype="html">
@ -7079,7 +7091,7 @@
<target state="translated">Définissez cette clé API dans votre environnement auto-hébergé :</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">159</context>
</context-group>
</trans-unit>
<trans-unit id="7954609080122968528" datatype="html">
@ -7087,7 +7099,7 @@
<target state="translated">Clé API du fournisseur de données Ghostfolio Premium</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="7165424720111432862" datatype="html">
@ -7095,7 +7107,7 @@
<target state="translated">Voulez-vous vraiment générer une nouvelle clé API ?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="8517109745758603034" datatype="html">
@ -7439,7 +7451,7 @@
<target state="translated">Jeton de sécurité</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">228</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7451,7 +7463,7 @@
<target state="translated">Voulez-vous vraiment générer un nouveau jeton de sécurité pour cet utilisateur ?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7459,7 +7471,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7467,7 +7479,7 @@
<target state="translated">Générer un jeton de sécurité</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">233</context>
<context context-type="linenumber">242</context>
</context-group>
</trans-unit>
<trans-unit id="7303091661854783304" datatype="html">
@ -8531,6 +8543,14 @@
<context context-type="linenumber">128</context>
</context-group>
</trans-unit>
<trans-unit id="339860602695747533" datatype="html">
<source>Registration Date</source>
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">
<source>Follow Ghostfolio on LinkedIn</source>
<target state="new">Follow Ghostfolio on LinkedIn</target>

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

@ -63,7 +63,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="5028777105388019087" datatype="html">
@ -199,11 +199,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">262</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">298</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -243,7 +243,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">440</context>
<context context-type="linenumber">443</context>
</context-group>
</trans-unit>
<trans-unit id="7022070615528435141" datatype="html">
@ -279,7 +279,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">467</context>
<context context-type="linenumber">470</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -435,7 +435,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">167</context>
<context context-type="linenumber">170</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -623,7 +623,7 @@
<target state="translated">Vuoi davvero eliminare questo utente?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">207</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -699,7 +699,7 @@
</context-group>
<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="linenumber">68</context>
<context context-type="linenumber">71</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -783,7 +783,7 @@
</context-group>
<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="linenumber">27</context>
<context context-type="linenumber">28</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
@ -819,7 +819,7 @@
<target state="translated">Accedi con Internet Identity</target>
<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="linenumber">37</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="2734138791192936323" datatype="html">
@ -827,7 +827,7 @@
<target state="translated">Accedi con Google</target>
<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="linenumber">47</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="6023420556639522969" datatype="html">
@ -835,7 +835,7 @@
<target state="translated">Rimani connesso</target>
<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="linenumber">56</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="2598036136305355831" datatype="html">
@ -1007,7 +1007,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">383</context>
<context context-type="linenumber">364</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1019,7 +1019,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1031,7 +1031,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1043,7 +1043,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
@ -1055,7 +1055,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">436</context>
<context context-type="linenumber">417</context>
</context-group>
</trans-unit>
<trans-unit id="1579692722565712588" datatype="html">
@ -1063,7 +1063,7 @@
<target state="translated">Bene</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">154</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/core/http-response.interceptor.ts</context>
@ -1131,7 +1131,7 @@
<target state="translated">Inserisci il tuo codice del buono:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="4420880039966769543" datatype="html">
@ -1139,7 +1139,7 @@
<target state="translated">Impossibile riscattare il codice del buono</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">179</context>
<context context-type="linenumber">182</context>
</context-group>
</trans-unit>
<trans-unit id="4819099731531004979" datatype="html">
@ -1147,7 +1147,7 @@
<target state="translated">Il codice del buono è stato riscattato</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="7967484035994732534" datatype="html">
@ -1155,7 +1155,7 @@
<target state="translated">Ricarica</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">196</context>
</context-group>
</trans-unit>
<trans-unit id="7963559562180316948" datatype="html">
@ -1265,6 +1265,10 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.html</context>
<context context-type="linenumber">252</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="5369707274411995821" datatype="html">
<source>Granted Access</source>
@ -1367,7 +1371,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">281</context>
</context-group>
</trans-unit>
<trans-unit id="4029903570030679337" datatype="html">
@ -1899,7 +1903,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">188</context>
<context context-type="linenumber">191</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -1915,7 +1919,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">215</context>
</context-group>
</trans-unit>
<trans-unit id="4388879716045736175" datatype="html">
@ -2187,7 +2191,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">380</context>
</context-group>
</trans-unit>
<trans-unit id="5388209493122807655" datatype="html">
@ -2199,7 +2203,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">402</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="7023389552907218716" datatype="html">
@ -2211,7 +2215,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">418</context>
</context-group>
</trans-unit>
<trans-unit id="5834780181397311898" datatype="html">
@ -2219,7 +2223,7 @@
<target state="translated">Clona</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">446</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4631493229601603593" datatype="html">
@ -2227,7 +2231,7 @@
<target state="translated">Esporta la bozza come ICS</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">456</context>
<context context-type="linenumber">459</context>
</context-group>
</trans-unit>
<trans-unit id="670983159637074283" datatype="html">
@ -2671,14 +2675,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">310</context>
<context context-type="linenumber">313</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">185</context>
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">4</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
@ -2705,14 +2709,14 @@
<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">290</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">6</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="8106025670158480144" datatype="html">
<source>Symbol</source>
@ -2745,14 +2749,14 @@
<trans-unit id="1825829511397926879" datatype="html">
<source>Tag</source>
<target state="translated">Etichetta</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">235</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="787798817533231355" datatype="html">
<source>Cash</source>
@ -3162,8 +3166,8 @@
<context context-type="linenumber">32</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">207</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="8716714788752456736" datatype="html">
@ -3195,7 +3199,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">392</context>
</context-group>
</trans-unit>
<trans-unit id="1488866007739765367" datatype="html">
@ -3703,7 +3707,7 @@
<target state="translated">Imita l’utente</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">223</context>
<context context-type="linenumber">232</context>
</context-group>
</trans-unit>
<trans-unit id="4839682406703705780" datatype="html">
@ -3711,7 +3715,7 @@
<target state="translated">Elimina l’utente</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">244</context>
<context context-type="linenumber">253</context>
</context-group>
</trans-unit>
<trans-unit id="4239552960465242484" datatype="html">
@ -3958,6 +3962,14 @@
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1468015720862673946" datatype="html">
<source>View Details</source>
<target state="new">View Details</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">225</context>
</context-group>
</trans-unit>
<trans-unit id="5003799027167349722" datatype="html">
<source>Liabilities</source>
<target state="translated">Passività</target>
@ -5301,7 +5313,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5637,7 +5649,7 @@
<target state="translated">Intervallo di date</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">171</context>
<context context-type="linenumber">170</context>
</context-group>
</trans-unit>
<trans-unit id="837553826328586238" datatype="html">
@ -5789,7 +5801,7 @@
<target state="translated">Da inizio settimana</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5801,7 +5813,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5809,7 +5821,7 @@
<target state="translated">Da inizio mese</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5821,7 +5833,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5829,7 +5841,7 @@
<target state="translated">Da inizio anno</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -5857,7 +5869,7 @@
<target state="translated">Reset Filtri</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">266</context>
<context context-type="linenumber">205</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -5877,7 +5889,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -5889,7 +5901,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3764298087243734987" datatype="html">
@ -5897,7 +5909,7 @@
<target state="translated">Applica i Filtri</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">276</context>
<context context-type="linenumber">219</context>
</context-group>
</trans-unit>
<trans-unit id="2834021536645161016" datatype="html">
@ -7072,7 +7084,7 @@
<target state="translated">Non è stato possibile generare un API key</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="9173945515149078768" datatype="html">
@ -7080,7 +7092,7 @@
<target state="translated">Imposta questa API key nel tuo ambiente self-hosted:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">159</context>
</context-group>
</trans-unit>
<trans-unit id="7954609080122968528" datatype="html">
@ -7088,7 +7100,7 @@
<target state="translated">API Key for Ghostfolio Premium Data Provider</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="7165424720111432862" datatype="html">
@ -7096,7 +7108,7 @@
<target state="translated">Vuoi davvero generare una nuova API key?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="8517109745758603034" datatype="html">
@ -7440,7 +7452,7 @@
<target state="translated">Token di sicurezza</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">228</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7452,7 +7464,7 @@
<target state="translated">Vuoi davvero generare un nuovo token di sicurezza per questo utente?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7460,7 +7472,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7468,7 +7480,7 @@
<target state="translated">Genera Token di Sicurezza</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">233</context>
<context context-type="linenumber">242</context>
</context-group>
</trans-unit>
<trans-unit id="7303091661854783304" datatype="html">
@ -8532,6 +8544,14 @@
<context context-type="linenumber">128</context>
</context-group>
</trans-unit>
<trans-unit id="339860602695747533" datatype="html">
<source>Registration Date</source>
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">
<source>Follow Ghostfolio on LinkedIn</source>
<target state="new">Follow Ghostfolio on LinkedIn</target>

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

@ -62,7 +62,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="5028777105388019087" datatype="html">
@ -198,11 +198,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">262</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">298</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -242,7 +242,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">440</context>
<context context-type="linenumber">443</context>
</context-group>
</trans-unit>
<trans-unit id="7022070615528435141" datatype="html">
@ -278,7 +278,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">467</context>
<context context-type="linenumber">470</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -434,7 +434,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">167</context>
<context context-type="linenumber">170</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -622,7 +622,7 @@
<target state="translated">Wilt je deze gebruiker echt verwijderen?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">207</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -698,7 +698,7 @@
</context-group>
<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="linenumber">68</context>
<context context-type="linenumber">71</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -782,7 +782,7 @@
</context-group>
<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="linenumber">27</context>
<context context-type="linenumber">28</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
@ -818,7 +818,7 @@
<target state="translated">Aanmelden met Internet Identity</target>
<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="linenumber">37</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="2734138791192936323" datatype="html">
@ -826,7 +826,7 @@
<target state="translated">Aanmelden met Google</target>
<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="linenumber">47</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="6023420556639522969" datatype="html">
@ -834,7 +834,7 @@
<target state="translated">Aangemeld blijven</target>
<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="linenumber">56</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="2598036136305355831" datatype="html">
@ -1006,7 +1006,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">383</context>
<context context-type="linenumber">364</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1018,7 +1018,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1030,7 +1030,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1042,7 +1042,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
@ -1054,7 +1054,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">436</context>
<context context-type="linenumber">417</context>
</context-group>
</trans-unit>
<trans-unit id="1579692722565712588" datatype="html">
@ -1062,7 +1062,7 @@
<target state="translated">Oké</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">154</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/core/http-response.interceptor.ts</context>
@ -1130,7 +1130,7 @@
<target state="translated">Voer je couponcode in:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="4420880039966769543" datatype="html">
@ -1138,7 +1138,7 @@
<target state="translated">Kon je kortingscode niet inwisselen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">179</context>
<context context-type="linenumber">182</context>
</context-group>
</trans-unit>
<trans-unit id="4819099731531004979" datatype="html">
@ -1146,7 +1146,7 @@
<target state="translated">Je couponcode is ingewisseld</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="7967484035994732534" datatype="html">
@ -1154,7 +1154,7 @@
<target state="translated">Herladen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">196</context>
</context-group>
</trans-unit>
<trans-unit id="7963559562180316948" datatype="html">
@ -1264,6 +1264,10 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.html</context>
<context context-type="linenumber">252</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="5369707274411995821" datatype="html">
<source>Granted Access</source>
@ -1366,7 +1370,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">281</context>
</context-group>
</trans-unit>
<trans-unit id="4029903570030679337" datatype="html">
@ -1898,7 +1902,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">188</context>
<context context-type="linenumber">191</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -1914,7 +1918,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">215</context>
</context-group>
</trans-unit>
<trans-unit id="4388879716045736175" datatype="html">
@ -2186,7 +2190,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">380</context>
</context-group>
</trans-unit>
<trans-unit id="5388209493122807655" datatype="html">
@ -2198,7 +2202,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">402</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="7023389552907218716" datatype="html">
@ -2210,7 +2214,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">418</context>
</context-group>
</trans-unit>
<trans-unit id="5834780181397311898" datatype="html">
@ -2218,7 +2222,7 @@
<target state="translated">Kloon</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">446</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4631493229601603593" datatype="html">
@ -2226,7 +2230,7 @@
<target state="translated">Concept exporteren als ICS</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">456</context>
<context context-type="linenumber">459</context>
</context-group>
</trans-unit>
<trans-unit id="670983159637074283" datatype="html">
@ -2670,14 +2674,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">310</context>
<context context-type="linenumber">313</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">185</context>
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">4</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
@ -2704,14 +2708,14 @@
<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">290</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">6</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="8106025670158480144" datatype="html">
<source>Symbol</source>
@ -2744,14 +2748,14 @@
<trans-unit id="1825829511397926879" datatype="html">
<source>Tag</source>
<target state="translated">Label</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">235</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="787798817533231355" datatype="html">
<source>Cash</source>
@ -3161,8 +3165,8 @@
<context context-type="linenumber">32</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">207</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="8716714788752456736" datatype="html">
@ -3194,7 +3198,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">392</context>
</context-group>
</trans-unit>
<trans-unit id="1488866007739765367" datatype="html">
@ -3702,7 +3706,7 @@
<target state="translated">Gebruiker immiteren</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">223</context>
<context context-type="linenumber">232</context>
</context-group>
</trans-unit>
<trans-unit id="4839682406703705780" datatype="html">
@ -3710,7 +3714,7 @@
<target state="translated">Gebruiker verwijderen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">244</context>
<context context-type="linenumber">253</context>
</context-group>
</trans-unit>
<trans-unit id="4239552960465242484" datatype="html">
@ -3957,6 +3961,14 @@
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1468015720862673946" datatype="html">
<source>View Details</source>
<target state="new">View Details</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">225</context>
</context-group>
</trans-unit>
<trans-unit id="5003799027167349722" datatype="html">
<source>Liabilities</source>
<target state="translated">Verplichtingen</target>
@ -5300,7 +5312,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5636,7 +5648,7 @@
<target state="translated">Datumbereik</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">171</context>
<context context-type="linenumber">170</context>
</context-group>
</trans-unit>
<trans-unit id="837553826328586238" datatype="html">
@ -5788,7 +5800,7 @@
<target state="translated">Week tot nu toe</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5800,7 +5812,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5808,7 +5820,7 @@
<target state="translated">Maand tot nu toe</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5820,7 +5832,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5828,7 +5840,7 @@
<target state="translated">Jaar tot nu toe</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -5856,7 +5868,7 @@
<target state="translated">Filters Herstellen</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">266</context>
<context context-type="linenumber">205</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -5876,7 +5888,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -5888,7 +5900,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3764298087243734987" datatype="html">
@ -5896,7 +5908,7 @@
<target state="translated">Filters Toepassen</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">276</context>
<context context-type="linenumber">219</context>
</context-group>
</trans-unit>
<trans-unit id="2834021536645161016" datatype="html">
@ -7071,7 +7083,7 @@
<target state="translated">Er kon geen API-sleutel worden gegenereerd</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="9173945515149078768" datatype="html">
@ -7079,7 +7091,7 @@
<target state="translated">Stel deze API-sleutel in uw zelf-gehoste omgeving in:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">159</context>
</context-group>
</trans-unit>
<trans-unit id="7954609080122968528" datatype="html">
@ -7087,7 +7099,7 @@
<target state="translated">Ghostfolio Premium Gegevensleverancier API-sleutel</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="7165424720111432862" datatype="html">
@ -7095,7 +7107,7 @@
<target state="translated">Wilt u echt een nieuwe API-sleutel genereren?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="8517109745758603034" datatype="html">
@ -7439,7 +7451,7 @@
<target state="translated">Beveiligingstoken</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">228</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7451,7 +7463,7 @@
<target state="translated">Wilt u echt een nieuw beveiligingstoken voor deze gebruiker aanmaken?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7459,7 +7471,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7467,7 +7479,7 @@
<target state="translated">Beveiligingstoken Aanmaken</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">233</context>
<context context-type="linenumber">242</context>
</context-group>
</trans-unit>
<trans-unit id="7303091661854783304" datatype="html">
@ -8531,6 +8543,14 @@
<context context-type="linenumber">128</context>
</context-group>
</trans-unit>
<trans-unit id="339860602695747533" datatype="html">
<source>Registration Date</source>
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">
<source>Follow Ghostfolio on LinkedIn</source>
<target state="translated">Volg Ghostfolio op LinkedIn</target>

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

@ -263,7 +263,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="5028777105388019087" datatype="html">
@ -439,7 +439,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">281</context>
</context-group>
</trans-unit>
<trans-unit id="6555318547274416232" datatype="html">
@ -475,11 +475,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">262</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">298</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -519,7 +519,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">440</context>
<context context-type="linenumber">443</context>
</context-group>
</trans-unit>
<trans-unit id="7022070615528435141" datatype="html">
@ -555,7 +555,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">467</context>
<context context-type="linenumber">470</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -711,7 +711,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">167</context>
<context context-type="linenumber">170</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -1287,7 +1287,7 @@
<target state="translated">Czy na pewno chcesz usunąć tego użytkownika?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">207</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -1323,7 +1323,7 @@
<target state="translated">Wciel się w Użytkownika</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">223</context>
<context context-type="linenumber">232</context>
</context-group>
</trans-unit>
<trans-unit id="4839682406703705780" datatype="html">
@ -1331,7 +1331,7 @@
<target state="translated">Usuń Użytkownika</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">244</context>
<context context-type="linenumber">253</context>
</context-group>
</trans-unit>
<trans-unit id="735924103945447056" datatype="html">
@ -1435,7 +1435,7 @@
</context-group>
<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="linenumber">68</context>
<context context-type="linenumber">71</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1667,7 +1667,7 @@
</context-group>
<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="linenumber">27</context>
<context context-type="linenumber">28</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
@ -1703,7 +1703,7 @@
<target state="translated">Zaloguj się przy użyciu Tożsamości Internetowej (Internet Identity)</target>
<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="linenumber">37</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="2734138791192936323" datatype="html">
@ -1711,7 +1711,7 @@
<target state="translated">Zaloguj się przez Google</target>
<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="linenumber">47</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="6023420556639522969" datatype="html">
@ -1719,7 +1719,7 @@
<target state="translated">Pozostań zalogowany</target>
<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="linenumber">56</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="2598036136305355831" datatype="html">
@ -1863,7 +1863,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">188</context>
<context context-type="linenumber">191</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -2055,7 +2055,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">383</context>
<context context-type="linenumber">364</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -2067,7 +2067,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -2079,7 +2079,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -2091,7 +2091,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
@ -2103,7 +2103,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">436</context>
<context context-type="linenumber">417</context>
</context-group>
</trans-unit>
<trans-unit id="4039692315328513907" datatype="html">
@ -2135,7 +2135,7 @@
<target state="translated">Wpisz kod kuponu:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="4420880039966769543" datatype="html">
@ -2143,7 +2143,7 @@
<target state="translated">Nie udało się zrealizować kodu kuponu</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">179</context>
<context context-type="linenumber">182</context>
</context-group>
</trans-unit>
<trans-unit id="4819099731531004979" datatype="html">
@ -2151,7 +2151,7 @@
<target state="translated">Kupon został zrealizowany</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="7967484035994732534" datatype="html">
@ -2159,7 +2159,7 @@
<target state="translated">Odśwież</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">196</context>
</context-group>
</trans-unit>
<trans-unit id="5186999845658578027" datatype="html">
@ -2353,6 +2353,10 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.html</context>
<context context-type="linenumber">252</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="8604673556809626581" datatype="html">
<source>Export Data</source>
@ -2403,7 +2407,7 @@
<target state="translated">Okej</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">154</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/core/http-response.interceptor.ts</context>
@ -3639,7 +3643,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">215</context>
</context-group>
</trans-unit>
<trans-unit id="1817902710689724227" datatype="html">
@ -3655,7 +3659,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">380</context>
</context-group>
</trans-unit>
<trans-unit id="72640258012696878" datatype="html">
@ -3671,7 +3675,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">392</context>
</context-group>
</trans-unit>
<trans-unit id="848497846891931418" datatype="html">
@ -3730,8 +3734,8 @@
<context context-type="linenumber">32</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">207</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="8716714788752456736" datatype="html">
@ -4800,7 +4804,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">402</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="7023389552907218716" datatype="html">
@ -4812,7 +4816,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">418</context>
</context-group>
</trans-unit>
<trans-unit id="4808589666930368915" datatype="html">
@ -4828,7 +4832,7 @@
<target state="translated">Sklonuj</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">446</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4631493229601603593" datatype="html">
@ -4836,7 +4840,7 @@
<target state="translated">Eksportuj Wersję Roboczą jako ICS</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">456</context>
<context context-type="linenumber">459</context>
</context-group>
</trans-unit>
<trans-unit id="670983159637074283" datatype="html">
@ -5000,14 +5004,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">310</context>
<context context-type="linenumber">313</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">185</context>
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">4</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
@ -5042,14 +5046,14 @@
<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">290</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">6</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="7608037008789240367" datatype="html">
<source>Asset Sub Class</source>
@ -5250,14 +5254,14 @@
<trans-unit id="1825829511397926879" datatype="html">
<source>Tag</source>
<target state="translated">Tag</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">235</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="1464072562214937907" datatype="html">
<source>Year</source>
@ -5267,6 +5271,14 @@
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1468015720862673946" datatype="html">
<source>View Details</source>
<target state="new">View Details</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">225</context>
</context-group>
</trans-unit>
<trans-unit id="953022389548488004" datatype="html">
<source>Years</source>
<target state="translated">Lata</target>
@ -5296,7 +5308,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5636,7 +5648,7 @@
<target state="translated">Zakres Dat</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">171</context>
<context context-type="linenumber">170</context>
</context-group>
</trans-unit>
<trans-unit id="837553826328586238" datatype="html">
@ -5788,7 +5800,7 @@
<target state="translated">Dotychczasowy tydzień</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5800,7 +5812,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5808,7 +5820,7 @@
<target state="translated">Od początku miesiąca</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5820,7 +5832,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5828,7 +5840,7 @@
<target state="translated">Od początku roku</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -5856,7 +5868,7 @@
<target state="translated">Resetuj Filtry</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">266</context>
<context context-type="linenumber">205</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -5876,7 +5888,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -5888,7 +5900,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3764298087243734987" datatype="html">
@ -5896,7 +5908,7 @@
<target state="translated">Zastosuj Filtry</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">276</context>
<context context-type="linenumber">219</context>
</context-group>
</trans-unit>
<trans-unit id="2834021536645161016" datatype="html">
@ -7071,7 +7083,7 @@
<target state="translated">Nie udało się wygenerować klucza API</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="9173945515149078768" datatype="html">
@ -7079,7 +7091,7 @@
<target state="translated">Ustaw ten klucz API w samodzielnie hostowanym środowisku:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">159</context>
</context-group>
</trans-unit>
<trans-unit id="7954609080122968528" datatype="html">
@ -7087,7 +7099,7 @@
<target state="translated">Klucz API dostawcy danych Premium Ghostfolio</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="7165424720111432862" datatype="html">
@ -7095,7 +7107,7 @@
<target state="translated">Czy na pewno chcesz wygenerować nowy klucz API?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="8517109745758603034" datatype="html">
@ -7439,7 +7451,7 @@
<target state="translated">Token bezpieczeństwa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">228</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7451,7 +7463,7 @@
<target state="translated">Czy napewno chcesz wygenerować nowy token bezpieczeństwa dla tego użytkownika?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7459,7 +7471,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7467,7 +7479,7 @@
<target state="translated">Generowanie Tokena Zabezpieczającego</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">233</context>
<context context-type="linenumber">242</context>
</context-group>
</trans-unit>
<trans-unit id="7303091661854783304" datatype="html">
@ -8531,6 +8543,14 @@
<context context-type="linenumber">128</context>
</context-group>
</trans-unit>
<trans-unit id="339860602695747533" datatype="html">
<source>Registration Date</source>
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">
<source>Follow Ghostfolio on LinkedIn</source>
<target state="new">Follow Ghostfolio on LinkedIn</target>

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

@ -54,7 +54,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="5028777105388019087" datatype="html">
@ -202,7 +202,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">281</context>
</context-group>
</trans-unit>
<trans-unit id="4029903570030679337" datatype="html">
@ -254,11 +254,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">262</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">298</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -298,7 +298,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">440</context>
<context context-type="linenumber">443</context>
</context-group>
</trans-unit>
<trans-unit id="7022070615528435141" datatype="html">
@ -334,7 +334,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">467</context>
<context context-type="linenumber">470</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -490,7 +490,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">167</context>
<context context-type="linenumber">170</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -702,7 +702,7 @@
<target state="translated">Deseja realmente excluir este utilizador?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">207</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -818,7 +818,7 @@
</context-group>
<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="linenumber">68</context>
<context context-type="linenumber">71</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -958,7 +958,7 @@
</context-group>
<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="linenumber">27</context>
<context context-type="linenumber">28</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
@ -994,7 +994,7 @@
<target state="translated">Iniciar sessão com Internet Identity</target>
<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="linenumber">37</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="2734138791192936323" datatype="html">
@ -1002,7 +1002,7 @@
<target state="translated">Iniciar sessão com Google</target>
<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="linenumber">47</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="6023420556639522969" datatype="html">
@ -1010,7 +1010,7 @@
<target state="translated">Manter sessão iniciada</target>
<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="linenumber">56</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="2598036136305355831" datatype="html">
@ -1122,7 +1122,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">188</context>
<context context-type="linenumber">191</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -1254,7 +1254,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">383</context>
<context context-type="linenumber">364</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1266,7 +1266,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1278,7 +1278,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1290,7 +1290,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
@ -1302,7 +1302,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">436</context>
<context context-type="linenumber">417</context>
</context-group>
</trans-unit>
<trans-unit id="4190182554887994764" datatype="html">
@ -1346,7 +1346,7 @@
<target state="translated">OK</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">154</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/core/http-response.interceptor.ts</context>
@ -1426,7 +1426,7 @@
<target state="translated">Por favor, insira o seu código de cupão:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="4420880039966769543" datatype="html">
@ -1434,7 +1434,7 @@
<target state="translated">Não foi possível resgatar o código de cupão</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">179</context>
<context context-type="linenumber">182</context>
</context-group>
</trans-unit>
<trans-unit id="4819099731531004979" datatype="html">
@ -1442,7 +1442,7 @@
<target state="translated">Código de cupão foi resgatado</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="7967484035994732534" datatype="html">
@ -1450,7 +1450,7 @@
<target state="translated">Atualizar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">196</context>
</context-group>
</trans-unit>
<trans-unit id="7963559562180316948" datatype="html">
@ -1608,6 +1608,10 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.html</context>
<context context-type="linenumber">252</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="5369707274411995821" datatype="html">
<source>Granted Access</source>
@ -2050,7 +2054,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">215</context>
</context-group>
</trans-unit>
<trans-unit id="4388879716045736175" datatype="html">
@ -2562,7 +2566,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">380</context>
</context-group>
</trans-unit>
<trans-unit id="5388209493122807655" datatype="html">
@ -2574,7 +2578,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">402</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="7023389552907218716" datatype="html">
@ -2586,7 +2590,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">418</context>
</context-group>
</trans-unit>
<trans-unit id="5834780181397311898" datatype="html">
@ -2594,7 +2598,7 @@
<target state="translated">Clonar</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">446</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4631493229601603593" datatype="html">
@ -2602,7 +2606,7 @@
<target state="translated">Exportar Rascunho como ICS</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">456</context>
<context context-type="linenumber">459</context>
</context-group>
</trans-unit>
<trans-unit id="670983159637074283" datatype="html">
@ -2690,14 +2694,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">310</context>
<context context-type="linenumber">313</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">185</context>
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">4</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
@ -2724,14 +2728,14 @@
<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">290</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">6</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="6268646680388419543" datatype="html">
<source>Emergency Fund</source>
@ -2792,14 +2796,14 @@
<trans-unit id="1825829511397926879" datatype="html">
<source>Tag</source>
<target state="translated">Marcador</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">235</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="787798817533231355" datatype="html">
<source>Cash</source>
@ -3161,8 +3165,8 @@
<context context-type="linenumber">32</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">207</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="8716714788752456736" datatype="html">
@ -3194,7 +3198,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">392</context>
</context-group>
</trans-unit>
<trans-unit id="1488866007739765367" datatype="html">
@ -3702,7 +3706,7 @@
<target state="translated">Personificar Utilizador</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">223</context>
<context context-type="linenumber">232</context>
</context-group>
</trans-unit>
<trans-unit id="4839682406703705780" datatype="html">
@ -3710,7 +3714,7 @@
<target state="translated">Apagar Utilizador</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">244</context>
<context context-type="linenumber">253</context>
</context-group>
</trans-unit>
<trans-unit id="4239552960465242484" datatype="html">
@ -3957,6 +3961,14 @@
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1468015720862673946" datatype="html">
<source>View Details</source>
<target state="new">View Details</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">225</context>
</context-group>
</trans-unit>
<trans-unit id="5003799027167349722" datatype="html">
<source>Liabilities</source>
<target state="translated">Responsabilidades</target>
@ -5300,7 +5312,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5636,7 +5648,7 @@
<target state="translated">Período</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">171</context>
<context context-type="linenumber">170</context>
</context-group>
</trans-unit>
<trans-unit id="837553826328586238" datatype="html">
@ -5788,7 +5800,7 @@
<target state="translated">Semana até agora</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5800,7 +5812,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5808,7 +5820,7 @@
<target state="translated">Do mês até a data</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5820,7 +5832,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5828,7 +5840,7 @@
<target state="translated">No acumulado do ano</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -5856,7 +5868,7 @@
<target state="translated">Redefinir filtros</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">266</context>
<context context-type="linenumber">205</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -5876,7 +5888,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -5888,7 +5900,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3764298087243734987" datatype="html">
@ -5896,7 +5908,7 @@
<target state="translated">Aplicar filtros</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">276</context>
<context context-type="linenumber">219</context>
</context-group>
</trans-unit>
<trans-unit id="2834021536645161016" datatype="html">
@ -7071,7 +7083,7 @@
<target state="translated">Não foi possível gerar uma chave de API</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="9173945515149078768" datatype="html">
@ -7079,7 +7091,7 @@
<target state="translated">Defina esta chave de API no seu ambiente auto-hospedado:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">159</context>
</context-group>
</trans-unit>
<trans-unit id="7954609080122968528" datatype="html">
@ -7087,7 +7099,7 @@
<target state="translated">Chave de API do Provedor de Dados do Ghostfolio Premium</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="7165424720111432862" datatype="html">
@ -7095,7 +7107,7 @@
<target state="translated">Você realmente deseja gerar uma nova chave de API?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="8517109745758603034" datatype="html">
@ -7439,7 +7451,7 @@
<target state="new">Security token</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">228</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7451,7 +7463,7 @@
<target state="new">Do you really want to generate a new security token for this user?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7459,7 +7471,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7467,7 +7479,7 @@
<target state="new">Generate Security Token</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">233</context>
<context context-type="linenumber">242</context>
</context-group>
</trans-unit>
<trans-unit id="7303091661854783304" datatype="html">
@ -8531,6 +8543,14 @@
<context context-type="linenumber">128</context>
</context-group>
</trans-unit>
<trans-unit id="339860602695747533" datatype="html">
<source>Registration Date</source>
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">
<source>Follow Ghostfolio on LinkedIn</source>
<target state="translated">Siga o Ghostfolio no LinkedIn</target>

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

@ -235,7 +235,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="5028777105388019087" datatype="html">
@ -399,7 +399,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">281</context>
</context-group>
</trans-unit>
<trans-unit id="6555318547274416232" datatype="html">
@ -435,11 +435,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">262</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">298</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -479,7 +479,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">440</context>
<context context-type="linenumber">443</context>
</context-group>
</trans-unit>
<trans-unit id="7022070615528435141" datatype="html">
@ -515,7 +515,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">467</context>
<context context-type="linenumber">470</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -671,7 +671,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">167</context>
<context context-type="linenumber">170</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -1151,7 +1151,7 @@
<target state="translated">Bu kullanıcıyı silmeyi gerçekten istiyor musunuz?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">207</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -1187,7 +1187,7 @@
<target state="translated">Kullanıcıyı Taklit Et</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">223</context>
<context context-type="linenumber">232</context>
</context-group>
</trans-unit>
<trans-unit id="4839682406703705780" datatype="html">
@ -1195,7 +1195,7 @@
<target state="translated">Kullanıcıyı Sil</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">244</context>
<context context-type="linenumber">253</context>
</context-group>
</trans-unit>
<trans-unit id="735924103945447056" datatype="html">
@ -1291,7 +1291,7 @@
</context-group>
<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="linenumber">68</context>
<context context-type="linenumber">71</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1523,7 +1523,7 @@
</context-group>
<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="linenumber">27</context>
<context context-type="linenumber">28</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
@ -1559,7 +1559,7 @@
<target state="translated">İnternet Kimliği (Internet Identity) ile Oturum Aç</target>
<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="linenumber">37</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="2734138791192936323" datatype="html">
@ -1567,7 +1567,7 @@
<target state="translated">Google ile Oturum Aç</target>
<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="linenumber">47</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="6023420556639522969" datatype="html">
@ -1575,7 +1575,7 @@
<target state="translated">Oturumu açık tut</target>
<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="linenumber">56</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="2598036136305355831" datatype="html">
@ -1707,7 +1707,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">188</context>
<context context-type="linenumber">191</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -1911,7 +1911,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">383</context>
<context context-type="linenumber">364</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1923,7 +1923,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1935,7 +1935,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1947,7 +1947,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
@ -1959,7 +1959,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">436</context>
<context context-type="linenumber">417</context>
</context-group>
</trans-unit>
<trans-unit id="4190182554887994764" datatype="html">
@ -2003,7 +2003,7 @@
<target state="translated">Tamam</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">154</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/core/http-response.interceptor.ts</context>
@ -3119,7 +3119,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">215</context>
</context-group>
</trans-unit>
<trans-unit id="1817902710689724227" datatype="html">
@ -3135,7 +3135,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">380</context>
</context-group>
</trans-unit>
<trans-unit id="72640258012696878" datatype="html">
@ -3151,7 +3151,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">392</context>
</context-group>
</trans-unit>
<trans-unit id="848497846891931418" datatype="html">
@ -3210,8 +3210,8 @@
<context context-type="linenumber">32</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">207</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="8716714788752456736" datatype="html">
@ -4264,7 +4264,7 @@
<target state="translated">Lütfen kupon kodunuzu girin:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="4420880039966769543" datatype="html">
@ -4272,7 +4272,7 @@
<target state="translated">Kupon kodu kullanılamadı</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">179</context>
<context context-type="linenumber">182</context>
</context-group>
</trans-unit>
<trans-unit id="4819099731531004979" datatype="html">
@ -4280,7 +4280,7 @@
<target state="translated">Kupon kodu kullanıldı</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="7967484035994732534" datatype="html">
@ -4288,7 +4288,7 @@
<target state="translated">Yeniden Yükle</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">196</context>
</context-group>
</trans-unit>
<trans-unit id="7963559562180316948" datatype="html">
@ -4470,6 +4470,10 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.html</context>
<context context-type="linenumber">252</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="8604673556809626581" datatype="html">
<source>Export Data</source>
@ -4520,7 +4524,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">402</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="7023389552907218716" datatype="html">
@ -4532,7 +4536,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">418</context>
</context-group>
</trans-unit>
<trans-unit id="4808589666930368915" datatype="html">
@ -4548,7 +4552,7 @@
<target state="translated">Klonla</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">446</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4631493229601603593" datatype="html">
@ -4556,7 +4560,7 @@
<target state="translated">Taslakları ICS Olarak Dışa Aktar</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">456</context>
<context context-type="linenumber">459</context>
</context-group>
</trans-unit>
<trans-unit id="670983159637074283" datatype="html">
@ -4696,14 +4700,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">310</context>
<context context-type="linenumber">313</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">185</context>
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">4</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
@ -4738,14 +4742,14 @@
<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">290</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">6</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="7608037008789240367" datatype="html">
<source>Asset Sub Class</source>
@ -4946,14 +4950,14 @@
<trans-unit id="1825829511397926879" datatype="html">
<source>Tag</source>
<target state="translated">Etiket</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">235</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="1464072562214937907" datatype="html">
<source>Year</source>
@ -4963,6 +4967,14 @@
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1468015720862673946" datatype="html">
<source>View Details</source>
<target state="new">View Details</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">225</context>
</context-group>
</trans-unit>
<trans-unit id="953022389548488004" datatype="html">
<source>Years</source>
<target state="translated">Yıl</target>
@ -5308,7 +5320,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5636,7 +5648,7 @@
<target state="translated">Tarih Aralığı</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">171</context>
<context context-type="linenumber">170</context>
</context-group>
</trans-unit>
<trans-unit id="837553826328586238" datatype="html">
@ -5788,7 +5800,7 @@
<target state="translated">Hafta içi</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5800,7 +5812,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5808,7 +5820,7 @@
<target state="translated">Ay içi</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5820,7 +5832,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5828,7 +5840,7 @@
<target state="translated">Yıl içi</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -5856,7 +5868,7 @@
<target state="translated">Filtreleri Sıfırla</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">266</context>
<context context-type="linenumber">205</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -5876,7 +5888,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -5888,7 +5900,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3764298087243734987" datatype="html">
@ -5896,7 +5908,7 @@
<target state="translated">Filtreleri Uygula</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">276</context>
<context context-type="linenumber">219</context>
</context-group>
</trans-unit>
<trans-unit id="2834021536645161016" datatype="html">
@ -7071,7 +7083,7 @@
<target state="translated">API anahtarı oluşturulamadı</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="9173945515149078768" datatype="html">
@ -7079,7 +7091,7 @@
<target state="translated">Bu API anahtarını kendi barındırılan ortamınıza ayarlayın:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">159</context>
</context-group>
</trans-unit>
<trans-unit id="7954609080122968528" datatype="html">
@ -7087,7 +7099,7 @@
<target state="translated">Ghostfolio Premium Veri Sağlayıcı API Anahtarı</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="7165424720111432862" datatype="html">
@ -7095,7 +7107,7 @@
<target state="translated">Yeni bir API anahtarı oluşturmak istediğinize emin misiniz?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="8517109745758603034" datatype="html">
@ -7439,7 +7451,7 @@
<target state="translated">Güvenlik belirteci</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">228</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7451,7 +7463,7 @@
<target state="translated">Bu kullanıcı için yeni bir güvenlik belirteci oluşturmak istediğinize emin misiniz?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7459,7 +7471,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7467,7 +7479,7 @@
<target state="translated">Güvenlik belirteci oluştur</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">233</context>
<context context-type="linenumber">242</context>
</context-group>
</trans-unit>
<trans-unit id="7303091661854783304" datatype="html">
@ -8531,6 +8543,14 @@
<context context-type="linenumber">128</context>
</context-group>
</trans-unit>
<trans-unit id="339860602695747533" datatype="html">
<source>Registration Date</source>
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">
<source>Follow Ghostfolio on LinkedIn</source>
<target state="translated">Ghostfolio’yu LinkedIn’de takip edin</target>

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

@ -42,7 +42,7 @@
</context-group>
<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="linenumber">68</context>
<context context-type="linenumber">71</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -547,7 +547,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">281</context>
</context-group>
</trans-unit>
<trans-unit id="6555318547274416232" datatype="html">
@ -583,11 +583,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">262</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">298</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -627,7 +627,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">440</context>
<context context-type="linenumber">443</context>
</context-group>
</trans-unit>
<trans-unit id="7022070615528435141" datatype="html">
@ -663,7 +663,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">467</context>
<context context-type="linenumber">470</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -695,7 +695,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="3175281009707730014" datatype="html">
@ -1503,7 +1503,7 @@
</context-group>
<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="linenumber">27</context>
<context context-type="linenumber">28</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
@ -1583,7 +1583,7 @@
<target state="translated">Ви дійсно хочете видалити цього користувача?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">207</context>
</context-group>
</trans-unit>
<trans-unit id="2179675132693271881" datatype="html">
@ -1623,7 +1623,7 @@
<target state="translated">Видавати себе за користувача</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">223</context>
<context context-type="linenumber">232</context>
</context-group>
</trans-unit>
<trans-unit id="4839682406703705780" datatype="html">
@ -1631,7 +1631,7 @@
<target state="translated">Видалити користувача</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">244</context>
<context context-type="linenumber">253</context>
</context-group>
</trans-unit>
<trans-unit id="735924103945447056" datatype="html">
@ -1827,7 +1827,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">188</context>
<context context-type="linenumber">191</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -2111,7 +2111,7 @@
<target state="translated">Увійти з Інтернет-Ідентичністю</target>
<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="linenumber">37</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="2734138791192936323" datatype="html">
@ -2119,7 +2119,7 @@
<target state="translated">Увійти з Google</target>
<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="linenumber">47</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="6023420556639522969" datatype="html">
@ -2127,7 +2127,7 @@
<target state="translated">Залишатися в системі</target>
<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="linenumber">56</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="4602065467346820556" datatype="html">
@ -2523,7 +2523,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">383</context>
<context context-type="linenumber">364</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -2535,7 +2535,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -2547,7 +2547,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -2559,7 +2559,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
@ -2571,7 +2571,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">436</context>
<context context-type="linenumber">417</context>
</context-group>
</trans-unit>
<trans-unit id="2570446216260149991" datatype="html">
@ -2625,6 +2625,10 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.html</context>
<context context-type="linenumber">252</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="7156797854368699223" datatype="html">
<source>Me</source>
@ -2667,7 +2671,7 @@
<target state="translated">Не вдалося згенерувати ключ API</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="1579692722565712588" datatype="html">
@ -2675,7 +2679,7 @@
<target state="translated">ОК</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">154</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/core/http-response.interceptor.ts</context>
@ -2691,7 +2695,7 @@
<target state="translated">Встановіть цей ключ API у вашому self-hosted середовищі:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">159</context>
</context-group>
</trans-unit>
<trans-unit id="7954609080122968528" datatype="html">
@ -2699,7 +2703,7 @@
<target state="translated">Ключ API Ghostfolio Premium Data Provider</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="7165424720111432862" datatype="html">
@ -2707,7 +2711,7 @@
<target state="translated">Ви дійсно хочете згенерувати новий ключ API?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="4420880039966769543" datatype="html">
@ -2715,7 +2719,7 @@
<target state="translated">Не вдалося обміняти код купона</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">179</context>
<context context-type="linenumber">182</context>
</context-group>
</trans-unit>
<trans-unit id="4819099731531004979" datatype="html">
@ -2723,7 +2727,7 @@
<target state="translated">Код купона був обміняний</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="7967484035994732534" datatype="html">
@ -2731,7 +2735,7 @@
<target state="translated">Перезавантажити</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">196</context>
</context-group>
</trans-unit>
<trans-unit id="1257540657265073416" datatype="html">
@ -2739,7 +2743,7 @@
<target state="translated">Будь ласка, введіть ваш код купона.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="5186999845658578027" datatype="html">
@ -4308,7 +4312,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">167</context>
<context context-type="linenumber">170</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -4324,7 +4328,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">215</context>
</context-group>
</trans-unit>
<trans-unit id="1817902710689724227" datatype="html">
@ -4340,7 +4344,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">380</context>
</context-group>
</trans-unit>
<trans-unit id="72640258012696878" datatype="html">
@ -4356,7 +4360,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">392</context>
</context-group>
</trans-unit>
<trans-unit id="848497846891931418" datatype="html">
@ -4415,8 +4419,8 @@
<context context-type="linenumber">32</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">207</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="8716714788752456736" datatype="html">
@ -5995,7 +5999,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">402</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="7023389552907218716" datatype="html">
@ -6007,7 +6011,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">418</context>
</context-group>
</trans-unit>
<trans-unit id="7641420101493176397" datatype="html">
@ -6031,7 +6035,7 @@
<target state="translated">Клонувати</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">446</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4631493229601603593" datatype="html">
@ -6039,7 +6043,7 @@
<target state="translated">Експортувати чернетку як ICS</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">456</context>
<context context-type="linenumber">459</context>
</context-group>
</trans-unit>
<trans-unit id="4239552960465242484" datatype="html">
@ -6063,7 +6067,7 @@
<target state="translated">Тиждень до дати</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -6075,7 +6079,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -6083,7 +6087,7 @@
<target state="translated">Місяць до дати</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -6095,7 +6099,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -6103,7 +6107,7 @@
<target state="translated">Рік до дати</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -6123,7 +6127,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -6135,7 +6139,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3060494754215793943" datatype="html">
@ -6151,7 +6155,7 @@
<target state="translated">Діапазон дат</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">171</context>
<context context-type="linenumber">170</context>
</context-group>
</trans-unit>
<trans-unit id="6978234364807213493" datatype="html">
@ -6159,7 +6163,7 @@
<target state="translated">Скинути фільтри</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">266</context>
<context context-type="linenumber">205</context>
</context-group>
</trans-unit>
<trans-unit id="3764298087243734987" datatype="html">
@ -6167,7 +6171,7 @@
<target state="translated">Застосувати фільтри</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">276</context>
<context context-type="linenumber">219</context>
</context-group>
</trans-unit>
<trans-unit id="9038580727258335020" datatype="html">
@ -6355,14 +6359,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">310</context>
<context context-type="linenumber">313</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">185</context>
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">4</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
@ -6397,14 +6401,14 @@
<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">290</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">6</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="7608037008789240367" datatype="html">
<source>Asset Sub Class</source>
@ -6713,14 +6717,14 @@
<trans-unit id="1825829511397926879" datatype="html">
<source>Tag</source>
<target state="translated">Тег</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">235</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="1464072562214937907" datatype="html">
<source>Year</source>
@ -6730,6 +6734,14 @@
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1468015720862673946" datatype="html">
<source>View Details</source>
<target state="new">View Details</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">225</context>
</context-group>
</trans-unit>
<trans-unit id="953022389548488004" datatype="html">
<source>Years</source>
<target state="translated">Роки</target>
@ -6767,7 +6779,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -7439,7 +7451,7 @@
<target state="new">Security token</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">228</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7451,7 +7463,7 @@
<target state="new">Do you really want to generate a new security token for this user?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7459,7 +7471,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7467,7 +7479,7 @@
<target state="new">Generate Security Token</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">233</context>
<context context-type="linenumber">242</context>
</context-group>
</trans-unit>
<trans-unit id="7303091661854783304" datatype="html">
@ -8531,6 +8543,14 @@
<context context-type="linenumber">128</context>
</context-group>
</trans-unit>
<trans-unit id="339860602695747533" datatype="html">
<source>Registration Date</source>
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">
<source>Follow Ghostfolio on LinkedIn</source>
<target state="new">Follow Ghostfolio on LinkedIn</target>

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

@ -247,7 +247,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="5028777105388019087" datatype="html">
@ -420,7 +420,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">281</context>
</context-group>
</trans-unit>
<trans-unit id="6555318547274416232" datatype="html">
@ -455,11 +455,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">262</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">298</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -498,7 +498,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">440</context>
<context context-type="linenumber">443</context>
</context-group>
</trans-unit>
<trans-unit id="7022070615528435141" datatype="html">
@ -533,7 +533,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">467</context>
<context context-type="linenumber">470</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -674,7 +674,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">167</context>
<context context-type="linenumber">170</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -1214,7 +1214,7 @@
<source>Do you really want to delete this user?</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">207</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -1246,14 +1246,14 @@
<source>Impersonate User</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">223</context>
<context context-type="linenumber">232</context>
</context-group>
</trans-unit>
<trans-unit id="4839682406703705780" datatype="html">
<source>Delete User</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">244</context>
<context context-type="linenumber">253</context>
</context-group>
</trans-unit>
<trans-unit id="735924103945447056" datatype="html">
@ -1348,7 +1348,7 @@
</context-group>
<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="linenumber">68</context>
<context context-type="linenumber">71</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1559,7 +1559,7 @@
</context-group>
<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="linenumber">27</context>
<context context-type="linenumber">28</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
@ -1594,21 +1594,21 @@
<source>Sign in with Internet Identity</source>
<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="linenumber">37</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="2734138791192936323" datatype="html">
<source>Sign in with Google</source>
<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="linenumber">47</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="6023420556639522969" datatype="html">
<source>Stay signed in</source>
<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="linenumber">56</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="2598036136305355831" datatype="html">
@ -1736,7 +1736,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">188</context>
<context context-type="linenumber">191</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -1915,7 +1915,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">383</context>
<context context-type="linenumber">364</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1926,7 +1926,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1937,7 +1937,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1948,7 +1948,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
@ -1959,7 +1959,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">436</context>
<context context-type="linenumber">417</context>
</context-group>
</trans-unit>
<trans-unit id="4039692315328513907" datatype="html">
@ -1987,28 +1987,28 @@
<source>Please enter your coupon code.</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="4420880039966769543" datatype="html">
<source>Could not redeem coupon code</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">179</context>
<context context-type="linenumber">182</context>
</context-group>
</trans-unit>
<trans-unit id="4819099731531004979" datatype="html">
<source>Coupon code has been redeemed</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="7967484035994732534" datatype="html">
<source>Reload</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">196</context>
</context-group>
</trans-unit>
<trans-unit id="5186999845658578027" datatype="html">
@ -2181,6 +2181,10 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.html</context>
<context context-type="linenumber">252</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="8604673556809626581" datatype="html">
<source>Export Data</source>
@ -2226,7 +2230,7 @@
<source>Okay</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">154</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/core/http-response.interceptor.ts</context>
@ -3354,7 +3358,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">215</context>
</context-group>
</trans-unit>
<trans-unit id="1817902710689724227" datatype="html">
@ -3369,7 +3373,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">380</context>
</context-group>
</trans-unit>
<trans-unit id="72640258012696878" datatype="html">
@ -3384,7 +3388,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">392</context>
</context-group>
</trans-unit>
<trans-unit id="848497846891931418" datatype="html">
@ -3436,8 +3440,8 @@
<context context-type="linenumber">32</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">207</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="8716714788752456736" datatype="html">
@ -4420,7 +4424,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">402</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="7023389552907218716" datatype="html">
@ -4431,7 +4435,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">418</context>
</context-group>
</trans-unit>
<trans-unit id="4808589666930368915" datatype="html">
@ -4445,14 +4449,14 @@
<source>Clone</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">446</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4631493229601603593" datatype="html">
<source>Export Draft as ICS</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">456</context>
<context context-type="linenumber">459</context>
</context-group>
</trans-unit>
<trans-unit id="670983159637074283" datatype="html">
@ -4613,14 +4617,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">310</context>
<context context-type="linenumber">313</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">185</context>
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">4</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
@ -4653,14 +4657,14 @@
<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">290</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">6</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="7608037008789240367" datatype="html">
<source>Asset Sub Class</source>
@ -4842,14 +4846,14 @@
</trans-unit>
<trans-unit id="1825829511397926879" datatype="html">
<source>Tag</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">235</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="1464072562214937907" datatype="html">
<source>Year</source>
@ -4858,6 +4862,13 @@
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1468015720862673946" datatype="html">
<source>View Details</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">225</context>
</context-group>
</trans-unit>
<trans-unit id="953022389548488004" datatype="html">
<source>Years</source>
<context-group purpose="location">
@ -4884,7 +4895,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5134,7 +5145,7 @@
<source>Date Range</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">171</context>
<context context-type="linenumber">170</context>
</context-group>
</trans-unit>
<trans-unit id="4405333887341433096" datatype="html">
@ -5284,21 +5295,21 @@
<source>Year to date</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
<source>Week to date</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
<source>Month to date</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5309,7 +5320,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5320,7 +5331,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="4602065467346820556" datatype="html">
@ -5345,7 +5356,7 @@
<source>Reset Filters</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">266</context>
<context context-type="linenumber">205</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -5364,7 +5375,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -5375,14 +5386,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3764298087243734987" datatype="html">
<source>Apply Filters</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">276</context>
<context context-type="linenumber">219</context>
</context-group>
</trans-unit>
<trans-unit id="routes.faq.selfHosting" datatype="html">
@ -6451,28 +6462,28 @@
<source>Could not generate an API key</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="7165424720111432862" datatype="html">
<source>Do you really want to generate a new API key?</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="7954609080122968528" datatype="html">
<source>Ghostfolio Premium Data Provider API Key</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="9173945515149078768" datatype="html">
<source>Set this API key in your self-hosted environment:</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">159</context>
</context-group>
</trans-unit>
<trans-unit id="140710645823112071" datatype="html">
@ -6767,21 +6778,21 @@
<source>Do you really want to generate a new security token for this user?</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
<source>Find account, holding or page...</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="8944214829054650479" datatype="html">
<source>Security token</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">228</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -6792,7 +6803,7 @@
<source>Generate Security Token</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">233</context>
<context context-type="linenumber">242</context>
</context-group>
</trans-unit>
<trans-unit id="7303091661854783304" datatype="html">
@ -7712,6 +7723,13 @@
<context context-type="linenumber">128</context>
</context-group>
</trans-unit>
<trans-unit id="339860602695747533" datatype="html">
<source>Registration Date</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="5606994816647505945" datatype="html">
<source>Join the Ghostfolio Slack community</source>
<context-group purpose="location">

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

@ -264,7 +264,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="5028777105388019087" datatype="html">
@ -448,7 +448,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">281</context>
</context-group>
</trans-unit>
<trans-unit id="6555318547274416232" datatype="html">
@ -484,11 +484,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">262</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">298</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -528,7 +528,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">440</context>
<context context-type="linenumber">443</context>
</context-group>
</trans-unit>
<trans-unit id="7022070615528435141" datatype="html">
@ -564,7 +564,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">467</context>
<context context-type="linenumber">470</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -720,7 +720,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">167</context>
<context context-type="linenumber">170</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
@ -1296,7 +1296,7 @@
<target state="translated">您真的要删除该用户吗?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">207</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -1332,7 +1332,7 @@
<target state="translated">模拟用户</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">223</context>
<context context-type="linenumber">232</context>
</context-group>
</trans-unit>
<trans-unit id="4839682406703705780" datatype="html">
@ -1340,7 +1340,7 @@
<target state="translated">删除用户</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">244</context>
<context context-type="linenumber">253</context>
</context-group>
</trans-unit>
<trans-unit id="735924103945447056" datatype="html">
@ -1444,7 +1444,7 @@
</context-group>
<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="linenumber">68</context>
<context context-type="linenumber">71</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1676,7 +1676,7 @@
</context-group>
<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="linenumber">27</context>
<context context-type="linenumber">28</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
@ -1712,7 +1712,7 @@
<target state="translated">使用互联网身份登录</target>
<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="linenumber">37</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="2734138791192936323" datatype="html">
@ -1720,7 +1720,7 @@
<target state="translated">使用 Google 登录</target>
<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="linenumber">47</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="6023420556639522969" datatype="html">
@ -1728,7 +1728,7 @@
<target state="translated">保持登录</target>
<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="linenumber">56</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="2598036136305355831" datatype="html">
@ -1872,7 +1872,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">188</context>
<context context-type="linenumber">191</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
@ -2064,7 +2064,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">383</context>
<context context-type="linenumber">364</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -2076,7 +2076,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -2088,7 +2088,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -2100,7 +2100,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
@ -2112,7 +2112,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">436</context>
<context context-type="linenumber">417</context>
</context-group>
</trans-unit>
<trans-unit id="4039692315328513907" datatype="html">
@ -2144,7 +2144,7 @@
<target state="translated">请输入您的优惠券代码。</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="4420880039966769543" datatype="html">
@ -2152,7 +2152,7 @@
<target state="translated">无法兑换优惠券代码</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">179</context>
<context context-type="linenumber">182</context>
</context-group>
</trans-unit>
<trans-unit id="4819099731531004979" datatype="html">
@ -2160,7 +2160,7 @@
<target state="translated">优惠券代码已被兑换</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="7967484035994732534" datatype="html">
@ -2168,7 +2168,7 @@
<target state="translated">重新加载</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">196</context>
</context-group>
</trans-unit>
<trans-unit id="5186999845658578027" datatype="html">
@ -2362,6 +2362,10 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-settings/user-account-settings.html</context>
<context context-type="linenumber">252</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="8604673556809626581" datatype="html">
<source>Export Data</source>
@ -2412,7 +2416,7 @@
<target state="translated">好的</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">154</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/core/http-response.interceptor.ts</context>
@ -3648,7 +3652,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">215</context>
</context-group>
</trans-unit>
<trans-unit id="1817902710689724227" datatype="html">
@ -3664,7 +3668,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">380</context>
</context-group>
</trans-unit>
<trans-unit id="72640258012696878" datatype="html">
@ -3680,7 +3684,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">392</context>
</context-group>
</trans-unit>
<trans-unit id="848497846891931418" datatype="html">
@ -3739,8 +3743,8 @@
<context context-type="linenumber">32</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">207</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="8716714788752456736" datatype="html">
@ -4829,7 +4833,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">402</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="7023389552907218716" datatype="html">
@ -4841,7 +4845,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">418</context>
</context-group>
</trans-unit>
<trans-unit id="4808589666930368915" datatype="html">
@ -4857,7 +4861,7 @@
<target state="translated">克隆</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">446</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4631493229601603593" datatype="html">
@ -4865,7 +4869,7 @@
<target state="translated">将汇票导出为 ICS</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">456</context>
<context context-type="linenumber">459</context>
</context-group>
</trans-unit>
<trans-unit id="670983159637074283" datatype="html">
@ -5045,14 +5049,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">310</context>
<context context-type="linenumber">313</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">185</context>
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">4</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
@ -5087,14 +5091,14 @@
<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">290</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">6</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="7608037008789240367" datatype="html">
<source>Asset Sub Class</source>
@ -5295,14 +5299,14 @@
<trans-unit id="1825829511397926879" datatype="html">
<source>Tag</source>
<target state="translated">标签</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">235</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.html</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="1464072562214937907" datatype="html">
<source>Year</source>
@ -5312,6 +5316,14 @@
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1468015720862673946" datatype="html">
<source>View Details</source>
<target state="new">View Details</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">225</context>
</context-group>
</trans-unit>
<trans-unit id="953022389548488004" datatype="html">
<source>Years</source>
<target state="translated">年</target>
@ -5341,7 +5353,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5621,7 +5633,7 @@
<target state="translated">日期范围</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">171</context>
<context context-type="linenumber">170</context>
</context-group>
</trans-unit>
<trans-unit id="4405333887341433096" datatype="html">
@ -5789,7 +5801,7 @@
<target state="translated">今年迄今为止</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">395</context>
<context context-type="linenumber">376</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
@ -5797,7 +5809,7 @@
<target state="translated">本周至今</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5805,7 +5817,7 @@
<target state="translated">本月至今</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5817,7 +5829,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">391</context>
<context context-type="linenumber">372</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5829,7 +5841,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">368</context>
</context-group>
</trans-unit>
<trans-unit id="4602065467346820556" datatype="html">
@ -5857,7 +5869,7 @@
<target state="translated">重置过滤器</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">266</context>
<context context-type="linenumber">205</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -5877,7 +5889,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">405</context>
<context context-type="linenumber">386</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -5889,7 +5901,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">430</context>
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="3764298087243734987" datatype="html">
@ -5897,7 +5909,7 @@
<target state="translated">应用过滤器</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">276</context>
<context context-type="linenumber">219</context>
</context-group>
</trans-unit>
<trans-unit id="routes.faq.selfHosting" datatype="html">
@ -7072,7 +7084,7 @@
<target state="translated">无法生成 API 密钥</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="9173945515149078768" datatype="html">
@ -7080,7 +7092,7 @@
<target state="translated">在您的自托管环境中设置此 API 密钥:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">159</context>
</context-group>
</trans-unit>
<trans-unit id="7954609080122968528" datatype="html">
@ -7088,7 +7100,7 @@
<target state="translated">Ghostfolio Premium 数据提供者 API 密钥</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="7165424720111432862" datatype="html">
@ -7096,7 +7108,7 @@
<target state="translated">您确定要生成新的 API 密钥吗?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-membership/user-account-membership.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="8517109745758603034" datatype="html">
@ -7440,7 +7452,7 @@
<target state="translated">安全令牌</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">228</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7452,7 +7464,7 @@
<target state="translated">您确定要为此用户生成新的安全令牌吗?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7460,7 +7472,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7468,7 +7480,7 @@
<target state="translated">生成安全令牌</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.html</context>
<context context-type="linenumber">233</context>
<context context-type="linenumber">242</context>
</context-group>
</trans-unit>
<trans-unit id="7303091661854783304" datatype="html">
@ -8532,6 +8544,14 @@
<context context-type="linenumber">128</context>
</context-group>
</trans-unit>
<trans-unit id="339860602695747533" datatype="html">
<source>Registration Date</source>
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">
<source>Follow Ghostfolio on LinkedIn</source>
<target state="translated">在 LinkedIn 上关注 Ghostfolio</target>

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

@ -37,12 +37,14 @@ import type { Product } from './product';
import type { AccessTokenResponse } from './responses/access-token-response.interface';
import type { AccountBalancesResponse } from './responses/account-balances-response.interface';
import type { AccountsResponse } from './responses/accounts-response.interface';
import type { ActivitiesResponse } from './responses/activities-response.interface';
import type { ActivityResponse } from './responses/activity-response.interface';
import type { AiPromptResponse } from './responses/ai-prompt-response.interface';
import type { ApiKeyResponse } from './responses/api-key-response.interface';
import type { AssetResponse } from './responses/asset-response.interface';
import type { BenchmarkMarketDataDetailsResponse } from './responses/benchmark-market-data-details-response.interface';
import type { BenchmarkResponse } from './responses/benchmark-response.interface';
import type { CreateStripeCheckoutSessionResponse } from './responses/create-stripe-checkout-session-response.interface';
import type { DataEnhancerHealthResponse } from './responses/data-enhancer-health-response.interface';
import type { DataProviderGhostfolioAssetProfileResponse } from './responses/data-provider-ghostfolio-asset-profile-response.interface';
import type { DataProviderGhostfolioStatusResponse } from './responses/data-provider-ghostfolio-status-response.interface';
@ -85,6 +87,7 @@ export {
AccountBalance,
AccountBalancesResponse,
AccountsResponse,
ActivitiesResponse,
ActivityResponse,
AdminData,
AdminJobs,
@ -102,6 +105,7 @@ export {
BenchmarkProperty,
BenchmarkResponse,
Coupon,
CreateStripeCheckoutSessionResponse,
DataEnhancerHealthResponse,
DataProviderGhostfolioAssetProfileResponse,
DataProviderGhostfolioStatusResponse,

6
libs/common/src/lib/interfaces/responses/activities-response.interface.ts

@ -0,0 +1,6 @@
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface';
export interface ActivitiesResponse {
activities: Activity[];
count: number;
}

3
libs/common/src/lib/interfaces/responses/create-stripe-checkout-session-response.interface.ts

@ -0,0 +1,3 @@
export interface CreateStripeCheckoutSessionResponse {
sessionId: string;
}

8
libs/common/src/lib/interfaces/responses/export-response.interface.ts

@ -9,6 +9,7 @@ import {
import { AccountBalance } from '../account-balance.interface';
import { MarketData } from '../market-data.interface';
import { UserSettings } from '../user-settings.interface';
export interface ExportResponse {
accounts: (Omit<Account, 'createdAt' | 'updatedAt' | 'userId'> & {
@ -36,5 +37,10 @@ export interface ExportResponse {
};
platforms: Platform[];
tags: Omit<Tag, 'userId'>[];
user: { settings: { currency: string } };
user: {
settings: {
currency: UserSettings['baseCurrency'];
performanceCalculationType: UserSettings['performanceCalculationType'];
};
};
}

6
libs/ui/src/lib/accounts-table/accounts-table.component.html

@ -320,11 +320,7 @@
</button>
</mat-menu>
</td>
<td
*matFooterCellDef
class="d-none d-lg-table-cell px-1"
mat-footer-cell
></td>
<td *matFooterCellDef class="px-1" mat-footer-cell></td>
</ng-container>
<tr *matHeaderRowDef="displayedColumns" mat-header-row></tr>

5
libs/ui/src/lib/activities-table/activities-table.component.html

@ -143,7 +143,10 @@
}
</div>
</div>
@if (!isUUID(element.SymbolProfile?.symbol)) {
@if (
element.SymbolProfile?.dataSource !== 'MANUAL' &&
!isUUID(element.SymbolProfile?.symbol)
) {
<div>
<small class="text-muted">{{
element.SymbolProfile?.symbol | gfSymbol

9
libs/ui/src/lib/logo-carousel/logo-carousel.component.scss

@ -139,6 +139,15 @@
max-height: 1.25rem;
}
&.logo-selfhostedhub {
background-image: url('/assets/images/logo-selfhostedhub.svg');
background-position: center;
background-repeat: no-repeat;
background-size: contain;
filter: grayscale(1);
opacity: 0.5;
}
&.logo-sourceforge {
mask-image: url('/assets/images/logo-sourceforge.svg');
}

6
libs/ui/src/lib/logo-carousel/logo-carousel.component.ts

@ -82,6 +82,12 @@ export class GfLogoCarouselComponent {
title: 'selfh.st — Self-hosted content and software',
url: 'https://selfh.st'
},
{
className: 'logo-selfhostedhub',
name: 'SelfhostedHub',
title: 'SelfhostedHub — Discover best self-hosted software',
url: 'https://selfhostedhub.com'
},
{
className: 'logo-sourceforge',
isMask: true,

269
package-lock.json

@ -1,12 +1,12 @@
{
"name": "ghostfolio",
"version": "2.209.0",
"version": "2.211.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ghostfolio",
"version": "2.209.0",
"version": "2.211.0",
"hasInstallScript": true,
"license": "AGPL-3.0",
"dependencies": {
@ -43,7 +43,7 @@
"@nestjs/schedule": "6.0.0",
"@nestjs/serve-static": "5.0.3",
"@openrouter/ai-sdk-provider": "0.7.2",
"@prisma/client": "6.17.1",
"@prisma/client": "6.18.0",
"@simplewebauthn/browser": "13.1.0",
"@simplewebauthn/server": "13.1.1",
"@stripe/stripe-js": "7.9.0",
@ -92,7 +92,7 @@
"rxjs": "7.8.1",
"stripe": "18.5.0",
"svgmap": "2.12.2",
"tablemark": "3.1.0",
"tablemark": "4.1.0",
"twitter-api-v2": "1.23.0",
"uuid": "11.1.0",
"yahoo-finance2": "3.10.0",
@ -151,7 +151,7 @@
"nx": "21.5.1",
"prettier": "3.6.2",
"prettier-plugin-organize-attributes": "1.0.0",
"prisma": "6.17.1",
"prisma": "6.18.0",
"react": "18.2.0",
"react-dom": "18.2.0",
"replace-in-file": "8.3.0",
@ -6115,9 +6115,9 @@
}
},
"node_modules/@ioredis/commands": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.3.0.tgz",
"integrity": "sha512-M/T6Zewn7sDaBQEqIZ8Rb+i9y8qfGmq+5SDFSf9sA2lUZTmdDLVdOiQaeDp+Q4wElZ9HG1GAX5KhDaidp6LQsQ==",
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.4.0.tgz",
"integrity": "sha512-aFT2yemJJo+TZCmieA7qnYGQooOS7QfNmYrzGtsYd3g9j5iDP8AimYYAesf79ohjbLG12XxC4nG5DyEnC88AsQ==",
"license": "MIT"
},
"node_modules/@isaacs/balanced-match": {
@ -11983,9 +11983,9 @@
"license": "MIT"
},
"node_modules/@prisma/client": {
"version": "6.17.1",
"resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.17.1.tgz",
"integrity": "sha512-zL58jbLzYamjnNnmNA51IOZdbk5ci03KviXCuB0Tydc9btH2kDWsi1pQm2VecviRTM7jGia0OPPkgpGnT3nKvw==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.18.0.tgz",
"integrity": "sha512-jnL2I9gDnPnw4A+4h5SuNn8Gc+1mL1Z79U/3I9eE2gbxJG1oSA+62ByPW4xkeDgwE0fqMzzpAZ7IHxYnLZ4iQA==",
"hasInstallScript": true,
"license": "Apache-2.0",
"engines": {
@ -12005,66 +12005,66 @@
}
},
"node_modules/@prisma/config": {
"version": "6.17.1",
"resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.17.1.tgz",
"integrity": "sha512-fs8wY6DsvOCzuiyWVckrVs1LOcbY4LZNz8ki4uUIQ28jCCzojTGqdLhN2Jl5lDnC1yI8/gNIKpsWDM8pLhOdwA==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.18.0.tgz",
"integrity": "sha512-rgFzspCpwsE+q3OF/xkp0fI2SJ3PfNe9LLMmuSVbAZ4nN66WfBiKqJKo/hLz3ysxiPQZf8h1SMf2ilqPMeWATQ==",
"devOptional": true,
"license": "Apache-2.0",
"dependencies": {
"c12": "3.1.0",
"deepmerge-ts": "7.1.5",
"effect": "3.16.12",
"effect": "3.18.4",
"empathic": "2.0.0"
}
},
"node_modules/@prisma/debug": {
"version": "6.17.1",
"resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.17.1.tgz",
"integrity": "sha512-Vf7Tt5Wh9XcndpbmeotuqOMLWPTjEKCsgojxXP2oxE1/xYe7PtnP76hsouG9vis6fctX+TxgmwxTuYi/+xc7dQ==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.18.0.tgz",
"integrity": "sha512-PMVPMmxPj0ps1VY75DIrT430MoOyQx9hmm174k6cmLZpcI95rAPXOQ+pp8ANQkJtNyLVDxnxVJ0QLbrm/ViBcg==",
"devOptional": true,
"license": "Apache-2.0"
},
"node_modules/@prisma/engines": {
"version": "6.17.1",
"resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.17.1.tgz",
"integrity": "sha512-D95Ik3GYZkqZ8lSR4EyFOJ/tR33FcYRP8kK61o+WMsyD10UfJwd7+YielflHfKwiGodcqKqoraWw8ElAgMDbPw==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.18.0.tgz",
"integrity": "sha512-i5RzjGF/ex6AFgqEe2o1IW8iIxJGYVQJVRau13kHPYEL1Ck8Zvwuzamqed/1iIljs5C7L+Opiz5TzSsUebkriA==",
"devOptional": true,
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
"@prisma/debug": "6.17.1",
"@prisma/engines-version": "6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac",
"@prisma/fetch-engine": "6.17.1",
"@prisma/get-platform": "6.17.1"
"@prisma/debug": "6.18.0",
"@prisma/engines-version": "6.18.0-8.34b5a692b7bd79939a9a2c3ef97d816e749cda2f",
"@prisma/fetch-engine": "6.18.0",
"@prisma/get-platform": "6.18.0"
}
},
"node_modules/@prisma/engines-version": {
"version": "6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac",
"resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac.tgz",
"integrity": "sha512-17140E3huOuD9lMdJ9+SF/juOf3WR3sTJMVyyenzqUPbuH+89nPhSWcrY+Mf7tmSs6HvaO+7S+HkELinn6bhdg==",
"version": "6.18.0-8.34b5a692b7bd79939a9a2c3ef97d816e749cda2f",
"resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.18.0-8.34b5a692b7bd79939a9a2c3ef97d816e749cda2f.tgz",
"integrity": "sha512-T7Af4QsJQnSgWN1zBbX+Cha5t4qjHRxoeoWpK4JugJzG/ipmmDMY5S+O0N1ET6sCBNVkf6lz+Y+ZNO9+wFU8pQ==",
"devOptional": true,
"license": "Apache-2.0"
},
"node_modules/@prisma/fetch-engine": {
"version": "6.17.1",
"resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.17.1.tgz",
"integrity": "sha512-AYZiHOs184qkDMiTeshyJCtyL4yERkjfTkJiSJdYuSfc24m94lTNL5+GFinZ6vVz+ktX4NJzHKn1zIFzGTWrWg==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.18.0.tgz",
"integrity": "sha512-TdaBvTtBwP3IoqVYoGIYpD4mWlk0pJpjTJjir/xLeNWlwog7Sl3bD2J0jJ8+5+q/6RBg+acb9drsv5W6lqae7A==",
"devOptional": true,
"license": "Apache-2.0",
"dependencies": {
"@prisma/debug": "6.17.1",
"@prisma/engines-version": "6.17.1-1.272a37d34178c2894197e17273bf937f25acdeac",
"@prisma/get-platform": "6.17.1"
"@prisma/debug": "6.18.0",
"@prisma/engines-version": "6.18.0-8.34b5a692b7bd79939a9a2c3ef97d816e749cda2f",
"@prisma/get-platform": "6.18.0"
}
},
"node_modules/@prisma/get-platform": {
"version": "6.17.1",
"resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.17.1.tgz",
"integrity": "sha512-AKEn6fsfz0r482S5KRDFlIGEaq9wLNcgalD1adL+fPcFFblIKs1sD81kY/utrHdqKuVC6E1XSRpegDK3ZLL4Qg==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.18.0.tgz",
"integrity": "sha512-uXNJCJGhxTCXo2B25Ta91Rk1/Nmlqg9p7G9GKh8TPhxvAyXCvMNQoogj4JLEUy+3ku8g59cpyQIKFhqY2xO2bg==",
"devOptional": true,
"license": "Apache-2.0",
"dependencies": {
"@prisma/debug": "6.17.1"
"@prisma/debug": "6.18.0"
}
},
"node_modules/@redis/client": {
@ -17595,6 +17595,12 @@
"node": ">=8"
}
},
"node_modules/change-case": {
"version": "5.4.4",
"resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.4.tgz",
"integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==",
"license": "MIT"
},
"node_modules/char-regex": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
@ -21166,9 +21172,9 @@
"license": "MIT"
},
"node_modules/effect": {
"version": "3.16.12",
"resolved": "https://registry.npmjs.org/effect/-/effect-3.16.12.tgz",
"integrity": "sha512-N39iBk0K71F9nb442TLbTkjl24FLUzuvx2i1I2RsEAQsdAdUTuUoW0vlfUXgkMTUOnYqKnWcFfqw4hK4Pw27hg==",
"version": "3.18.4",
"resolved": "https://registry.npmjs.org/effect/-/effect-3.18.4.tgz",
"integrity": "sha512-b1LXQJLe9D11wfnOKAk3PKxuqYshQ0Heez+y5pnkd3jLj1yx9QhM72zZ9uUrOQyNvrs2GZZd/3maL0ZV18YuDA==",
"devOptional": true,
"license": "MIT",
"dependencies": {
@ -23695,15 +23701,6 @@
"node": ">= 0.4"
}
},
"node_modules/get-stdin": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
"integrity": "sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==",
"license": "MIT",
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/get-stream": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
@ -25108,12 +25105,12 @@
}
},
"node_modules/ioredis": {
"version": "5.6.1",
"resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.6.1.tgz",
"integrity": "sha512-UxC0Yv1Y4WRJiGQxQkP0hfdL0/5/6YvdfOOClRgJ0qppSarkhneSa6UvkMkms0AkdGimSH3Ikqm+6mkMmX7vGA==",
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.8.2.tgz",
"integrity": "sha512-C6uC+kleiIMmjViJINWk80sOQw5lEzse1ZmvD+S/s8p8CWapftSaC+kocGTx6xrbrJ4WmYQGC08ffHLr6ToR6Q==",
"license": "MIT",
"dependencies": {
"@ioredis/commands": "^1.1.1",
"@ioredis/commands": "1.4.0",
"cluster-key-slot": "^1.1.0",
"debug": "^4.3.4",
"denque": "^2.1.0",
@ -32021,6 +32018,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
"integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
"dev": true,
"license": "MIT",
"dependencies": {
"tslib": "^2.0.3"
@ -32924,6 +32922,7 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
"integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
"dev": true,
"license": "MIT",
"dependencies": {
"lower-case": "^2.0.2",
@ -35802,15 +35801,15 @@
}
},
"node_modules/prisma": {
"version": "6.17.1",
"resolved": "https://registry.npmjs.org/prisma/-/prisma-6.17.1.tgz",
"integrity": "sha512-ac6h0sM1Tg3zu8NInY+qhP/S9KhENVaw9n1BrGKQVFu05JT5yT5Qqqmb8tMRIE3ZXvVj4xcRA5yfrsy4X7Yy5g==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/prisma/-/prisma-6.18.0.tgz",
"integrity": "sha512-bXWy3vTk8mnRmT+SLyZBQoC2vtV9Z8u7OHvEu+aULYxwiop/CPiFZ+F56KsNRNf35jw+8wcu8pmLsjxpBxAO9g==",
"devOptional": true,
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
"@prisma/config": "6.17.1",
"@prisma/engines": "6.17.1"
"@prisma/config": "6.18.0",
"@prisma/engines": "6.18.0"
},
"bin": {
"prisma": "build/index.js"
@ -37691,17 +37690,6 @@
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
"node_modules/sentence-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz",
"integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==",
"license": "MIT",
"dependencies": {
"no-case": "^3.0.4",
"tslib": "^2.0.3",
"upper-case-first": "^2.0.2"
}
},
"node_modules/serialize-javascript": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
@ -38351,19 +38339,6 @@
"wbuf": "^1.7.3"
}
},
"node_modules/split-text-to-chunks": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/split-text-to-chunks/-/split-text-to-chunks-1.0.0.tgz",
"integrity": "sha512-HLtEwXK/T4l7QZSJ/kOSsZC0o5e2Xg3GzKKFxm0ZexJXw0Bo4CaEl39l7MCSRHk9EOOL5jT8JIDjmhTtcoe6lQ==",
"license": "MIT",
"dependencies": {
"get-stdin": "^5.0.1",
"minimist": "^1.2.0"
},
"bin": {
"wordwrap": "cli.js"
}
},
"node_modules/sprintf-js": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
@ -39133,16 +39108,114 @@
}
},
"node_modules/tablemark": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/tablemark/-/tablemark-3.1.0.tgz",
"integrity": "sha512-IwO6f0SEzp1Z+zqz/7ANUmeEac4gaNlknWyj/S9aSg11wZmWYnLeyI/xXvEOU88BYUIf8y30y0wxB58xIKrVlQ==",
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/tablemark/-/tablemark-4.1.0.tgz",
"integrity": "sha512-B3LDjbDo+ac+D5RwkBOPZZ6ua8716KdT+6NO3DKOCHJq0ezE6vV2r92rjrC1ci2H+ocuysl5ytf1T0QqV65yoA==",
"license": "MIT",
"dependencies": {
"sentence-case": "^3.0.4",
"split-text-to-chunks": "^1.0.0"
"ansi-regex": "^6.2.2",
"change-case": "^5.4.4",
"string-width": "^8.1.0",
"wordwrapjs": "^5.1.0",
"wrap-ansi": "^9.0.2"
},
"engines": {
"node": ">=14.16"
"node": ">=20"
}
},
"node_modules/tablemark/node_modules/ansi-regex": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
"node_modules/tablemark/node_modules/ansi-styles": {
"version": "6.2.3",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/tablemark/node_modules/emoji-regex": {
"version": "10.6.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
"license": "MIT"
},
"node_modules/tablemark/node_modules/string-width": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/tablemark/node_modules/strip-ansi": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
"node_modules/tablemark/node_modules/wrap-ansi": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
"integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
"license": "MIT",
"dependencies": {
"ansi-styles": "^6.2.1",
"string-width": "^7.0.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
"node_modules/tablemark/node_modules/wrap-ansi/node_modules/string-width": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
"license": "MIT",
"dependencies": {
"emoji-regex": "^10.3.0",
"get-east-asian-width": "^1.0.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/tapable": {
@ -40624,15 +40697,6 @@
"browserslist": ">= 4.21.0"
}
},
"node_modules/upper-case-first": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz",
"integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==",
"license": "MIT",
"dependencies": {
"tslib": "^2.0.3"
}
},
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@ -42036,6 +42100,15 @@
"node": ">=0.10.0"
}
},
"node_modules/wordwrapjs": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.1.tgz",
"integrity": "sha512-0yweIbkINJodk27gX9LBGMzyQdBDan3s/dEAiwBOj+Mf0PPyWL6/rikalkv8EeD0E8jm4o5RXEOrFTP3NXbhJg==",
"license": "MIT",
"engines": {
"node": ">=12.17"
}
},
"node_modules/wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",

8
package.json

@ -1,6 +1,6 @@
{
"name": "ghostfolio",
"version": "2.209.0",
"version": "2.211.0",
"homepage": "https://ghostfol.io",
"license": "AGPL-3.0",
"repository": "https://github.com/ghostfolio/ghostfolio",
@ -89,7 +89,7 @@
"@nestjs/schedule": "6.0.0",
"@nestjs/serve-static": "5.0.3",
"@openrouter/ai-sdk-provider": "0.7.2",
"@prisma/client": "6.17.1",
"@prisma/client": "6.18.0",
"@simplewebauthn/browser": "13.1.0",
"@simplewebauthn/server": "13.1.1",
"@stripe/stripe-js": "7.9.0",
@ -138,7 +138,7 @@
"rxjs": "7.8.1",
"stripe": "18.5.0",
"svgmap": "2.12.2",
"tablemark": "3.1.0",
"tablemark": "4.1.0",
"twitter-api-v2": "1.23.0",
"uuid": "11.1.0",
"yahoo-finance2": "3.10.0",
@ -197,7 +197,7 @@
"nx": "21.5.1",
"prettier": "3.6.2",
"prettier-plugin-organize-attributes": "1.0.0",
"prisma": "6.17.1",
"prisma": "6.18.0",
"react": "18.2.0",
"react-dom": "18.2.0",
"replace-in-file": "8.3.0",

14
prisma.config.ts

@ -1,14 +0,0 @@
import { config } from 'dotenv';
import { expand } from 'dotenv-expand';
import { join } from 'node:path';
import { defineConfig } from 'prisma/config';
expand(config({ quiet: true }));
export default defineConfig({
migrations: {
path: join('prisma', 'migrations'),
seed: `node ${join('prisma', 'seed.mts')}`
},
schema: join('prisma', 'schema.prisma')
});
Loading…
Cancel
Save