Browse Source

Merge branch 'next' into feature/migrate-from-angular-material-design-2-to-3

pull/6163/head
Thomas Kaul 3 weeks ago
committed by GitHub
parent
commit
de190c3ec5
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 4
      .vscode/extensions.json
  2. 2
      .vscode/settings.json
  3. 18
      CHANGELOG.md
  4. 9
      README.md
  5. 6
      apps/api/src/app/import/import.service.ts
  6. 6
      apps/api/src/app/portfolio/calculator/portfolio-calculator.ts
  7. 11
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-buy.spec.ts
  8. 11
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts
  9. 11
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell.spec.ts
  10. 11
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy.spec.ts
  11. 12
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur.spec.ts
  12. 14
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts
  13. 12
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd.spec.ts
  14. 2
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-cash.spec.ts
  15. 11
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-buy.spec.ts
  16. 2
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-with-dividend.spec.ts
  17. 7
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-no-orders.spec.ts
  18. 11
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell-partially.spec.ts
  19. 11
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell.spec.ts
  20. 2
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-valuable.spec.ts
  21. 7
      apps/api/src/app/portfolio/interfaces/transaction-point-symbol.interface.ts
  22. 24
      apps/api/src/app/portfolio/portfolio.service.ts
  23. 210
      apps/api/src/assets/cryptocurrencies/cryptocurrencies.json
  24. 14
      apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts
  25. 4
      apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
  26. 18
      apps/client/src/app/pages/about/overview/about-overview-page.html
  27. 11
      apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
  28. 66
      apps/client/src/app/pages/portfolio/analysis/analysis-page.html
  29. BIN
      apps/client/src/assets/images/sponsors/logo-lambdatest.png
  30. 33
      apps/client/src/assets/images/sponsors/logo-testmu-dark.svg
  31. 33
      apps/client/src/assets/images/sponsors/logo-testmu-light.svg
  32. 3
      apps/client/src/environments/environment.prod.ts
  33. 3
      apps/client/src/environments/environment.ts
  34. 64
      apps/client/src/locales/messages.ca.xlf
  35. 64
      apps/client/src/locales/messages.de.xlf
  36. 64
      apps/client/src/locales/messages.es.xlf
  37. 64
      apps/client/src/locales/messages.fr.xlf
  38. 64
      apps/client/src/locales/messages.it.xlf
  39. 64
      apps/client/src/locales/messages.ko.xlf
  40. 64
      apps/client/src/locales/messages.nl.xlf
  41. 64
      apps/client/src/locales/messages.pl.xlf
  42. 64
      apps/client/src/locales/messages.pt.xlf
  43. 64
      apps/client/src/locales/messages.tr.xlf
  44. 64
      apps/client/src/locales/messages.uk.xlf
  45. 61
      apps/client/src/locales/messages.xlf
  46. 64
      apps/client/src/locales/messages.zh.xlf
  47. 2
      libs/common/src/lib/interfaces/index.ts
  48. 4
      libs/common/src/lib/interfaces/portfolio-position.interface.ts
  49. 27
      libs/common/src/lib/interfaces/position.interface.ts
  50. 3
      libs/common/src/lib/interfaces/responses/accounts-response.interface.ts
  51. 2
      libs/common/src/lib/interfaces/responses/portfolio-holding-response.interface.ts
  52. 5
      libs/common/src/lib/models/timeline-position.ts
  53. 4
      libs/common/src/lib/types/account-with-value.type.ts
  54. 1
      libs/ui/src/lib/environment/environment.interface.ts
  55. 7
      libs/ui/src/lib/mocks/holdings.ts
  56. 12
      package-lock.json
  57. 4
      package.json

4
.vscode/extensions.json

@ -1,8 +1,8 @@
{
"recommendations": [
"angular.ng-template",
"esbenp.prettier-vscode",
"firsttris.vscode-jest-runner",
"nrwl.angular-console",
"prettier.prettier-vscode"
"nrwl.angular-console"
]
}

2
.vscode/settings.json

@ -1,4 +1,4 @@
{
"editor.defaultFormatter": "prettier.prettier-vscode",
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}

18
CHANGELOG.md

@ -11,10 +11,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Migrated from _Material Design_ 2 to _Material Design_ 3
## Unreleased
## 2.233.0 - 2026-01-23
### Changed
- Deprecated `firstBuyDate` in favor of `dateOfFirstActivity` in the portfolio calculator
- Deprecated `transactionCount` in favor of `activitiesCount` in the portfolio calculator and service
- Removed the deprecated `firstBuyDate` from the endpoint `GET api/v1/portfolio/holding/:dataSource/:symbol`
- Refreshed the cryptocurrencies list
- Upgraded `prettier` from version `3.7.4` to `3.8.0`
## 2.232.0 - 2026-01-19
### Added
- Extended the analysis page to include the total amount, change and performance with currency effects (experimental)
### Changed
- Deprecated `firstBuyDate` in favor of `dateOfFirstActivity` in the endpoint `GET api/v1/portfolio/holding/:dataSource/:symbol`
- Improved the language localization for German (`de`)
- Upgraded `countries-list` from version `3.2.0` to `3.2.2`
## 2.231.0 - 2026-01-17

9
README.md

@ -318,12 +318,9 @@ If you like to support this project, become a [**Sponsor**](https://github.com/s
## Sponsors
<div align="center">
<p>
Browser testing via<br />
<a href="https://www.lambdatest.com?utm_medium=sponsor&utm_source=ghostfolio" target="_blank" title="LambdaTest - AI Powered Testing Tool">
<img alt="LambdaTest Logo" height="45" width="250" src="https://www.lambdatest.com/blue-logo.png" />
</a>
</p>
<a href="https://www.testmu.ai?utm_medium=sponsor&utm_source=ghostfolio" target="_blank" title="TestMu AI - AI Powered Testing Tool">
<img alt="TestMu AI Logo" height="45" src="https://assets.testmu.ai/resources/images/logos/logo.svg" />
</a>
</div>
## Analytics

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

@ -82,7 +82,7 @@ export class ImportService {
filterBySymbol: symbol
});
const { firstBuyDate, historicalData } = holding;
const { dateOfFirstActivity, historicalData } = holding;
const [{ accounts }, { activities }, [assetProfile], dividends] =
await Promise.all([
@ -95,7 +95,7 @@ export class ImportService {
filters,
userCurrency,
userId,
startDate: parseDate(firstBuyDate)
startDate: parseDate(dateOfFirstActivity)
}),
this.symbolProfileService.getSymbolProfiles([
{
@ -106,7 +106,7 @@ export class ImportService {
await this.dataProviderService.getDividends({
dataSource,
symbol,
from: parseDate(firstBuyDate),
from: parseDate(dateOfFirstActivity),
granularity: 'day',
to: new Date()
})

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

@ -407,9 +407,11 @@ export abstract class PortfolioCalculator {
includeInTotalAssetValue,
timeWeightedInvestment,
timeWeightedInvestmentWithCurrencyEffect,
activitiesCount: item.activitiesCount,
averagePrice: item.averagePrice,
currency: item.currency,
dataSource: item.dataSource,
dateOfFirstActivity: item.dateOfFirstActivity,
dividend: totalDividend,
dividendInBaseCurrency: totalDividendInBaseCurrency,
fee: item.fee,
@ -993,9 +995,11 @@ export abstract class PortfolioCalculator {
investment,
skipErrors,
symbol,
activitiesCount: oldAccumulatedSymbol.activitiesCount + 1,
averagePrice: newQuantity.eq(0)
? new Big(0)
: investment.div(newQuantity).abs(),
dateOfFirstActivity: oldAccumulatedSymbol.dateOfFirstActivity,
dividend: new Big(0),
fee: oldAccumulatedSymbol.fee.plus(fee),
feeInBaseCurrency:
@ -1016,7 +1020,9 @@ export abstract class PortfolioCalculator {
skipErrors,
symbol,
tags,
activitiesCount: 1,
averagePrice: unitPrice,
dateOfFirstActivity: date,
dividend: new Big(0),
firstBuyDate: date,
includeInHoldings: INVESTMENT_ACTIVITY_TYPES.includes(type),

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

@ -133,15 +133,22 @@ describe('PortfolioCalculator', () => {
groupBy: 'month'
});
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('595.6'),
errors: [],
hasErrors: false,
positions: [
{
activitiesCount: 2,
averagePrice: new Big('139.75'),
currency: 'CHF',
dataSource: 'YAHOO',
dateOfFirstActivity: '2021-11-22',
dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'),
fee: new Big('3.2'),
@ -202,6 +209,10 @@ describe('PortfolioCalculator', () => {
{ date: '2021-11-01', investment: 559 },
{ date: '2021-12-01', investment: 0 }
]);
expect(investmentsByYear).toEqual([
{ date: '2021-01-01', investment: 559 }
]);
});
});
});

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

@ -149,15 +149,22 @@ describe('PortfolioCalculator', () => {
groupBy: 'month'
});
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('0'),
errors: [],
hasErrors: false,
positions: [
{
activitiesCount: 3,
averagePrice: new Big('0'),
currency: 'CHF',
dataSource: 'YAHOO',
dateOfFirstActivity: '2021-11-22',
dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'),
fee: new Big('3.2'),
@ -216,6 +223,10 @@ describe('PortfolioCalculator', () => {
{ date: '2021-11-01', investment: 0 },
{ date: '2021-12-01', investment: 0 }
]);
expect(investmentsByYear).toEqual([
{ date: '2021-01-01', investment: 0 }
]);
});
});
});

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

@ -133,15 +133,22 @@ describe('PortfolioCalculator', () => {
groupBy: 'month'
});
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('0'),
errors: [],
hasErrors: false,
positions: [
{
activitiesCount: 2,
averagePrice: new Big('0'),
currency: 'CHF',
dataSource: 'YAHOO',
dateOfFirstActivity: '2021-11-22',
dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'),
fee: new Big('3.2'),
@ -200,6 +207,10 @@ describe('PortfolioCalculator', () => {
{ date: '2021-11-01', investment: 0 },
{ date: '2021-12-01', investment: 0 }
]);
expect(investmentsByYear).toEqual([
{ date: '2021-01-01', investment: 0 }
]);
});
});
});

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

@ -123,15 +123,22 @@ describe('PortfolioCalculator', () => {
groupBy: 'month'
});
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('297.8'),
errors: [],
hasErrors: false,
positions: [
{
activitiesCount: 1,
averagePrice: new Big('136.6'),
currency: 'CHF',
dataSource: 'YAHOO',
dateOfFirstActivity: '2021-11-30',
dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'),
fee: new Big('1.55'),
@ -199,6 +206,10 @@ describe('PortfolioCalculator', () => {
{ date: '2021-11-01', investment: 273.2 },
{ date: '2021-12-01', investment: 0 }
]);
expect(investmentsByYear).toEqual([
{ date: '2021-01-01', investment: 273.2 }
]);
});
it.only('with BALN.SW buy (with unit price lower than closing price)', async () => {

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

@ -132,6 +132,11 @@ describe('PortfolioCalculator', () => {
groupBy: 'month'
});
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot.historicalData[0]).toEqual({
date: '2021-12-11',
investmentValueWithCurrencyEffect: 0,
@ -190,9 +195,11 @@ describe('PortfolioCalculator', () => {
hasErrors: false,
positions: [
{
activitiesCount: 1,
averagePrice: new Big('44558.42'),
currency: 'USD',
dataSource: 'YAHOO',
dateOfFirstActivity: '2021-12-12',
dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'),
fee: new Big('4.46'),
@ -245,6 +252,11 @@ describe('PortfolioCalculator', () => {
{ date: '2021-12-01', investment: 44558.42 },
{ date: '2022-01-01', investment: 0 }
]);
expect(investmentsByYear).toEqual([
{ date: '2021-01-01', investment: 44558.42 },
{ date: '2022-01-01', investment: 0 }
]);
});
});
});

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

@ -146,6 +146,11 @@ describe('PortfolioCalculator', () => {
groupBy: 'month'
});
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('13298.425356'),
errors: [],
@ -153,9 +158,11 @@ describe('PortfolioCalculator', () => {
hasErrors: false,
positions: [
{
activitiesCount: 2,
averagePrice: new Big('320.43'),
currency: 'USD',
dataSource: 'YAHOO',
dateOfFirstActivity: '2015-01-01',
dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'),
fee: new Big('0'),
@ -253,6 +260,13 @@ describe('PortfolioCalculator', () => {
{ date: '2017-12-01', investment: -318.54266729999995 },
{ date: '2018-01-01', investment: 0 }
]);
expect(investmentsByYear).toEqual([
{ date: '2015-01-01', investment: 637.0853345999999 },
{ date: '2016-01-01', investment: 0 },
{ date: '2017-01-01', investment: -318.54266729999995 },
{ date: '2018-01-01', investment: 0 }
]);
});
});
});

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

@ -132,6 +132,11 @@ describe('PortfolioCalculator', () => {
groupBy: 'month'
});
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot.historicalData[0]).toEqual({
date: '2021-12-11',
investmentValueWithCurrencyEffect: 0,
@ -190,9 +195,11 @@ describe('PortfolioCalculator', () => {
hasErrors: false,
positions: [
{
activitiesCount: 1,
averagePrice: new Big('44558.42'),
currency: 'USD',
dataSource: 'YAHOO',
dateOfFirstActivity: '2021-12-12',
dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'),
fee: new Big('4.46'),
@ -245,6 +252,11 @@ describe('PortfolioCalculator', () => {
{ date: '2021-12-01', investment: 44558.42 },
{ date: '2022-01-01', investment: 0 }
]);
expect(investmentsByYear).toEqual([
{ date: '2021-01-01', investment: 44558.42 },
{ date: '2022-01-01', investment: 0 }
]);
});
});
});

2
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-cash.spec.ts

@ -230,9 +230,11 @@ describe('PortfolioCalculator', () => {
* Value in base currency: 2000 USD * 0.91 = 1820 CHF
*/
expect(position).toMatchObject<TimelinePosition>({
activitiesCount: 2,
averagePrice: new Big(1),
currency: 'USD',
dataSource: DataSource.YAHOO,
dateOfFirstActivity: '2023-12-31',
dividend: new Big(0),
dividendInBaseCurrency: new Big(0),
fee: new Big(0),

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

@ -129,15 +129,22 @@ describe('PortfolioCalculator', () => {
groupBy: 'month'
});
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('103.10483'),
errors: [],
hasErrors: false,
positions: [
{
activitiesCount: 1,
averagePrice: new Big('89.12'),
currency: 'USD',
dataSource: 'YAHOO',
dateOfFirstActivity: '2023-01-03',
dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'),
fee: new Big('1'),
@ -218,6 +225,10 @@ describe('PortfolioCalculator', () => {
investment: 0
}
]);
expect(investmentsByYear).toEqual([
{ date: '2023-01-01', investment: 82.329056 }
]);
});
});
});

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

@ -131,9 +131,11 @@ describe('PortfolioCalculator', () => {
hasErrors: false,
positions: [
{
activitiesCount: 2,
averagePrice: new Big('298.58'),
currency: 'USD',
dataSource: 'YAHOO',
dateOfFirstActivity: '2021-09-16',
dividend: new Big('0.62'),
dividendInBaseCurrency: new Big('0.62'),
fee: new Big('19'),

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

@ -93,6 +93,11 @@ describe('PortfolioCalculator', () => {
groupBy: 'month'
});
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big(0),
hasErrors: false,
@ -108,6 +113,8 @@ describe('PortfolioCalculator', () => {
expect(investments).toEqual([]);
expect(investmentsByMonth).toEqual([]);
expect(investmentsByYear).toEqual([]);
});
});
});

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

@ -129,15 +129,22 @@ describe('PortfolioCalculator', () => {
groupBy: 'month'
});
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('87.8'),
errors: [],
hasErrors: false,
positions: [
{
activitiesCount: 2,
averagePrice: new Big('75.80'),
currency: 'CHF',
dataSource: 'YAHOO',
dateOfFirstActivity: '2022-03-07',
dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'),
fee: new Big('4.25'),
@ -198,6 +205,10 @@ describe('PortfolioCalculator', () => {
{ date: '2022-03-01', investment: 151.6 },
{ date: '2022-04-01', investment: -75.8 }
]);
expect(investmentsByYear).toEqual([
{ date: '2022-01-01', investment: 75.8 }
]);
});
});
});

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

@ -129,6 +129,11 @@ describe('PortfolioCalculator', () => {
groupBy: 'month'
});
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot.historicalData[0]).toEqual({
date: '2022-03-06',
investmentValueWithCurrencyEffect: 0,
@ -188,9 +193,11 @@ describe('PortfolioCalculator', () => {
hasErrors: false,
positions: [
{
activitiesCount: 2,
averagePrice: new Big('0'),
currency: 'CHF',
dataSource: 'YAHOO',
dateOfFirstActivity: '2022-03-07',
dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'),
fee: new Big('0'),
@ -249,6 +256,10 @@ describe('PortfolioCalculator', () => {
{ date: '2022-03-01', investment: 151.6 },
{ date: '2022-04-01', investment: -151.6 }
]);
expect(investmentsByYear).toEqual([
{ date: '2022-01-01', investment: 0 }
]);
});
});
});

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

@ -116,9 +116,11 @@ describe('PortfolioCalculator', () => {
hasErrors: false,
positions: [
{
activitiesCount: 1,
averagePrice: new Big('500000'),
currency: 'USD',
dataSource: 'MANUAL',
dateOfFirstActivity: '2022-01-01',
dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'),
fee: new Big('0'),

7
apps/api/src/app/portfolio/interfaces/transaction-point-symbol.interface.ts

@ -2,19 +2,26 @@ import { AssetSubClass, DataSource, Tag } from '@prisma/client';
import { Big } from 'big.js';
export interface TransactionPointSymbol {
activitiesCount: number;
assetSubClass: AssetSubClass;
averagePrice: Big;
currency: string;
dataSource: DataSource;
dateOfFirstActivity: string;
dividend: Big;
fee: Big;
feeInBaseCurrency: Big;
/** @deprecated use dateOfFirstActivity instead */
firstBuyDate: string;
includeInHoldings: boolean;
investment: Big;
quantity: Big;
skipErrors: boolean;
symbol: string;
tags?: Tag[];
/** @deprecated use activitiesCount instead */
transactionCount: number;
}

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

@ -179,9 +179,9 @@ export class PortfolioService {
return Promise.all(
accounts.map(async (account) => {
let activitiesCount = 0;
let dividendInBaseCurrency = 0;
let interestInBaseCurrency = 0;
let transactionCount = 0;
for (const {
currency,
@ -214,7 +214,7 @@ export class PortfolioService {
}
if (!isDraft) {
transactionCount += 1;
activitiesCount += 1;
}
}
@ -223,9 +223,9 @@ export class PortfolioService {
const result = {
...account,
activitiesCount,
dividendInBaseCurrency,
interestInBaseCurrency,
transactionCount,
valueInBaseCurrency,
allocationInPercentage: 0,
balanceInBaseCurrency: this.exchangeRateDataService.toCurrency(
@ -233,6 +233,7 @@ export class PortfolioService {
account.currency,
userCurrency
),
transactionCount: activitiesCount,
value: this.exchangeRateDataService.toCurrency(
valueInBaseCurrency,
userCurrency,
@ -262,6 +263,8 @@ export class PortfolioService {
withExcludedAccounts
});
let activitiesCount = 0;
const searchQuery = filters.find(({ type }) => {
return type === 'SEARCH_QUERY';
})?.id;
@ -284,6 +287,8 @@ export class PortfolioService {
let transactionCount = 0;
for (const account of accounts) {
activitiesCount += account.activitiesCount;
totalBalanceInBaseCurrency = totalBalanceInBaseCurrency.plus(
account.balanceInBaseCurrency
);
@ -296,6 +301,7 @@ export class PortfolioService {
totalValueInBaseCurrency = totalValueInBaseCurrency.plus(
account.valueInBaseCurrency
);
transactionCount += account.transactionCount;
}
@ -310,6 +316,7 @@ export class PortfolioService {
return {
accounts,
activitiesCount,
transactionCount,
totalBalanceInBaseCurrency: totalBalanceInBaseCurrency.toNumber(),
totalDividendInBaseCurrency: totalDividendInBaseCurrency.toNumber(),
@ -567,6 +574,7 @@ export class PortfolioService {
}
for (const {
activitiesCount,
currency,
dividend,
firstBuyDate,
@ -610,6 +618,7 @@ export class PortfolioService {
}
holdings[symbol] = {
activitiesCount,
currency,
markets,
marketsAdvanced,
@ -789,6 +798,7 @@ export class PortfolioService {
}
const {
activitiesCount,
averagePrice,
currency,
dividendInBaseCurrency,
@ -807,8 +817,7 @@ export class PortfolioService {
quantity,
tags,
timeWeightedInvestment,
timeWeightedInvestmentWithCurrencyEffect,
transactionCount
timeWeightedInvestmentWithCurrencyEffect
} = holding;
const activitiesOfHolding = activities.filter(({ SymbolProfile }) => {
@ -914,15 +923,15 @@ export class PortfolioService {
);
return {
firstBuyDate,
activitiesCount,
marketPrice,
marketPriceMax,
marketPriceMin,
SymbolProfile,
tags,
activitiesCount: transactionCount,
averagePrice: averagePrice.toNumber(),
dataProviderInfo: portfolioCalculator.getDataProviderInfos()?.[0],
dateOfFirstActivity: firstBuyDate,
dividendInBaseCurrency: dividendInBaseCurrency.toNumber(),
dividendYieldPercent: dividendYieldPercent.toNumber(),
dividendYieldPercentWithCurrencyEffect:
@ -1657,6 +1666,7 @@ export class PortfolioService {
}): PortfolioPosition {
return {
currency,
activitiesCount: 0,
allocationInPercentage: 0,
assetClass: AssetClass.LIQUIDITY,
assetSubClass: AssetSubClass.CASH,

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

File diff suppressed because it is too large

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

@ -116,11 +116,11 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
};
public dataProviderInfo: DataProviderInfo;
public dataSource: MatTableDataSource<Activity>;
public dateOfFirstActivity: string;
public dividendInBaseCurrency: number;
public dividendInBaseCurrencyPrecision = 2;
public dividendYieldPercentWithCurrencyEffect: number;
public feeInBaseCurrency: number;
public firstBuyDate: string;
public hasPermissionToCreateOwnTag: boolean;
public hasPermissionToReadMarketDataOfOwnAssetProfile: boolean;
public historicalDataItems: LineChartItem[];
@ -267,10 +267,10 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
activitiesCount,
averagePrice,
dataProviderInfo,
dateOfFirstActivity,
dividendInBaseCurrency,
dividendYieldPercentWithCurrencyEffect,
feeInBaseCurrency,
firstBuyDate,
historicalData,
investmentInBaseCurrencyWithCurrencyEffect,
marketPrice,
@ -298,6 +298,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
this.benchmarkDataItems = [];
this.countries = {};
this.dataProviderInfo = dataProviderInfo;
this.dateOfFirstActivity = dateOfFirstActivity;
this.dividendInBaseCurrency = dividendInBaseCurrency;
if (
@ -312,7 +313,6 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
dividendYieldPercentWithCurrencyEffect;
this.feeInBaseCurrency = feeInBaseCurrency;
this.firstBuyDate = firstBuyDate;
this.hasPermissionToReadMarketDataOfOwnAssetProfile =
hasPermission(
@ -461,16 +461,16 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
}
}
if (isToday(parseISO(this.firstBuyDate))) {
if (isToday(parseISO(this.dateOfFirstActivity))) {
// Add average price
this.historicalDataItems.push({
date: this.firstBuyDate,
date: this.dateOfFirstActivity,
value: this.averagePrice
});
// Add benchmark 1
this.benchmarkDataItems.push({
date: this.firstBuyDate,
date: this.dateOfFirstActivity,
value: averagePrice
});
@ -501,7 +501,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
if (
this.benchmarkDataItems[0]?.value === undefined &&
isSameMonth(parseISO(this.firstBuyDate), new Date())
isSameMonth(parseISO(this.dateOfFirstActivity), new Date())
) {
this.benchmarkDataItems[0].value = this.averagePrice;
}

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

@ -215,7 +215,7 @@
[deviceType]="data.deviceType"
[isDate]="true"
[locale]="data.locale"
[value]="firstBuyDate"
[value]="dateOfFirstActivity"
>First Activity</gf-value
>
</div>
@ -400,7 +400,7 @@
<gf-historical-market-data-editor
[currency]="SymbolProfile?.currency"
[dataSource]="SymbolProfile?.dataSource"
[dateOfFirstActivity]="firstBuyDate"
[dateOfFirstActivity]="dateOfFirstActivity"
[locale]="data.locale"
[marketData]="marketDataItems"
[symbol]="SymbolProfile?.symbol"

18
apps/client/src/app/pages/about/overview/about-overview-page.html

@ -207,18 +207,20 @@
<div class="col-12">
<h2 class="h4 mb-3">Sponsors</h2>
<div class="text-center">
<small>Browser testing via</small>
<br />
<div class="mb-2 small">Browser testing via</div>
<a
href="https://www.lambdatest.com?utm_medium=sponsor&utm_source=ghostfolio"
href="https://www.testmu.ai?utm_medium=sponsor&utm_source=ghostfolio"
target="_blank"
title="LambdaTest - AI Powered Testing Tool"
title="TestMu AI - AI Powered Testing Tool"
>
<img
alt="LambdaTest Logo"
height="45"
src="../assets/images/sponsors/logo-lambdatest.png"
width="250"
alt="TestMu AI Logo"
height="32"
[src]="
user?.settings?.colorScheme === 'LIGHT'
? '../assets/images/sponsors/logo-testmu-dark.svg'
: '../assets/images/sponsors/logo-testmu-light.svg'
"
/>
</a>
</div>

11
apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts

@ -2,6 +2,7 @@ import { GfBenchmarkComparatorComponent } from '@ghostfolio/client/components/be
import { GfInvestmentChartComponent } from '@ghostfolio/client/components/investment-chart/investment-chart.component';
import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service';
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { NUMERICAL_PRECISION_THRESHOLD_6_FIGURES } from '@ghostfolio/common/config';
import {
HistoricalDataItem,
InvestmentItem,
@ -94,6 +95,7 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
public performanceDataItems: HistoricalDataItem[];
public performanceDataItemsInPercentage: HistoricalDataItem[];
public portfolioEvolutionDataLabel = $localize`Investment`;
public precision = 2;
public streaks: PortfolioInvestmentsResponse['streaks'];
public top3: PortfolioPosition[];
public unitCurrentStreak: string;
@ -317,12 +319,21 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
: valueInPercentage
});
}
this.performanceDataItemsInPercentage.push({
date,
value: netPerformanceInPercentageWithCurrencyEffect
});
}
if (
this.deviceType === 'mobile' &&
this.performance.currentValueInBaseCurrency >=
NUMERICAL_PRECISION_THRESHOLD_6_FIGURES
) {
this.precision = 0;
}
this.isLoadingInvestmentChart = false;
this.updateBenchmarkDataItems();

66
apps/client/src/app/pages/portfolio/analysis/analysis-page.html

@ -74,6 +74,72 @@
</div>
</div>
}
@if (user?.settings?.isExperimentalFeatures) {
<div class="mb-5 row">
<div class="col-lg-4 mb-3 mb-lg-0">
<mat-card appearance="outlined">
<mat-card-content>
<gf-value
i18n
size="large"
[isCurrency]="true"
[locale]="user?.settings?.locale"
[precision]="precision"
[unit]="user?.settings?.baseCurrency"
[value]="
isLoadingInvestmentChart
? undefined
: performance?.currentValueInBaseCurrency
"
>Total amount</gf-value
>
</mat-card-content>
</mat-card>
</div>
<div class="col-lg-4 mb-3 mb-lg-0">
<mat-card appearance="outlined">
<mat-card-content>
<gf-value
i18n
size="large"
[colorizeSign]="true"
[isCurrency]="true"
[locale]="user?.settings?.locale"
[precision]="precision"
[unit]="user?.settings?.baseCurrency"
[value]="
isLoadingInvestmentChart
? undefined
: performance?.netPerformanceWithCurrencyEffect
"
>Change with currency effect</gf-value
>
</mat-card-content>
</mat-card>
</div>
<div class="col-lg-4">
<mat-card appearance="outlined">
<mat-card-content>
<gf-value
i18n
size="large"
[colorizeSign]="true"
[isPercent]="true"
[locale]="user?.settings?.locale"
[value]="
isLoadingInvestmentChart
? undefined
: performance?.netPerformancePercentageWithCurrencyEffect
"
>Performance with currency effect</gf-value
>
</mat-card-content>
</mat-card>
</div>
</div>
}
<div class="mb-5 row">
<div class="col-lg">
<gf-benchmark-comparator

BIN
apps/client/src/assets/images/sponsors/logo-lambdatest.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

33
apps/client/src/assets/images/sponsors/logo-testmu-dark.svg

@ -0,0 +1,33 @@
<svg width="392" height="61" viewBox="0 0 392 61" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M53.6262 0.138739H37.5382V39.0182H53.6262V0.138739Z" fill="black" style="fill:black;fill-opacity:1;"/>
<path d="M16.0881 0.138729H1.90735e-05V22.2598L16.0881 39.0182V0.138729Z" fill="black" style="fill:black;fill-opacity:1;"/>
<path d="M16.0881 39.0182H1.90735e-05V60.4689H16.0881V39.0182Z" fill="black" style="fill:black;fill-opacity:1;"/>
<path d="M37.5391 39.0181H16.0883L28.8247 55.1062H37.5391V39.0181Z" fill="black" style="fill:black;fill-opacity:1;"/>
<mask id="path-5-outside-1_344_209" maskUnits="userSpaceOnUse" x="67.6262" y="-0.6" width="324" height="56" fill="black">
<rect fill="white" x="67.6262" y="-0.6" width="324" height="56"/>
<path d="M69.6262 1.4H109.66V7.32H92.8622V53.2H86.4242V7.32H69.6262V1.4Z"/>
<path d="M107.66 34.33C107.66 30.482 108.4 27.1027 109.88 24.192C111.41 21.2813 113.531 19.0367 116.244 17.458C118.958 15.83 122.066 15.016 125.568 15.016C129.022 15.016 132.08 15.7313 134.744 17.162C137.408 18.5927 139.505 20.6647 141.034 23.378C142.564 26.0913 143.378 29.2733 143.476 32.924C143.476 33.4667 143.427 34.33 143.328 35.514H114.024V36.032C114.123 39.732 115.258 42.692 117.428 44.912C119.599 47.132 122.436 48.242 125.938 48.242C128.652 48.242 130.946 47.576 132.82 46.244C134.744 44.8627 136.027 42.9633 136.668 40.546H142.81C142.07 44.394 140.22 47.5513 137.26 50.018C134.3 52.4353 130.674 53.644 126.382 53.644C122.633 53.644 119.352 52.8547 116.54 51.276C113.728 49.648 111.533 47.3787 109.954 44.468C108.425 41.508 107.66 38.1287 107.66 34.33ZM137.186 30.482C136.89 27.2753 135.682 24.784 133.56 23.008C131.488 21.232 128.849 20.344 125.642 20.344C122.781 20.344 120.265 21.2813 118.094 23.156C115.924 25.0307 114.69 27.4727 114.394 30.482H137.186Z"/>
<path d="M154.992 40.768C155.091 43.0373 156.077 44.8873 157.952 46.318C159.876 47.7487 162.343 48.464 165.352 48.464C168.016 48.464 170.162 47.946 171.79 46.91C173.467 45.8247 174.306 44.4187 174.306 42.692C174.306 41.212 173.911 40.0773 173.122 39.288C172.333 38.4987 171.297 37.956 170.014 37.66C168.781 37.364 167.005 37.068 164.686 36.772C161.43 36.3773 158.766 35.8593 156.694 35.218C154.622 34.5767 152.945 33.5653 151.662 32.184C150.379 30.7533 149.738 28.8047 149.738 26.338C149.738 24.118 150.355 22.1447 151.588 20.418C152.871 18.6913 154.597 17.3593 156.768 16.422C158.939 15.4353 161.381 14.942 164.094 14.942C168.534 14.942 172.135 15.978 174.898 18.05C177.71 20.122 179.264 23.082 179.56 26.93H173.492C173.245 24.9567 172.283 23.3287 170.606 22.046C168.929 20.7633 166.832 20.122 164.316 20.122C161.751 20.122 159.679 20.6647 158.1 21.75C156.521 22.786 155.732 24.1673 155.732 25.894C155.732 27.1767 156.102 28.1633 156.842 28.854C157.582 29.5447 158.519 30.0133 159.654 30.26C160.838 30.5067 162.614 30.778 164.982 31.074C168.287 31.4687 171.001 32.0113 173.122 32.702C175.293 33.3927 177.019 34.5027 178.302 36.032C179.634 37.5613 180.3 39.6333 180.3 42.248C180.3 44.5173 179.634 46.5153 178.302 48.242C176.97 49.9687 175.169 51.3007 172.9 52.238C170.631 53.1753 168.115 53.644 165.352 53.644C160.419 53.644 156.447 52.5093 153.438 50.24C150.478 47.9707 148.973 44.8133 148.924 40.768H154.992Z"/>
<path d="M189.7 21.01H182.892V15.46H189.7V4.878H195.768V15.46H205.314V21.01H195.768V43.284C195.768 44.8627 196.064 45.9973 196.656 46.688C197.297 47.3293 198.383 47.65 199.912 47.65H206.498V53.2H199.542C195.99 53.2 193.449 52.4107 191.92 50.832C190.44 49.2533 189.7 46.762 189.7 43.358V21.01Z"/>
<path d="M211.703 1.4H219.843L238.195 44.394L256.325 1.4H264.317V53.2H258.027V12.352L240.859 53.2H235.161L217.993 12.352V53.2H211.703V1.4Z"/>
<path d="M305.955 15.46V53.2H300.701L299.887 48.168C297.026 51.8187 293.005 53.644 287.825 53.644C283.336 53.644 279.734 52.2627 277.021 49.5C274.308 46.7373 272.951 42.396 272.951 36.476V15.46H279.019V36.106C279.019 40.0033 279.858 42.988 281.535 45.06C283.262 47.0827 285.704 48.094 288.861 48.094C292.314 48.094 295.003 46.8607 296.927 44.394C298.9 41.9273 299.887 38.5727 299.887 34.33V15.46H305.955Z"/>
<path d="M330.264 53.2L350.022 1.4H357.644L377.328 53.2H370.446L364.97 39.214H342.4L336.924 53.2H330.264ZM344.324 33.368H363.046L353.648 8.43L344.324 33.368Z"/>
<path d="M383.189 1.4H389.627V53.2H383.189V1.4Z"/>
</mask>
<path d="M69.6262 1.4H109.66V7.32H92.8622V53.2H86.4242V7.32H69.6262V1.4Z" fill="black" style="fill:black;fill-opacity:1;"/>
<path d="M107.66 34.33C107.66 30.482 108.4 27.1027 109.88 24.192C111.41 21.2813 113.531 19.0367 116.244 17.458C118.958 15.83 122.066 15.016 125.568 15.016C129.022 15.016 132.08 15.7313 134.744 17.162C137.408 18.5927 139.505 20.6647 141.034 23.378C142.564 26.0913 143.378 29.2733 143.476 32.924C143.476 33.4667 143.427 34.33 143.328 35.514H114.024V36.032C114.123 39.732 115.258 42.692 117.428 44.912C119.599 47.132 122.436 48.242 125.938 48.242C128.652 48.242 130.946 47.576 132.82 46.244C134.744 44.8627 136.027 42.9633 136.668 40.546H142.81C142.07 44.394 140.22 47.5513 137.26 50.018C134.3 52.4353 130.674 53.644 126.382 53.644C122.633 53.644 119.352 52.8547 116.54 51.276C113.728 49.648 111.533 47.3787 109.954 44.468C108.425 41.508 107.66 38.1287 107.66 34.33ZM137.186 30.482C136.89 27.2753 135.682 24.784 133.56 23.008C131.488 21.232 128.849 20.344 125.642 20.344C122.781 20.344 120.265 21.2813 118.094 23.156C115.924 25.0307 114.69 27.4727 114.394 30.482H137.186Z" fill="black" style="fill:black;fill-opacity:1;"/>
<path d="M154.992 40.768C155.091 43.0373 156.077 44.8873 157.952 46.318C159.876 47.7487 162.343 48.464 165.352 48.464C168.016 48.464 170.162 47.946 171.79 46.91C173.467 45.8247 174.306 44.4187 174.306 42.692C174.306 41.212 173.911 40.0773 173.122 39.288C172.333 38.4987 171.297 37.956 170.014 37.66C168.781 37.364 167.005 37.068 164.686 36.772C161.43 36.3773 158.766 35.8593 156.694 35.218C154.622 34.5767 152.945 33.5653 151.662 32.184C150.379 30.7533 149.738 28.8047 149.738 26.338C149.738 24.118 150.355 22.1447 151.588 20.418C152.871 18.6913 154.597 17.3593 156.768 16.422C158.939 15.4353 161.381 14.942 164.094 14.942C168.534 14.942 172.135 15.978 174.898 18.05C177.71 20.122 179.264 23.082 179.56 26.93H173.492C173.245 24.9567 172.283 23.3287 170.606 22.046C168.929 20.7633 166.832 20.122 164.316 20.122C161.751 20.122 159.679 20.6647 158.1 21.75C156.521 22.786 155.732 24.1673 155.732 25.894C155.732 27.1767 156.102 28.1633 156.842 28.854C157.582 29.5447 158.519 30.0133 159.654 30.26C160.838 30.5067 162.614 30.778 164.982 31.074C168.287 31.4687 171.001 32.0113 173.122 32.702C175.293 33.3927 177.019 34.5027 178.302 36.032C179.634 37.5613 180.3 39.6333 180.3 42.248C180.3 44.5173 179.634 46.5153 178.302 48.242C176.97 49.9687 175.169 51.3007 172.9 52.238C170.631 53.1753 168.115 53.644 165.352 53.644C160.419 53.644 156.447 52.5093 153.438 50.24C150.478 47.9707 148.973 44.8133 148.924 40.768H154.992Z" fill="black" style="fill:black;fill-opacity:1;"/>
<path d="M189.7 21.01H182.892V15.46H189.7V4.878H195.768V15.46H205.314V21.01H195.768V43.284C195.768 44.8627 196.064 45.9973 196.656 46.688C197.297 47.3293 198.383 47.65 199.912 47.65H206.498V53.2H199.542C195.99 53.2 193.449 52.4107 191.92 50.832C190.44 49.2533 189.7 46.762 189.7 43.358V21.01Z" fill="black" style="fill:black;fill-opacity:1;"/>
<path d="M211.703 1.4H219.843L238.195 44.394L256.325 1.4H264.317V53.2H258.027V12.352L240.859 53.2H235.161L217.993 12.352V53.2H211.703V1.4Z" fill="black" style="fill:black;fill-opacity:1;"/>
<path d="M305.955 15.46V53.2H300.701L299.887 48.168C297.026 51.8187 293.005 53.644 287.825 53.644C283.336 53.644 279.734 52.2627 277.021 49.5C274.308 46.7373 272.951 42.396 272.951 36.476V15.46H279.019V36.106C279.019 40.0033 279.858 42.988 281.535 45.06C283.262 47.0827 285.704 48.094 288.861 48.094C292.314 48.094 295.003 46.8607 296.927 44.394C298.9 41.9273 299.887 38.5727 299.887 34.33V15.46H305.955Z" fill="black" style="fill:black;fill-opacity:1;"/>
<path d="M330.264 53.2L350.022 1.4H357.644L377.328 53.2H370.446L364.97 39.214H342.4L336.924 53.2H330.264ZM344.324 33.368H363.046L353.648 8.43L344.324 33.368Z" fill="black" style="fill:black;fill-opacity:1;"/>
<path d="M383.189 1.4H389.627V53.2H383.189V1.4Z" fill="black" style="fill:black;fill-opacity:1;"/>
<path d="M69.6262 1.4H109.66V7.32H92.8622V53.2H86.4242V7.32H69.6262V1.4Z" stroke="black" style="stroke:black;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_344_209)"/>
<path d="M107.66 34.33C107.66 30.482 108.4 27.1027 109.88 24.192C111.41 21.2813 113.531 19.0367 116.244 17.458C118.958 15.83 122.066 15.016 125.568 15.016C129.022 15.016 132.08 15.7313 134.744 17.162C137.408 18.5927 139.505 20.6647 141.034 23.378C142.564 26.0913 143.378 29.2733 143.476 32.924C143.476 33.4667 143.427 34.33 143.328 35.514H114.024V36.032C114.123 39.732 115.258 42.692 117.428 44.912C119.599 47.132 122.436 48.242 125.938 48.242C128.652 48.242 130.946 47.576 132.82 46.244C134.744 44.8627 136.027 42.9633 136.668 40.546H142.81C142.07 44.394 140.22 47.5513 137.26 50.018C134.3 52.4353 130.674 53.644 126.382 53.644C122.633 53.644 119.352 52.8547 116.54 51.276C113.728 49.648 111.533 47.3787 109.954 44.468C108.425 41.508 107.66 38.1287 107.66 34.33ZM137.186 30.482C136.89 27.2753 135.682 24.784 133.56 23.008C131.488 21.232 128.849 20.344 125.642 20.344C122.781 20.344 120.265 21.2813 118.094 23.156C115.924 25.0307 114.69 27.4727 114.394 30.482H137.186Z" stroke="black" style="stroke:black;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_344_209)"/>
<path d="M154.992 40.768C155.091 43.0373 156.077 44.8873 157.952 46.318C159.876 47.7487 162.343 48.464 165.352 48.464C168.016 48.464 170.162 47.946 171.79 46.91C173.467 45.8247 174.306 44.4187 174.306 42.692C174.306 41.212 173.911 40.0773 173.122 39.288C172.333 38.4987 171.297 37.956 170.014 37.66C168.781 37.364 167.005 37.068 164.686 36.772C161.43 36.3773 158.766 35.8593 156.694 35.218C154.622 34.5767 152.945 33.5653 151.662 32.184C150.379 30.7533 149.738 28.8047 149.738 26.338C149.738 24.118 150.355 22.1447 151.588 20.418C152.871 18.6913 154.597 17.3593 156.768 16.422C158.939 15.4353 161.381 14.942 164.094 14.942C168.534 14.942 172.135 15.978 174.898 18.05C177.71 20.122 179.264 23.082 179.56 26.93H173.492C173.245 24.9567 172.283 23.3287 170.606 22.046C168.929 20.7633 166.832 20.122 164.316 20.122C161.751 20.122 159.679 20.6647 158.1 21.75C156.521 22.786 155.732 24.1673 155.732 25.894C155.732 27.1767 156.102 28.1633 156.842 28.854C157.582 29.5447 158.519 30.0133 159.654 30.26C160.838 30.5067 162.614 30.778 164.982 31.074C168.287 31.4687 171.001 32.0113 173.122 32.702C175.293 33.3927 177.019 34.5027 178.302 36.032C179.634 37.5613 180.3 39.6333 180.3 42.248C180.3 44.5173 179.634 46.5153 178.302 48.242C176.97 49.9687 175.169 51.3007 172.9 52.238C170.631 53.1753 168.115 53.644 165.352 53.644C160.419 53.644 156.447 52.5093 153.438 50.24C150.478 47.9707 148.973 44.8133 148.924 40.768H154.992Z" stroke="black" style="stroke:black;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_344_209)"/>
<path d="M189.7 21.01H182.892V15.46H189.7V4.878H195.768V15.46H205.314V21.01H195.768V43.284C195.768 44.8627 196.064 45.9973 196.656 46.688C197.297 47.3293 198.383 47.65 199.912 47.65H206.498V53.2H199.542C195.99 53.2 193.449 52.4107 191.92 50.832C190.44 49.2533 189.7 46.762 189.7 43.358V21.01Z" stroke="black" style="stroke:black;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_344_209)"/>
<path d="M211.703 1.4H219.843L238.195 44.394L256.325 1.4H264.317V53.2H258.027V12.352L240.859 53.2H235.161L217.993 12.352V53.2H211.703V1.4Z" stroke="black" style="stroke:black;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_344_209)"/>
<path d="M305.955 15.46V53.2H300.701L299.887 48.168C297.026 51.8187 293.005 53.644 287.825 53.644C283.336 53.644 279.734 52.2627 277.021 49.5C274.308 46.7373 272.951 42.396 272.951 36.476V15.46H279.019V36.106C279.019 40.0033 279.858 42.988 281.535 45.06C283.262 47.0827 285.704 48.094 288.861 48.094C292.314 48.094 295.003 46.8607 296.927 44.394C298.9 41.9273 299.887 38.5727 299.887 34.33V15.46H305.955Z" stroke="black" style="stroke:black;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_344_209)"/>
<path d="M330.264 53.2L350.022 1.4H357.644L377.328 53.2H370.446L364.97 39.214H342.4L336.924 53.2H330.264ZM344.324 33.368H363.046L353.648 8.43L344.324 33.368Z" stroke="black" style="stroke:black;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_344_209)"/>
<path d="M383.189 1.4H389.627V53.2H383.189V1.4Z" stroke="black" style="stroke:black;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_344_209)"/>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

33
apps/client/src/assets/images/sponsors/logo-testmu-light.svg

@ -0,0 +1,33 @@
<svg width="392" height="61" viewBox="0 0 392 61" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M53.6262 0.138739H37.5382V39.0182H53.6262V0.138739Z" fill="white" style="fill:white;fill-opacity:1;"/>
<path d="M16.0881 0.138729H3.8147e-06V22.2598L16.0881 39.0182V0.138729Z" fill="white" style="fill:white;fill-opacity:1;"/>
<path d="M16.0881 39.0182H3.8147e-06V60.4689H16.0881V39.0182Z" fill="white" style="fill:white;fill-opacity:1;"/>
<path d="M37.539 39.0181H16.0883L28.8247 55.1062H37.539V39.0181Z" fill="white" style="fill:white;fill-opacity:1;"/>
<mask id="path-5-outside-1_342_143" maskUnits="userSpaceOnUse" x="67.6262" y="-0.6" width="324" height="56" fill="black">
<rect fill="white" x="67.6262" y="-0.6" width="324" height="56"/>
<path d="M69.6262 1.4H109.66V7.32H92.8622V53.2H86.4242V7.32H69.6262V1.4Z"/>
<path d="M107.66 34.33C107.66 30.482 108.4 27.1027 109.88 24.192C111.41 21.2813 113.531 19.0367 116.244 17.458C118.958 15.83 122.066 15.016 125.568 15.016C129.022 15.016 132.08 15.7313 134.744 17.162C137.408 18.5927 139.505 20.6647 141.034 23.378C142.564 26.0913 143.378 29.2733 143.476 32.924C143.476 33.4667 143.427 34.33 143.328 35.514H114.024V36.032C114.123 39.732 115.258 42.692 117.428 44.912C119.599 47.132 122.436 48.242 125.938 48.242C128.652 48.242 130.946 47.576 132.82 46.244C134.744 44.8627 136.027 42.9633 136.668 40.546H142.81C142.07 44.394 140.22 47.5513 137.26 50.018C134.3 52.4353 130.674 53.644 126.382 53.644C122.633 53.644 119.352 52.8547 116.54 51.276C113.728 49.648 111.533 47.3787 109.954 44.468C108.425 41.508 107.66 38.1287 107.66 34.33ZM137.186 30.482C136.89 27.2753 135.682 24.784 133.56 23.008C131.488 21.232 128.849 20.344 125.642 20.344C122.781 20.344 120.265 21.2813 118.094 23.156C115.924 25.0307 114.69 27.4727 114.394 30.482H137.186Z"/>
<path d="M154.992 40.768C155.091 43.0373 156.077 44.8873 157.952 46.318C159.876 47.7487 162.343 48.464 165.352 48.464C168.016 48.464 170.162 47.946 171.79 46.91C173.467 45.8247 174.306 44.4187 174.306 42.692C174.306 41.212 173.911 40.0773 173.122 39.288C172.333 38.4987 171.297 37.956 170.014 37.66C168.781 37.364 167.005 37.068 164.686 36.772C161.43 36.3773 158.766 35.8593 156.694 35.218C154.622 34.5767 152.945 33.5653 151.662 32.184C150.379 30.7533 149.738 28.8047 149.738 26.338C149.738 24.118 150.355 22.1447 151.588 20.418C152.871 18.6913 154.597 17.3593 156.768 16.422C158.939 15.4353 161.381 14.942 164.094 14.942C168.534 14.942 172.135 15.978 174.898 18.05C177.71 20.122 179.264 23.082 179.56 26.93H173.492C173.245 24.9567 172.283 23.3287 170.606 22.046C168.929 20.7633 166.832 20.122 164.316 20.122C161.751 20.122 159.679 20.6647 158.1 21.75C156.521 22.786 155.732 24.1673 155.732 25.894C155.732 27.1767 156.102 28.1633 156.842 28.854C157.582 29.5447 158.519 30.0133 159.654 30.26C160.838 30.5067 162.614 30.778 164.982 31.074C168.287 31.4687 171.001 32.0113 173.122 32.702C175.293 33.3927 177.019 34.5027 178.302 36.032C179.634 37.5613 180.3 39.6333 180.3 42.248C180.3 44.5173 179.634 46.5153 178.302 48.242C176.97 49.9687 175.169 51.3007 172.9 52.238C170.631 53.1753 168.115 53.644 165.352 53.644C160.419 53.644 156.447 52.5093 153.438 50.24C150.478 47.9707 148.973 44.8133 148.924 40.768H154.992Z"/>
<path d="M189.7 21.01H182.892V15.46H189.7V4.878H195.768V15.46H205.314V21.01H195.768V43.284C195.768 44.8627 196.064 45.9973 196.656 46.688C197.297 47.3293 198.383 47.65 199.912 47.65H206.498V53.2H199.542C195.99 53.2 193.449 52.4107 191.92 50.832C190.44 49.2533 189.7 46.762 189.7 43.358V21.01Z"/>
<path d="M211.703 1.4H219.843L238.195 44.394L256.325 1.4H264.317V53.2H258.027V12.352L240.859 53.2H235.161L217.993 12.352V53.2H211.703V1.4Z"/>
<path d="M305.955 15.46V53.2H300.701L299.887 48.168C297.026 51.8187 293.005 53.644 287.825 53.644C283.336 53.644 279.734 52.2627 277.021 49.5C274.308 46.7373 272.951 42.396 272.951 36.476V15.46H279.019V36.106C279.019 40.0033 279.858 42.988 281.535 45.06C283.262 47.0827 285.704 48.094 288.861 48.094C292.314 48.094 295.003 46.8607 296.927 44.394C298.9 41.9273 299.887 38.5727 299.887 34.33V15.46H305.955Z"/>
<path d="M330.264 53.2L350.022 1.4H357.644L377.328 53.2H370.446L364.97 39.214H342.4L336.924 53.2H330.264ZM344.324 33.368H363.046L353.648 8.43L344.324 33.368Z"/>
<path d="M383.189 1.4H389.627V53.2H383.189V1.4Z"/>
</mask>
<path d="M69.6262 1.4H109.66V7.32H92.8622V53.2H86.4242V7.32H69.6262V1.4Z" fill="white" style="fill:white;fill-opacity:1;"/>
<path d="M107.66 34.33C107.66 30.482 108.4 27.1027 109.88 24.192C111.41 21.2813 113.531 19.0367 116.244 17.458C118.958 15.83 122.066 15.016 125.568 15.016C129.022 15.016 132.08 15.7313 134.744 17.162C137.408 18.5927 139.505 20.6647 141.034 23.378C142.564 26.0913 143.378 29.2733 143.476 32.924C143.476 33.4667 143.427 34.33 143.328 35.514H114.024V36.032C114.123 39.732 115.258 42.692 117.428 44.912C119.599 47.132 122.436 48.242 125.938 48.242C128.652 48.242 130.946 47.576 132.82 46.244C134.744 44.8627 136.027 42.9633 136.668 40.546H142.81C142.07 44.394 140.22 47.5513 137.26 50.018C134.3 52.4353 130.674 53.644 126.382 53.644C122.633 53.644 119.352 52.8547 116.54 51.276C113.728 49.648 111.533 47.3787 109.954 44.468C108.425 41.508 107.66 38.1287 107.66 34.33ZM137.186 30.482C136.89 27.2753 135.682 24.784 133.56 23.008C131.488 21.232 128.849 20.344 125.642 20.344C122.781 20.344 120.265 21.2813 118.094 23.156C115.924 25.0307 114.69 27.4727 114.394 30.482H137.186Z" fill="white" style="fill:white;fill-opacity:1;"/>
<path d="M154.992 40.768C155.091 43.0373 156.077 44.8873 157.952 46.318C159.876 47.7487 162.343 48.464 165.352 48.464C168.016 48.464 170.162 47.946 171.79 46.91C173.467 45.8247 174.306 44.4187 174.306 42.692C174.306 41.212 173.911 40.0773 173.122 39.288C172.333 38.4987 171.297 37.956 170.014 37.66C168.781 37.364 167.005 37.068 164.686 36.772C161.43 36.3773 158.766 35.8593 156.694 35.218C154.622 34.5767 152.945 33.5653 151.662 32.184C150.379 30.7533 149.738 28.8047 149.738 26.338C149.738 24.118 150.355 22.1447 151.588 20.418C152.871 18.6913 154.597 17.3593 156.768 16.422C158.939 15.4353 161.381 14.942 164.094 14.942C168.534 14.942 172.135 15.978 174.898 18.05C177.71 20.122 179.264 23.082 179.56 26.93H173.492C173.245 24.9567 172.283 23.3287 170.606 22.046C168.929 20.7633 166.832 20.122 164.316 20.122C161.751 20.122 159.679 20.6647 158.1 21.75C156.521 22.786 155.732 24.1673 155.732 25.894C155.732 27.1767 156.102 28.1633 156.842 28.854C157.582 29.5447 158.519 30.0133 159.654 30.26C160.838 30.5067 162.614 30.778 164.982 31.074C168.287 31.4687 171.001 32.0113 173.122 32.702C175.293 33.3927 177.019 34.5027 178.302 36.032C179.634 37.5613 180.3 39.6333 180.3 42.248C180.3 44.5173 179.634 46.5153 178.302 48.242C176.97 49.9687 175.169 51.3007 172.9 52.238C170.631 53.1753 168.115 53.644 165.352 53.644C160.419 53.644 156.447 52.5093 153.438 50.24C150.478 47.9707 148.973 44.8133 148.924 40.768H154.992Z" fill="white" style="fill:white;fill-opacity:1;"/>
<path d="M189.7 21.01H182.892V15.46H189.7V4.878H195.768V15.46H205.314V21.01H195.768V43.284C195.768 44.8627 196.064 45.9973 196.656 46.688C197.297 47.3293 198.383 47.65 199.912 47.65H206.498V53.2H199.542C195.99 53.2 193.449 52.4107 191.92 50.832C190.44 49.2533 189.7 46.762 189.7 43.358V21.01Z" fill="white" style="fill:white;fill-opacity:1;"/>
<path d="M211.703 1.4H219.843L238.195 44.394L256.325 1.4H264.317V53.2H258.027V12.352L240.859 53.2H235.161L217.993 12.352V53.2H211.703V1.4Z" fill="white" style="fill:white;fill-opacity:1;"/>
<path d="M305.955 15.46V53.2H300.701L299.887 48.168C297.026 51.8187 293.005 53.644 287.825 53.644C283.336 53.644 279.734 52.2627 277.021 49.5C274.308 46.7373 272.951 42.396 272.951 36.476V15.46H279.019V36.106C279.019 40.0033 279.858 42.988 281.535 45.06C283.262 47.0827 285.704 48.094 288.861 48.094C292.314 48.094 295.003 46.8607 296.927 44.394C298.9 41.9273 299.887 38.5727 299.887 34.33V15.46H305.955Z" fill="white" style="fill:white;fill-opacity:1;"/>
<path d="M330.264 53.2L350.022 1.4H357.644L377.328 53.2H370.446L364.97 39.214H342.4L336.924 53.2H330.264ZM344.324 33.368H363.046L353.648 8.43L344.324 33.368Z" fill="white" style="fill:white;fill-opacity:1;"/>
<path d="M383.189 1.4H389.627V53.2H383.189V1.4Z" fill="white" style="fill:white;fill-opacity:1;"/>
<path d="M69.6262 1.4H109.66V7.32H92.8622V53.2H86.4242V7.32H69.6262V1.4Z" stroke="white" style="stroke:white;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_342_143)"/>
<path d="M107.66 34.33C107.66 30.482 108.4 27.1027 109.88 24.192C111.41 21.2813 113.531 19.0367 116.244 17.458C118.958 15.83 122.066 15.016 125.568 15.016C129.022 15.016 132.08 15.7313 134.744 17.162C137.408 18.5927 139.505 20.6647 141.034 23.378C142.564 26.0913 143.378 29.2733 143.476 32.924C143.476 33.4667 143.427 34.33 143.328 35.514H114.024V36.032C114.123 39.732 115.258 42.692 117.428 44.912C119.599 47.132 122.436 48.242 125.938 48.242C128.652 48.242 130.946 47.576 132.82 46.244C134.744 44.8627 136.027 42.9633 136.668 40.546H142.81C142.07 44.394 140.22 47.5513 137.26 50.018C134.3 52.4353 130.674 53.644 126.382 53.644C122.633 53.644 119.352 52.8547 116.54 51.276C113.728 49.648 111.533 47.3787 109.954 44.468C108.425 41.508 107.66 38.1287 107.66 34.33ZM137.186 30.482C136.89 27.2753 135.682 24.784 133.56 23.008C131.488 21.232 128.849 20.344 125.642 20.344C122.781 20.344 120.265 21.2813 118.094 23.156C115.924 25.0307 114.69 27.4727 114.394 30.482H137.186Z" stroke="white" style="stroke:white;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_342_143)"/>
<path d="M154.992 40.768C155.091 43.0373 156.077 44.8873 157.952 46.318C159.876 47.7487 162.343 48.464 165.352 48.464C168.016 48.464 170.162 47.946 171.79 46.91C173.467 45.8247 174.306 44.4187 174.306 42.692C174.306 41.212 173.911 40.0773 173.122 39.288C172.333 38.4987 171.297 37.956 170.014 37.66C168.781 37.364 167.005 37.068 164.686 36.772C161.43 36.3773 158.766 35.8593 156.694 35.218C154.622 34.5767 152.945 33.5653 151.662 32.184C150.379 30.7533 149.738 28.8047 149.738 26.338C149.738 24.118 150.355 22.1447 151.588 20.418C152.871 18.6913 154.597 17.3593 156.768 16.422C158.939 15.4353 161.381 14.942 164.094 14.942C168.534 14.942 172.135 15.978 174.898 18.05C177.71 20.122 179.264 23.082 179.56 26.93H173.492C173.245 24.9567 172.283 23.3287 170.606 22.046C168.929 20.7633 166.832 20.122 164.316 20.122C161.751 20.122 159.679 20.6647 158.1 21.75C156.521 22.786 155.732 24.1673 155.732 25.894C155.732 27.1767 156.102 28.1633 156.842 28.854C157.582 29.5447 158.519 30.0133 159.654 30.26C160.838 30.5067 162.614 30.778 164.982 31.074C168.287 31.4687 171.001 32.0113 173.122 32.702C175.293 33.3927 177.019 34.5027 178.302 36.032C179.634 37.5613 180.3 39.6333 180.3 42.248C180.3 44.5173 179.634 46.5153 178.302 48.242C176.97 49.9687 175.169 51.3007 172.9 52.238C170.631 53.1753 168.115 53.644 165.352 53.644C160.419 53.644 156.447 52.5093 153.438 50.24C150.478 47.9707 148.973 44.8133 148.924 40.768H154.992Z" stroke="white" style="stroke:white;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_342_143)"/>
<path d="M189.7 21.01H182.892V15.46H189.7V4.878H195.768V15.46H205.314V21.01H195.768V43.284C195.768 44.8627 196.064 45.9973 196.656 46.688C197.297 47.3293 198.383 47.65 199.912 47.65H206.498V53.2H199.542C195.99 53.2 193.449 52.4107 191.92 50.832C190.44 49.2533 189.7 46.762 189.7 43.358V21.01Z" stroke="white" style="stroke:white;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_342_143)"/>
<path d="M211.703 1.4H219.843L238.195 44.394L256.325 1.4H264.317V53.2H258.027V12.352L240.859 53.2H235.161L217.993 12.352V53.2H211.703V1.4Z" stroke="white" style="stroke:white;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_342_143)"/>
<path d="M305.955 15.46V53.2H300.701L299.887 48.168C297.026 51.8187 293.005 53.644 287.825 53.644C283.336 53.644 279.734 52.2627 277.021 49.5C274.308 46.7373 272.951 42.396 272.951 36.476V15.46H279.019V36.106C279.019 40.0033 279.858 42.988 281.535 45.06C283.262 47.0827 285.704 48.094 288.861 48.094C292.314 48.094 295.003 46.8607 296.927 44.394C298.9 41.9273 299.887 38.5727 299.887 34.33V15.46H305.955Z" stroke="white" style="stroke:white;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_342_143)"/>
<path d="M330.264 53.2L350.022 1.4H357.644L377.328 53.2H370.446L364.97 39.214H342.4L336.924 53.2H330.264ZM344.324 33.368H363.046L353.648 8.43L344.324 33.368Z" stroke="white" style="stroke:white;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_342_143)"/>
<path d="M383.189 1.4H389.627V53.2H383.189V1.4Z" stroke="white" style="stroke:white;stroke-opacity:1;" stroke-width="2.8" mask="url(#path-5-outside-1_342_143)"/>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

3
apps/client/src/environments/environment.prod.ts

@ -2,6 +2,5 @@ import type { GfEnvironment } from '@ghostfolio/ui/environment';
export const environment: GfEnvironment = {
lastPublish: '{BUILD_TIMESTAMP}',
production: true,
stripePublicKey: ''
production: true
};

3
apps/client/src/environments/environment.ts

@ -6,8 +6,7 @@ import type { GfEnvironment } from '@ghostfolio/ui/environment';
export const environment: GfEnvironment = {
lastPublish: null,
production: false,
stripePublicKey: ''
production: false
};
/*

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

@ -2123,7 +2123,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">257</context>
</context-group>
</trans-unit>
<trans-unit id="3118565567530464051" datatype="html">
@ -2135,7 +2135,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4980697492087090765" datatype="html">
@ -2394,6 +2394,14 @@
<context context-type="linenumber">409</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
<source>Performance with currency effect</source>
<target state="new">Performance with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">134</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
<source>Max</source>
<target state="translated">Màx</target>
@ -4500,7 +4508,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">76</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4520,11 +4528,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">80</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context>
@ -4544,7 +4552,7 @@
<target state="translated">Mensualment</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="8036977202721714375" datatype="html">
@ -4552,7 +4560,7 @@
<target state="translated">Anualment</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="1600023202562292052" datatype="html">
@ -4568,7 +4576,7 @@
<target state="translated">Rendiment absolut dels actius</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="775717789032174431" datatype="html">
@ -4576,7 +4584,7 @@
<target state="translated">Rendiment de l’actiu</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">188</context>
</context-group>
</trans-unit>
<trans-unit id="3796488546909223546" datatype="html">
@ -4584,7 +4592,7 @@
<target state="translated">Rendiment absolut de la moneda</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">209</context>
</context-group>
</trans-unit>
<trans-unit id="104509087727626192" datatype="html">
@ -4592,7 +4600,7 @@
<target state="translated">Rendiment de la moneda</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">170</context>
<context context-type="linenumber">234</context>
</context-group>
</trans-unit>
<trans-unit id="6293970137138896363" datatype="html">
@ -4600,7 +4608,7 @@
<target state="translated">A dalt</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">239</context>
<context context-type="linenumber">303</context>
</context-group>
</trans-unit>
<trans-unit id="3568940932272598597" datatype="html">
@ -4608,7 +4616,7 @@
<target state="translated">A baix</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">352</context>
</context-group>
</trans-unit>
<trans-unit id="5242468862715363747" datatype="html">
@ -4616,7 +4624,7 @@
<target state="translated">Evolució de la cartera</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">341</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="6766448922039123937" datatype="html">
@ -4624,7 +4632,7 @@
<target state="translated">Cronologia de la inversió</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">432</context>
</context-group>
</trans-unit>
<trans-unit id="1440519383036502539" datatype="html">
@ -4632,7 +4640,7 @@
<target state="translated">Ratxa actual</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">453</context>
</context-group>
</trans-unit>
<trans-unit id="457461496511383061" datatype="html">
@ -4640,7 +4648,7 @@
<target state="translated">Ratxa més llarga</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">462</context>
</context-group>
</trans-unit>
<trans-unit id="6854252543786630145" datatype="html">
@ -4648,7 +4656,7 @@
<target state="translated">Cronologia de dividends</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">425</context>
<context context-type="linenumber">489</context>
</context-group>
</trans-unit>
<trans-unit id="5857197365507636437" datatype="html">
@ -7366,12 +7374,20 @@
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="7825231215382064101" datatype="html">
<source>Change with currency effect</source>
<target state="new">Change with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source>
<target state="new">AI prompt has been copied to the clipboard</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">199</context>
<context context-type="linenumber">201</context>
</context-group>
</trans-unit>
<trans-unit id="1616747898909934803" datatype="html">
@ -7451,7 +7467,7 @@
<target state="new">Open Duck.ai</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">200</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5004550577313573215" datatype="html">
<source>Total amount</source>
<target state="new">Total amount</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source>
<target state="new">Armenia</target>

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

@ -926,7 +926,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">257</context>
</context-group>
</trans-unit>
<trans-unit id="3118565567530464051" datatype="html">
@ -938,7 +938,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4980697492087090765" datatype="html">
@ -1117,6 +1117,14 @@
<context context-type="linenumber">409</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
<source>Performance with currency effect</source>
<target state="translated">Performance mit Währungseffekt</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">134</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
<source>Max</source>
<target state="translated">Max</target>
@ -1854,7 +1862,7 @@
<target state="translated">Zeitstrahl der Investitionen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">432</context>
</context-group>
</trans-unit>
<trans-unit id="6293970137138896363" datatype="html">
@ -1862,7 +1870,7 @@
<target state="translated">Gewinner</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">239</context>
<context context-type="linenumber">303</context>
</context-group>
</trans-unit>
<trans-unit id="3568940932272598597" datatype="html">
@ -1870,7 +1878,7 @@
<target state="translated">Verlierer</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">352</context>
</context-group>
</trans-unit>
<trans-unit id="5857197365507636437" datatype="html">
@ -2526,7 +2534,7 @@
<target state="translated">Monatlich</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="5211792611718918888" datatype="html">
@ -2754,7 +2762,7 @@
<target state="translated">Portfolio Wertentwicklung</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">341</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="8192718423057883427" datatype="html">
@ -3130,7 +3138,7 @@
<target state="translated">Zeitstrahl der Dividenden</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">425</context>
<context context-type="linenumber">489</context>
</context-group>
</trans-unit>
<trans-unit id="7763941937414903315" datatype="html">
@ -3166,7 +3174,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">76</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3290,7 +3298,7 @@
<target state="translated">Jährlich</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="72640258012696878" datatype="html">
@ -4026,7 +4034,7 @@
<target state="translated">Aktueller Streak</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">453</context>
</context-group>
</trans-unit>
<trans-unit id="457461496511383061" datatype="html">
@ -4034,7 +4042,7 @@
<target state="translated">Längster Streak</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">462</context>
</context-group>
</trans-unit>
<trans-unit id="4845030128243887325" datatype="html">
@ -5876,11 +5884,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">80</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context>
@ -5908,7 +5916,7 @@
<target state="translated">Absolute Anlage Performance</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="775717789032174431" datatype="html">
@ -5916,7 +5924,7 @@
<target state="translated">Anlage Performance</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">188</context>
</context-group>
</trans-unit>
<trans-unit id="3796488546909223546" datatype="html">
@ -5924,7 +5932,7 @@
<target state="translated">Absolute Währungsperformance</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">209</context>
</context-group>
</trans-unit>
<trans-unit id="104509087727626192" datatype="html">
@ -5932,7 +5940,7 @@
<target state="translated">Währungsperformance</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">170</context>
<context context-type="linenumber">234</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
@ -7390,12 +7398,20 @@
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="7825231215382064101" datatype="html">
<source>Change with currency effect</source>
<target state="translated">Änderung mit Währungseffekt</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source>
<target state="translated">KI-Anweisung wurde in die Zwischenablage kopiert</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">199</context>
<context context-type="linenumber">201</context>
</context-group>
</trans-unit>
<trans-unit id="1616747898909934803" datatype="html">
@ -7475,7 +7491,7 @@
<target state="translated">Öffne Duck.ai</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">200</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
@ -7546,6 +7562,14 @@
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5004550577313573215" datatype="html">
<source>Total amount</source>
<target state="translated">Gesamtbetrag</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source>
<target state="translated">Armenien</target>

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

@ -911,7 +911,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">257</context>
</context-group>
</trans-unit>
<trans-unit id="3118565567530464051" datatype="html">
@ -923,7 +923,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4980697492087090765" datatype="html">
@ -1102,6 +1102,14 @@
<context context-type="linenumber">409</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
<source>Performance with currency effect</source>
<target state="new">Performance with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">134</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
<source>Max</source>
<target state="translated">Máximo</target>
@ -1839,7 +1847,7 @@
<target state="translated">Cronología de la inversión</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">432</context>
</context-group>
</trans-unit>
<trans-unit id="6293970137138896363" datatype="html">
@ -1847,7 +1855,7 @@
<target state="translated">Lo mejor</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">239</context>
<context context-type="linenumber">303</context>
</context-group>
</trans-unit>
<trans-unit id="3568940932272598597" datatype="html">
@ -1855,7 +1863,7 @@
<target state="translated">Lo peor</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">352</context>
</context-group>
</trans-unit>
<trans-unit id="5857197365507636437" datatype="html">
@ -2555,7 +2563,7 @@
<target state="translated">Mensual</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="6130372166370766747" datatype="html">
@ -2739,7 +2747,7 @@
<target state="translated">Evolución cartera</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">341</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="8192718423057883427" datatype="html">
@ -3143,7 +3151,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">76</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3155,7 +3163,7 @@
<target state="translated">Calendario de dividendos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">425</context>
<context context-type="linenumber">489</context>
</context-group>
</trans-unit>
<trans-unit id="7608037008789240367" datatype="html">
@ -3275,7 +3283,7 @@
<target state="translated">Anual</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="72640258012696878" datatype="html">
@ -4003,7 +4011,7 @@
<target state="translated">Racha actual</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">453</context>
</context-group>
</trans-unit>
<trans-unit id="457461496511383061" datatype="html">
@ -4011,7 +4019,7 @@
<target state="translated">Racha más larga</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">462</context>
</context-group>
</trans-unit>
<trans-unit id="4845030128243887325" datatype="html">
@ -5853,11 +5861,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">80</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context>
@ -5885,7 +5893,7 @@
<target state="translated">Rendimiento absoluto de los activos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="775717789032174431" datatype="html">
@ -5893,7 +5901,7 @@
<target state="translated">Rendimiento de activos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">188</context>
</context-group>
</trans-unit>
<trans-unit id="3796488546909223546" datatype="html">
@ -5901,7 +5909,7 @@
<target state="translated">Rendimiento absoluto de divisas</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">209</context>
</context-group>
</trans-unit>
<trans-unit id="104509087727626192" datatype="html">
@ -5909,7 +5917,7 @@
<target state="translated">Rendimiento de la moneda</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">170</context>
<context context-type="linenumber">234</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
@ -7367,12 +7375,20 @@
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="7825231215382064101" datatype="html">
<source>Change with currency effect</source>
<target state="new">Change with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source>
<target state="translated">El aviso de IA ha sido copiado al portapapeles</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">199</context>
<context context-type="linenumber">201</context>
</context-group>
</trans-unit>
<trans-unit id="1616747898909934803" datatype="html">
@ -7452,7 +7468,7 @@
<target state="translated">Abrir Duck.ai</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">200</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
@ -7523,6 +7539,14 @@
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5004550577313573215" datatype="html">
<source>Total amount</source>
<target state="new">Total amount</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source>
<target state="translated">Armenia</target>

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

@ -1194,7 +1194,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">257</context>
</context-group>
</trans-unit>
<trans-unit id="3118565567530464051" datatype="html">
@ -1206,7 +1206,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4980697492087090765" datatype="html">
@ -1349,6 +1349,14 @@
<context context-type="linenumber">409</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
<source>Performance with currency effect</source>
<target state="new">Performance with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">134</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
<source>Max</source>
<target state="translated">Max</target>
@ -2414,7 +2422,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">76</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2442,7 +2450,7 @@
<target state="translated">Mensuel</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="6293970137138896363" datatype="html">
@ -2450,7 +2458,7 @@
<target state="translated">Haut</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">239</context>
<context context-type="linenumber">303</context>
</context-group>
</trans-unit>
<trans-unit id="3568940932272598597" datatype="html">
@ -2458,7 +2466,7 @@
<target state="translated">Bas</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">352</context>
</context-group>
</trans-unit>
<trans-unit id="5242468862715363747" datatype="html">
@ -2466,7 +2474,7 @@
<target state="translated">Évolution du Portefeuille</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">341</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="6766448922039123937" datatype="html">
@ -2474,7 +2482,7 @@
<target state="translated">Historique des Investissements</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">432</context>
</context-group>
</trans-unit>
<trans-unit id="6854252543786630145" datatype="html">
@ -2482,7 +2490,7 @@
<target state="translated">Historique des Dividendes</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">425</context>
<context context-type="linenumber">489</context>
</context-group>
</trans-unit>
<trans-unit id="5857197365507636437" datatype="html">
@ -3274,7 +3282,7 @@
<target state="translated">Annuel</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="72640258012696878" datatype="html">
@ -4002,7 +4010,7 @@
<target state="translated">Série en cours</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">453</context>
</context-group>
</trans-unit>
<trans-unit id="457461496511383061" datatype="html">
@ -4010,7 +4018,7 @@
<target state="translated">Série la plus longue</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">462</context>
</context-group>
</trans-unit>
<trans-unit id="4845030128243887325" datatype="html">
@ -5852,11 +5860,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">80</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context>
@ -5884,7 +5892,7 @@
<target state="translated">Performance des Actifs en valeur absolue</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="775717789032174431" datatype="html">
@ -5892,7 +5900,7 @@
<target state="translated">Performance des Actifs</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">188</context>
</context-group>
</trans-unit>
<trans-unit id="3796488546909223546" datatype="html">
@ -5900,7 +5908,7 @@
<target state="translated">Performance des devises en valeur absolue</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">209</context>
</context-group>
</trans-unit>
<trans-unit id="104509087727626192" datatype="html">
@ -5908,7 +5916,7 @@
<target state="translated">Performance des devises</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">170</context>
<context context-type="linenumber">234</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
@ -7366,12 +7374,20 @@
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="7825231215382064101" datatype="html">
<source>Change with currency effect</source>
<target state="new">Change with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source>
<target state="translated">Le prompt IA a été copié dans le presse-papiers</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">199</context>
<context context-type="linenumber">201</context>
</context-group>
</trans-unit>
<trans-unit id="1616747898909934803" datatype="html">
@ -7451,7 +7467,7 @@
<target state="translated">Ouvrir Duck.ai</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">200</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5004550577313573215" datatype="html">
<source>Total amount</source>
<target state="new">Total amount</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source>
<target state="translated">Arménie</target>

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

@ -911,7 +911,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">257</context>
</context-group>
</trans-unit>
<trans-unit id="3118565567530464051" datatype="html">
@ -923,7 +923,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4980697492087090765" datatype="html">
@ -1102,6 +1102,14 @@
<context context-type="linenumber">409</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
<source>Performance with currency effect</source>
<target state="new">Performance with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">134</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
<source>Max</source>
<target state="translated">Massimo</target>
@ -1839,7 +1847,7 @@
<target state="translated">Cronologia degli investimenti</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">432</context>
</context-group>
</trans-unit>
<trans-unit id="6293970137138896363" datatype="html">
@ -1847,7 +1855,7 @@
<target state="translated">In alto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">239</context>
<context context-type="linenumber">303</context>
</context-group>
</trans-unit>
<trans-unit id="3568940932272598597" datatype="html">
@ -1855,7 +1863,7 @@
<target state="translated">In basso</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">352</context>
</context-group>
</trans-unit>
<trans-unit id="5857197365507636437" datatype="html">
@ -2555,7 +2563,7 @@
<target state="translated">Mensile</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="6130372166370766747" datatype="html">
@ -2739,7 +2747,7 @@
<target state="translated">Evoluzione del portafoglio</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">341</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="8192718423057883427" datatype="html">
@ -3143,7 +3151,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">76</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3155,7 +3163,7 @@
<target state="translated">Cronologia dei dividendi</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">425</context>
<context context-type="linenumber">489</context>
</context-group>
</trans-unit>
<trans-unit id="7608037008789240367" datatype="html">
@ -3275,7 +3283,7 @@
<target state="translated">Annuale</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="72640258012696878" datatype="html">
@ -4003,7 +4011,7 @@
<target state="translated">Serie attuale</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">453</context>
</context-group>
</trans-unit>
<trans-unit id="457461496511383061" datatype="html">
@ -4011,7 +4019,7 @@
<target state="translated">Serie più lunga</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">462</context>
</context-group>
</trans-unit>
<trans-unit id="4845030128243887325" datatype="html">
@ -5853,11 +5861,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">80</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context>
@ -5885,7 +5893,7 @@
<target state="translated">Rendimento assoluto dell’Asset</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="775717789032174431" datatype="html">
@ -5893,7 +5901,7 @@
<target state="translated">Rendimento dell’Asset</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">188</context>
</context-group>
</trans-unit>
<trans-unit id="3796488546909223546" datatype="html">
@ -5901,7 +5909,7 @@
<target state="translated">Rendimento assoluto della Valuta</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">209</context>
</context-group>
</trans-unit>
<trans-unit id="104509087727626192" datatype="html">
@ -5909,7 +5917,7 @@
<target state="translated">Rendimento della Valuta</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">170</context>
<context context-type="linenumber">234</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
@ -7367,12 +7375,20 @@
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="7825231215382064101" datatype="html">
<source>Change with currency effect</source>
<target state="new">Change with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source>
<target state="translated">L’AI prompt è stato copiato negli appunti</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">199</context>
<context context-type="linenumber">201</context>
</context-group>
</trans-unit>
<trans-unit id="1616747898909934803" datatype="html">
@ -7452,7 +7468,7 @@
<target state="translated">Apri Duck.ai</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">200</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
@ -7523,6 +7539,14 @@
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5004550577313573215" datatype="html">
<source>Total amount</source>
<target state="new">Total amount</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source>
<target state="translated">Armenia</target>

64
apps/client/src/locales/messages.ko.xlf

@ -1840,7 +1840,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">257</context>
</context-group>
</trans-unit>
<trans-unit id="3118565567530464051" datatype="html">
@ -1852,7 +1852,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4980697492087090765" datatype="html">
@ -2183,6 +2183,14 @@
<context context-type="linenumber">409</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
<source>Performance with currency effect</source>
<target state="new">Performance with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">134</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
<source>Max</source>
<target state="translated">맥스</target>
@ -4144,7 +4152,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">76</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4172,7 +4180,7 @@
<target state="translated">월간</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="8036977202721714375" datatype="html">
@ -4180,7 +4188,7 @@
<target state="translated">매년</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="6293970137138896363" datatype="html">
@ -4188,7 +4196,7 @@
<target state="translated">상위</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">239</context>
<context context-type="linenumber">303</context>
</context-group>
</trans-unit>
<trans-unit id="3568940932272598597" datatype="html">
@ -4196,7 +4204,7 @@
<target state="translated">하위</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">352</context>
</context-group>
</trans-unit>
<trans-unit id="5242468862715363747" datatype="html">
@ -4204,7 +4212,7 @@
<target state="translated">포트폴리오 진화</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">341</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="6766448922039123937" datatype="html">
@ -4212,7 +4220,7 @@
<target state="translated">투자 일정</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">432</context>
</context-group>
</trans-unit>
<trans-unit id="1440519383036502539" datatype="html">
@ -4220,7 +4228,7 @@
<target state="translated">현재 연속</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">453</context>
</context-group>
</trans-unit>
<trans-unit id="457461496511383061" datatype="html">
@ -4228,7 +4236,7 @@
<target state="translated">최장 연속</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">462</context>
</context-group>
</trans-unit>
<trans-unit id="6854252543786630145" datatype="html">
@ -4236,7 +4244,7 @@
<target state="translated">배당 일정</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">425</context>
<context context-type="linenumber">489</context>
</context-group>
</trans-unit>
<trans-unit id="5857197365507636437" datatype="html">
@ -5869,7 +5877,7 @@
<target state="translated">절대적인 통화 성과</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">209</context>
</context-group>
</trans-unit>
<trans-unit id="1600023202562292052" datatype="html">
@ -5885,7 +5893,7 @@
<target state="translated">절대자산성과</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="8580549503047096056" datatype="html">
@ -5901,11 +5909,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">80</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context>
@ -5925,7 +5933,7 @@
<target state="translated">자산 성과</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">188</context>
</context-group>
</trans-unit>
<trans-unit id="104509087727626192" datatype="html">
@ -5933,7 +5941,7 @@
<target state="translated">통화 성과</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">170</context>
<context context-type="linenumber">234</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -7391,12 +7399,20 @@
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="7825231215382064101" datatype="html">
<source>Change with currency effect</source>
<target state="new">Change with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source>
<target state="translated">AI 프롬프트가 클립보드에 복사되었습니다.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">199</context>
<context context-type="linenumber">201</context>
</context-group>
</trans-unit>
<trans-unit id="1616747898909934803" datatype="html">
@ -7476,7 +7492,7 @@
<target state="translated">오픈 Duck.ai</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">200</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
@ -7547,6 +7563,14 @@
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="5004550577313573215" datatype="html">
<source>Total amount</source>
<target state="new">Total amount</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source>
<target state="translated">아르메니아</target>

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

@ -910,7 +910,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">257</context>
</context-group>
</trans-unit>
<trans-unit id="3118565567530464051" datatype="html">
@ -922,7 +922,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4980697492087090765" datatype="html">
@ -1101,6 +1101,14 @@
<context context-type="linenumber">409</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
<source>Performance with currency effect</source>
<target state="new">Performance with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">134</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
<source>Max</source>
<target state="translated">Max</target>
@ -1838,7 +1846,7 @@
<target state="translated">Tijdlijn investeringen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">432</context>
</context-group>
</trans-unit>
<trans-unit id="6293970137138896363" datatype="html">
@ -1846,7 +1854,7 @@
<target state="translated">Winnaars</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">239</context>
<context context-type="linenumber">303</context>
</context-group>
</trans-unit>
<trans-unit id="3568940932272598597" datatype="html">
@ -1854,7 +1862,7 @@
<target state="translated">Verliezers</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">352</context>
</context-group>
</trans-unit>
<trans-unit id="5857197365507636437" datatype="html">
@ -2554,7 +2562,7 @@
<target state="translated">Maandelijks</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="6130372166370766747" datatype="html">
@ -2738,7 +2746,7 @@
<target state="translated">Waardeontwikkeling van portefeuille</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">341</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="8192718423057883427" datatype="html">
@ -3142,7 +3150,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">76</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3154,7 +3162,7 @@
<target state="translated">Tijdlijn dividend</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">425</context>
<context context-type="linenumber">489</context>
</context-group>
</trans-unit>
<trans-unit id="7608037008789240367" datatype="html">
@ -3274,7 +3282,7 @@
<target state="translated">Jaarlijks</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="72640258012696878" datatype="html">
@ -4002,7 +4010,7 @@
<target state="translated">Huidige reeks</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">453</context>
</context-group>
</trans-unit>
<trans-unit id="457461496511383061" datatype="html">
@ -4010,7 +4018,7 @@
<target state="translated">Langste reeks</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">462</context>
</context-group>
</trans-unit>
<trans-unit id="4845030128243887325" datatype="html">
@ -5852,11 +5860,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">80</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context>
@ -5884,7 +5892,7 @@
<target state="translated">Absolute Activaprestaties</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="775717789032174431" datatype="html">
@ -5892,7 +5900,7 @@
<target state="translated">Activaprestaties</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">188</context>
</context-group>
</trans-unit>
<trans-unit id="3796488546909223546" datatype="html">
@ -5900,7 +5908,7 @@
<target state="translated">Absolute Valutaprestaties</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">209</context>
</context-group>
</trans-unit>
<trans-unit id="104509087727626192" datatype="html">
@ -5908,7 +5916,7 @@
<target state="translated">Valutaprestaties</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">170</context>
<context context-type="linenumber">234</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
@ -7366,12 +7374,20 @@
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="7825231215382064101" datatype="html">
<source>Change with currency effect</source>
<target state="new">Change with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source>
<target state="translated">AI-prompt is naar het klembord gekopieerd</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">199</context>
<context context-type="linenumber">201</context>
</context-group>
</trans-unit>
<trans-unit id="1616747898909934803" datatype="html">
@ -7451,7 +7467,7 @@
<target state="translated">Open Duck.ai</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">200</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5004550577313573215" datatype="html">
<source>Total amount</source>
<target state="new">Total amount</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source>
<target state="translated">Armenië</target>

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

@ -1807,7 +1807,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">257</context>
</context-group>
</trans-unit>
<trans-unit id="3118565567530464051" datatype="html">
@ -1819,7 +1819,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4980697492087090765" datatype="html">
@ -2150,6 +2150,14 @@
<context context-type="linenumber">409</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
<source>Performance with currency effect</source>
<target state="new">Performance with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">134</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
<source>Max</source>
<target state="translated">Maksimum</target>
@ -4111,7 +4119,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">76</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4139,7 +4147,7 @@
<target state="translated">Miesięcznie</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="8036977202721714375" datatype="html">
@ -4147,7 +4155,7 @@
<target state="translated">Rocznie</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="6293970137138896363" datatype="html">
@ -4155,7 +4163,7 @@
<target state="translated">Największe wzrosty</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">239</context>
<context context-type="linenumber">303</context>
</context-group>
</trans-unit>
<trans-unit id="3568940932272598597" datatype="html">
@ -4163,7 +4171,7 @@
<target state="translated">Największy spadek</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">352</context>
</context-group>
</trans-unit>
<trans-unit id="5242468862715363747" datatype="html">
@ -4171,7 +4179,7 @@
<target state="translated">Rozwój portfela</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">341</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="6766448922039123937" datatype="html">
@ -4179,7 +4187,7 @@
<target state="translated">Oś czasu inwestycji</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">432</context>
</context-group>
</trans-unit>
<trans-unit id="1440519383036502539" datatype="html">
@ -4187,7 +4195,7 @@
<target state="translated">Obecna passa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">453</context>
</context-group>
</trans-unit>
<trans-unit id="457461496511383061" datatype="html">
@ -4195,7 +4203,7 @@
<target state="translated">Najdłuższa passa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">462</context>
</context-group>
</trans-unit>
<trans-unit id="6854252543786630145" datatype="html">
@ -4203,7 +4211,7 @@
<target state="translated">Oś czasu dywidend</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">425</context>
<context context-type="linenumber">489</context>
</context-group>
</trans-unit>
<trans-unit id="5857197365507636437" datatype="html">
@ -5852,11 +5860,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">80</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context>
@ -5884,7 +5892,7 @@
<target state="translated">Łączny wynik aktywów</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="775717789032174431" datatype="html">
@ -5892,7 +5900,7 @@
<target state="translated">Wyniki aktywów</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">188</context>
</context-group>
</trans-unit>
<trans-unit id="3796488546909223546" datatype="html">
@ -5900,7 +5908,7 @@
<target state="translated">Łączny wynik walut</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">209</context>
</context-group>
</trans-unit>
<trans-unit id="104509087727626192" datatype="html">
@ -5908,7 +5916,7 @@
<target state="translated">Wynik walut</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">170</context>
<context context-type="linenumber">234</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
@ -7366,12 +7374,20 @@
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="7825231215382064101" datatype="html">
<source>Change with currency effect</source>
<target state="new">Change with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source>
<target state="translated">Prompt AI został skopiowany do schowka</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">199</context>
<context context-type="linenumber">201</context>
</context-group>
</trans-unit>
<trans-unit id="1616747898909934803" datatype="html">
@ -7451,7 +7467,7 @@
<target state="translated">Otwórz Duck.ai</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">200</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5004550577313573215" datatype="html">
<source>Total amount</source>
<target state="new">Total amount</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source>
<target state="translated">Armenia</target>

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

@ -1078,7 +1078,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">257</context>
</context-group>
</trans-unit>
<trans-unit id="3118565567530464051" datatype="html">
@ -1090,7 +1090,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4980697492087090765" datatype="html">
@ -1345,6 +1345,14 @@
<context context-type="linenumber">409</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
<source>Performance with currency effect</source>
<target state="new">Performance with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">134</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
<source>Max</source>
<target state="translated">Máx</target>
@ -2358,7 +2366,7 @@
<target state="translated">Mensalmente</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="6293970137138896363" datatype="html">
@ -2366,7 +2374,7 @@
<target state="translated">Topo</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">239</context>
<context context-type="linenumber">303</context>
</context-group>
</trans-unit>
<trans-unit id="3568940932272598597" datatype="html">
@ -2374,7 +2382,7 @@
<target state="translated">Fundo</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">352</context>
</context-group>
</trans-unit>
<trans-unit id="5242468862715363747" datatype="html">
@ -2382,7 +2390,7 @@
<target state="translated">Evolução do Portefólio</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">341</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="6766448922039123937" datatype="html">
@ -2390,7 +2398,7 @@
<target state="translated">Cronograma de Investimento</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">432</context>
</context-group>
</trans-unit>
<trans-unit id="5857197365507636437" datatype="html">
@ -3206,7 +3214,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">76</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3218,7 +3226,7 @@
<target state="translated">Cronograma de Dividendos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">425</context>
<context context-type="linenumber">489</context>
</context-group>
</trans-unit>
<trans-unit id="7608037008789240367" datatype="html">
@ -3274,7 +3282,7 @@
<target state="translated">Anualmente</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="72640258012696878" datatype="html">
@ -4002,7 +4010,7 @@
<target state="translated">Série Atual</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">453</context>
</context-group>
</trans-unit>
<trans-unit id="457461496511383061" datatype="html">
@ -4010,7 +4018,7 @@
<target state="translated">Série mais Longa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">462</context>
</context-group>
</trans-unit>
<trans-unit id="4845030128243887325" datatype="html">
@ -5852,11 +5860,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">80</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context>
@ -5884,7 +5892,7 @@
<target state="translated">Desempenho absoluto de ativos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="775717789032174431" datatype="html">
@ -5892,7 +5900,7 @@
<target state="translated">Desempenho de ativos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">188</context>
</context-group>
</trans-unit>
<trans-unit id="3796488546909223546" datatype="html">
@ -5900,7 +5908,7 @@
<target state="translated">Desempenho absoluto da moeda</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">209</context>
</context-group>
</trans-unit>
<trans-unit id="104509087727626192" datatype="html">
@ -5908,7 +5916,7 @@
<target state="translated">Desempenho da moeda</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">170</context>
<context context-type="linenumber">234</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
@ -7366,12 +7374,20 @@
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="7825231215382064101" datatype="html">
<source>Change with currency effect</source>
<target state="new">Change with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source>
<target state="new">AI prompt has been copied to the clipboard</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">199</context>
<context context-type="linenumber">201</context>
</context-group>
</trans-unit>
<trans-unit id="1616747898909934803" datatype="html">
@ -7451,7 +7467,7 @@
<target state="new">Open Duck.ai</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">200</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5004550577313573215" datatype="html">
<source>Total amount</source>
<target state="new">Total amount</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source>
<target state="new">Armenia</target>

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

@ -1663,7 +1663,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">257</context>
</context-group>
</trans-unit>
<trans-unit id="3118565567530464051" datatype="html">
@ -1675,7 +1675,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4980697492087090765" datatype="html">
@ -2018,6 +2018,14 @@
<context context-type="linenumber">409</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
<source>Performance with currency effect</source>
<target state="new">Performance with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">134</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
<source>Max</source>
<target state="translated">Maks.</target>
@ -3595,7 +3603,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">76</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3623,7 +3631,7 @@
<target state="translated">Aylık</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="8036977202721714375" datatype="html">
@ -3631,7 +3639,7 @@
<target state="translated">Yıllık</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="6293970137138896363" datatype="html">
@ -3639,7 +3647,7 @@
<target state="translated">Üst</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">239</context>
<context context-type="linenumber">303</context>
</context-group>
</trans-unit>
<trans-unit id="3568940932272598597" datatype="html">
@ -3647,7 +3655,7 @@
<target state="translated">Alt</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">352</context>
</context-group>
</trans-unit>
<trans-unit id="5242468862715363747" datatype="html">
@ -3655,7 +3663,7 @@
<target state="translated">Portföyün Gelişimi</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">341</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="6766448922039123937" datatype="html">
@ -3663,7 +3671,7 @@
<target state="translated">Yatırım Zaman Çizelgesi</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">432</context>
</context-group>
</trans-unit>
<trans-unit id="1440519383036502539" datatype="html">
@ -3671,7 +3679,7 @@
<target state="translated">Güncel Seri</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">453</context>
</context-group>
</trans-unit>
<trans-unit id="457461496511383061" datatype="html">
@ -3679,7 +3687,7 @@
<target state="translated">En Uzun Seri</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">462</context>
</context-group>
</trans-unit>
<trans-unit id="6854252543786630145" datatype="html">
@ -3687,7 +3695,7 @@
<target state="translated">Temettü Zaman Çizelgesi</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">425</context>
<context context-type="linenumber">489</context>
</context-group>
</trans-unit>
<trans-unit id="5857197365507636437" datatype="html">
@ -5852,11 +5860,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">80</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context>
@ -5884,7 +5892,7 @@
<target state="translated">Mutlak Varlık Performansı</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="775717789032174431" datatype="html">
@ -5892,7 +5900,7 @@
<target state="translated">Varlık Performansı</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">188</context>
</context-group>
</trans-unit>
<trans-unit id="3796488546909223546" datatype="html">
@ -5900,7 +5908,7 @@
<target state="translated">Mutlak Para Performansı</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">209</context>
</context-group>
</trans-unit>
<trans-unit id="104509087727626192" datatype="html">
@ -5908,7 +5916,7 @@
<target state="translated">Para Performansı</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">170</context>
<context context-type="linenumber">234</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
@ -7366,12 +7374,20 @@
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="7825231215382064101" datatype="html">
<source>Change with currency effect</source>
<target state="new">Change with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source>
<target state="translated">Yapay zeka istemi panoya kopyalandı</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">199</context>
<context context-type="linenumber">201</context>
</context-group>
</trans-unit>
<trans-unit id="1616747898909934803" datatype="html">
@ -7451,7 +7467,7 @@
<target state="translated">Duck.ai’yi aç</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">200</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5004550577313573215" datatype="html">
<source>Total amount</source>
<target state="new">Total amount</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source>
<target state="translated">Ermenistan</target>

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

@ -2215,7 +2215,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">257</context>
</context-group>
</trans-unit>
<trans-unit id="3118565567530464051" datatype="html">
@ -2227,7 +2227,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4980697492087090765" datatype="html">
@ -2606,6 +2606,14 @@
<context context-type="linenumber">409</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
<source>Performance with currency effect</source>
<target state="new">Performance with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">134</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
<source>Max</source>
<target state="translated">Максимум</target>
@ -4816,7 +4824,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">76</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4836,11 +4844,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">80</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context>
@ -4860,7 +4868,7 @@
<target state="translated">Щомісячно</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="8036977202721714375" datatype="html">
@ -4868,7 +4876,7 @@
<target state="translated">Щорічно</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="1600023202562292052" datatype="html">
@ -4884,7 +4892,7 @@
<target state="translated">Абсолютна прибутковість активів</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="775717789032174431" datatype="html">
@ -4892,7 +4900,7 @@
<target state="translated">Прибутковість активів</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">188</context>
</context-group>
</trans-unit>
<trans-unit id="3796488546909223546" datatype="html">
@ -4900,7 +4908,7 @@
<target state="translated">Абсолютна прибутковість валюти</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">209</context>
</context-group>
</trans-unit>
<trans-unit id="104509087727626192" datatype="html">
@ -4908,7 +4916,7 @@
<target state="translated">Прибутковість валюти</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">170</context>
<context context-type="linenumber">234</context>
</context-group>
</trans-unit>
<trans-unit id="6293970137138896363" datatype="html">
@ -4916,7 +4924,7 @@
<target state="translated">Топ</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">239</context>
<context context-type="linenumber">303</context>
</context-group>
</trans-unit>
<trans-unit id="3568940932272598597" datatype="html">
@ -4924,7 +4932,7 @@
<target state="translated">Низ</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">352</context>
</context-group>
</trans-unit>
<trans-unit id="5242468862715363747" datatype="html">
@ -4932,7 +4940,7 @@
<target state="translated">Еволюція портфеля</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">341</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="6766448922039123937" datatype="html">
@ -4940,7 +4948,7 @@
<target state="translated">Інвестиційний графік</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">432</context>
</context-group>
</trans-unit>
<trans-unit id="1440519383036502539" datatype="html">
@ -4948,7 +4956,7 @@
<target state="translated">Поточна серія</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">453</context>
</context-group>
</trans-unit>
<trans-unit id="457461496511383061" datatype="html">
@ -4956,7 +4964,7 @@
<target state="translated">Найдовша серія</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">462</context>
</context-group>
</trans-unit>
<trans-unit id="6854252543786630145" datatype="html">
@ -4964,7 +4972,7 @@
<target state="translated">Графік дивідендів</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">425</context>
<context context-type="linenumber">489</context>
</context-group>
</trans-unit>
<trans-unit id="5857197365507636437" datatype="html">
@ -7374,12 +7382,20 @@
<context context-type="linenumber">174</context>
</context-group>
</trans-unit>
<trans-unit id="7825231215382064101" datatype="html">
<source>Change with currency effect</source>
<target state="new">Change with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source>
<target state="translated">Запит AI скопійовано в буфер обміну</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">199</context>
<context context-type="linenumber">201</context>
</context-group>
</trans-unit>
<trans-unit id="8540986733881734625" datatype="html">
@ -7451,7 +7467,7 @@
<target state="new">Open Duck.ai</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">200</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5004550577313573215" datatype="html">
<source>Total amount</source>
<target state="new">Total amount</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source>
<target state="new">Armenia</target>

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

@ -1689,7 +1689,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">257</context>
</context-group>
</trans-unit>
<trans-unit id="3118565567530464051" datatype="html">
@ -1700,7 +1700,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4980697492087090765" datatype="html">
@ -2004,6 +2004,13 @@
<context context-type="linenumber">409</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
<source>Performance with currency effect</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">134</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
<source>Max</source>
<context-group purpose="location">
@ -3786,7 +3793,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">76</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3811,63 +3818,63 @@
<source>Monthly</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="8036977202721714375" datatype="html">
<source>Yearly</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="6293970137138896363" datatype="html">
<source>Top</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">239</context>
<context context-type="linenumber">303</context>
</context-group>
</trans-unit>
<trans-unit id="3568940932272598597" datatype="html">
<source>Bottom</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">352</context>
</context-group>
</trans-unit>
<trans-unit id="5242468862715363747" datatype="html">
<source>Portfolio Evolution</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">341</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="6766448922039123937" datatype="html">
<source>Investment Timeline</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">432</context>
</context-group>
</trans-unit>
<trans-unit id="1440519383036502539" datatype="html">
<source>Current Streak</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">453</context>
</context-group>
</trans-unit>
<trans-unit id="457461496511383061" datatype="html">
<source>Longest Streak</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">462</context>
</context-group>
</trans-unit>
<trans-unit id="6854252543786630145" datatype="html">
<source>Dividend Timeline</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">425</context>
<context context-type="linenumber">489</context>
</context-group>
</trans-unit>
<trans-unit id="5857197365507636437" datatype="html">
@ -5341,7 +5348,7 @@
<source>Absolute Currency Performance</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">209</context>
</context-group>
</trans-unit>
<trans-unit id="1600023202562292052" datatype="html">
@ -5355,7 +5362,7 @@
<source>Absolute Asset Performance</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="8580549503047096056" datatype="html">
@ -5370,11 +5377,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">80</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context>
@ -5392,14 +5399,14 @@
<source>Asset Performance</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">188</context>
</context-group>
</trans-unit>
<trans-unit id="104509087727626192" datatype="html">
<source>Currency Performance</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">170</context>
<context context-type="linenumber">234</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -6712,11 +6719,18 @@
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="7825231215382064101" datatype="html">
<source>Change with currency effect</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">199</context>
<context context-type="linenumber">201</context>
</context-group>
</trans-unit>
<trans-unit id="1616747898909934803" datatype="html">
@ -6786,7 +6800,7 @@
<source>Open Duck.ai</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">200</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
@ -6851,6 +6865,13 @@
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="5004550577313573215" datatype="html">
<source>Total amount</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source>
<context-group purpose="location">

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

@ -1816,7 +1816,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">257</context>
</context-group>
</trans-unit>
<trans-unit id="3118565567530464051" datatype="html">
@ -1828,7 +1828,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4980697492087090765" datatype="html">
@ -2159,6 +2159,14 @@
<context context-type="linenumber">409</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
<source>Performance with currency effect</source>
<target state="new">Performance with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">134</context>
</context-group>
</trans-unit>
<trans-unit id="3667949571823271511" datatype="html">
<source>Max</source>
<target state="translated">最大限度</target>
@ -4120,7 +4128,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">76</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4148,7 +4156,7 @@
<target state="translated">每月</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="8036977202721714375" datatype="html">
@ -4156,7 +4164,7 @@
<target state="translated">每年</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="6293970137138896363" datatype="html">
@ -4164,7 +4172,7 @@
<target state="translated">顶部</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">239</context>
<context context-type="linenumber">303</context>
</context-group>
</trans-unit>
<trans-unit id="3568940932272598597" datatype="html">
@ -4172,7 +4180,7 @@
<target state="translated">底部</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">352</context>
</context-group>
</trans-unit>
<trans-unit id="5242468862715363747" datatype="html">
@ -4180,7 +4188,7 @@
<target state="translated">投资组合演变</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">341</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="6766448922039123937" datatype="html">
@ -4188,7 +4196,7 @@
<target state="translated">投资时间表</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">432</context>
</context-group>
</trans-unit>
<trans-unit id="1440519383036502539" datatype="html">
@ -4196,7 +4204,7 @@
<target state="translated">当前连胜</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">389</context>
<context context-type="linenumber">453</context>
</context-group>
</trans-unit>
<trans-unit id="457461496511383061" datatype="html">
@ -4204,7 +4212,7 @@
<target state="translated">最长连续纪录</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">462</context>
</context-group>
</trans-unit>
<trans-unit id="6854252543786630145" datatype="html">
@ -4212,7 +4220,7 @@
<target state="translated">股息时间表</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">425</context>
<context context-type="linenumber">489</context>
</context-group>
</trans-unit>
<trans-unit id="5857197365507636437" datatype="html">
@ -5845,7 +5853,7 @@
<target state="translated">绝对货币表现</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">209</context>
</context-group>
</trans-unit>
<trans-unit id="1600023202562292052" datatype="html">
@ -5861,7 +5869,7 @@
<target state="translated">绝对资产回报</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="8580549503047096056" datatype="html">
@ -5877,11 +5885,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">80</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context>
@ -5901,7 +5909,7 @@
<target state="translated">资产回报</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">188</context>
</context-group>
</trans-unit>
<trans-unit id="104509087727626192" datatype="html">
@ -5909,7 +5917,7 @@
<target state="translated">货币表现</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">170</context>
<context context-type="linenumber">234</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -7367,12 +7375,20 @@
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="7825231215382064101" datatype="html">
<source>Change with currency effect</source>
<target state="new">Change with currency effect</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source>
<target state="translated">AI 提示已复制到剪贴板</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">199</context>
<context context-type="linenumber">201</context>
</context-group>
</trans-unit>
<trans-unit id="1616747898909934803" datatype="html">
@ -7452,7 +7468,7 @@
<target state="translated">打开 Duck.ai</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
<context context-type="linenumber">200</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
@ -7523,6 +7539,14 @@
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5004550577313573215" datatype="html">
<source>Total amount</source>
<target state="new">Total amount</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">94</context>
</context-group>
</trans-unit>
<trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source>
<target state="translated">亚美尼亚</target>

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

@ -34,7 +34,6 @@ import type { PortfolioPerformance } from './portfolio-performance.interface';
import type { PortfolioPosition } from './portfolio-position.interface';
import type { PortfolioReportRule } from './portfolio-report-rule.interface';
import type { PortfolioSummary } from './portfolio-summary.interface';
import type { Position } from './position.interface';
import type { Product } from './product';
import type { AccessTokenResponse } from './responses/access-token-response.interface';
import type { AccountBalancesResponse } from './responses/account-balances-response.interface';
@ -172,7 +171,6 @@ export {
PortfolioReportResponse,
PortfolioReportRule,
PortfolioSummary,
Position,
Product,
PublicKeyCredentialCreationOptionsJSON,
PublicKeyCredentialRequestOptionsJSON,

4
libs/common/src/lib/interfaces/portfolio-position.interface.ts

@ -7,6 +7,7 @@ import { Holding } from './holding.interface';
import { Sector } from './sector.interface';
export interface PortfolioPosition {
activitiesCount: number;
allocationInPercentage: number;
assetClass?: AssetClass;
assetClassLabel?: string;
@ -38,7 +39,10 @@ export interface PortfolioPosition {
sectors: Sector[];
symbol: string;
tags?: Tag[];
/** @deprecated use activitiesCount instead */
transactionCount: number;
type?: string;
url?: string;
valueInBaseCurrency?: number;

27
libs/common/src/lib/interfaces/position.interface.ts

@ -1,27 +0,0 @@
import { MarketState } from '@ghostfolio/common/types';
import { AssetClass, AssetSubClass, DataSource } from '@prisma/client';
export interface Position {
assetClass: AssetClass;
assetSubClass: AssetSubClass;
averagePrice: number;
currency: string;
dataSource: DataSource;
firstBuyDate: string;
grossPerformance?: number;
grossPerformancePercentage?: number;
investment: number;
investmentInOriginalCurrency?: number;
marketPrice?: number;
marketState?: MarketState;
name?: string;
netPerformance?: number;
netPerformancePercentage?: number;
netPerformancePercentageWithCurrencyEffect?: number;
netPerformanceWithCurrencyEffect?: number;
quantity: number;
symbol: string;
transactionCount: number;
url?: string;
}

3
libs/common/src/lib/interfaces/responses/accounts-response.interface.ts

@ -2,9 +2,12 @@ import { AccountWithValue } from '@ghostfolio/common/types';
export interface AccountsResponse {
accounts: AccountWithValue[];
activitiesCount: number;
totalBalanceInBaseCurrency: number;
totalDividendInBaseCurrency: number;
totalInterestInBaseCurrency: number;
totalValueInBaseCurrency: number;
/** @deprecated use activitiesCount instead */
transactionCount: number;
}

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

@ -11,11 +11,11 @@ export interface PortfolioHoldingResponse {
activitiesCount: number;
averagePrice: number;
dataProviderInfo: DataProviderInfo;
dateOfFirstActivity: string;
dividendInBaseCurrency: number;
dividendYieldPercent: number;
dividendYieldPercentWithCurrencyEffect: number;
feeInBaseCurrency: number;
firstBuyDate: string;
grossPerformance: number;
grossPerformancePercent: number;
grossPerformancePercentWithCurrencyEffect: number;

5
libs/common/src/lib/models/timeline-position.ts

@ -9,12 +9,15 @@ import { Big } from 'big.js';
import { Transform, Type } from 'class-transformer';
export class TimelinePosition {
activitiesCount: number;
@Transform(transformToBig, { toClassOnly: true })
@Type(() => Big)
averagePrice: Big;
currency: string;
dataSource: DataSource;
dateOfFirstActivity: string;
@Transform(transformToBig, { toClassOnly: true })
@Type(() => Big)
@ -32,6 +35,7 @@ export class TimelinePosition {
@Type(() => Big)
feeInBaseCurrency: Big;
/** @deprecated use dateOfFirstActivity instead */
firstBuyDate: string;
@Transform(transformToBig, { toClassOnly: true })
@ -92,6 +96,7 @@ export class TimelinePosition {
@Type(() => Big)
timeWeightedInvestmentWithCurrencyEffect: Big;
/** @deprecated use activitiesCount instead */
transactionCount: number;
@Transform(transformToBig, { toClassOnly: true })

4
libs/common/src/lib/types/account-with-value.type.ts

@ -1,12 +1,16 @@
import { Account as AccountModel, Platform } from '@prisma/client';
export type AccountWithValue = AccountModel & {
activitiesCount: number;
allocationInPercentage: number;
balanceInBaseCurrency: number;
dividendInBaseCurrency: number;
interestInBaseCurrency: number;
platform?: Platform;
/** @deprecated use activitiesCount instead */
transactionCount: number;
value: number;
valueInBaseCurrency: number;
};

1
libs/ui/src/lib/environment/environment.interface.ts

@ -1,5 +1,4 @@
export interface GfEnvironment {
lastPublish: string | null;
production: boolean;
stripePublicKey: string;
}

7
libs/ui/src/lib/mocks/holdings.ts

@ -2,6 +2,7 @@ import { PortfolioPosition } from '@ghostfolio/common/interfaces';
export const holdings: PortfolioPosition[] = [
{
activitiesCount: 1,
allocationInPercentage: 0.042990776363386086,
assetClass: 'EQUITY' as any,
assetClassLabel: 'Equity',
@ -45,6 +46,7 @@ export const holdings: PortfolioPosition[] = [
valueInBaseCurrency: 12230
},
{
activitiesCount: 2,
allocationInPercentage: 0.02377401948293552,
assetClass: 'EQUITY' as any,
assetClassLabel: 'Equity',
@ -88,6 +90,7 @@ export const holdings: PortfolioPosition[] = [
valueInBaseCurrency: 6763.224181360202
},
{
activitiesCount: 1,
allocationInPercentage: 0.08038536990007467,
assetClass: 'EQUITY' as any,
assetClassLabel: 'Equity',
@ -131,6 +134,7 @@ export const holdings: PortfolioPosition[] = [
valueInBaseCurrency: 22868
},
{
activitiesCount: 1,
allocationInPercentage: 0.19216416482928922,
assetClass: 'LIQUIDITY' as any,
assetClassLabel: 'Liquidity',
@ -162,6 +166,7 @@ export const holdings: PortfolioPosition[] = [
valueInBaseCurrency: 54666.7898248
},
{
activitiesCount: 1,
allocationInPercentage: 0.04307127421937313,
assetClass: 'EQUITY' as any,
assetClassLabel: 'Equity',
@ -205,6 +210,7 @@ export const holdings: PortfolioPosition[] = [
valueInBaseCurrency: 12252.9
},
{
activitiesCount: 1,
allocationInPercentage: 0.18762679306394897,
assetClass: 'EQUITY' as any,
assetClassLabel: 'Equity',
@ -248,6 +254,7 @@ export const holdings: PortfolioPosition[] = [
valueInBaseCurrency: 53376
},
{
activitiesCount: 5,
allocationInPercentage: 0.053051250766657634,
assetClass: 'EQUITY' as any,
assetClassLabel: 'Equity',

12
package-lock.json

@ -1,12 +1,12 @@
{
"name": "ghostfolio",
"version": "2.231.0",
"version": "2.233.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ghostfolio",
"version": "2.231.0",
"version": "2.233.0",
"hasInstallScript": true,
"license": "AGPL-3.0",
"dependencies": {
@ -141,7 +141,7 @@
"jest-environment-jsdom": "30.2.0",
"jest-preset-angular": "16.0.0",
"nx": "22.3.3",
"prettier": "3.7.4",
"prettier": "3.8.0",
"prettier-plugin-organize-attributes": "1.0.0",
"prisma": "6.19.0",
"react": "18.2.0",
@ -28255,9 +28255,9 @@
}
},
"node_modules/prettier": {
"version": "3.7.4",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz",
"integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==",
"version": "3.8.0",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.0.tgz",
"integrity": "sha512-yEPsovQfpxYfgWNhCfECjG5AQaO+K3dp6XERmOepyPDVqcJm+bjyCVO3pmU+nAPe0N5dDvekfGezt/EIiRe1TA==",
"dev": true,
"license": "MIT",
"bin": {

4
package.json

@ -1,6 +1,6 @@
{
"name": "ghostfolio",
"version": "2.231.0",
"version": "2.233.0",
"homepage": "https://ghostfol.io",
"license": "AGPL-3.0",
"repository": "https://github.com/ghostfolio/ghostfolio",
@ -185,7 +185,7 @@
"jest-environment-jsdom": "30.2.0",
"jest-preset-angular": "16.0.0",
"nx": "22.3.3",
"prettier": "3.7.4",
"prettier": "3.8.0",
"prettier-plugin-organize-attributes": "1.0.0",
"prisma": "6.19.0",
"react": "18.2.0",

Loading…
Cancel
Save