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": [ "recommendations": [
"angular.ng-template", "angular.ng-template",
"esbenp.prettier-vscode",
"firsttris.vscode-jest-runner", "firsttris.vscode-jest-runner",
"nrwl.angular-console", "nrwl.angular-console"
"prettier.prettier-vscode"
] ]
} }

2
.vscode/settings.json

@ -1,4 +1,4 @@
{ {
"editor.defaultFormatter": "prettier.prettier-vscode", "editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true "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 - Migrated from _Material Design_ 2 to _Material Design_ 3
## Unreleased ## 2.233.0 - 2026-01-23
### Changed ### 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` - Upgraded `countries-list` from version `3.2.0` to `3.2.2`
## 2.231.0 - 2026-01-17 ## 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 ## Sponsors
<div align="center"> <div align="center">
<p> <a href="https://www.testmu.ai?utm_medium=sponsor&utm_source=ghostfolio" target="_blank" title="TestMu AI - AI Powered Testing Tool">
Browser testing via<br /> <img alt="TestMu AI Logo" height="45" src="https://assets.testmu.ai/resources/images/logos/logo.svg" />
<a href="https://www.lambdatest.com?utm_medium=sponsor&utm_source=ghostfolio" target="_blank" title="LambdaTest - AI Powered Testing Tool"> </a>
<img alt="LambdaTest Logo" height="45" width="250" src="https://www.lambdatest.com/blue-logo.png" />
</a>
</p>
</div> </div>
## Analytics ## Analytics

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

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

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

@ -407,9 +407,11 @@ export abstract class PortfolioCalculator {
includeInTotalAssetValue, includeInTotalAssetValue,
timeWeightedInvestment, timeWeightedInvestment,
timeWeightedInvestmentWithCurrencyEffect, timeWeightedInvestmentWithCurrencyEffect,
activitiesCount: item.activitiesCount,
averagePrice: item.averagePrice, averagePrice: item.averagePrice,
currency: item.currency, currency: item.currency,
dataSource: item.dataSource, dataSource: item.dataSource,
dateOfFirstActivity: item.dateOfFirstActivity,
dividend: totalDividend, dividend: totalDividend,
dividendInBaseCurrency: totalDividendInBaseCurrency, dividendInBaseCurrency: totalDividendInBaseCurrency,
fee: item.fee, fee: item.fee,
@ -993,9 +995,11 @@ export abstract class PortfolioCalculator {
investment, investment,
skipErrors, skipErrors,
symbol, symbol,
activitiesCount: oldAccumulatedSymbol.activitiesCount + 1,
averagePrice: newQuantity.eq(0) averagePrice: newQuantity.eq(0)
? new Big(0) ? new Big(0)
: investment.div(newQuantity).abs(), : investment.div(newQuantity).abs(),
dateOfFirstActivity: oldAccumulatedSymbol.dateOfFirstActivity,
dividend: new Big(0), dividend: new Big(0),
fee: oldAccumulatedSymbol.fee.plus(fee), fee: oldAccumulatedSymbol.fee.plus(fee),
feeInBaseCurrency: feeInBaseCurrency:
@ -1016,7 +1020,9 @@ export abstract class PortfolioCalculator {
skipErrors, skipErrors,
symbol, symbol,
tags, tags,
activitiesCount: 1,
averagePrice: unitPrice, averagePrice: unitPrice,
dateOfFirstActivity: date,
dividend: new Big(0), dividend: new Big(0),
firstBuyDate: date, firstBuyDate: date,
includeInHoldings: INVESTMENT_ACTIVITY_TYPES.includes(type), 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' groupBy: 'month'
}); });
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({ expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('595.6'), currentValueInBaseCurrency: new Big('595.6'),
errors: [], errors: [],
hasErrors: false, hasErrors: false,
positions: [ positions: [
{ {
activitiesCount: 2,
averagePrice: new Big('139.75'), averagePrice: new Big('139.75'),
currency: 'CHF', currency: 'CHF',
dataSource: 'YAHOO', dataSource: 'YAHOO',
dateOfFirstActivity: '2021-11-22',
dividend: new Big('0'), dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'), dividendInBaseCurrency: new Big('0'),
fee: new Big('3.2'), fee: new Big('3.2'),
@ -202,6 +209,10 @@ describe('PortfolioCalculator', () => {
{ date: '2021-11-01', investment: 559 }, { date: '2021-11-01', investment: 559 },
{ date: '2021-12-01', investment: 0 } { 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' groupBy: 'month'
}); });
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({ expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('0'), currentValueInBaseCurrency: new Big('0'),
errors: [], errors: [],
hasErrors: false, hasErrors: false,
positions: [ positions: [
{ {
activitiesCount: 3,
averagePrice: new Big('0'), averagePrice: new Big('0'),
currency: 'CHF', currency: 'CHF',
dataSource: 'YAHOO', dataSource: 'YAHOO',
dateOfFirstActivity: '2021-11-22',
dividend: new Big('0'), dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'), dividendInBaseCurrency: new Big('0'),
fee: new Big('3.2'), fee: new Big('3.2'),
@ -216,6 +223,10 @@ describe('PortfolioCalculator', () => {
{ date: '2021-11-01', investment: 0 }, { date: '2021-11-01', investment: 0 },
{ date: '2021-12-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' groupBy: 'month'
}); });
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({ expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('0'), currentValueInBaseCurrency: new Big('0'),
errors: [], errors: [],
hasErrors: false, hasErrors: false,
positions: [ positions: [
{ {
activitiesCount: 2,
averagePrice: new Big('0'), averagePrice: new Big('0'),
currency: 'CHF', currency: 'CHF',
dataSource: 'YAHOO', dataSource: 'YAHOO',
dateOfFirstActivity: '2021-11-22',
dividend: new Big('0'), dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'), dividendInBaseCurrency: new Big('0'),
fee: new Big('3.2'), fee: new Big('3.2'),
@ -200,6 +207,10 @@ describe('PortfolioCalculator', () => {
{ date: '2021-11-01', investment: 0 }, { date: '2021-11-01', investment: 0 },
{ date: '2021-12-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' groupBy: 'month'
}); });
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({ expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('297.8'), currentValueInBaseCurrency: new Big('297.8'),
errors: [], errors: [],
hasErrors: false, hasErrors: false,
positions: [ positions: [
{ {
activitiesCount: 1,
averagePrice: new Big('136.6'), averagePrice: new Big('136.6'),
currency: 'CHF', currency: 'CHF',
dataSource: 'YAHOO', dataSource: 'YAHOO',
dateOfFirstActivity: '2021-11-30',
dividend: new Big('0'), dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'), dividendInBaseCurrency: new Big('0'),
fee: new Big('1.55'), fee: new Big('1.55'),
@ -199,6 +206,10 @@ describe('PortfolioCalculator', () => {
{ date: '2021-11-01', investment: 273.2 }, { date: '2021-11-01', investment: 273.2 },
{ date: '2021-12-01', investment: 0 } { 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 () => { 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' groupBy: 'month'
}); });
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot.historicalData[0]).toEqual({ expect(portfolioSnapshot.historicalData[0]).toEqual({
date: '2021-12-11', date: '2021-12-11',
investmentValueWithCurrencyEffect: 0, investmentValueWithCurrencyEffect: 0,
@ -190,9 +195,11 @@ describe('PortfolioCalculator', () => {
hasErrors: false, hasErrors: false,
positions: [ positions: [
{ {
activitiesCount: 1,
averagePrice: new Big('44558.42'), averagePrice: new Big('44558.42'),
currency: 'USD', currency: 'USD',
dataSource: 'YAHOO', dataSource: 'YAHOO',
dateOfFirstActivity: '2021-12-12',
dividend: new Big('0'), dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'), dividendInBaseCurrency: new Big('0'),
fee: new Big('4.46'), fee: new Big('4.46'),
@ -245,6 +252,11 @@ describe('PortfolioCalculator', () => {
{ date: '2021-12-01', investment: 44558.42 }, { date: '2021-12-01', investment: 44558.42 },
{ date: '2022-01-01', investment: 0 } { 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' groupBy: 'month'
}); });
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({ expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('13298.425356'), currentValueInBaseCurrency: new Big('13298.425356'),
errors: [], errors: [],
@ -153,9 +158,11 @@ describe('PortfolioCalculator', () => {
hasErrors: false, hasErrors: false,
positions: [ positions: [
{ {
activitiesCount: 2,
averagePrice: new Big('320.43'), averagePrice: new Big('320.43'),
currency: 'USD', currency: 'USD',
dataSource: 'YAHOO', dataSource: 'YAHOO',
dateOfFirstActivity: '2015-01-01',
dividend: new Big('0'), dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'), dividendInBaseCurrency: new Big('0'),
fee: new Big('0'), fee: new Big('0'),
@ -253,6 +260,13 @@ describe('PortfolioCalculator', () => {
{ date: '2017-12-01', investment: -318.54266729999995 }, { date: '2017-12-01', investment: -318.54266729999995 },
{ date: '2018-01-01', investment: 0 } { 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' groupBy: 'month'
}); });
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot.historicalData[0]).toEqual({ expect(portfolioSnapshot.historicalData[0]).toEqual({
date: '2021-12-11', date: '2021-12-11',
investmentValueWithCurrencyEffect: 0, investmentValueWithCurrencyEffect: 0,
@ -190,9 +195,11 @@ describe('PortfolioCalculator', () => {
hasErrors: false, hasErrors: false,
positions: [ positions: [
{ {
activitiesCount: 1,
averagePrice: new Big('44558.42'), averagePrice: new Big('44558.42'),
currency: 'USD', currency: 'USD',
dataSource: 'YAHOO', dataSource: 'YAHOO',
dateOfFirstActivity: '2021-12-12',
dividend: new Big('0'), dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'), dividendInBaseCurrency: new Big('0'),
fee: new Big('4.46'), fee: new Big('4.46'),
@ -245,6 +252,11 @@ describe('PortfolioCalculator', () => {
{ date: '2021-12-01', investment: 44558.42 }, { date: '2021-12-01', investment: 44558.42 },
{ date: '2022-01-01', investment: 0 } { 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 * Value in base currency: 2000 USD * 0.91 = 1820 CHF
*/ */
expect(position).toMatchObject<TimelinePosition>({ expect(position).toMatchObject<TimelinePosition>({
activitiesCount: 2,
averagePrice: new Big(1), averagePrice: new Big(1),
currency: 'USD', currency: 'USD',
dataSource: DataSource.YAHOO, dataSource: DataSource.YAHOO,
dateOfFirstActivity: '2023-12-31',
dividend: new Big(0), dividend: new Big(0),
dividendInBaseCurrency: new Big(0), dividendInBaseCurrency: new Big(0),
fee: 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' groupBy: 'month'
}); });
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({ expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('103.10483'), currentValueInBaseCurrency: new Big('103.10483'),
errors: [], errors: [],
hasErrors: false, hasErrors: false,
positions: [ positions: [
{ {
activitiesCount: 1,
averagePrice: new Big('89.12'), averagePrice: new Big('89.12'),
currency: 'USD', currency: 'USD',
dataSource: 'YAHOO', dataSource: 'YAHOO',
dateOfFirstActivity: '2023-01-03',
dividend: new Big('0'), dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'), dividendInBaseCurrency: new Big('0'),
fee: new Big('1'), fee: new Big('1'),
@ -218,6 +225,10 @@ describe('PortfolioCalculator', () => {
investment: 0 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, hasErrors: false,
positions: [ positions: [
{ {
activitiesCount: 2,
averagePrice: new Big('298.58'), averagePrice: new Big('298.58'),
currency: 'USD', currency: 'USD',
dataSource: 'YAHOO', dataSource: 'YAHOO',
dateOfFirstActivity: '2021-09-16',
dividend: new Big('0.62'), dividend: new Big('0.62'),
dividendInBaseCurrency: new Big('0.62'), dividendInBaseCurrency: new Big('0.62'),
fee: new Big('19'), 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' groupBy: 'month'
}); });
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({ expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big(0), currentValueInBaseCurrency: new Big(0),
hasErrors: false, hasErrors: false,
@ -108,6 +113,8 @@ describe('PortfolioCalculator', () => {
expect(investments).toEqual([]); expect(investments).toEqual([]);
expect(investmentsByMonth).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' groupBy: 'month'
}); });
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({ expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('87.8'), currentValueInBaseCurrency: new Big('87.8'),
errors: [], errors: [],
hasErrors: false, hasErrors: false,
positions: [ positions: [
{ {
activitiesCount: 2,
averagePrice: new Big('75.80'), averagePrice: new Big('75.80'),
currency: 'CHF', currency: 'CHF',
dataSource: 'YAHOO', dataSource: 'YAHOO',
dateOfFirstActivity: '2022-03-07',
dividend: new Big('0'), dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'), dividendInBaseCurrency: new Big('0'),
fee: new Big('4.25'), fee: new Big('4.25'),
@ -198,6 +205,10 @@ describe('PortfolioCalculator', () => {
{ date: '2022-03-01', investment: 151.6 }, { date: '2022-03-01', investment: 151.6 },
{ date: '2022-04-01', investment: -75.8 } { 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' groupBy: 'month'
}); });
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot.historicalData[0]).toEqual({ expect(portfolioSnapshot.historicalData[0]).toEqual({
date: '2022-03-06', date: '2022-03-06',
investmentValueWithCurrencyEffect: 0, investmentValueWithCurrencyEffect: 0,
@ -188,9 +193,11 @@ describe('PortfolioCalculator', () => {
hasErrors: false, hasErrors: false,
positions: [ positions: [
{ {
activitiesCount: 2,
averagePrice: new Big('0'), averagePrice: new Big('0'),
currency: 'CHF', currency: 'CHF',
dataSource: 'YAHOO', dataSource: 'YAHOO',
dateOfFirstActivity: '2022-03-07',
dividend: new Big('0'), dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'), dividendInBaseCurrency: new Big('0'),
fee: new Big('0'), fee: new Big('0'),
@ -249,6 +256,10 @@ describe('PortfolioCalculator', () => {
{ date: '2022-03-01', investment: 151.6 }, { date: '2022-03-01', investment: 151.6 },
{ date: '2022-04-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, hasErrors: false,
positions: [ positions: [
{ {
activitiesCount: 1,
averagePrice: new Big('500000'), averagePrice: new Big('500000'),
currency: 'USD', currency: 'USD',
dataSource: 'MANUAL', dataSource: 'MANUAL',
dateOfFirstActivity: '2022-01-01',
dividend: new Big('0'), dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'), dividendInBaseCurrency: new Big('0'),
fee: 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'; import { Big } from 'big.js';
export interface TransactionPointSymbol { export interface TransactionPointSymbol {
activitiesCount: number;
assetSubClass: AssetSubClass; assetSubClass: AssetSubClass;
averagePrice: Big; averagePrice: Big;
currency: string; currency: string;
dataSource: DataSource; dataSource: DataSource;
dateOfFirstActivity: string;
dividend: Big; dividend: Big;
fee: Big; fee: Big;
feeInBaseCurrency: Big; feeInBaseCurrency: Big;
/** @deprecated use dateOfFirstActivity instead */
firstBuyDate: string; firstBuyDate: string;
includeInHoldings: boolean; includeInHoldings: boolean;
investment: Big; investment: Big;
quantity: Big; quantity: Big;
skipErrors: boolean; skipErrors: boolean;
symbol: string; symbol: string;
tags?: Tag[]; tags?: Tag[];
/** @deprecated use activitiesCount instead */
transactionCount: number; transactionCount: number;
} }

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

@ -179,9 +179,9 @@ export class PortfolioService {
return Promise.all( return Promise.all(
accounts.map(async (account) => { accounts.map(async (account) => {
let activitiesCount = 0;
let dividendInBaseCurrency = 0; let dividendInBaseCurrency = 0;
let interestInBaseCurrency = 0; let interestInBaseCurrency = 0;
let transactionCount = 0;
for (const { for (const {
currency, currency,
@ -214,7 +214,7 @@ export class PortfolioService {
} }
if (!isDraft) { if (!isDraft) {
transactionCount += 1; activitiesCount += 1;
} }
} }
@ -223,9 +223,9 @@ export class PortfolioService {
const result = { const result = {
...account, ...account,
activitiesCount,
dividendInBaseCurrency, dividendInBaseCurrency,
interestInBaseCurrency, interestInBaseCurrency,
transactionCount,
valueInBaseCurrency, valueInBaseCurrency,
allocationInPercentage: 0, allocationInPercentage: 0,
balanceInBaseCurrency: this.exchangeRateDataService.toCurrency( balanceInBaseCurrency: this.exchangeRateDataService.toCurrency(
@ -233,6 +233,7 @@ export class PortfolioService {
account.currency, account.currency,
userCurrency userCurrency
), ),
transactionCount: activitiesCount,
value: this.exchangeRateDataService.toCurrency( value: this.exchangeRateDataService.toCurrency(
valueInBaseCurrency, valueInBaseCurrency,
userCurrency, userCurrency,
@ -262,6 +263,8 @@ export class PortfolioService {
withExcludedAccounts withExcludedAccounts
}); });
let activitiesCount = 0;
const searchQuery = filters.find(({ type }) => { const searchQuery = filters.find(({ type }) => {
return type === 'SEARCH_QUERY'; return type === 'SEARCH_QUERY';
})?.id; })?.id;
@ -284,6 +287,8 @@ export class PortfolioService {
let transactionCount = 0; let transactionCount = 0;
for (const account of accounts) { for (const account of accounts) {
activitiesCount += account.activitiesCount;
totalBalanceInBaseCurrency = totalBalanceInBaseCurrency.plus( totalBalanceInBaseCurrency = totalBalanceInBaseCurrency.plus(
account.balanceInBaseCurrency account.balanceInBaseCurrency
); );
@ -296,6 +301,7 @@ export class PortfolioService {
totalValueInBaseCurrency = totalValueInBaseCurrency.plus( totalValueInBaseCurrency = totalValueInBaseCurrency.plus(
account.valueInBaseCurrency account.valueInBaseCurrency
); );
transactionCount += account.transactionCount; transactionCount += account.transactionCount;
} }
@ -310,6 +316,7 @@ export class PortfolioService {
return { return {
accounts, accounts,
activitiesCount,
transactionCount, transactionCount,
totalBalanceInBaseCurrency: totalBalanceInBaseCurrency.toNumber(), totalBalanceInBaseCurrency: totalBalanceInBaseCurrency.toNumber(),
totalDividendInBaseCurrency: totalDividendInBaseCurrency.toNumber(), totalDividendInBaseCurrency: totalDividendInBaseCurrency.toNumber(),
@ -567,6 +574,7 @@ export class PortfolioService {
} }
for (const { for (const {
activitiesCount,
currency, currency,
dividend, dividend,
firstBuyDate, firstBuyDate,
@ -610,6 +618,7 @@ export class PortfolioService {
} }
holdings[symbol] = { holdings[symbol] = {
activitiesCount,
currency, currency,
markets, markets,
marketsAdvanced, marketsAdvanced,
@ -789,6 +798,7 @@ export class PortfolioService {
} }
const { const {
activitiesCount,
averagePrice, averagePrice,
currency, currency,
dividendInBaseCurrency, dividendInBaseCurrency,
@ -807,8 +817,7 @@ export class PortfolioService {
quantity, quantity,
tags, tags,
timeWeightedInvestment, timeWeightedInvestment,
timeWeightedInvestmentWithCurrencyEffect, timeWeightedInvestmentWithCurrencyEffect
transactionCount
} = holding; } = holding;
const activitiesOfHolding = activities.filter(({ SymbolProfile }) => { const activitiesOfHolding = activities.filter(({ SymbolProfile }) => {
@ -914,15 +923,15 @@ export class PortfolioService {
); );
return { return {
firstBuyDate, activitiesCount,
marketPrice, marketPrice,
marketPriceMax, marketPriceMax,
marketPriceMin, marketPriceMin,
SymbolProfile, SymbolProfile,
tags, tags,
activitiesCount: transactionCount,
averagePrice: averagePrice.toNumber(), averagePrice: averagePrice.toNumber(),
dataProviderInfo: portfolioCalculator.getDataProviderInfos()?.[0], dataProviderInfo: portfolioCalculator.getDataProviderInfos()?.[0],
dateOfFirstActivity: firstBuyDate,
dividendInBaseCurrency: dividendInBaseCurrency.toNumber(), dividendInBaseCurrency: dividendInBaseCurrency.toNumber(),
dividendYieldPercent: dividendYieldPercent.toNumber(), dividendYieldPercent: dividendYieldPercent.toNumber(),
dividendYieldPercentWithCurrencyEffect: dividendYieldPercentWithCurrencyEffect:
@ -1657,6 +1666,7 @@ export class PortfolioService {
}): PortfolioPosition { }): PortfolioPosition {
return { return {
currency, currency,
activitiesCount: 0,
allocationInPercentage: 0, allocationInPercentage: 0,
assetClass: AssetClass.LIQUIDITY, assetClass: AssetClass.LIQUIDITY,
assetSubClass: AssetSubClass.CASH, 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 dataProviderInfo: DataProviderInfo;
public dataSource: MatTableDataSource<Activity>; public dataSource: MatTableDataSource<Activity>;
public dateOfFirstActivity: string;
public dividendInBaseCurrency: number; public dividendInBaseCurrency: number;
public dividendInBaseCurrencyPrecision = 2; public dividendInBaseCurrencyPrecision = 2;
public dividendYieldPercentWithCurrencyEffect: number; public dividendYieldPercentWithCurrencyEffect: number;
public feeInBaseCurrency: number; public feeInBaseCurrency: number;
public firstBuyDate: string;
public hasPermissionToCreateOwnTag: boolean; public hasPermissionToCreateOwnTag: boolean;
public hasPermissionToReadMarketDataOfOwnAssetProfile: boolean; public hasPermissionToReadMarketDataOfOwnAssetProfile: boolean;
public historicalDataItems: LineChartItem[]; public historicalDataItems: LineChartItem[];
@ -267,10 +267,10 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
activitiesCount, activitiesCount,
averagePrice, averagePrice,
dataProviderInfo, dataProviderInfo,
dateOfFirstActivity,
dividendInBaseCurrency, dividendInBaseCurrency,
dividendYieldPercentWithCurrencyEffect, dividendYieldPercentWithCurrencyEffect,
feeInBaseCurrency, feeInBaseCurrency,
firstBuyDate,
historicalData, historicalData,
investmentInBaseCurrencyWithCurrencyEffect, investmentInBaseCurrencyWithCurrencyEffect,
marketPrice, marketPrice,
@ -298,6 +298,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
this.benchmarkDataItems = []; this.benchmarkDataItems = [];
this.countries = {}; this.countries = {};
this.dataProviderInfo = dataProviderInfo; this.dataProviderInfo = dataProviderInfo;
this.dateOfFirstActivity = dateOfFirstActivity;
this.dividendInBaseCurrency = dividendInBaseCurrency; this.dividendInBaseCurrency = dividendInBaseCurrency;
if ( if (
@ -312,7 +313,6 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
dividendYieldPercentWithCurrencyEffect; dividendYieldPercentWithCurrencyEffect;
this.feeInBaseCurrency = feeInBaseCurrency; this.feeInBaseCurrency = feeInBaseCurrency;
this.firstBuyDate = firstBuyDate;
this.hasPermissionToReadMarketDataOfOwnAssetProfile = this.hasPermissionToReadMarketDataOfOwnAssetProfile =
hasPermission( hasPermission(
@ -461,16 +461,16 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
} }
} }
if (isToday(parseISO(this.firstBuyDate))) { if (isToday(parseISO(this.dateOfFirstActivity))) {
// Add average price // Add average price
this.historicalDataItems.push({ this.historicalDataItems.push({
date: this.firstBuyDate, date: this.dateOfFirstActivity,
value: this.averagePrice value: this.averagePrice
}); });
// Add benchmark 1 // Add benchmark 1
this.benchmarkDataItems.push({ this.benchmarkDataItems.push({
date: this.firstBuyDate, date: this.dateOfFirstActivity,
value: averagePrice value: averagePrice
}); });
@ -501,7 +501,7 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit {
if ( if (
this.benchmarkDataItems[0]?.value === undefined && this.benchmarkDataItems[0]?.value === undefined &&
isSameMonth(parseISO(this.firstBuyDate), new Date()) isSameMonth(parseISO(this.dateOfFirstActivity), new Date())
) { ) {
this.benchmarkDataItems[0].value = this.averagePrice; 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" [deviceType]="data.deviceType"
[isDate]="true" [isDate]="true"
[locale]="data.locale" [locale]="data.locale"
[value]="firstBuyDate" [value]="dateOfFirstActivity"
>First Activity</gf-value >First Activity</gf-value
> >
</div> </div>
@ -400,7 +400,7 @@
<gf-historical-market-data-editor <gf-historical-market-data-editor
[currency]="SymbolProfile?.currency" [currency]="SymbolProfile?.currency"
[dataSource]="SymbolProfile?.dataSource" [dataSource]="SymbolProfile?.dataSource"
[dateOfFirstActivity]="firstBuyDate" [dateOfFirstActivity]="dateOfFirstActivity"
[locale]="data.locale" [locale]="data.locale"
[marketData]="marketDataItems" [marketData]="marketDataItems"
[symbol]="SymbolProfile?.symbol" [symbol]="SymbolProfile?.symbol"

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

@ -207,18 +207,20 @@
<div class="col-12"> <div class="col-12">
<h2 class="h4 mb-3">Sponsors</h2> <h2 class="h4 mb-3">Sponsors</h2>
<div class="text-center"> <div class="text-center">
<small>Browser testing via</small> <div class="mb-2 small">Browser testing via</div>
<br />
<a <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" target="_blank"
title="LambdaTest - AI Powered Testing Tool" title="TestMu AI - AI Powered Testing Tool"
> >
<img <img
alt="LambdaTest Logo" alt="TestMu AI Logo"
height="45" height="32"
src="../assets/images/sponsors/logo-lambdatest.png" [src]="
width="250" user?.settings?.colorScheme === 'LIGHT'
? '../assets/images/sponsors/logo-testmu-dark.svg'
: '../assets/images/sponsors/logo-testmu-light.svg'
"
/> />
</a> </a>
</div> </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 { GfInvestmentChartComponent } from '@ghostfolio/client/components/investment-chart/investment-chart.component';
import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service';
import { UserService } from '@ghostfolio/client/services/user/user.service'; import { UserService } from '@ghostfolio/client/services/user/user.service';
import { NUMERICAL_PRECISION_THRESHOLD_6_FIGURES } from '@ghostfolio/common/config';
import { import {
HistoricalDataItem, HistoricalDataItem,
InvestmentItem, InvestmentItem,
@ -94,6 +95,7 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
public performanceDataItems: HistoricalDataItem[]; public performanceDataItems: HistoricalDataItem[];
public performanceDataItemsInPercentage: HistoricalDataItem[]; public performanceDataItemsInPercentage: HistoricalDataItem[];
public portfolioEvolutionDataLabel = $localize`Investment`; public portfolioEvolutionDataLabel = $localize`Investment`;
public precision = 2;
public streaks: PortfolioInvestmentsResponse['streaks']; public streaks: PortfolioInvestmentsResponse['streaks'];
public top3: PortfolioPosition[]; public top3: PortfolioPosition[];
public unitCurrentStreak: string; public unitCurrentStreak: string;
@ -317,12 +319,21 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit {
: valueInPercentage : valueInPercentage
}); });
} }
this.performanceDataItemsInPercentage.push({ this.performanceDataItemsInPercentage.push({
date, date,
value: netPerformanceInPercentageWithCurrencyEffect value: netPerformanceInPercentageWithCurrencyEffect
}); });
} }
if (
this.deviceType === 'mobile' &&
this.performance.currentValueInBaseCurrency >=
NUMERICAL_PRECISION_THRESHOLD_6_FIGURES
) {
this.precision = 0;
}
this.isLoadingInvestmentChart = false; this.isLoadingInvestmentChart = false;
this.updateBenchmarkDataItems(); this.updateBenchmarkDataItems();

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

@ -74,6 +74,72 @@
</div> </div>
</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="mb-5 row">
<div class="col-lg"> <div class="col-lg">
<gf-benchmark-comparator <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 = { export const environment: GfEnvironment = {
lastPublish: '{BUILD_TIMESTAMP}', lastPublish: '{BUILD_TIMESTAMP}',
production: true, production: true
stripePublicKey: ''
}; };

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

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

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

@ -2123,7 +2123,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3118565567530464051" datatype="html"> <trans-unit id="3118565567530464051" datatype="html">
@ -2135,7 +2135,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4980697492087090765" datatype="html"> <trans-unit id="4980697492087090765" datatype="html">
@ -2394,6 +2394,14 @@
<context context-type="linenumber">409</context> <context context-type="linenumber">409</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="3667949571823271511" datatype="html">
<source>Max</source> <source>Max</source>
<target state="translated">Màx</target> <target state="translated">Màx</target>
@ -4500,7 +4508,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4520,11 +4528,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context> <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> <target state="translated">Mensualment</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8036977202721714375" datatype="html"> <trans-unit id="8036977202721714375" datatype="html">
@ -4552,7 +4560,7 @@
<target state="translated">Anualment</target> <target state="translated">Anualment</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1600023202562292052" datatype="html"> <trans-unit id="1600023202562292052" datatype="html">
@ -4568,7 +4576,7 @@
<target state="translated">Rendiment absolut dels actius</target> <target state="translated">Rendiment absolut dels actius</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="775717789032174431" datatype="html"> <trans-unit id="775717789032174431" datatype="html">
@ -4576,7 +4584,7 @@
<target state="translated">Rendiment de l’actiu</target> <target state="translated">Rendiment de l’actiu</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3796488546909223546" datatype="html"> <trans-unit id="3796488546909223546" datatype="html">
@ -4584,7 +4592,7 @@
<target state="translated">Rendiment absolut de la moneda</target> <target state="translated">Rendiment absolut de la moneda</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="104509087727626192" datatype="html"> <trans-unit id="104509087727626192" datatype="html">
@ -4592,7 +4600,7 @@
<target state="translated">Rendiment de la moneda</target> <target state="translated">Rendiment de la moneda</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6293970137138896363" datatype="html"> <trans-unit id="6293970137138896363" datatype="html">
@ -4600,7 +4608,7 @@
<target state="translated">A dalt</target> <target state="translated">A dalt</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3568940932272598597" datatype="html"> <trans-unit id="3568940932272598597" datatype="html">
@ -4608,7 +4616,7 @@
<target state="translated">A baix</target> <target state="translated">A baix</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5242468862715363747" datatype="html"> <trans-unit id="5242468862715363747" datatype="html">
@ -4616,7 +4624,7 @@
<target state="translated">Evolució de la cartera</target> <target state="translated">Evolució de la cartera</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6766448922039123937" datatype="html"> <trans-unit id="6766448922039123937" datatype="html">
@ -4624,7 +4632,7 @@
<target state="translated">Cronologia de la inversió</target> <target state="translated">Cronologia de la inversió</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1440519383036502539" datatype="html"> <trans-unit id="1440519383036502539" datatype="html">
@ -4632,7 +4640,7 @@
<target state="translated">Ratxa actual</target> <target state="translated">Ratxa actual</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="457461496511383061" datatype="html"> <trans-unit id="457461496511383061" datatype="html">
@ -4640,7 +4648,7 @@
<target state="translated">Ratxa més llarga</target> <target state="translated">Ratxa més llarga</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6854252543786630145" datatype="html"> <trans-unit id="6854252543786630145" datatype="html">
@ -4648,7 +4656,7 @@
<target state="translated">Cronologia de dividends</target> <target state="translated">Cronologia de dividends</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5857197365507636437" datatype="html"> <trans-unit id="5857197365507636437" datatype="html">
@ -7366,12 +7374,20 @@
<context context-type="linenumber">146</context> <context context-type="linenumber">146</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source> <source>AI prompt has been copied to the clipboard</source>
<target state="new">AI prompt has been copied to the clipboard</target> <target state="new">AI prompt has been copied to the clipboard</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1616747898909934803" datatype="html"> <trans-unit id="1616747898909934803" datatype="html">
@ -7451,7 +7467,7 @@
<target state="new">Open Duck.ai</target> <target state="new">Open Duck.ai</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5674286808255988565" datatype="html"> <trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source> <source>Armenia</source>
<target state="new">Armenia</target> <target state="new">Armenia</target>

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

@ -926,7 +926,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3118565567530464051" datatype="html"> <trans-unit id="3118565567530464051" datatype="html">
@ -938,7 +938,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4980697492087090765" datatype="html"> <trans-unit id="4980697492087090765" datatype="html">
@ -1117,6 +1117,14 @@
<context context-type="linenumber">409</context> <context context-type="linenumber">409</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="3667949571823271511" datatype="html">
<source>Max</source> <source>Max</source>
<target state="translated">Max</target> <target state="translated">Max</target>
@ -1854,7 +1862,7 @@
<target state="translated">Zeitstrahl der Investitionen</target> <target state="translated">Zeitstrahl der Investitionen</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6293970137138896363" datatype="html"> <trans-unit id="6293970137138896363" datatype="html">
@ -1862,7 +1870,7 @@
<target state="translated">Gewinner</target> <target state="translated">Gewinner</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3568940932272598597" datatype="html"> <trans-unit id="3568940932272598597" datatype="html">
@ -1870,7 +1878,7 @@
<target state="translated">Verlierer</target> <target state="translated">Verlierer</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5857197365507636437" datatype="html"> <trans-unit id="5857197365507636437" datatype="html">
@ -2526,7 +2534,7 @@
<target state="translated">Monatlich</target> <target state="translated">Monatlich</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5211792611718918888" datatype="html"> <trans-unit id="5211792611718918888" datatype="html">
@ -2754,7 +2762,7 @@
<target state="translated">Portfolio Wertentwicklung</target> <target state="translated">Portfolio Wertentwicklung</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8192718423057883427" datatype="html"> <trans-unit id="8192718423057883427" datatype="html">
@ -3130,7 +3138,7 @@
<target state="translated">Zeitstrahl der Dividenden</target> <target state="translated">Zeitstrahl der Dividenden</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7763941937414903315" datatype="html"> <trans-unit id="7763941937414903315" datatype="html">
@ -3166,7 +3174,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3290,7 +3298,7 @@
<target state="translated">Jährlich</target> <target state="translated">Jährlich</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="72640258012696878" datatype="html"> <trans-unit id="72640258012696878" datatype="html">
@ -4026,7 +4034,7 @@
<target state="translated">Aktueller Streak</target> <target state="translated">Aktueller Streak</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="457461496511383061" datatype="html"> <trans-unit id="457461496511383061" datatype="html">
@ -4034,7 +4042,7 @@
<target state="translated">Längster Streak</target> <target state="translated">Längster Streak</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4845030128243887325" datatype="html"> <trans-unit id="4845030128243887325" datatype="html">
@ -5876,11 +5884,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context> <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> <target state="translated">Absolute Anlage Performance</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="775717789032174431" datatype="html"> <trans-unit id="775717789032174431" datatype="html">
@ -5916,7 +5924,7 @@
<target state="translated">Anlage Performance</target> <target state="translated">Anlage Performance</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3796488546909223546" datatype="html"> <trans-unit id="3796488546909223546" datatype="html">
@ -5924,7 +5932,7 @@
<target state="translated">Absolute Währungsperformance</target> <target state="translated">Absolute Währungsperformance</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="104509087727626192" datatype="html"> <trans-unit id="104509087727626192" datatype="html">
@ -5932,7 +5940,7 @@
<target state="translated">Währungsperformance</target> <target state="translated">Währungsperformance</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3105754554141014845" datatype="html"> <trans-unit id="3105754554141014845" datatype="html">
@ -7390,12 +7398,20 @@
<context context-type="linenumber">146</context> <context context-type="linenumber">146</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source> <source>AI prompt has been copied to the clipboard</source>
<target state="translated">KI-Anweisung wurde in die Zwischenablage kopiert</target> <target state="translated">KI-Anweisung wurde in die Zwischenablage kopiert</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1616747898909934803" datatype="html"> <trans-unit id="1616747898909934803" datatype="html">
@ -7475,7 +7491,7 @@
<target state="translated">Öffne Duck.ai</target> <target state="translated">Öffne Duck.ai</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5674286808255988565" datatype="html"> <trans-unit id="5674286808255988565" datatype="html">
@ -7546,6 +7562,14 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source> <source>Armenia</source>
<target state="translated">Armenien</target> <target state="translated">Armenien</target>

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

@ -911,7 +911,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3118565567530464051" datatype="html"> <trans-unit id="3118565567530464051" datatype="html">
@ -923,7 +923,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4980697492087090765" datatype="html"> <trans-unit id="4980697492087090765" datatype="html">
@ -1102,6 +1102,14 @@
<context context-type="linenumber">409</context> <context context-type="linenumber">409</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="3667949571823271511" datatype="html">
<source>Max</source> <source>Max</source>
<target state="translated">Máximo</target> <target state="translated">Máximo</target>
@ -1839,7 +1847,7 @@
<target state="translated">Cronología de la inversión</target> <target state="translated">Cronología de la inversión</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6293970137138896363" datatype="html"> <trans-unit id="6293970137138896363" datatype="html">
@ -1847,7 +1855,7 @@
<target state="translated">Lo mejor</target> <target state="translated">Lo mejor</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3568940932272598597" datatype="html"> <trans-unit id="3568940932272598597" datatype="html">
@ -1855,7 +1863,7 @@
<target state="translated">Lo peor</target> <target state="translated">Lo peor</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5857197365507636437" datatype="html"> <trans-unit id="5857197365507636437" datatype="html">
@ -2555,7 +2563,7 @@
<target state="translated">Mensual</target> <target state="translated">Mensual</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6130372166370766747" datatype="html"> <trans-unit id="6130372166370766747" datatype="html">
@ -2739,7 +2747,7 @@
<target state="translated">Evolución cartera</target> <target state="translated">Evolución cartera</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8192718423057883427" datatype="html"> <trans-unit id="8192718423057883427" datatype="html">
@ -3143,7 +3151,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3155,7 +3163,7 @@
<target state="translated">Calendario de dividendos</target> <target state="translated">Calendario de dividendos</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7608037008789240367" datatype="html"> <trans-unit id="7608037008789240367" datatype="html">
@ -3275,7 +3283,7 @@
<target state="translated">Anual</target> <target state="translated">Anual</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="72640258012696878" datatype="html"> <trans-unit id="72640258012696878" datatype="html">
@ -4003,7 +4011,7 @@
<target state="translated">Racha actual</target> <target state="translated">Racha actual</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="457461496511383061" datatype="html"> <trans-unit id="457461496511383061" datatype="html">
@ -4011,7 +4019,7 @@
<target state="translated">Racha más larga</target> <target state="translated">Racha más larga</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4845030128243887325" datatype="html"> <trans-unit id="4845030128243887325" datatype="html">
@ -5853,11 +5861,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context> <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> <target state="translated">Rendimiento absoluto de los activos</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="775717789032174431" datatype="html"> <trans-unit id="775717789032174431" datatype="html">
@ -5893,7 +5901,7 @@
<target state="translated">Rendimiento de activos</target> <target state="translated">Rendimiento de activos</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3796488546909223546" datatype="html"> <trans-unit id="3796488546909223546" datatype="html">
@ -5901,7 +5909,7 @@
<target state="translated">Rendimiento absoluto de divisas</target> <target state="translated">Rendimiento absoluto de divisas</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="104509087727626192" datatype="html"> <trans-unit id="104509087727626192" datatype="html">
@ -5909,7 +5917,7 @@
<target state="translated">Rendimiento de la moneda</target> <target state="translated">Rendimiento de la moneda</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3105754554141014845" datatype="html"> <trans-unit id="3105754554141014845" datatype="html">
@ -7367,12 +7375,20 @@
<context context-type="linenumber">146</context> <context context-type="linenumber">146</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source> <source>AI prompt has been copied to the clipboard</source>
<target state="translated">El aviso de IA ha sido copiado al portapapeles</target> <target state="translated">El aviso de IA ha sido copiado al portapapeles</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1616747898909934803" datatype="html"> <trans-unit id="1616747898909934803" datatype="html">
@ -7452,7 +7468,7 @@
<target state="translated">Abrir Duck.ai</target> <target state="translated">Abrir Duck.ai</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5674286808255988565" datatype="html"> <trans-unit id="5674286808255988565" datatype="html">
@ -7523,6 +7539,14 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source> <source>Armenia</source>
<target state="translated">Armenia</target> <target state="translated">Armenia</target>

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

@ -1194,7 +1194,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3118565567530464051" datatype="html"> <trans-unit id="3118565567530464051" datatype="html">
@ -1206,7 +1206,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4980697492087090765" datatype="html"> <trans-unit id="4980697492087090765" datatype="html">
@ -1349,6 +1349,14 @@
<context context-type="linenumber">409</context> <context context-type="linenumber">409</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="3667949571823271511" datatype="html">
<source>Max</source> <source>Max</source>
<target state="translated">Max</target> <target state="translated">Max</target>
@ -2414,7 +2422,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2442,7 +2450,7 @@
<target state="translated">Mensuel</target> <target state="translated">Mensuel</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6293970137138896363" datatype="html"> <trans-unit id="6293970137138896363" datatype="html">
@ -2450,7 +2458,7 @@
<target state="translated">Haut</target> <target state="translated">Haut</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3568940932272598597" datatype="html"> <trans-unit id="3568940932272598597" datatype="html">
@ -2458,7 +2466,7 @@
<target state="translated">Bas</target> <target state="translated">Bas</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5242468862715363747" datatype="html"> <trans-unit id="5242468862715363747" datatype="html">
@ -2466,7 +2474,7 @@
<target state="translated">Évolution du Portefeuille</target> <target state="translated">Évolution du Portefeuille</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6766448922039123937" datatype="html"> <trans-unit id="6766448922039123937" datatype="html">
@ -2474,7 +2482,7 @@
<target state="translated">Historique des Investissements</target> <target state="translated">Historique des Investissements</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6854252543786630145" datatype="html"> <trans-unit id="6854252543786630145" datatype="html">
@ -2482,7 +2490,7 @@
<target state="translated">Historique des Dividendes</target> <target state="translated">Historique des Dividendes</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5857197365507636437" datatype="html"> <trans-unit id="5857197365507636437" datatype="html">
@ -3274,7 +3282,7 @@
<target state="translated">Annuel</target> <target state="translated">Annuel</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="72640258012696878" datatype="html"> <trans-unit id="72640258012696878" datatype="html">
@ -4002,7 +4010,7 @@
<target state="translated">Série en cours</target> <target state="translated">Série en cours</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="457461496511383061" datatype="html"> <trans-unit id="457461496511383061" datatype="html">
@ -4010,7 +4018,7 @@
<target state="translated">Série la plus longue</target> <target state="translated">Série la plus longue</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4845030128243887325" datatype="html"> <trans-unit id="4845030128243887325" datatype="html">
@ -5852,11 +5860,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context> <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> <target state="translated">Performance des Actifs en valeur absolue</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="775717789032174431" datatype="html"> <trans-unit id="775717789032174431" datatype="html">
@ -5892,7 +5900,7 @@
<target state="translated">Performance des Actifs</target> <target state="translated">Performance des Actifs</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3796488546909223546" datatype="html"> <trans-unit id="3796488546909223546" datatype="html">
@ -5900,7 +5908,7 @@
<target state="translated">Performance des devises en valeur absolue</target> <target state="translated">Performance des devises en valeur absolue</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="104509087727626192" datatype="html"> <trans-unit id="104509087727626192" datatype="html">
@ -5908,7 +5916,7 @@
<target state="translated">Performance des devises</target> <target state="translated">Performance des devises</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3105754554141014845" datatype="html"> <trans-unit id="3105754554141014845" datatype="html">
@ -7366,12 +7374,20 @@
<context context-type="linenumber">146</context> <context context-type="linenumber">146</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source> <source>AI prompt has been copied to the clipboard</source>
<target state="translated">Le prompt IA a été copié dans le presse-papiers</target> <target state="translated">Le prompt IA a été copié dans le presse-papiers</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1616747898909934803" datatype="html"> <trans-unit id="1616747898909934803" datatype="html">
@ -7451,7 +7467,7 @@
<target state="translated">Ouvrir Duck.ai</target> <target state="translated">Ouvrir Duck.ai</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5674286808255988565" datatype="html"> <trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source> <source>Armenia</source>
<target state="translated">Arménie</target> <target state="translated">Arménie</target>

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

@ -911,7 +911,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3118565567530464051" datatype="html"> <trans-unit id="3118565567530464051" datatype="html">
@ -923,7 +923,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4980697492087090765" datatype="html"> <trans-unit id="4980697492087090765" datatype="html">
@ -1102,6 +1102,14 @@
<context context-type="linenumber">409</context> <context context-type="linenumber">409</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="3667949571823271511" datatype="html">
<source>Max</source> <source>Max</source>
<target state="translated">Massimo</target> <target state="translated">Massimo</target>
@ -1839,7 +1847,7 @@
<target state="translated">Cronologia degli investimenti</target> <target state="translated">Cronologia degli investimenti</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6293970137138896363" datatype="html"> <trans-unit id="6293970137138896363" datatype="html">
@ -1847,7 +1855,7 @@
<target state="translated">In alto</target> <target state="translated">In alto</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3568940932272598597" datatype="html"> <trans-unit id="3568940932272598597" datatype="html">
@ -1855,7 +1863,7 @@
<target state="translated">In basso</target> <target state="translated">In basso</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5857197365507636437" datatype="html"> <trans-unit id="5857197365507636437" datatype="html">
@ -2555,7 +2563,7 @@
<target state="translated">Mensile</target> <target state="translated">Mensile</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6130372166370766747" datatype="html"> <trans-unit id="6130372166370766747" datatype="html">
@ -2739,7 +2747,7 @@
<target state="translated">Evoluzione del portafoglio</target> <target state="translated">Evoluzione del portafoglio</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8192718423057883427" datatype="html"> <trans-unit id="8192718423057883427" datatype="html">
@ -3143,7 +3151,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3155,7 +3163,7 @@
<target state="translated">Cronologia dei dividendi</target> <target state="translated">Cronologia dei dividendi</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7608037008789240367" datatype="html"> <trans-unit id="7608037008789240367" datatype="html">
@ -3275,7 +3283,7 @@
<target state="translated">Annuale</target> <target state="translated">Annuale</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="72640258012696878" datatype="html"> <trans-unit id="72640258012696878" datatype="html">
@ -4003,7 +4011,7 @@
<target state="translated">Serie attuale</target> <target state="translated">Serie attuale</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="457461496511383061" datatype="html"> <trans-unit id="457461496511383061" datatype="html">
@ -4011,7 +4019,7 @@
<target state="translated">Serie più lunga</target> <target state="translated">Serie più lunga</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4845030128243887325" datatype="html"> <trans-unit id="4845030128243887325" datatype="html">
@ -5853,11 +5861,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context> <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> <target state="translated">Rendimento assoluto dell’Asset</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="775717789032174431" datatype="html"> <trans-unit id="775717789032174431" datatype="html">
@ -5893,7 +5901,7 @@
<target state="translated">Rendimento dell’Asset</target> <target state="translated">Rendimento dell’Asset</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3796488546909223546" datatype="html"> <trans-unit id="3796488546909223546" datatype="html">
@ -5901,7 +5909,7 @@
<target state="translated">Rendimento assoluto della Valuta</target> <target state="translated">Rendimento assoluto della Valuta</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="104509087727626192" datatype="html"> <trans-unit id="104509087727626192" datatype="html">
@ -5909,7 +5917,7 @@
<target state="translated">Rendimento della Valuta</target> <target state="translated">Rendimento della Valuta</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3105754554141014845" datatype="html"> <trans-unit id="3105754554141014845" datatype="html">
@ -7367,12 +7375,20 @@
<context context-type="linenumber">146</context> <context context-type="linenumber">146</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source> <source>AI prompt has been copied to the clipboard</source>
<target state="translated">L’AI prompt è stato copiato negli appunti</target> <target state="translated">L’AI prompt è stato copiato negli appunti</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1616747898909934803" datatype="html"> <trans-unit id="1616747898909934803" datatype="html">
@ -7452,7 +7468,7 @@
<target state="translated">Apri Duck.ai</target> <target state="translated">Apri Duck.ai</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5674286808255988565" datatype="html"> <trans-unit id="5674286808255988565" datatype="html">
@ -7523,6 +7539,14 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source> <source>Armenia</source>
<target state="translated">Armenia</target> <target state="translated">Armenia</target>

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

@ -1840,7 +1840,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3118565567530464051" datatype="html"> <trans-unit id="3118565567530464051" datatype="html">
@ -1852,7 +1852,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4980697492087090765" datatype="html"> <trans-unit id="4980697492087090765" datatype="html">
@ -2183,6 +2183,14 @@
<context context-type="linenumber">409</context> <context context-type="linenumber">409</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="3667949571823271511" datatype="html">
<source>Max</source> <source>Max</source>
<target state="translated">맥스</target> <target state="translated">맥스</target>
@ -4144,7 +4152,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4172,7 +4180,7 @@
<target state="translated">월간</target> <target state="translated">월간</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8036977202721714375" datatype="html"> <trans-unit id="8036977202721714375" datatype="html">
@ -4180,7 +4188,7 @@
<target state="translated">매년</target> <target state="translated">매년</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6293970137138896363" datatype="html"> <trans-unit id="6293970137138896363" datatype="html">
@ -4188,7 +4196,7 @@
<target state="translated">상위</target> <target state="translated">상위</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3568940932272598597" datatype="html"> <trans-unit id="3568940932272598597" datatype="html">
@ -4196,7 +4204,7 @@
<target state="translated">하위</target> <target state="translated">하위</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5242468862715363747" datatype="html"> <trans-unit id="5242468862715363747" datatype="html">
@ -4204,7 +4212,7 @@
<target state="translated">포트폴리오 진화</target> <target state="translated">포트폴리오 진화</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6766448922039123937" datatype="html"> <trans-unit id="6766448922039123937" datatype="html">
@ -4212,7 +4220,7 @@
<target state="translated">투자 일정</target> <target state="translated">투자 일정</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1440519383036502539" datatype="html"> <trans-unit id="1440519383036502539" datatype="html">
@ -4220,7 +4228,7 @@
<target state="translated">현재 연속</target> <target state="translated">현재 연속</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="457461496511383061" datatype="html"> <trans-unit id="457461496511383061" datatype="html">
@ -4228,7 +4236,7 @@
<target state="translated">최장 연속</target> <target state="translated">최장 연속</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6854252543786630145" datatype="html"> <trans-unit id="6854252543786630145" datatype="html">
@ -4236,7 +4244,7 @@
<target state="translated">배당 일정</target> <target state="translated">배당 일정</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5857197365507636437" datatype="html"> <trans-unit id="5857197365507636437" datatype="html">
@ -5869,7 +5877,7 @@
<target state="translated">절대적인 통화 성과</target> <target state="translated">절대적인 통화 성과</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1600023202562292052" datatype="html"> <trans-unit id="1600023202562292052" datatype="html">
@ -5885,7 +5893,7 @@
<target state="translated">절대자산성과</target> <target state="translated">절대자산성과</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8580549503047096056" datatype="html"> <trans-unit id="8580549503047096056" datatype="html">
@ -5901,11 +5909,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context> <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> <target state="translated">자산 성과</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="104509087727626192" datatype="html"> <trans-unit id="104509087727626192" datatype="html">
@ -5933,7 +5941,7 @@
<target state="translated">통화 성과</target> <target state="translated">통화 성과</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2593751087640318641" datatype="html"> <trans-unit id="2593751087640318641" datatype="html">
@ -7391,12 +7399,20 @@
<context context-type="linenumber">146</context> <context context-type="linenumber">146</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source> <source>AI prompt has been copied to the clipboard</source>
<target state="translated">AI 프롬프트가 클립보드에 복사되었습니다.</target> <target state="translated">AI 프롬프트가 클립보드에 복사되었습니다.</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1616747898909934803" datatype="html"> <trans-unit id="1616747898909934803" datatype="html">
@ -7476,7 +7492,7 @@
<target state="translated">오픈 Duck.ai</target> <target state="translated">오픈 Duck.ai</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5674286808255988565" datatype="html"> <trans-unit id="5674286808255988565" datatype="html">
@ -7547,6 +7563,14 @@
<context context-type="linenumber">97</context> <context context-type="linenumber">97</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source> <source>Armenia</source>
<target state="translated">아르메니아</target> <target state="translated">아르메니아</target>

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

@ -910,7 +910,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3118565567530464051" datatype="html"> <trans-unit id="3118565567530464051" datatype="html">
@ -922,7 +922,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4980697492087090765" datatype="html"> <trans-unit id="4980697492087090765" datatype="html">
@ -1101,6 +1101,14 @@
<context context-type="linenumber">409</context> <context context-type="linenumber">409</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="3667949571823271511" datatype="html">
<source>Max</source> <source>Max</source>
<target state="translated">Max</target> <target state="translated">Max</target>
@ -1838,7 +1846,7 @@
<target state="translated">Tijdlijn investeringen</target> <target state="translated">Tijdlijn investeringen</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6293970137138896363" datatype="html"> <trans-unit id="6293970137138896363" datatype="html">
@ -1846,7 +1854,7 @@
<target state="translated">Winnaars</target> <target state="translated">Winnaars</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3568940932272598597" datatype="html"> <trans-unit id="3568940932272598597" datatype="html">
@ -1854,7 +1862,7 @@
<target state="translated">Verliezers</target> <target state="translated">Verliezers</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5857197365507636437" datatype="html"> <trans-unit id="5857197365507636437" datatype="html">
@ -2554,7 +2562,7 @@
<target state="translated">Maandelijks</target> <target state="translated">Maandelijks</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6130372166370766747" datatype="html"> <trans-unit id="6130372166370766747" datatype="html">
@ -2738,7 +2746,7 @@
<target state="translated">Waardeontwikkeling van portefeuille</target> <target state="translated">Waardeontwikkeling van portefeuille</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8192718423057883427" datatype="html"> <trans-unit id="8192718423057883427" datatype="html">
@ -3142,7 +3150,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3154,7 +3162,7 @@
<target state="translated">Tijdlijn dividend</target> <target state="translated">Tijdlijn dividend</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7608037008789240367" datatype="html"> <trans-unit id="7608037008789240367" datatype="html">
@ -3274,7 +3282,7 @@
<target state="translated">Jaarlijks</target> <target state="translated">Jaarlijks</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="72640258012696878" datatype="html"> <trans-unit id="72640258012696878" datatype="html">
@ -4002,7 +4010,7 @@
<target state="translated">Huidige reeks</target> <target state="translated">Huidige reeks</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="457461496511383061" datatype="html"> <trans-unit id="457461496511383061" datatype="html">
@ -4010,7 +4018,7 @@
<target state="translated">Langste reeks</target> <target state="translated">Langste reeks</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4845030128243887325" datatype="html"> <trans-unit id="4845030128243887325" datatype="html">
@ -5852,11 +5860,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context> <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> <target state="translated">Absolute Activaprestaties</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="775717789032174431" datatype="html"> <trans-unit id="775717789032174431" datatype="html">
@ -5892,7 +5900,7 @@
<target state="translated">Activaprestaties</target> <target state="translated">Activaprestaties</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3796488546909223546" datatype="html"> <trans-unit id="3796488546909223546" datatype="html">
@ -5900,7 +5908,7 @@
<target state="translated">Absolute Valutaprestaties</target> <target state="translated">Absolute Valutaprestaties</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="104509087727626192" datatype="html"> <trans-unit id="104509087727626192" datatype="html">
@ -5908,7 +5916,7 @@
<target state="translated">Valutaprestaties</target> <target state="translated">Valutaprestaties</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3105754554141014845" datatype="html"> <trans-unit id="3105754554141014845" datatype="html">
@ -7366,12 +7374,20 @@
<context context-type="linenumber">146</context> <context context-type="linenumber">146</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source> <source>AI prompt has been copied to the clipboard</source>
<target state="translated">AI-prompt is naar het klembord gekopieerd</target> <target state="translated">AI-prompt is naar het klembord gekopieerd</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1616747898909934803" datatype="html"> <trans-unit id="1616747898909934803" datatype="html">
@ -7451,7 +7467,7 @@
<target state="translated">Open Duck.ai</target> <target state="translated">Open Duck.ai</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5674286808255988565" datatype="html"> <trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source> <source>Armenia</source>
<target state="translated">Armenië</target> <target state="translated">Armenië</target>

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

@ -1807,7 +1807,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3118565567530464051" datatype="html"> <trans-unit id="3118565567530464051" datatype="html">
@ -1819,7 +1819,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4980697492087090765" datatype="html"> <trans-unit id="4980697492087090765" datatype="html">
@ -2150,6 +2150,14 @@
<context context-type="linenumber">409</context> <context context-type="linenumber">409</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="3667949571823271511" datatype="html">
<source>Max</source> <source>Max</source>
<target state="translated">Maksimum</target> <target state="translated">Maksimum</target>
@ -4111,7 +4119,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4139,7 +4147,7 @@
<target state="translated">Miesięcznie</target> <target state="translated">Miesięcznie</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8036977202721714375" datatype="html"> <trans-unit id="8036977202721714375" datatype="html">
@ -4147,7 +4155,7 @@
<target state="translated">Rocznie</target> <target state="translated">Rocznie</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6293970137138896363" datatype="html"> <trans-unit id="6293970137138896363" datatype="html">
@ -4155,7 +4163,7 @@
<target state="translated">Największe wzrosty</target> <target state="translated">Największe wzrosty</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3568940932272598597" datatype="html"> <trans-unit id="3568940932272598597" datatype="html">
@ -4163,7 +4171,7 @@
<target state="translated">Największy spadek</target> <target state="translated">Największy spadek</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5242468862715363747" datatype="html"> <trans-unit id="5242468862715363747" datatype="html">
@ -4171,7 +4179,7 @@
<target state="translated">Rozwój portfela</target> <target state="translated">Rozwój portfela</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6766448922039123937" datatype="html"> <trans-unit id="6766448922039123937" datatype="html">
@ -4179,7 +4187,7 @@
<target state="translated">Oś czasu inwestycji</target> <target state="translated">Oś czasu inwestycji</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1440519383036502539" datatype="html"> <trans-unit id="1440519383036502539" datatype="html">
@ -4187,7 +4195,7 @@
<target state="translated">Obecna passa</target> <target state="translated">Obecna passa</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="457461496511383061" datatype="html"> <trans-unit id="457461496511383061" datatype="html">
@ -4195,7 +4203,7 @@
<target state="translated">Najdłuższa passa</target> <target state="translated">Najdłuższa passa</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6854252543786630145" datatype="html"> <trans-unit id="6854252543786630145" datatype="html">
@ -4203,7 +4211,7 @@
<target state="translated">Oś czasu dywidend</target> <target state="translated">Oś czasu dywidend</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5857197365507636437" datatype="html"> <trans-unit id="5857197365507636437" datatype="html">
@ -5852,11 +5860,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context> <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> <target state="translated">Łączny wynik aktywów</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="775717789032174431" datatype="html"> <trans-unit id="775717789032174431" datatype="html">
@ -5892,7 +5900,7 @@
<target state="translated">Wyniki aktywów</target> <target state="translated">Wyniki aktywów</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3796488546909223546" datatype="html"> <trans-unit id="3796488546909223546" datatype="html">
@ -5900,7 +5908,7 @@
<target state="translated">Łączny wynik walut</target> <target state="translated">Łączny wynik walut</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="104509087727626192" datatype="html"> <trans-unit id="104509087727626192" datatype="html">
@ -5908,7 +5916,7 @@
<target state="translated">Wynik walut</target> <target state="translated">Wynik walut</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3105754554141014845" datatype="html"> <trans-unit id="3105754554141014845" datatype="html">
@ -7366,12 +7374,20 @@
<context context-type="linenumber">146</context> <context context-type="linenumber">146</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source> <source>AI prompt has been copied to the clipboard</source>
<target state="translated">Prompt AI został skopiowany do schowka</target> <target state="translated">Prompt AI został skopiowany do schowka</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1616747898909934803" datatype="html"> <trans-unit id="1616747898909934803" datatype="html">
@ -7451,7 +7467,7 @@
<target state="translated">Otwórz Duck.ai</target> <target state="translated">Otwórz Duck.ai</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5674286808255988565" datatype="html"> <trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source> <source>Armenia</source>
<target state="translated">Armenia</target> <target state="translated">Armenia</target>

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

@ -1078,7 +1078,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3118565567530464051" datatype="html"> <trans-unit id="3118565567530464051" datatype="html">
@ -1090,7 +1090,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4980697492087090765" datatype="html"> <trans-unit id="4980697492087090765" datatype="html">
@ -1345,6 +1345,14 @@
<context context-type="linenumber">409</context> <context context-type="linenumber">409</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="3667949571823271511" datatype="html">
<source>Max</source> <source>Max</source>
<target state="translated">Máx</target> <target state="translated">Máx</target>
@ -2358,7 +2366,7 @@
<target state="translated">Mensalmente</target> <target state="translated">Mensalmente</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6293970137138896363" datatype="html"> <trans-unit id="6293970137138896363" datatype="html">
@ -2366,7 +2374,7 @@
<target state="translated">Topo</target> <target state="translated">Topo</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3568940932272598597" datatype="html"> <trans-unit id="3568940932272598597" datatype="html">
@ -2374,7 +2382,7 @@
<target state="translated">Fundo</target> <target state="translated">Fundo</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5242468862715363747" datatype="html"> <trans-unit id="5242468862715363747" datatype="html">
@ -2382,7 +2390,7 @@
<target state="translated">Evolução do Portefólio</target> <target state="translated">Evolução do Portefólio</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6766448922039123937" datatype="html"> <trans-unit id="6766448922039123937" datatype="html">
@ -2390,7 +2398,7 @@
<target state="translated">Cronograma de Investimento</target> <target state="translated">Cronograma de Investimento</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5857197365507636437" datatype="html"> <trans-unit id="5857197365507636437" datatype="html">
@ -3206,7 +3214,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3218,7 +3226,7 @@
<target state="translated">Cronograma de Dividendos</target> <target state="translated">Cronograma de Dividendos</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7608037008789240367" datatype="html"> <trans-unit id="7608037008789240367" datatype="html">
@ -3274,7 +3282,7 @@
<target state="translated">Anualmente</target> <target state="translated">Anualmente</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="72640258012696878" datatype="html"> <trans-unit id="72640258012696878" datatype="html">
@ -4002,7 +4010,7 @@
<target state="translated">Série Atual</target> <target state="translated">Série Atual</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="457461496511383061" datatype="html"> <trans-unit id="457461496511383061" datatype="html">
@ -4010,7 +4018,7 @@
<target state="translated">Série mais Longa</target> <target state="translated">Série mais Longa</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4845030128243887325" datatype="html"> <trans-unit id="4845030128243887325" datatype="html">
@ -5852,11 +5860,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context> <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> <target state="translated">Desempenho absoluto de ativos</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="775717789032174431" datatype="html"> <trans-unit id="775717789032174431" datatype="html">
@ -5892,7 +5900,7 @@
<target state="translated">Desempenho de ativos</target> <target state="translated">Desempenho de ativos</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3796488546909223546" datatype="html"> <trans-unit id="3796488546909223546" datatype="html">
@ -5900,7 +5908,7 @@
<target state="translated">Desempenho absoluto da moeda</target> <target state="translated">Desempenho absoluto da moeda</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="104509087727626192" datatype="html"> <trans-unit id="104509087727626192" datatype="html">
@ -5908,7 +5916,7 @@
<target state="translated">Desempenho da moeda</target> <target state="translated">Desempenho da moeda</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3105754554141014845" datatype="html"> <trans-unit id="3105754554141014845" datatype="html">
@ -7366,12 +7374,20 @@
<context context-type="linenumber">146</context> <context context-type="linenumber">146</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source> <source>AI prompt has been copied to the clipboard</source>
<target state="new">AI prompt has been copied to the clipboard</target> <target state="new">AI prompt has been copied to the clipboard</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1616747898909934803" datatype="html"> <trans-unit id="1616747898909934803" datatype="html">
@ -7451,7 +7467,7 @@
<target state="new">Open Duck.ai</target> <target state="new">Open Duck.ai</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5674286808255988565" datatype="html"> <trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source> <source>Armenia</source>
<target state="new">Armenia</target> <target state="new">Armenia</target>

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

@ -1663,7 +1663,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3118565567530464051" datatype="html"> <trans-unit id="3118565567530464051" datatype="html">
@ -1675,7 +1675,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4980697492087090765" datatype="html"> <trans-unit id="4980697492087090765" datatype="html">
@ -2018,6 +2018,14 @@
<context context-type="linenumber">409</context> <context context-type="linenumber">409</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="3667949571823271511" datatype="html">
<source>Max</source> <source>Max</source>
<target state="translated">Maks.</target> <target state="translated">Maks.</target>
@ -3595,7 +3603,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3623,7 +3631,7 @@
<target state="translated">Aylık</target> <target state="translated">Aylık</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8036977202721714375" datatype="html"> <trans-unit id="8036977202721714375" datatype="html">
@ -3631,7 +3639,7 @@
<target state="translated">Yıllık</target> <target state="translated">Yıllık</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6293970137138896363" datatype="html"> <trans-unit id="6293970137138896363" datatype="html">
@ -3639,7 +3647,7 @@
<target state="translated">Üst</target> <target state="translated">Üst</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3568940932272598597" datatype="html"> <trans-unit id="3568940932272598597" datatype="html">
@ -3647,7 +3655,7 @@
<target state="translated">Alt</target> <target state="translated">Alt</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5242468862715363747" datatype="html"> <trans-unit id="5242468862715363747" datatype="html">
@ -3655,7 +3663,7 @@
<target state="translated">Portföyün Gelişimi</target> <target state="translated">Portföyün Gelişimi</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6766448922039123937" datatype="html"> <trans-unit id="6766448922039123937" datatype="html">
@ -3663,7 +3671,7 @@
<target state="translated">Yatırım Zaman Çizelgesi</target> <target state="translated">Yatırım Zaman Çizelgesi</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1440519383036502539" datatype="html"> <trans-unit id="1440519383036502539" datatype="html">
@ -3671,7 +3679,7 @@
<target state="translated">Güncel Seri</target> <target state="translated">Güncel Seri</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="457461496511383061" datatype="html"> <trans-unit id="457461496511383061" datatype="html">
@ -3679,7 +3687,7 @@
<target state="translated">En Uzun Seri</target> <target state="translated">En Uzun Seri</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6854252543786630145" datatype="html"> <trans-unit id="6854252543786630145" datatype="html">
@ -3687,7 +3695,7 @@
<target state="translated">Temettü Zaman Çizelgesi</target> <target state="translated">Temettü Zaman Çizelgesi</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5857197365507636437" datatype="html"> <trans-unit id="5857197365507636437" datatype="html">
@ -5852,11 +5860,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context> <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> <target state="translated">Mutlak Varlık Performansı</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="775717789032174431" datatype="html"> <trans-unit id="775717789032174431" datatype="html">
@ -5892,7 +5900,7 @@
<target state="translated">Varlık Performansı</target> <target state="translated">Varlık Performansı</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3796488546909223546" datatype="html"> <trans-unit id="3796488546909223546" datatype="html">
@ -5900,7 +5908,7 @@
<target state="translated">Mutlak Para Performansı</target> <target state="translated">Mutlak Para Performansı</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="104509087727626192" datatype="html"> <trans-unit id="104509087727626192" datatype="html">
@ -5908,7 +5916,7 @@
<target state="translated">Para Performansı</target> <target state="translated">Para Performansı</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3105754554141014845" datatype="html"> <trans-unit id="3105754554141014845" datatype="html">
@ -7366,12 +7374,20 @@
<context context-type="linenumber">146</context> <context context-type="linenumber">146</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source> <source>AI prompt has been copied to the clipboard</source>
<target state="translated">Yapay zeka istemi panoya kopyalandı</target> <target state="translated">Yapay zeka istemi panoya kopyalandı</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1616747898909934803" datatype="html"> <trans-unit id="1616747898909934803" datatype="html">
@ -7451,7 +7467,7 @@
<target state="translated">Duck.ai’yi aç</target> <target state="translated">Duck.ai’yi aç</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5674286808255988565" datatype="html"> <trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source> <source>Armenia</source>
<target state="translated">Ermenistan</target> <target state="translated">Ermenistan</target>

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

@ -2215,7 +2215,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3118565567530464051" datatype="html"> <trans-unit id="3118565567530464051" datatype="html">
@ -2227,7 +2227,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4980697492087090765" datatype="html"> <trans-unit id="4980697492087090765" datatype="html">
@ -2606,6 +2606,14 @@
<context context-type="linenumber">409</context> <context context-type="linenumber">409</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="3667949571823271511" datatype="html">
<source>Max</source> <source>Max</source>
<target state="translated">Максимум</target> <target state="translated">Максимум</target>
@ -4816,7 +4824,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4836,11 +4844,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context> <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> <target state="translated">Щомісячно</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8036977202721714375" datatype="html"> <trans-unit id="8036977202721714375" datatype="html">
@ -4868,7 +4876,7 @@
<target state="translated">Щорічно</target> <target state="translated">Щорічно</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1600023202562292052" datatype="html"> <trans-unit id="1600023202562292052" datatype="html">
@ -4884,7 +4892,7 @@
<target state="translated">Абсолютна прибутковість активів</target> <target state="translated">Абсолютна прибутковість активів</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="775717789032174431" datatype="html"> <trans-unit id="775717789032174431" datatype="html">
@ -4892,7 +4900,7 @@
<target state="translated">Прибутковість активів</target> <target state="translated">Прибутковість активів</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3796488546909223546" datatype="html"> <trans-unit id="3796488546909223546" datatype="html">
@ -4900,7 +4908,7 @@
<target state="translated">Абсолютна прибутковість валюти</target> <target state="translated">Абсолютна прибутковість валюти</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="104509087727626192" datatype="html"> <trans-unit id="104509087727626192" datatype="html">
@ -4908,7 +4916,7 @@
<target state="translated">Прибутковість валюти</target> <target state="translated">Прибутковість валюти</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6293970137138896363" datatype="html"> <trans-unit id="6293970137138896363" datatype="html">
@ -4916,7 +4924,7 @@
<target state="translated">Топ</target> <target state="translated">Топ</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3568940932272598597" datatype="html"> <trans-unit id="3568940932272598597" datatype="html">
@ -4924,7 +4932,7 @@
<target state="translated">Низ</target> <target state="translated">Низ</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5242468862715363747" datatype="html"> <trans-unit id="5242468862715363747" datatype="html">
@ -4932,7 +4940,7 @@
<target state="translated">Еволюція портфеля</target> <target state="translated">Еволюція портфеля</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6766448922039123937" datatype="html"> <trans-unit id="6766448922039123937" datatype="html">
@ -4940,7 +4948,7 @@
<target state="translated">Інвестиційний графік</target> <target state="translated">Інвестиційний графік</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1440519383036502539" datatype="html"> <trans-unit id="1440519383036502539" datatype="html">
@ -4948,7 +4956,7 @@
<target state="translated">Поточна серія</target> <target state="translated">Поточна серія</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="457461496511383061" datatype="html"> <trans-unit id="457461496511383061" datatype="html">
@ -4956,7 +4964,7 @@
<target state="translated">Найдовша серія</target> <target state="translated">Найдовша серія</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6854252543786630145" datatype="html"> <trans-unit id="6854252543786630145" datatype="html">
@ -4964,7 +4972,7 @@
<target state="translated">Графік дивідендів</target> <target state="translated">Графік дивідендів</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5857197365507636437" datatype="html"> <trans-unit id="5857197365507636437" datatype="html">
@ -7374,12 +7382,20 @@
<context context-type="linenumber">174</context> <context context-type="linenumber">174</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source> <source>AI prompt has been copied to the clipboard</source>
<target state="translated">Запит AI скопійовано в буфер обміну</target> <target state="translated">Запит AI скопійовано в буфер обміну</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8540986733881734625" datatype="html"> <trans-unit id="8540986733881734625" datatype="html">
@ -7451,7 +7467,7 @@
<target state="new">Open Duck.ai</target> <target state="new">Open Duck.ai</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5674286808255988565" datatype="html"> <trans-unit id="5674286808255988565" datatype="html">
@ -7522,6 +7538,14 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source> <source>Armenia</source>
<target state="new">Armenia</target> <target state="new">Armenia</target>

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

@ -1689,7 +1689,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3118565567530464051" datatype="html"> <trans-unit id="3118565567530464051" datatype="html">
@ -1700,7 +1700,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4980697492087090765" datatype="html"> <trans-unit id="4980697492087090765" datatype="html">
@ -2004,6 +2004,13 @@
<context context-type="linenumber">409</context> <context context-type="linenumber">409</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="3667949571823271511" datatype="html">
<source>Max</source> <source>Max</source>
<context-group purpose="location"> <context-group purpose="location">
@ -3786,7 +3793,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3811,63 +3818,63 @@
<source>Monthly</source> <source>Monthly</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8036977202721714375" datatype="html"> <trans-unit id="8036977202721714375" datatype="html">
<source>Yearly</source> <source>Yearly</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6293970137138896363" datatype="html"> <trans-unit id="6293970137138896363" datatype="html">
<source>Top</source> <source>Top</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3568940932272598597" datatype="html"> <trans-unit id="3568940932272598597" datatype="html">
<source>Bottom</source> <source>Bottom</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5242468862715363747" datatype="html"> <trans-unit id="5242468862715363747" datatype="html">
<source>Portfolio Evolution</source> <source>Portfolio Evolution</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6766448922039123937" datatype="html"> <trans-unit id="6766448922039123937" datatype="html">
<source>Investment Timeline</source> <source>Investment Timeline</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1440519383036502539" datatype="html"> <trans-unit id="1440519383036502539" datatype="html">
<source>Current Streak</source> <source>Current Streak</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="457461496511383061" datatype="html"> <trans-unit id="457461496511383061" datatype="html">
<source>Longest Streak</source> <source>Longest Streak</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6854252543786630145" datatype="html"> <trans-unit id="6854252543786630145" datatype="html">
<source>Dividend Timeline</source> <source>Dividend Timeline</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5857197365507636437" datatype="html"> <trans-unit id="5857197365507636437" datatype="html">
@ -5341,7 +5348,7 @@
<source>Absolute Currency Performance</source> <source>Absolute Currency Performance</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1600023202562292052" datatype="html"> <trans-unit id="1600023202562292052" datatype="html">
@ -5355,7 +5362,7 @@
<source>Absolute Asset Performance</source> <source>Absolute Asset Performance</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8580549503047096056" datatype="html"> <trans-unit id="8580549503047096056" datatype="html">
@ -5370,11 +5377,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context> <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> <source>Asset Performance</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="104509087727626192" datatype="html"> <trans-unit id="104509087727626192" datatype="html">
<source>Currency Performance</source> <source>Currency Performance</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2593751087640318641" datatype="html"> <trans-unit id="2593751087640318641" datatype="html">
@ -6712,11 +6719,18 @@
<context context-type="linenumber">146</context> <context context-type="linenumber">146</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source> <source>AI prompt has been copied to the clipboard</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1616747898909934803" datatype="html"> <trans-unit id="1616747898909934803" datatype="html">
@ -6786,7 +6800,7 @@
<source>Open Duck.ai</source> <source>Open Duck.ai</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5674286808255988565" datatype="html"> <trans-unit id="5674286808255988565" datatype="html">
@ -6851,6 +6865,13 @@
<context context-type="linenumber">97</context> <context context-type="linenumber">97</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source> <source>Armenia</source>
<context-group purpose="location"> <context-group purpose="location">

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

@ -1816,7 +1816,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3118565567530464051" datatype="html"> <trans-unit id="3118565567530464051" datatype="html">
@ -1828,7 +1828,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4980697492087090765" datatype="html"> <trans-unit id="4980697492087090765" datatype="html">
@ -2159,6 +2159,14 @@
<context context-type="linenumber">409</context> <context context-type="linenumber">409</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="3667949571823271511" datatype="html">
<source>Max</source> <source>Max</source>
<target state="translated">最大限度</target> <target state="translated">最大限度</target>
@ -4120,7 +4128,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context> <context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4148,7 +4156,7 @@
<target state="translated">每月</target> <target state="translated">每月</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8036977202721714375" datatype="html"> <trans-unit id="8036977202721714375" datatype="html">
@ -4156,7 +4164,7 @@
<target state="translated">每年</target> <target state="translated">每年</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6293970137138896363" datatype="html"> <trans-unit id="6293970137138896363" datatype="html">
@ -4164,7 +4172,7 @@
<target state="translated">顶部</target> <target state="translated">顶部</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3568940932272598597" datatype="html"> <trans-unit id="3568940932272598597" datatype="html">
@ -4172,7 +4180,7 @@
<target state="translated">底部</target> <target state="translated">底部</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5242468862715363747" datatype="html"> <trans-unit id="5242468862715363747" datatype="html">
@ -4180,7 +4188,7 @@
<target state="translated">投资组合演变</target> <target state="translated">投资组合演变</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6766448922039123937" datatype="html"> <trans-unit id="6766448922039123937" datatype="html">
@ -4188,7 +4196,7 @@
<target state="translated">投资时间表</target> <target state="translated">投资时间表</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1440519383036502539" datatype="html"> <trans-unit id="1440519383036502539" datatype="html">
@ -4196,7 +4204,7 @@
<target state="translated">当前连胜</target> <target state="translated">当前连胜</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="457461496511383061" datatype="html"> <trans-unit id="457461496511383061" datatype="html">
@ -4204,7 +4212,7 @@
<target state="translated">最长连续纪录</target> <target state="translated">最长连续纪录</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6854252543786630145" datatype="html"> <trans-unit id="6854252543786630145" datatype="html">
@ -4212,7 +4220,7 @@
<target state="translated">股息时间表</target> <target state="translated">股息时间表</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5857197365507636437" datatype="html"> <trans-unit id="5857197365507636437" datatype="html">
@ -5845,7 +5853,7 @@
<target state="translated">绝对货币表现</target> <target state="translated">绝对货币表现</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1600023202562292052" datatype="html"> <trans-unit id="1600023202562292052" datatype="html">
@ -5861,7 +5869,7 @@
<target state="translated">绝对资产回报</target> <target state="translated">绝对资产回报</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8580549503047096056" datatype="html"> <trans-unit id="8580549503047096056" datatype="html">
@ -5877,11 +5885,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts</context> <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> <target state="translated">资产回报</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="104509087727626192" datatype="html"> <trans-unit id="104509087727626192" datatype="html">
@ -5909,7 +5917,7 @@
<target state="translated">货币表现</target> <target state="translated">货币表现</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="2593751087640318641" datatype="html"> <trans-unit id="2593751087640318641" datatype="html">
@ -7367,12 +7375,20 @@
<context context-type="linenumber">146</context> <context context-type="linenumber">146</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="7826234236931647519" datatype="html">
<source>AI prompt has been copied to the clipboard</source> <source>AI prompt has been copied to the clipboard</source>
<target state="translated">AI 提示已复制到剪贴板</target> <target state="translated">AI 提示已复制到剪贴板</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1616747898909934803" datatype="html"> <trans-unit id="1616747898909934803" datatype="html">
@ -7452,7 +7468,7 @@
<target state="translated">打开 Duck.ai</target> <target state="translated">打开 Duck.ai</target>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context> <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> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5674286808255988565" datatype="html"> <trans-unit id="5674286808255988565" datatype="html">
@ -7523,6 +7539,14 @@
<context context-type="linenumber">67</context> <context context-type="linenumber">67</context>
</context-group> </context-group>
</trans-unit> </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"> <trans-unit id="5004849258025239958" datatype="html">
<source>Armenia</source> <source>Armenia</source>
<target state="translated">亚美尼亚</target> <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 { PortfolioPosition } from './portfolio-position.interface';
import type { PortfolioReportRule } from './portfolio-report-rule.interface'; import type { PortfolioReportRule } from './portfolio-report-rule.interface';
import type { PortfolioSummary } from './portfolio-summary.interface'; import type { PortfolioSummary } from './portfolio-summary.interface';
import type { Position } from './position.interface';
import type { Product } from './product'; import type { Product } from './product';
import type { AccessTokenResponse } from './responses/access-token-response.interface'; import type { AccessTokenResponse } from './responses/access-token-response.interface';
import type { AccountBalancesResponse } from './responses/account-balances-response.interface'; import type { AccountBalancesResponse } from './responses/account-balances-response.interface';
@ -172,7 +171,6 @@ export {
PortfolioReportResponse, PortfolioReportResponse,
PortfolioReportRule, PortfolioReportRule,
PortfolioSummary, PortfolioSummary,
Position,
Product, Product,
PublicKeyCredentialCreationOptionsJSON, PublicKeyCredentialCreationOptionsJSON,
PublicKeyCredentialRequestOptionsJSON, 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'; import { Sector } from './sector.interface';
export interface PortfolioPosition { export interface PortfolioPosition {
activitiesCount: number;
allocationInPercentage: number; allocationInPercentage: number;
assetClass?: AssetClass; assetClass?: AssetClass;
assetClassLabel?: string; assetClassLabel?: string;
@ -38,7 +39,10 @@ export interface PortfolioPosition {
sectors: Sector[]; sectors: Sector[];
symbol: string; symbol: string;
tags?: Tag[]; tags?: Tag[];
/** @deprecated use activitiesCount instead */
transactionCount: number; transactionCount: number;
type?: string; type?: string;
url?: string; url?: string;
valueInBaseCurrency?: number; 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 { export interface AccountsResponse {
accounts: AccountWithValue[]; accounts: AccountWithValue[];
activitiesCount: number;
totalBalanceInBaseCurrency: number; totalBalanceInBaseCurrency: number;
totalDividendInBaseCurrency: number; totalDividendInBaseCurrency: number;
totalInterestInBaseCurrency: number; totalInterestInBaseCurrency: number;
totalValueInBaseCurrency: number; totalValueInBaseCurrency: number;
/** @deprecated use activitiesCount instead */
transactionCount: number; transactionCount: number;
} }

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

@ -11,11 +11,11 @@ export interface PortfolioHoldingResponse {
activitiesCount: number; activitiesCount: number;
averagePrice: number; averagePrice: number;
dataProviderInfo: DataProviderInfo; dataProviderInfo: DataProviderInfo;
dateOfFirstActivity: string;
dividendInBaseCurrency: number; dividendInBaseCurrency: number;
dividendYieldPercent: number; dividendYieldPercent: number;
dividendYieldPercentWithCurrencyEffect: number; dividendYieldPercentWithCurrencyEffect: number;
feeInBaseCurrency: number; feeInBaseCurrency: number;
firstBuyDate: string;
grossPerformance: number; grossPerformance: number;
grossPerformancePercent: number; grossPerformancePercent: number;
grossPerformancePercentWithCurrencyEffect: 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'; import { Transform, Type } from 'class-transformer';
export class TimelinePosition { export class TimelinePosition {
activitiesCount: number;
@Transform(transformToBig, { toClassOnly: true }) @Transform(transformToBig, { toClassOnly: true })
@Type(() => Big) @Type(() => Big)
averagePrice: Big; averagePrice: Big;
currency: string; currency: string;
dataSource: DataSource; dataSource: DataSource;
dateOfFirstActivity: string;
@Transform(transformToBig, { toClassOnly: true }) @Transform(transformToBig, { toClassOnly: true })
@Type(() => Big) @Type(() => Big)
@ -32,6 +35,7 @@ export class TimelinePosition {
@Type(() => Big) @Type(() => Big)
feeInBaseCurrency: Big; feeInBaseCurrency: Big;
/** @deprecated use dateOfFirstActivity instead */
firstBuyDate: string; firstBuyDate: string;
@Transform(transformToBig, { toClassOnly: true }) @Transform(transformToBig, { toClassOnly: true })
@ -92,6 +96,7 @@ export class TimelinePosition {
@Type(() => Big) @Type(() => Big)
timeWeightedInvestmentWithCurrencyEffect: Big; timeWeightedInvestmentWithCurrencyEffect: Big;
/** @deprecated use activitiesCount instead */
transactionCount: number; transactionCount: number;
@Transform(transformToBig, { toClassOnly: true }) @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'; import { Account as AccountModel, Platform } from '@prisma/client';
export type AccountWithValue = AccountModel & { export type AccountWithValue = AccountModel & {
activitiesCount: number;
allocationInPercentage: number; allocationInPercentage: number;
balanceInBaseCurrency: number; balanceInBaseCurrency: number;
dividendInBaseCurrency: number; dividendInBaseCurrency: number;
interestInBaseCurrency: number; interestInBaseCurrency: number;
platform?: Platform; platform?: Platform;
/** @deprecated use activitiesCount instead */
transactionCount: number; transactionCount: number;
value: number; value: number;
valueInBaseCurrency: number; valueInBaseCurrency: number;
}; };

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

@ -1,5 +1,4 @@
export interface GfEnvironment { export interface GfEnvironment {
lastPublish: string | null; lastPublish: string | null;
production: boolean; 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[] = [ export const holdings: PortfolioPosition[] = [
{ {
activitiesCount: 1,
allocationInPercentage: 0.042990776363386086, allocationInPercentage: 0.042990776363386086,
assetClass: 'EQUITY' as any, assetClass: 'EQUITY' as any,
assetClassLabel: 'Equity', assetClassLabel: 'Equity',
@ -45,6 +46,7 @@ export const holdings: PortfolioPosition[] = [
valueInBaseCurrency: 12230 valueInBaseCurrency: 12230
}, },
{ {
activitiesCount: 2,
allocationInPercentage: 0.02377401948293552, allocationInPercentage: 0.02377401948293552,
assetClass: 'EQUITY' as any, assetClass: 'EQUITY' as any,
assetClassLabel: 'Equity', assetClassLabel: 'Equity',
@ -88,6 +90,7 @@ export const holdings: PortfolioPosition[] = [
valueInBaseCurrency: 6763.224181360202 valueInBaseCurrency: 6763.224181360202
}, },
{ {
activitiesCount: 1,
allocationInPercentage: 0.08038536990007467, allocationInPercentage: 0.08038536990007467,
assetClass: 'EQUITY' as any, assetClass: 'EQUITY' as any,
assetClassLabel: 'Equity', assetClassLabel: 'Equity',
@ -131,6 +134,7 @@ export const holdings: PortfolioPosition[] = [
valueInBaseCurrency: 22868 valueInBaseCurrency: 22868
}, },
{ {
activitiesCount: 1,
allocationInPercentage: 0.19216416482928922, allocationInPercentage: 0.19216416482928922,
assetClass: 'LIQUIDITY' as any, assetClass: 'LIQUIDITY' as any,
assetClassLabel: 'Liquidity', assetClassLabel: 'Liquidity',
@ -162,6 +166,7 @@ export const holdings: PortfolioPosition[] = [
valueInBaseCurrency: 54666.7898248 valueInBaseCurrency: 54666.7898248
}, },
{ {
activitiesCount: 1,
allocationInPercentage: 0.04307127421937313, allocationInPercentage: 0.04307127421937313,
assetClass: 'EQUITY' as any, assetClass: 'EQUITY' as any,
assetClassLabel: 'Equity', assetClassLabel: 'Equity',
@ -205,6 +210,7 @@ export const holdings: PortfolioPosition[] = [
valueInBaseCurrency: 12252.9 valueInBaseCurrency: 12252.9
}, },
{ {
activitiesCount: 1,
allocationInPercentage: 0.18762679306394897, allocationInPercentage: 0.18762679306394897,
assetClass: 'EQUITY' as any, assetClass: 'EQUITY' as any,
assetClassLabel: 'Equity', assetClassLabel: 'Equity',
@ -248,6 +254,7 @@ export const holdings: PortfolioPosition[] = [
valueInBaseCurrency: 53376 valueInBaseCurrency: 53376
}, },
{ {
activitiesCount: 5,
allocationInPercentage: 0.053051250766657634, allocationInPercentage: 0.053051250766657634,
assetClass: 'EQUITY' as any, assetClass: 'EQUITY' as any,
assetClassLabel: 'Equity', assetClassLabel: 'Equity',

12
package-lock.json

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

4
package.json

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

Loading…
Cancel
Save