Compare commits

...

75 Commits

Author SHA1 Message Date
Thomas Kaul 37f7371623 refactor: simplify subscription management in about overview page component 3 days ago
Thomas Kaul ddd36a1c7d
Task/eliminate OnDestroy lifecycle hook from about overview page (#6419) 3 days ago
Thomas Kaul 83347ba5dd
Release 2.245.0 (#6418) 3 days ago
Ariel Pons 5bcdaa396f
Task/improve language localization for ES (#6417) 3 days ago
Thomas Kaul b5eb7d9884
Bugfix/resolve data source transformation in export and performance endpoint (#6411) 3 days ago
Thomas Kaul 08c04e69cf
Task/exclude scraper configuration and symbol mapping from import and export functionality (#6415) 3 days ago
Davide Riccobelli 8b714d18ab
Task/improve language localization for IT (#6416) 3 days ago
Erwin-N da13d62703
Task/improve language localization for NL (#6414) 3 days ago
Thomas Kaul 0fee18908f
Release 2.244.0 (#6409) 4 days ago
Thomas Kaul 98fb0b86af
Task/improve usability of asset profile details dialog for currencies (#6406) 4 days ago
Kenrick Tandrian 9493f79f8e
Task/improve type safety in portfolio filter form component (#6404) 4 days ago
Thomas Kaul f2c81ada90
Task/refactor $queryRawUnsafe() in data provider service (#6408) 4 days ago
github-actions[bot] 3f14e5ad3a
Task/update locales (#6356) 4 days ago
Thomas Kaul a7434c9ba7
Task/remove deprecated fee ratio X-ray rule (#6364) 4 days ago
Thomas Kaul d4a0f48ca2
Task/remove unused OnDestroy hook in demo page component (#6383) 4 days ago
Kenrick Tandrian 69740db292
Task/improve type safety in currency selector (#6402) 6 days ago
Thomas Kaul 4cf16b8c58
Task/remove unused OnDestroy hook in license page component (#6380) 6 days ago
Abhishek Garg 48f1c064bc
Bugfix/handle X-ray rule exception when market price is missing (#6397) 6 days ago
Kenrick Tandrian 386a77c8f7
Task/improve type safety in assistant components (#6396) 6 days ago
Thomas Kaul 2e01c121e4
Task/remove unused OnDestroy hook in resources page component (#6367) 1 week ago
Kenrick Tandrian 90cc7af87c
Task/improve type safety in fire calculator component (#6385) 1 week ago
Thomas Kaul cc92ecf62a
Release 2.243.0 (#6384) 1 week ago
Thomas Kaul 236e1aacf5
Task/upgrade nestjs to version 11.1.14 (#6379) 1 week ago
Vic Chen 7bcd18711a
Task/improve language localization for ZH 20260217 (#6348) 1 week ago
Thomas Kaul f5d99bad24
Bugfix/create activities of type fee, interest or liability (#6378) 1 week ago
Thomas Kaul c7cfc87e20
Task/remove unused OnDestroy hook in changelog page component (#6373) 1 week ago
Thomas Kaul 14f0d2bd8b
Task/remove unused OnDestroy hook in OSS friends page component (#6374) 1 week ago
Thomas Kaul 98891e195c
Release 2.242.0 (#6375) 1 week ago
Thomas Kaul 3eb9d53220
Bugfix/validation of valuables (#6372) 1 week ago
Thomas Kaul 4897f34d51
Task/change account field to optional in create or update activity dialog (#6371) 1 week ago
Thomas Kaul 97915a3ca9
Bugfix/fix page size for presets in market data table of admin control panel (#6363) 1 week ago
Thomas Kaul 5acbe25d25
Task/clean up changelog (#6362) 1 week ago
Thomas Kaul e3579f6811
Task/add missing OnDestroy hook in user account registration dialog (#6368) 1 week ago
Thomas Kaul ec92116acc
Task/remove unused OnDestroy hook in admin page component (#6366) 1 week ago
Thomas Kaul 2e2cbc4620
Release 2.241.0 (#6361) 2 weeks ago
Thomas Kaul 25200bfd6d
Task/improve usability of portfolio summary in presenter view (#6360) 2 weeks ago
Kenrick Tandrian 8bdcad5533
Task/improve type safety in activities filter component (#6358) 2 weeks ago
Thomas Kaul bd160d0e57
Bugfix/issue with accounts in value redaction interceptor for impersonation mode (#6359) 2 weeks ago
Thomas Kaul f17dfd9d94
Task/update locales 20260219 (#6354) 2 weeks ago
Kenrick Tandrian 6c6f20c3fd
Task/improve type safety in account balances component (#6352) 2 weeks ago
github-actions[bot] 6afba53fa7
Task/update locales (#6274) 2 weeks ago
slegarraga bccc52e83a
Task/improve language localization for ES 20260219 (#6353) 2 weeks ago
Thomas Kaul b888005144
Task/refresh cryptocurrencies list 20260216 (#6342) 2 weeks ago
Thomas Kaul 2ef9c01d8d
Release 2.240.0 (#6351) 2 weeks ago
David Requeno 117a938bad
Feature/add new market data preset (#6346) 2 weeks ago
Thomas Kaul 0d67478cc3
Task/harmonize validation for create activity endpoint with existing import activity logic (#6349) 2 weeks ago
Kenrick Tandrian 47a054dd00
Task/improve type safety in historical market data editor component (#6337) 2 weeks ago
Thomas Kaul 78ccdd8d2d
Task/upgrade marked to version 17.0.2 (#6323) 2 weeks ago
Kenrick Tandrian e7df24f899
Task/enable UI test (#6345) 2 weeks ago
Thomas Kaul 8c88ce918f
Feature/add support for custom cryptocurrencies defined in database (#6344) 2 weeks ago
Thomas Kaul d1345b8147
Task/upgrade ngx-markdown to version 21.1.0 (#6321) 2 weeks ago
Thomas Kaul 75d3494fa4
Task/add support for cryptocurrency Sky (#6338) 2 weeks ago
Thomas Kaul 8c33a51ca5
Release 2.239.0 (#6335) 2 weeks ago
Thomas Kaul c056045ed0
Task/update locales (#6334) 2 weeks ago
Thomas Kaul 09968bda7d
Bugfix/fix localization in X-ray rule (#6333) 2 weeks ago
Thomas Kaul 2ab3d7daa1
Task/upgrade simplewebauthn to version 13.2.2 (#6326) 2 weeks ago
Thomas Kaul e59421f008
Feature/add static portfolio analysis fee ratio rule based on total investment volume (#6332) 2 weeks ago
Thomas Kaul f38a2d7ff1
Bugfix/investment value in portfolio summary (#6329) 2 weeks ago
Thomas Kaul 14cbf7d735
Task/extend self-hosting FAQ with information on derived currencies (#6331) 2 weeks ago
Thomas Kaul 3e27fb0690
Task/upgrade cheerio to version 1.2.0 (#6324) 2 weeks ago
Thomas Kaul 299bca2780
Task/extend error messages in scraper configuration (#6322) 2 weeks ago
Thomas Kaul 8a98c0a3f0
Task/ignore nested ETFs when fetching top holdings in Yahoo Finance service (#6319) 3 weeks ago
Varun Chawla c489a1cc00
Bugfix/integrate missing valueInBaseCurrency in import activities response (#6294) 3 weeks ago
Kenrick Tandrian 0c970e2a14
Task/improve holdings table type safety (#6306) 3 weeks ago
Thomas Kaul eb368765d4
Release 2.238.0 (#6312) 3 weeks ago
Neeraj Bachani 373a4857ac
Bugfix/reset buy tracking variables when position closes (#6298) 3 weeks ago
Thomas Kaul e361f09398
Bugfix/expand date range to cover full day in exchange rate calculation (#6311) 3 weeks ago
Thomas Kaul 4ba142682a
Task/upgrade ngx-skeleton-loader to version 12.0.0 (#6304) 3 weeks ago
Thomas Kaul ed29c2ceab
Bugfix/fix issue in annualized performance calculation (#6310) 3 weeks ago
Kenrick Tandrian ddb859408b
Task/improve notification components type safety (#6305) 3 weeks ago
Thomas Kaul ed610ddd4e
Task/upgrade twitter-api-v2 to version 1.29.0 (#6300) 3 weeks ago
Thomas Kaul e66f468d65
Task/improve TestMu AI logo and url (#6303) 3 weeks ago
Kenrick Tandrian 8a50b8c922
Task/improve type safety in accounts table component (#6307) 3 weeks ago
Kenrick Tandrian e1d343fb70
Task/improve accounts table type safety (#6301) 3 weeks ago
Kenrick Tandrian 753804c011
Task/improve activities table type safety (#6295) 3 weeks ago
  1. 114
      CHANGELOG.md
  2. 4
      README.md
  3. 7
      apps/api/src/app/admin/admin.controller.ts
  4. 10
      apps/api/src/app/admin/admin.service.ts
  5. 5
      apps/api/src/app/export/export.service.ts
  6. 144
      apps/api/src/app/import/import.service.ts
  7. 25
      apps/api/src/app/order/order.controller.ts
  8. 7
      apps/api/src/app/portfolio/calculator/portfolio-calculator.ts
  9. 1
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-buy.spec.ts
  10. 1
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts
  11. 1
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell.spec.ts
  12. 1
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy.spec.ts
  13. 1
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts
  14. 1
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-fee.spec.ts
  15. 1
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-buy.spec.ts
  16. 190
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-jnug-buy-and-sell-and-buy-and-sell.spec.ts
  17. 1
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-with-dividend.spec.ts
  18. 1
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell-partially.spec.ts
  19. 1
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell.spec.ts
  20. 1
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-valuable.spec.ts
  21. 7
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator.ts
  22. 11
      apps/api/src/app/portfolio/current-rate.service.mock.ts
  23. 1
      apps/api/src/app/portfolio/portfolio.controller.ts
  24. 20
      apps/api/src/app/portfolio/portfolio.service.ts
  25. 4
      apps/api/src/app/user/user.service.ts
  26. 43
      apps/api/src/assets/cryptocurrencies/cryptocurrencies.json
  27. 1
      apps/api/src/assets/cryptocurrencies/custom.json
  28. 2
      apps/api/src/helper/object.helper.spec.ts
  29. 2
      apps/api/src/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor.ts
  30. 2
      apps/api/src/models/rule.ts
  31. 21
      apps/api/src/models/rules/fees/fee-ratio-total-investment-volume.ts
  32. 7
      apps/api/src/services/cryptocurrency/cryptocurrency.module.ts
  33. 38
      apps/api/src/services/cryptocurrency/cryptocurrency.service.ts
  34. 2
      apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.spec.ts
  35. 10
      apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts
  36. 155
      apps/api/src/services/data-provider/data-provider.service.ts
  37. 36
      apps/api/src/services/data-provider/manual/manual.service.ts
  38. 2
      apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
  39. 7
      apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
  40. 24
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
  41. 11
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
  42. 1
      apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html
  43. 2
      apps/client/src/app/components/home-holdings/home-holdings.html
  44. 13
      apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html
  45. 12
      apps/client/src/app/pages/about/changelog/changelog-page.component.ts
  46. 12
      apps/client/src/app/pages/about/license/license-page.component.ts
  47. 12
      apps/client/src/app/pages/about/oss-friends/oss-friends-page.component.ts
  48. 17
      apps/client/src/app/pages/about/overview/about-overview-page.component.ts
  49. 8
      apps/client/src/app/pages/about/overview/about-overview-page.html
  50. 1
      apps/client/src/app/pages/accounts/accounts-page.html
  51. 12
      apps/client/src/app/pages/admin/admin-page.component.ts
  52. 12
      apps/client/src/app/pages/demo/demo-page.component.ts
  53. 4
      apps/client/src/app/pages/faq/self-hosting/self-hosting-page.html
  54. 16
      apps/client/src/app/pages/i18n/i18n-page.html
  55. 24
      apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts
  56. 8
      apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
  57. 1
      apps/client/src/app/pages/public/public-page.html
  58. 8
      apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.component.ts
  59. 8
      apps/client/src/app/pages/resources/resources-page.component.ts
  60. 2
      apps/client/src/app/services/import-activities.service.ts
  61. 244
      apps/client/src/locales/messages.ca.xlf
  62. 246
      apps/client/src/locales/messages.de.xlf
  63. 244
      apps/client/src/locales/messages.es.xlf
  64. 246
      apps/client/src/locales/messages.fr.xlf
  65. 248
      apps/client/src/locales/messages.it.xlf
  66. 246
      apps/client/src/locales/messages.ko.xlf
  67. 372
      apps/client/src/locales/messages.nl.xlf
  68. 246
      apps/client/src/locales/messages.pl.xlf
  69. 244
      apps/client/src/locales/messages.pt.xlf
  70. 246
      apps/client/src/locales/messages.tr.xlf
  71. 244
      apps/client/src/locales/messages.uk.xlf
  72. 239
      apps/client/src/locales/messages.xlf
  73. 244
      apps/client/src/locales/messages.zh.xlf
  74. 4
      libs/common/src/lib/calculation-helper.ts
  75. 6
      libs/common/src/lib/config.ts
  76. 11
      libs/common/src/lib/dtos/create-asset-profile.dto.ts
  77. 2
      libs/common/src/lib/interfaces/activities.interface.ts
  78. 1
      libs/common/src/lib/interfaces/portfolio-performance.interface.ts
  79. 3
      libs/common/src/lib/interfaces/portfolio-summary.interface.ts
  80. 7
      libs/common/src/lib/interfaces/responses/export-response.interface.ts
  81. 2
      libs/common/src/lib/interfaces/x-ray-rules-settings.interface.ts
  82. 3
      libs/common/src/lib/types/market-data-preset.type.ts
  83. 10
      libs/ui/src/lib/account-balances/account-balances.component.html
  84. 68
      libs/ui/src/lib/account-balances/account-balances.component.ts
  85. 38
      libs/ui/src/lib/accounts-table/accounts-table.component.html
  86. 3
      libs/ui/src/lib/accounts-table/accounts-table.component.stories.ts
  87. 165
      libs/ui/src/lib/accounts-table/accounts-table.component.ts
  88. 8
      libs/ui/src/lib/activities-filter/activities-filter.component.html
  89. 83
      libs/ui/src/lib/activities-filter/activities-filter.component.ts
  90. 36
      libs/ui/src/lib/activities-table/activities-table.component.html
  91. 26
      libs/ui/src/lib/activities-table/activities-table.component.stories.ts
  92. 138
      libs/ui/src/lib/activities-table/activities-table.component.ts
  93. 24
      libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.component.ts
  94. 2
      libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.html
  95. 102
      libs/ui/src/lib/assistant/assistant.component.ts
  96. 2
      libs/ui/src/lib/assistant/assistant.html
  97. 90
      libs/ui/src/lib/currency-selector/currency-selector.component.ts
  98. 128
      libs/ui/src/lib/fire-calculator/fire-calculator.component.ts
  99. 47
      libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.component.ts
  100. 3
      libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html

114
CHANGELOG.md

@ -16,6 +16,120 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- **Breaking Change**: The `sslmode=prefer` parameter in `DATABASE_URL` is no longer supported. Please update your environment variables (see `.env`) to use `sslmode=require` if _SSL_ is enabled or remove the `sslmode` parameter entirely if _SSL_ is not used.
## 2.245.0 - 2026-03-01
### Changed
- Excluded the scraper configuration from the import and export functionality
- Excluded the symbol mapping from the import and export functionality
- Improved the language localization for Dutch (`nl`)
- Improved the language localization for Italian (`it`)
- Improved the language localization for Spanish (`es`)
### Fixed
- Resolved the data source transformation in the errors of the performance endpoint
- Resolved the data source transformation in the export functionality
## 2.244.0 - 2026-02-28
### Changed
- Improved the usability of the asset profile details dialog in the admin control panel for currencies
- Removed the deprecated static portfolio analysis rule: _Fees_ (Fee Ratio)
- Refactored queries in the data provider service to use Prisma’s safe query methods
### Fixed
- Fixed an exception by adding a fallback for missing market price values on the _X-ray_ page
## 2.243.0 - 2026-02-23
### Changed
- Improved the language localization for Chinese (`zh`)
- Upgraded `nestjs` from version `11.1.8` to `11.1.14`
### Fixed
- Fixed an issue when creating activities of type `FEE`, `INTEREST` or `LIABILITY`
## 2.242.0 - 2026-02-22
### Changed
- Changed the account field to optional in the create or update activity dialog
### Fixed
- Fixed a validation issue for valuables used in the create and import activity logic
- Fixed the page size for presets in the historical market data table of the admin control panel
## 2.241.0 - 2026-02-21
### Changed
- Improved the usability of the portfolio summary tab on the home page in the _Presenter View_
- Refreshed the cryptocurrencies list
- Improved the language localization for German (`de`)
- Improved the language localization for Spanish (`es`)
### Fixed
- Fixed an issue with `balanceInBaseCurrency` of the accounts in the value redaction interceptor for the impersonation mode
- Fixed an issue with `comment` of the accounts in the value redaction interceptor for the impersonation mode
- Fixed an issue with `dividendInBaseCurrency` of the accounts in the value redaction interceptor for the impersonation mode
- Fixed an issue with `interestInBaseCurrency` of the accounts in the value redaction interceptor for the impersonation mode
- Fixed an issue with `value` of the accounts in the value redaction interceptor for the impersonation mode
## 2.240.0 - 2026-02-18
### Added
- Added a _No Activities_ preset to the historical market data table of the admin control panel
- Added support for custom cryptocurrencies defined in the database
- Added support for the cryptocurrency _Sky_
### Changed
- Harmonized the validation for the create activity endpoint with the existing import activity logic
- Upgraded `marked` from version `17.0.1` to `17.0.2`
- Upgraded `ngx-markdown` from version `21.0.1` to `21.1.0`
## 2.239.0 - 2026-02-15
### Added
- Added a new static portfolio analysis rule based on the total investment volume: _Fees_ (Fee Ratio)
- Extended the content of the _Self-Hosting_ section on the Frequently Asked Questions (FAQ) page with information on derived currencies
### Changed
- Deprecated the existing static portfolio analysis rule: _Fees_ (Fee Ratio)
- Ignored nested ETFs when fetching top holdings for ETF and mutual fund assets from _Yahoo Finance_
- Improved the scraper configuration with more detailed error messages
- Improved the language localization for German (`de`)
- Upgraded `@simplewebauthn/browser` and `@simplewebauthn/server` from version `13.1.0` to `13.2.2`
- Upgraded `cheerio` from version `1.0.0` to `1.2.0`
### Fixed
- Fixed the investment value by including currency effects in the portfolio summary tab on the home page
- Added the missing `valueInBaseCurrency` to the response of the import activities endpoint
## 2.238.0 - 2026-02-12
### Changed
- Upgraded `ngx-skeleton-loader` from version `11.3.0` to `12.0.0`
- Upgraded `twitter-api-v2` from version `1.27.0` to `1.29.0`
### Fixed
- Fixed a performance calculation issue by resetting tracking variables when a holding is fully closed
- Fixed an issue in the annualized performance calculation
- Fixed an issue with the exchange rate calculation by expanding the date range to cover the full day (start to end of day)
## 2.237.0 - 2026-02-08
### Changed

4
README.md

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

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

@ -247,14 +247,17 @@ export class AdminController {
@Param('symbol') symbol: string
): Promise<{ price: number }> {
try {
const price = await this.manualService.test(data.scraperConfiguration);
const price = await this.manualService.test({
symbol,
scraperConfiguration: data.scraperConfiguration
});
if (price) {
return { price };
}
throw new Error(
`Could not parse the current market price for ${symbol} (${dataSource})`
`Could not parse the market price for ${symbol} (${dataSource})`
);
} catch (error) {
Logger.error(error, 'AdminController');

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

@ -225,6 +225,10 @@ export class AdminService {
presetId === 'ETF_WITHOUT_SECTORS'
) {
filters = [{ id: 'ETF', type: 'ASSET_SUB_CLASS' }];
} else if (presetId === 'NO_ACTIVITIES') {
where.activities = {
none: {}
};
}
const searchQuery = filters.find(({ type }) => {
@ -466,7 +470,9 @@ export class AdminService {
let currency: EnhancedSymbolProfile['currency'] = '-';
let dateOfFirstActivity: EnhancedSymbolProfile['dateOfFirstActivity'];
if (isCurrency(getCurrencyFromSymbol(symbol))) {
const isCurrencyAssetProfile = isCurrency(getCurrencyFromSymbol(symbol));
if (isCurrencyAssetProfile) {
currency = getCurrencyFromSymbol(symbol);
({ activitiesCount, dateOfFirstActivity } =
await this.orderService.getStatisticsByCurrency(currency));
@ -504,6 +510,8 @@ export class AdminService {
dataSource,
dateOfFirstActivity,
symbol,
assetClass: isCurrencyAssetProfile ? AssetClass.LIQUIDITY : undefined,
assetSubClass: isCurrencyAssetProfile ? AssetSubClass.CASH : undefined,
isActive: true
}
};

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

@ -182,10 +182,8 @@ export class ExportService {
isActive,
isin,
name,
scraperConfiguration,
sectors,
symbol,
symbolMapping,
url
}) => {
return {
@ -204,11 +202,8 @@ export class ExportService {
isin,
marketData: marketDataByAssetProfile[id],
name,
scraperConfiguration:
scraperConfiguration as unknown as Prisma.JsonArray,
sectors: sectors as unknown as Prisma.JsonArray,
symbol,
symbolMapping,
url
};
}

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

@ -3,8 +3,8 @@ import { OrderService } from '@ghostfolio/api/app/order/order.service';
import { PlatformService } from '@ghostfolio/api/app/platform/platform.service';
import { PortfolioService } from '@ghostfolio/api/app/portfolio/portfolio.service';
import { ApiService } from '@ghostfolio/api/services/api/api.service';
import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service';
import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service';
import { MarketDataService } from '@ghostfolio/api/services/market-data/market-data.service';
import { DataGatheringService } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.service';
import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service';
@ -32,7 +32,7 @@ import {
} from '@ghostfolio/common/types';
import { Injectable } from '@nestjs/common';
import { DataSource, Prisma, SymbolProfile } from '@prisma/client';
import { DataSource, Prisma } from '@prisma/client';
import { Big } from 'big.js';
import { endOfToday, isAfter, isSameSecond, parseISO } from 'date-fns';
import { omit, uniqBy } from 'lodash';
@ -45,9 +45,9 @@ export class ImportService {
public constructor(
private readonly accountService: AccountService,
private readonly apiService: ApiService,
private readonly configurationService: ConfigurationService,
private readonly dataGatheringService: DataGatheringService,
private readonly dataProviderService: DataProviderService,
private readonly exchangeRateDataService: ExchangeRateDataService,
private readonly marketDataService: MarketDataService,
private readonly orderService: OrderService,
private readonly platformService: PlatformService,
@ -393,7 +393,7 @@ export class ImportService {
}
}
const assetProfiles = await this.validateActivities({
const assetProfiles = await this.dataProviderService.validateActivities({
activitiesDto,
assetProfilesWithMarketDataDto,
maxActivitiesToImport,
@ -590,10 +590,18 @@ export class ImportService {
const value = new Big(quantity).mul(unitPrice).toNumber();
const valueInBaseCurrency = this.exchangeRateDataService.toCurrencyAtDate(
value,
currency ?? assetProfile.currency,
userCurrency,
date
);
activities.push({
...order,
error,
value,
valueInBaseCurrency: await valueInBaseCurrency,
// @ts-ignore
SymbolProfile: assetProfile
});
@ -719,132 +727,4 @@ export class ImportService {
return uniqueAccountIds.size === 1;
}
private async validateActivities({
activitiesDto,
assetProfilesWithMarketDataDto,
maxActivitiesToImport,
user
}: {
activitiesDto: Partial<CreateOrderDto>[];
assetProfilesWithMarketDataDto: ImportDataDto['assetProfiles'];
maxActivitiesToImport: number;
user: UserWithSettings;
}) {
if (activitiesDto?.length > maxActivitiesToImport) {
throw new Error(`Too many activities (${maxActivitiesToImport} at most)`);
}
const assetProfiles: {
[assetProfileIdentifier: string]: Partial<SymbolProfile>;
} = {};
const dataSources = await this.dataProviderService.getDataSources();
for (const [
index,
{ currency, dataSource, symbol, type }
] of activitiesDto.entries()) {
if (!dataSources.includes(dataSource)) {
throw new Error(
`activities.${index}.dataSource ("${dataSource}") is not valid`
);
}
if (
this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION') &&
user.subscription.type === 'Basic'
) {
const dataProvider = this.dataProviderService.getDataProvider(
DataSource[dataSource]
);
if (dataProvider.getDataProviderInfo().isPremium) {
throw new Error(
`activities.${index}.dataSource ("${dataSource}") is not valid`
);
}
}
if (!assetProfiles[getAssetProfileIdentifier({ dataSource, symbol })]) {
if (['FEE', 'INTEREST', 'LIABILITY'].includes(type)) {
// Skip asset profile validation for FEE, INTEREST, and LIABILITY
// as these activity types don't require asset profiles
const assetProfileInImport = assetProfilesWithMarketDataDto?.find(
(profile) => {
return (
profile.dataSource === dataSource && profile.symbol === symbol
);
}
);
assetProfiles[getAssetProfileIdentifier({ dataSource, symbol })] = {
currency,
dataSource,
symbol,
name: assetProfileInImport?.name
};
continue;
}
let assetProfile: Partial<SymbolProfile> = { currency };
try {
assetProfile = (
await this.dataProviderService.getAssetProfiles([
{ dataSource, symbol }
])
)?.[symbol];
} catch {}
if (!assetProfile?.name) {
const assetProfileInImport = assetProfilesWithMarketDataDto?.find(
(profile) => {
return (
profile.dataSource === dataSource && profile.symbol === symbol
);
}
);
if (assetProfileInImport) {
// Merge all fields of custom asset profiles into the validation object
Object.assign(assetProfile, {
assetClass: assetProfileInImport.assetClass,
assetSubClass: assetProfileInImport.assetSubClass,
comment: assetProfileInImport.comment,
countries: assetProfileInImport.countries,
currency: assetProfileInImport.currency,
cusip: assetProfileInImport.cusip,
dataSource: assetProfileInImport.dataSource,
figi: assetProfileInImport.figi,
figiComposite: assetProfileInImport.figiComposite,
figiShareClass: assetProfileInImport.figiShareClass,
holdings: assetProfileInImport.holdings,
isActive: assetProfileInImport.isActive,
isin: assetProfileInImport.isin,
name: assetProfileInImport.name,
scraperConfiguration: assetProfileInImport.scraperConfiguration,
sectors: assetProfileInImport.sectors,
symbol: assetProfileInImport.symbol,
symbolMapping: assetProfileInImport.symbolMapping,
url: assetProfileInImport.url
});
}
}
if (!['FEE', 'INTEREST', 'LIABILITY'].includes(type)) {
if (!assetProfile?.name) {
throw new Error(
`activities.${index}.symbol ("${symbol}") is not valid for the specified data source ("${dataSource}")`
);
}
}
assetProfiles[getAssetProfileIdentifier({ dataSource, symbol })] =
assetProfile;
}
}
return assetProfiles;
}
}

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

@ -4,6 +4,7 @@ import { RedactValuesInResponseInterceptor } from '@ghostfolio/api/interceptors/
import { TransformDataSourceInRequestInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.interceptor';
import { TransformDataSourceInResponseInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor';
import { ApiService } from '@ghostfolio/api/services/api/api.service';
import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service';
import { ImpersonationService } from '@ghostfolio/api/services/impersonation/impersonation.service';
import { DataGatheringService } from '@ghostfolio/api/services/queues/data-gathering/data-gathering.service';
import { getIntervalFromDateRange } from '@ghostfolio/common/calculation-helper';
@ -46,6 +47,7 @@ import { OrderService } from './order.service';
export class OrderController {
public constructor(
private readonly apiService: ApiService,
private readonly dataProviderService: DataProviderService,
private readonly dataGatheringService: DataGatheringService,
private readonly impersonationService: ImpersonationService,
private readonly orderService: OrderService,
@ -190,6 +192,29 @@ export class OrderController {
@UseGuards(AuthGuard('jwt'), HasPermissionGuard)
@UseInterceptors(TransformDataSourceInRequestInterceptor)
public async createOrder(@Body() data: CreateOrderDto): Promise<OrderModel> {
try {
await this.dataProviderService.validateActivities({
activitiesDto: [
{
currency: data.currency,
dataSource: data.dataSource,
symbol: data.symbol,
type: data.type
}
],
maxActivitiesToImport: 1,
user: this.request.user
});
} catch (error) {
throw new HttpException(
{
error: getReasonPhrase(StatusCodes.BAD_REQUEST),
message: [error.message]
},
StatusCodes.BAD_REQUEST
);
}
const currency = data.currency;
const customCurrency = data.customCurrency;
const dataSource = data.dataSource;

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

@ -53,6 +53,7 @@ import {
isBefore,
isWithinInterval,
min,
startOfDay,
startOfYear,
subDays
} from 'date-fns';
@ -162,8 +163,8 @@ export abstract class PortfolioCalculator {
subDays(dateOfFirstActivity, 1)
);
this.endDate = endDate;
this.startDate = startDate;
this.endDate = endOfDay(endDate);
this.startDate = startOfDay(startDate);
this.computeTransactionPoints();
@ -236,7 +237,7 @@ export abstract class PortfolioCalculator {
const exchangeRatesByCurrency =
await this.exchangeRateDataService.getExchangeRatesByCurrency({
currencies: Array.from(new Set(Object.values(currencies))),
endDate: endOfDay(this.endDate),
endDate: this.endDate,
startDate: this.startDate,
targetCurrency: this.currency
});

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

@ -194,6 +194,7 @@ describe('PortfolioCalculator', () => {
netPerformanceInPercentage: 0.07032490039195362,
netPerformanceInPercentageWithCurrencyEffect: 0.07032490039195362,
netPerformanceWithCurrencyEffect: 33.4,
totalInvestment: 559,
totalInvestmentValueWithCurrencyEffect: 559
})
);

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

@ -208,6 +208,7 @@ describe('PortfolioCalculator', () => {
netPerformanceInPercentage: -0.05528341497550734703,
netPerformanceInPercentageWithCurrencyEffect: -0.05528341497550734703,
netPerformanceWithCurrencyEffect: -15.8,
totalInvestment: 0,
totalInvestmentValueWithCurrencyEffect: 0
})
);

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

@ -192,6 +192,7 @@ describe('PortfolioCalculator', () => {
netPerformanceInPercentage: -0.05528341497550734703,
netPerformanceInPercentageWithCurrencyEffect: -0.05528341497550734703,
netPerformanceWithCurrencyEffect: -15.8,
totalInvestment: 0,
totalInvestmentValueWithCurrencyEffect: 0
})
);

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

@ -192,6 +192,7 @@ describe('PortfolioCalculator', () => {
netPerformanceInPercentage: 0.08437042459736457,
netPerformanceInPercentageWithCurrencyEffect: 0.08437042459736457,
netPerformanceWithCurrencyEffect: 23.05,
totalInvestment: 273.2,
totalInvestmentValueWithCurrencyEffect: 273.2
})
);

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

@ -210,6 +210,7 @@ describe('PortfolioCalculator', () => {
netPerformanceInPercentage: 42.41983590271396609433,
netPerformanceInPercentageWithCurrencyEffect: 41.64017412624815597854,
netPerformanceWithCurrencyEffect: 26516.208701400000064086,
totalInvestment: 318.542667299999967957,
totalInvestmentValueWithCurrencyEffect: 318.542667299999967957
})
);

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

@ -128,6 +128,7 @@ describe('PortfolioCalculator', () => {
netPerformanceInPercentage: 0,
netPerformanceInPercentageWithCurrencyEffect: 0,
netPerformanceWithCurrencyEffect: 0,
totalInvestment: 0,
totalInvestmentValueWithCurrencyEffect: 0
})
);

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

@ -188,6 +188,7 @@ describe('PortfolioCalculator', () => {
netPerformanceInPercentage: 0.29544434470377019749,
netPerformanceInPercentageWithCurrencyEffect: 0.24112962014285697628,
netPerformanceWithCurrencyEffect: 19.851974,
totalInvestment: new Big('89.12').mul(0.8854).toNumber(),
totalInvestmentValueWithCurrencyEffect: 82.329056
})
);

190
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-jnug-buy-and-sell-and-buy-and-sell.spec.ts

@ -0,0 +1,190 @@
import {
activityDummyData,
loadExportFile,
symbolProfileDummyData,
userDummyData
} from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator-test-utils';
import { PortfolioCalculatorFactory } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator.factory';
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service';
import { CurrentRateServiceMock } from '@ghostfolio/api/app/portfolio/current-rate.service.mock';
import { RedisCacheService } from '@ghostfolio/api/app/redis-cache/redis-cache.service';
import { RedisCacheServiceMock } from '@ghostfolio/api/app/redis-cache/redis-cache.service.mock';
import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service';
import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service';
import { PortfolioSnapshotServiceMock } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service.mock';
import { parseDate } from '@ghostfolio/common/helper';
import { Activity, ExportResponse } from '@ghostfolio/common/interfaces';
import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type';
import { Big } from 'big.js';
import { join } from 'node:path';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {
return {
CurrentRateService: jest.fn().mockImplementation(() => {
return CurrentRateServiceMock;
})
};
});
jest.mock(
'@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service',
() => {
return {
PortfolioSnapshotService: jest.fn().mockImplementation(() => {
return PortfolioSnapshotServiceMock;
})
};
}
);
jest.mock('@ghostfolio/api/app/redis-cache/redis-cache.service', () => {
return {
RedisCacheService: jest.fn().mockImplementation(() => {
return RedisCacheServiceMock;
})
};
});
describe('PortfolioCalculator', () => {
let exportResponse: ExportResponse;
let configurationService: ConfigurationService;
let currentRateService: CurrentRateService;
let exchangeRateDataService: ExchangeRateDataService;
let portfolioCalculatorFactory: PortfolioCalculatorFactory;
let portfolioSnapshotService: PortfolioSnapshotService;
let redisCacheService: RedisCacheService;
beforeAll(() => {
exportResponse = loadExportFile(
join(
__dirname,
'../../../../../../../test/import/ok/jnug-buy-and-sell-and-buy-and-sell.json'
)
);
});
beforeEach(() => {
configurationService = new ConfigurationService();
currentRateService = new CurrentRateService(null, null, null, null);
exchangeRateDataService = new ExchangeRateDataService(
null,
null,
null,
null
);
portfolioSnapshotService = new PortfolioSnapshotService(null);
redisCacheService = new RedisCacheService(null, null);
portfolioCalculatorFactory = new PortfolioCalculatorFactory(
configurationService,
currentRateService,
exchangeRateDataService,
portfolioSnapshotService,
redisCacheService
);
});
describe('get current positions', () => {
it.only('with JNUG buy and sell', async () => {
jest.useFakeTimers().setSystemTime(parseDate('2025-12-28').getTime());
const activities: Activity[] = exportResponse.activities.map(
(activity) => ({
...activityDummyData,
...activity,
date: parseDate(activity.date),
feeInAssetProfileCurrency: activity.fee,
feeInBaseCurrency: activity.fee,
SymbolProfile: {
...symbolProfileDummyData,
currency: activity.currency,
dataSource: activity.dataSource,
name: 'Direxion Daily Junior Gold Miners Index Bull 2X Shares',
symbol: activity.symbol
},
unitPriceInAssetProfileCurrency: activity.unitPrice
})
);
const portfolioCalculator = portfolioCalculatorFactory.createCalculator({
activities,
calculationType: PerformanceCalculationType.ROAI,
currency: exportResponse.user.settings.currency,
userId: userDummyData.id
});
const portfolioSnapshot = await portfolioCalculator.computeSnapshot();
const investments = portfolioCalculator.getInvestments();
const investmentsByMonth = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'month'
});
const investmentsByYear = portfolioCalculator.getInvestmentsByGroup({
data: portfolioSnapshot.historicalData,
groupBy: 'year'
});
expect(portfolioSnapshot).toMatchObject({
currentValueInBaseCurrency: new Big('0'),
errors: [],
hasErrors: false,
positions: [
{
activitiesCount: 4,
averagePrice: new Big('0'),
currency: 'USD',
dataSource: 'YAHOO',
dateOfFirstActivity: '2025-12-11',
dividend: new Big('0'),
dividendInBaseCurrency: new Big('0'),
fee: new Big('4'),
feeInBaseCurrency: new Big('4'),
grossPerformance: new Big('43.95'), // (1890.00 - 1885.05) + (2080.10 - 2041.10)
grossPerformanceWithCurrencyEffect: new Big('43.95'), // (1890.00 - 1885.05) + (2080.10 - 2041.10)
investment: new Big('0'),
investmentWithCurrencyEffect: new Big('0'),
netPerformance: new Big('39.95'), // (1890.00 - 1885.05) + (2080.10 - 2041.10) - 4
netPerformanceWithCurrencyEffectMap: {
max: new Big('39.95') // (1890.00 - 1885.05) + (2080.10 - 2041.10) - 4
},
marketPrice: 237.8000030517578,
marketPriceInBaseCurrency: 237.8000030517578,
quantity: new Big('0'),
symbol: 'JNUG',
tags: [],
valueInBaseCurrency: new Big('0')
}
],
totalFeesWithCurrencyEffect: new Big('4'),
totalInterestWithCurrencyEffect: new Big('0'),
totalInvestment: new Big('0'),
totalInvestmentWithCurrencyEffect: new Big('0'),
totalLiabilitiesWithCurrencyEffect: new Big('0')
});
expect(investments).toEqual([
{ date: '2025-12-11', investment: new Big('1885.05') },
{ date: '2025-12-18', investment: new Big('2041.1') },
{ date: '2025-12-28', investment: new Big('0') }
]);
expect(investmentsByMonth).toEqual([
{ date: '2025-12-01', investment: 0 }
]);
expect(investmentsByYear).toEqual([
{ date: '2025-01-01', investment: 0 }
]);
});
});
});

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

@ -174,6 +174,7 @@ describe('PortfolioCalculator', () => {
expect(portfolioSnapshot.historicalData.at(-1)).toMatchObject(
expect.objectContaining({
totalInvestment: 298.58,
totalInvestmentValueWithCurrencyEffect: 298.58
})
);

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

@ -190,6 +190,7 @@ describe('PortfolioCalculator', () => {
netPerformanceInPercentage: 0.12184460284330327256,
netPerformanceInPercentageWithCurrencyEffect: 0.12184460284330327256,
netPerformanceWithCurrencyEffect: 17.68,
totalInvestment: 75.8,
totalInvestmentValueWithCurrencyEffect: 75.8
})
);

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

@ -241,6 +241,7 @@ describe('PortfolioCalculator', () => {
netPerformanceInPercentage: 0.13100263852242744063,
netPerformanceInPercentageWithCurrencyEffect: 0.13100263852242744063,
netPerformanceWithCurrencyEffect: 19.86,
totalInvestment: 0,
totalInvestmentValueWithCurrencyEffect: 0
})
);

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

@ -162,6 +162,7 @@ describe('PortfolioCalculator', () => {
netPerformanceInPercentage: 0,
netPerformanceInPercentageWithCurrencyEffect: 0,
netPerformanceWithCurrencyEffect: 0,
totalInvestment: 500000,
totalInvestmentValueWithCurrencyEffect: 500000
})
);

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

@ -626,6 +626,13 @@ export class RoaiPortfolioCalculator extends PortfolioCalculator {
totalQuantityFromBuyTransactions
);
if (totalUnits.eq(0)) {
// Reset tracking variables when position is fully closed
totalInvestmentFromBuyTransactions = new Big(0);
totalInvestmentFromBuyTransactionsWithCurrencyEffect = new Big(0);
totalQuantityFromBuyTransactions = new Big(0);
}
if (PortfolioCalculator.ENABLE_LOGGING) {
console.log(
'grossPerformanceFromSells',

11
apps/api/src/app/portfolio/current-rate.service.mock.ts

@ -64,6 +64,17 @@ function mockGetValue(symbol: string, date: Date) {
return { marketPrice: 0 };
case 'JNUG':
if (isSameDay(parseDate('2025-12-10'), date)) {
return { marketPrice: 204.5599975585938 };
} else if (isSameDay(parseDate('2025-12-17'), date)) {
return { marketPrice: 203.9700012207031 };
} else if (isSameDay(parseDate('2025-12-28'), date)) {
return { marketPrice: 237.8000030517578 };
}
return { marketPrice: 0 };
case 'MSFT':
if (isSameDay(parseDate('2021-09-16'), date)) {
return { marketPrice: 89.12 };

1
apps/api/src/app/portfolio/portfolio.controller.ts

@ -206,6 +206,7 @@ export class PortfolioController {
'netPerformanceWithCurrencyEffect',
'totalBuy',
'totalInvestment',
'totalInvestmentValueWithCurrencyEffect',
'totalSell',
'totalValueInBaseCurrency'
]);

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

@ -13,7 +13,7 @@ import { CurrencyClusterRiskCurrentInvestment } from '@ghostfolio/api/models/rul
import { EconomicMarketClusterRiskDevelopedMarkets } from '@ghostfolio/api/models/rules/economic-market-cluster-risk/developed-markets';
import { EconomicMarketClusterRiskEmergingMarkets } from '@ghostfolio/api/models/rules/economic-market-cluster-risk/emerging-markets';
import { EmergencyFundSetup } from '@ghostfolio/api/models/rules/emergency-fund/emergency-fund-setup';
import { FeeRatioInitialInvestment } from '@ghostfolio/api/models/rules/fees/fee-ratio-initial-investment';
import { FeeRatioTotalInvestmentVolume } from '@ghostfolio/api/models/rules/fees/fee-ratio-total-investment-volume';
import { BuyingPower } from '@ghostfolio/api/models/rules/liquidity/buying-power';
import { RegionalMarketClusterRiskAsiaPacific } from '@ghostfolio/api/models/rules/regional-market-cluster-risk/asia-pacific';
import { RegionalMarketClusterRiskEmergingMarkets } from '@ghostfolio/api/models/rules/regional-market-cluster-risk/emerging-markets';
@ -1007,7 +1007,8 @@ export class PortfolioService {
netPerformancePercentage: 0,
netPerformancePercentageWithCurrencyEffect: 0,
netPerformanceWithCurrencyEffect: 0,
totalInvestment: 0
totalInvestment: 0,
totalInvestmentValueWithCurrencyEffect: 0
}
};
}
@ -1038,6 +1039,7 @@ export class PortfolioService {
netPerformanceWithCurrencyEffect,
netWorth,
totalInvestment,
totalInvestmentValueWithCurrencyEffect,
valueWithCurrencyEffect
} = chart?.at(-1) ?? {
netPerformance: 0,
@ -1058,6 +1060,7 @@ export class PortfolioService {
netPerformance,
netPerformanceWithCurrencyEffect,
totalInvestment,
totalInvestmentValueWithCurrencyEffect,
currentNetWorth: netWorth,
currentValueInBaseCurrency: valueWithCurrencyEffect,
netPerformancePercentage: netPerformanceInPercentage,
@ -1306,11 +1309,11 @@ export class PortfolioService {
}),
rules: await this.rulesService.evaluate(
[
new FeeRatioInitialInvestment(
new FeeRatioTotalInvestmentVolume(
this.exchangeRateDataService,
this.i18nService,
userSettings.language,
summary.committedFunds,
summary.totalBuy + summary.totalSell,
summary.fees
)
],
@ -1860,8 +1863,11 @@ export class PortfolioService {
}
}
const { currentValueInBaseCurrency, totalInvestment } =
await portfolioCalculator.getSnapshot();
const {
currentValueInBaseCurrency,
totalInvestment,
totalInvestmentWithCurrencyEffect
} = await portfolioCalculator.getSnapshot();
const { performance } = await this.getPerformance({
impersonationId,
@ -2004,6 +2010,8 @@ export class PortfolioService {
interestInBaseCurrency: interest.toNumber(),
liabilitiesInBaseCurrency: liabilities.toNumber(),
totalInvestment: totalInvestment.toNumber(),
totalInvestmentValueWithCurrencyEffect:
totalInvestmentWithCurrencyEffect.toNumber(),
totalValueInBaseCurrency: netWorth
};
}

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

@ -12,7 +12,7 @@ import { CurrencyClusterRiskCurrentInvestment } from '@ghostfolio/api/models/rul
import { EconomicMarketClusterRiskDevelopedMarkets } from '@ghostfolio/api/models/rules/economic-market-cluster-risk/developed-markets';
import { EconomicMarketClusterRiskEmergingMarkets } from '@ghostfolio/api/models/rules/economic-market-cluster-risk/emerging-markets';
import { EmergencyFundSetup } from '@ghostfolio/api/models/rules/emergency-fund/emergency-fund-setup';
import { FeeRatioInitialInvestment } from '@ghostfolio/api/models/rules/fees/fee-ratio-initial-investment';
import { FeeRatioTotalInvestmentVolume } from '@ghostfolio/api/models/rules/fees/fee-ratio-total-investment-volume';
import { BuyingPower } from '@ghostfolio/api/models/rules/liquidity/buying-power';
import { RegionalMarketClusterRiskAsiaPacific } from '@ghostfolio/api/models/rules/regional-market-cluster-risk/asia-pacific';
import { RegionalMarketClusterRiskEmergingMarkets } from '@ghostfolio/api/models/rules/regional-market-cluster-risk/emerging-markets';
@ -376,7 +376,7 @@ export class UserService {
undefined,
undefined
).getSettings(user.settings.settings),
FeeRatioInitialInvestment: new FeeRatioInitialInvestment(
FeeRatioTotalInvestmentVolume: new FeeRatioTotalInvestmentVolume(
undefined,
undefined,
undefined,

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

@ -421,6 +421,7 @@
"AGS": "Aegis",
"AGT": "Alaya Governance Token",
"AGURI": "Aguri-Chan",
"AGUSTO": "Agusto",
"AGV": "Astra Guild Ventures",
"AGVC": "AgaveCoin",
"AGVE": "Agave",
@ -662,6 +663,7 @@
"ALN": "Aluna",
"ALNV1": "Aluna v1",
"ALOHA": "Aloha",
"ALOKA": "ALOKA",
"ALON": "Alon",
"ALOR": "The Algorix",
"ALOT": "Dexalot",
@ -708,6 +710,7 @@
"AMADEUS": "AMADEUS",
"AMAL": "AMAL",
"AMAPT": "Amnis Finance",
"AMARA": "AMARA",
"AMATEN": "Amaten",
"AMATO": "AMATO",
"AMAZINGTEAM": "AmazingTeamDAO",
@ -1344,6 +1347,7 @@
"AZIT": "Azit",
"AZNX": "AstraZeneca xStock",
"AZR": "Azure",
"AZTEC": "AZTEC",
"AZU": "Azultec",
"AZUKI": "Azuki",
"AZUKI2": "AZUKI 2.0",
@ -1373,6 +1377,7 @@
"BABI": "Babylons",
"BABL": "Babylon Finance",
"BABY": "Babylon",
"BABY4": "Baby 4",
"BABYANDY": "Baby Andy",
"BABYASTER": "Baby Aster",
"BABYB": "Baby Bali",
@ -2342,6 +2347,7 @@
"BNPL": "BNPL Pay",
"BNR": "BiNeuro",
"BNRTX": "BnrtxCoin",
"BNRY": "Binary Coin",
"BNS": "BNS token",
"BNSAI": "bonsAI Network",
"BNSD": "BNSD Finance",
@ -2526,9 +2532,10 @@
"BOSSCOQ": "THE COQFATHER",
"BOST": "BoostCoin",
"BOSU": "Bosu Inu",
"BOT": "Bot Planet",
"BOT": "HyperBot",
"BOTC": "BotChain",
"BOTIFY": "BOTIFY",
"BOTPLANET": "Bot Planet",
"BOTS": "ArkDAO",
"BOTTO": "Botto",
"BOTX": "BOTXCOIN",
@ -3201,6 +3208,7 @@
"CATCO": "CatCoin",
"CATCOIN": "CatCoin",
"CATCOINETH": "Catcoin",
"CATCOINIO": "Catcoin",
"CATCOINOFSOL": "Cat Coin",
"CATCOINV2": "CatCoin Cash",
"CATDOG": "Cat-Dog",
@ -3583,6 +3591,7 @@
"CIC": "Crazy Internet Coin",
"CICHAIN": "CIChain",
"CIF": "Crypto Improvement Fund",
"CIFRON": "Cipher Mining (Ondo Tokenized)",
"CIG": "cig",
"CIM": "COINCOME",
"CIN": "CinderCoin",
@ -3718,6 +3727,7 @@
"CMPT": "Spatial Computing",
"CMPV2": "Caduceus Protocol",
"CMQ": "Communique",
"CMR": "U.S Critical Mineral Reserve",
"CMS": "COMSA",
"CMSN": "The Commission",
"CMT": "CyberMiles",
@ -4630,6 +4640,7 @@
"DEFIL": "DeFIL",
"DEFILAB": "Defi",
"DEFISCALE": "DeFiScale",
"DEFISSI": "DEFI.ssi",
"DEFIT": "Digital Fitness",
"DEFLA": "Defla",
"DEFLCT": "Deflect",
@ -6323,7 +6334,7 @@
"FIFTY": "FIFTYONEFIFTY",
"FIG": "FlowCom",
"FIGH": "FIGHT FIGHT FIGHT",
"FIGHT": "Fight to MAGA",
"FIGHT2MAGA": "Fight to MAGA",
"FIGHTMAGA": "FIGHT MAGA",
"FIGHTPEPE": "FIGHT PEPE",
"FIGHTRUMP": "FIGHT TRUMP",
@ -8039,6 +8050,7 @@
"HONOR": "HonorLand",
"HONX": "Honeywell xStock",
"HOODOG": "Hoodog",
"HOODON": "Robinhood Markets (Ondo Tokenized)",
"HOODRAT": "Hoodrat Coin",
"HOODX": "Robinhood xStock",
"HOOF": "Metaderby Hoof",
@ -8395,6 +8407,7 @@
"IMS": "Independent Money System",
"IMST": "Imsmart",
"IMT": "Immortal Token",
"IMU": "Immunefi",
"IMUSIFY": "imusify",
"IMVR": "ImmVRse",
"IMX": "Immutable X",
@ -8750,6 +8763,7 @@
"JFIVE": "Jonny Five",
"JFOX": "JuniperFox AI",
"JFP": "JUSTICE FOR PEANUT",
"JGGL": "JGGL Token",
"JGLP": "Jones GLP",
"JGN": "Juggernaut",
"JHH": "Jen-Hsun Huang",
@ -9891,7 +9905,7 @@
"LRN": "Loopring [NEO]",
"LRT": "LandRocker",
"LSC": "LS Coin",
"LSD": "Pontem Liquidswap",
"LSD": "LSD",
"LSDOGE": "LSDoge",
"LSETH": "Liquid Staked ETH",
"LSHARE": "LSHARE",
@ -10167,8 +10181,7 @@
"MANUSAI": "Manus AI Agent",
"MANYU": "Manyu",
"MANYUDOG": "MANYU",
"MAO": "MAO",
"MAOMEME": "Mao",
"MAO": "Mao",
"MAOW": "MAOW",
"MAP": "MAP Protocol",
"MAPC": "MapCoin",
@ -10631,6 +10644,7 @@
"MICRO": "Micro GPT",
"MICRODOGE": "MicroDoge",
"MICROMINES": "Micromines",
"MICROVISION": "MicroVisionChain",
"MIDAI": "Midway AI",
"MIDAS": "Midas",
"MIDASDOLLAR": "Midas Dollar Share",
@ -13146,6 +13160,7 @@
"PONKE": "Ponke",
"PONKEBNB": "Ponke BNB",
"PONKEI": "Chinese Ponkei the Original",
"PONTEM": "Pontem Liquidswap",
"PONYO": "Ponyo Impact",
"PONZI": "Ponzi",
"PONZIO": "Ponzio The Cat",
@ -13573,6 +13588,7 @@
"QNX": "QueenDex Coin",
"QOBI": "Qobit",
"QOM": "Shiba Predator",
"QONE": "QONE",
"QOOB": "QOOBER",
"QORA": "QoraCoin",
"QORPO": "QORPO WORLD",
@ -15153,6 +15169,7 @@
"SNAP": "SnapEx",
"SNAPCAT": "Snapcat",
"SNAPKERO": "SNAP",
"SNAPON": "Snap (Ondo Tokenized)",
"SNB": "SynchroBitcoin",
"SNC": "SunContract",
"SNCT": "SnakeCity",
@ -15380,7 +15397,7 @@
"SP8DE": "Sp8de",
"SPA": "Sperax",
"SPAC": "SPACE DOGE",
"SPACE": "MicroVisionChain",
"SPACE": "Spacecoin",
"SPACECOIN": "SpaceCoin",
"SPACED": "SPACE DRAGON",
"SPACEHAMSTER": "Space Hamster",
@ -15868,6 +15885,7 @@
"SUPERCYCLE": "Crypto SuperCycle",
"SUPERDAPP": "SuperDapp",
"SUPERF": "SUPER FLOKI",
"SUPERFL": "Superfluid",
"SUPERGROK": "SuperGrok",
"SUPEROETHB": "Super OETH",
"SUPERT": "Super Trump",
@ -16790,6 +16808,7 @@
"TSLAON": "Tesla (Ondo Tokenized)",
"TSLAX": "Tesla xStock",
"TSLT": "Tamkin",
"TSMON": "Taiwan Semiconductor Manufacturing (Ondo Tokenized)",
"TSN": "Tsunami Exchange Token",
"TSO": "Thesirion",
"TSOTCHKE": "tsotchke",
@ -17181,8 +17200,10 @@
"USDL": "Lift Dollar",
"USDM": "USDM",
"USDMA": "USD mars",
"USDN": "Neutral AI",
"USDN": "Ultimate Synthetic Delta Neutral",
"USDNEUTRAL": "Neutral AI",
"USDO": "USD Open Dollar",
"USDON": "U.S. Dollar Tokenized Currency (Ondo)",
"USDP": "Pax Dollar",
"USDPLUS": "Overnight.fi USD+",
"USDQ": "Quantoz USDQ",
@ -17456,6 +17477,7 @@
"VIDZ": "PureVidz",
"VIEW": "Viewly",
"VIG": "TheVig",
"VIGI": "Vigi",
"VIK": "VIKTAMA",
"VIKITA": "VIKITA",
"VIKKY": "VikkyToken",
@ -17513,6 +17535,7 @@
"VLC": "Volcano Uni",
"VLDY": "Validity",
"VLK": "Vulkania",
"VLR": "Velora",
"VLS": "Veles",
"VLT": "Veltor",
"VLTC": "Venus LTC",
@ -17733,6 +17756,7 @@
"WANUSDT": "wanUSDT",
"WAP": "Wet Ass Pussy",
"WAR": "WAR",
"WARD": "Warden",
"WARP": "WarpCoin",
"WARPED": "Warped Games",
"WARPIE": "Warpie",
@ -18494,6 +18518,7 @@
"XP": "Xphere",
"XPA": "XPA",
"XPARTY": "X Party",
"XPASS": "XPASS Token",
"XPAT": "Bitnation Pangea",
"XPAY": "Wallet Pay",
"XPB": "Pebble Coin",
@ -18869,8 +18894,7 @@
"ZEBU": "ZEBU",
"ZEC": "ZCash",
"ZECD": "ZCashDarkCoin",
"ZED": "ZED Token",
"ZEDCOIN": "ZedCoin",
"ZED": "ZedCoins",
"ZEDD": "ZedDex",
"ZEDTOKEN": "Zed Token",
"ZEDX": "ZEDX Сoin",
@ -19108,6 +19132,7 @@
"币安人生": "币安人生",
"恶俗企鹅": "恶俗企鹅",
"我踏马来了": "我踏马来了",
"狗屎": "狗屎",
"老子": "老子",
"雪球": "雪球",
"黑马": "黑马"

1
apps/api/src/assets/cryptocurrencies/custom.json

@ -4,6 +4,7 @@
"LUNA1": "Terra",
"LUNA2": "Terra",
"SGB1": "Songbird",
"SKY33038": "Sky",
"SMURFCAT": "Real Smurf Cat",
"TON11419": "Toncoin",
"UNI1": "Uniswap",

2
apps/api/src/helper/object.helper.spec.ts

@ -1554,6 +1554,7 @@ describe('redactAttributes', () => {
items: null,
liabilities: null,
totalInvestment: null,
totalInvestmentValueWithCurrencyEffect: null,
totalValueInBaseCurrency: null,
currentNetWorth: null
}
@ -3030,6 +3031,7 @@ describe('redactAttributes', () => {
items: null,
liabilities: null,
totalInvestment: null,
totalInvestmentValueWithCurrencyEffect: null,
totalValueInBaseCurrency: null,
currentNetWorth: null
}

2
apps/api/src/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor.ts

@ -62,8 +62,10 @@ export class TransformDataSourceInResponseInterceptor<
valueMap,
object: data,
paths: [
'activities[*].dataSource',
'activities[*].SymbolProfile.dataSource',
'benchmarks[*].dataSource',
'errors[*].dataSource',
'fearAndGreedIndex.CRYPTOCURRENCIES.dataSource',
'fearAndGreedIndex.STOCKS.dataSource',
'holdings[*].dataSource',

2
apps/api/src/models/rule.ts

@ -57,7 +57,7 @@ export abstract class Rule<T extends RuleSettings> implements RuleInterface<T> {
previousValue +
this.exchangeRateDataService.toCurrency(
new Big(currentValue.quantity)
.mul(currentValue.marketPrice)
.mul(currentValue.marketPrice ?? 0)
.toNumber(),
currentValue.currency,
baseCurrency

21
apps/api/src/models/rules/fees/fee-ratio-initial-investment.ts → apps/api/src/models/rules/fees/fee-ratio-total-investment-volume.ts

@ -3,35 +3,36 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-
import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service';
import { RuleSettings, UserSettings } from '@ghostfolio/common/interfaces';
export class FeeRatioInitialInvestment extends Rule<Settings> {
export class FeeRatioTotalInvestmentVolume extends Rule<Settings> {
private fees: number;
private totalInvestment: number;
private totalInvestmentVolumeInBaseCurrency: number;
public constructor(
protected exchangeRateDataService: ExchangeRateDataService,
private i18nService: I18nService,
languageCode: string,
totalInvestment: number,
totalInvestmentVolumeInBaseCurrency: number,
fees: number
) {
super(exchangeRateDataService, {
languageCode,
key: FeeRatioInitialInvestment.name
key: FeeRatioTotalInvestmentVolume.name
});
this.fees = fees;
this.totalInvestment = totalInvestment;
this.totalInvestmentVolumeInBaseCurrency =
totalInvestmentVolumeInBaseCurrency;
}
public evaluate(ruleSettings: Settings) {
const feeRatio = this.totalInvestment
? this.fees / this.totalInvestment
const feeRatio = this.totalInvestmentVolumeInBaseCurrency
? this.fees / this.totalInvestmentVolumeInBaseCurrency
: 0;
if (feeRatio > ruleSettings.thresholdMax) {
return {
evaluation: this.i18nService.getTranslation({
id: 'rule.feeRatioInitialInvestment.false',
id: 'rule.feeRatioTotalInvestmentVolume.false',
languageCode: this.getLanguageCode(),
placeholders: {
feeRatio: (ruleSettings.thresholdMax * 100).toFixed(2),
@ -44,7 +45,7 @@ export class FeeRatioInitialInvestment extends Rule<Settings> {
return {
evaluation: this.i18nService.getTranslation({
id: 'rule.feeRatioInitialInvestment.true',
id: 'rule.feeRatioTotalInvestmentVolume.true',
languageCode: this.getLanguageCode(),
placeholders: {
feeRatio: (feeRatio * 100).toPrecision(3),
@ -76,7 +77,7 @@ export class FeeRatioInitialInvestment extends Rule<Settings> {
public getName() {
return this.i18nService.getTranslation({
id: 'rule.feeRatioInitialInvestment',
id: 'rule.feeRatioTotalInvestmentVolume',
languageCode: this.getLanguageCode()
});
}

7
apps/api/src/services/cryptocurrency/cryptocurrency.module.ts

@ -1,9 +1,12 @@
import { PropertyModule } from '@ghostfolio/api/services/property/property.module';
import { Module } from '@nestjs/common';
import { CryptocurrencyService } from './cryptocurrency.service';
@Module({
providers: [CryptocurrencyService],
exports: [CryptocurrencyService]
exports: [CryptocurrencyService],
imports: [PropertyModule],
providers: [CryptocurrencyService]
})
export class CryptocurrencyModule {}

38
apps/api/src/services/cryptocurrency/cryptocurrency.service.ts

@ -1,31 +1,39 @@
import { DEFAULT_CURRENCY } from '@ghostfolio/common/config';
import { PropertyService } from '@ghostfolio/api/services/property/property.service';
import {
DEFAULT_CURRENCY,
PROPERTY_CUSTOM_CRYPTOCURRENCIES
} from '@ghostfolio/common/config';
import { Injectable } from '@nestjs/common';
import { Injectable, OnModuleInit } from '@nestjs/common';
const cryptocurrencies = require('../../assets/cryptocurrencies/cryptocurrencies.json');
const customCryptocurrencies = require('../../assets/cryptocurrencies/custom.json');
@Injectable()
export class CryptocurrencyService {
export class CryptocurrencyService implements OnModuleInit {
private combinedCryptocurrencies: string[];
public constructor(private readonly propertyService: PropertyService) {}
public async onModuleInit() {
const customCryptocurrenciesFromDatabase =
await this.propertyService.getByKey<Record<string, string>>(
PROPERTY_CUSTOM_CRYPTOCURRENCIES
);
this.combinedCryptocurrencies = [
...Object.keys(cryptocurrencies),
...Object.keys(customCryptocurrencies),
...Object.keys(customCryptocurrenciesFromDatabase ?? {})
];
}
public isCryptocurrency(aSymbol = '') {
const cryptocurrencySymbol = aSymbol.substring(0, aSymbol.length - 3);
return (
aSymbol.endsWith(DEFAULT_CURRENCY) &&
this.getCryptocurrencies().includes(cryptocurrencySymbol)
this.combinedCryptocurrencies.includes(cryptocurrencySymbol)
);
}
private getCryptocurrencies() {
if (!this.combinedCryptocurrencies) {
this.combinedCryptocurrencies = [
...Object.keys(cryptocurrencies),
...Object.keys(customCryptocurrencies)
];
}
return this.combinedCryptocurrencies;
}
}

2
apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.spec.ts

@ -29,7 +29,7 @@ describe('YahooFinanceDataEnhancerService', () => {
let yahooFinanceDataEnhancerService: YahooFinanceDataEnhancerService;
beforeAll(async () => {
cryptocurrencyService = new CryptocurrencyService();
cryptocurrencyService = new CryptocurrencyService(null);
yahooFinanceDataEnhancerService = new YahooFinanceDataEnhancerService(
cryptocurrencyService

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

@ -207,14 +207,16 @@ export class YahooFinanceDataEnhancerService implements DataEnhancerInterface {
if (['ETF', 'MUTUALFUND'].includes(assetSubClass)) {
response.holdings =
assetProfile.topHoldings?.holdings?.map(
({ holdingName, holdingPercent }) => {
assetProfile.topHoldings?.holdings
?.filter(({ holdingName }) => {
return !holdingName?.includes('ETF');
})
?.map(({ holdingName, holdingPercent }) => {
return {
name: this.formatName({ longName: holdingName }),
weight: holdingPercent
};
}
) ?? [];
}) ?? [];
response.sectors = (
assetProfile.topHoldings?.sectorWeightings ?? []

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

@ -1,3 +1,4 @@
import { ImportDataDto } from '@ghostfolio/api/app/import/import-data.dto';
import { RedisCacheService } from '@ghostfolio/api/app/redis-cache/redis-cache.service';
import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service';
import { DataProviderInterface } from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface';
@ -10,8 +11,10 @@ import {
PROPERTY_API_KEY_GHOSTFOLIO,
PROPERTY_DATA_SOURCE_MAPPING
} from '@ghostfolio/common/config';
import { CreateOrderDto } from '@ghostfolio/common/dtos';
import {
DATE_FORMAT,
getAssetProfileIdentifier,
getCurrencyFromSymbol,
getStartOfUtcDate,
isCurrency,
@ -27,7 +30,7 @@ import {
import type { Granularity, UserWithSettings } from '@ghostfolio/common/types';
import { Inject, Injectable, Logger, OnModuleInit } from '@nestjs/common';
import { DataSource, MarketData, SymbolProfile } from '@prisma/client';
import { DataSource, MarketData, Prisma, SymbolProfile } from '@prisma/client';
import { Big } from 'big.js';
import { eachDayOfInterval, format, isValid } from 'date-fns';
import { groupBy, isEmpty, isNumber, uniqWith } from 'lodash';
@ -185,6 +188,125 @@ export class DataProviderService implements OnModuleInit {
return dataSources.sort();
}
public async validateActivities({
activitiesDto,
assetProfilesWithMarketDataDto,
maxActivitiesToImport,
user
}: {
activitiesDto: Pick<
Partial<CreateOrderDto>,
'currency' | 'dataSource' | 'symbol' | 'type'
>[];
assetProfilesWithMarketDataDto?: ImportDataDto['assetProfiles'];
maxActivitiesToImport: number;
user: UserWithSettings;
}) {
if (activitiesDto?.length > maxActivitiesToImport) {
throw new Error(`Too many activities (${maxActivitiesToImport} at most)`);
}
const assetProfiles: {
[assetProfileIdentifier: string]: Partial<SymbolProfile>;
} = {};
const dataSources = await this.getDataSources();
for (const [
index,
{ currency, dataSource, symbol, type }
] of activitiesDto.entries()) {
const activityPath =
maxActivitiesToImport === 1 ? 'activity' : `activities.${index}`;
if (!dataSources.includes(dataSource)) {
throw new Error(
`${activityPath}.dataSource ("${dataSource}") is not valid`
);
}
if (
this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION') &&
user.subscription.type === 'Basic'
) {
const dataProvider = this.getDataProvider(DataSource[dataSource]);
if (dataProvider.getDataProviderInfo().isPremium) {
throw new Error(
`${activityPath}.dataSource ("${dataSource}") is not valid`
);
}
}
const assetProfileIdentifier = getAssetProfileIdentifier({
dataSource,
symbol
});
if (!assetProfiles[assetProfileIdentifier]) {
if (
(dataSource === DataSource.MANUAL && type === 'BUY') ||
['FEE', 'INTEREST', 'LIABILITY'].includes(type)
) {
const assetProfileInImport = assetProfilesWithMarketDataDto?.find(
(assetProfile) => {
return (
assetProfile.dataSource === dataSource &&
assetProfile.symbol === symbol
);
}
);
assetProfiles[assetProfileIdentifier] = {
currency,
dataSource,
symbol,
name: assetProfileInImport?.name ?? symbol
};
continue;
}
let assetProfile: Partial<SymbolProfile> = { currency };
try {
assetProfile = (
await this.getAssetProfiles([
{
dataSource,
symbol
}
])
)?.[symbol];
} catch {}
if (!assetProfile?.name) {
const assetProfileInImport = assetProfilesWithMarketDataDto?.find(
(profile) => {
return (
profile.dataSource === dataSource && profile.symbol === symbol
);
}
);
if (assetProfileInImport) {
Object.assign(assetProfile, assetProfileInImport);
}
}
if (!assetProfile?.name) {
throw new Error(
`activities.${index}.symbol ("${symbol}") is not valid for the specified data source ("${dataSource}")`
);
}
assetProfiles[assetProfileIdentifier] = assetProfile;
}
}
return assetProfiles;
}
public async getDividends({
dataSource,
from,
@ -225,36 +347,35 @@ export class DataProviderService implements OnModuleInit {
const granularityQuery =
aGranularity === 'month'
? `AND (date_part('day', date) = 1 OR date >= TIMESTAMP 'yesterday')`
: '';
? Prisma.sql`AND (date_part('day', date) = 1 OR date >= TIMESTAMP 'yesterday')`
: Prisma.empty;
const rangeQuery =
from && to
? `AND date >= '${format(from, DATE_FORMAT)}' AND date <= '${format(
? Prisma.sql`AND date >= ${format(from, DATE_FORMAT)}::timestamp AND date <= ${format(
to,
DATE_FORMAT
)}'`
: '';
)}::timestamp`
: Prisma.empty;
const dataSources = aItems.map(({ dataSource }) => {
return dataSource;
});
const symbols = aItems.map(({ symbol }) => {
return symbol;
});
try {
const queryRaw = `
SELECT *
FROM "MarketData"
WHERE "dataSource" IN ('${dataSources.join(`','`)}')
AND "symbol" IN ('${symbols.join(
`','`
)}') ${granularityQuery} ${rangeQuery}
ORDER BY date;`;
const marketDataByGranularity: MarketData[] =
await this.prismaService.$queryRawUnsafe(queryRaw);
const marketDataByGranularity: MarketData[] = await this.prismaService
.$queryRaw`
SELECT *
FROM "MarketData"
WHERE "dataSource"::text IN (${Prisma.join(dataSources)})
AND "symbol" IN (${Prisma.join(symbols)})
${granularityQuery}
${rangeQuery}
ORDER BY date;`;
response = marketDataByGranularity.reduce((r, marketData) => {
const { date, marketPrice, symbol } = marketData;

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

@ -105,7 +105,10 @@ export class ManualService implements DataProviderInterface {
return {};
}
const value = await this.scrape(symbolProfile.scraperConfiguration);
const value = await this.scrape({
symbol,
scraperConfiguration: symbolProfile.scraperConfiguration
});
return {
[symbol]: {
@ -170,7 +173,10 @@ export class ManualService implements DataProviderInterface {
symbolProfilesWithScraperConfigurationAndInstantMode.map(
async ({ scraperConfiguration, symbol }) => {
try {
const marketPrice = await this.scrape(scraperConfiguration);
const marketPrice = await this.scrape({
scraperConfiguration,
symbol
});
return { marketPrice, symbol };
} catch (error) {
Logger.error(
@ -267,13 +273,23 @@ export class ManualService implements DataProviderInterface {
};
}
public async test(scraperConfiguration: ScraperConfiguration) {
return this.scrape(scraperConfiguration);
public async test({
scraperConfiguration,
symbol
}: {
scraperConfiguration: ScraperConfiguration;
symbol: string;
}) {
return this.scrape({ scraperConfiguration, symbol });
}
private async scrape(
scraperConfiguration: ScraperConfiguration
): Promise<number> {
private async scrape({
scraperConfiguration,
symbol
}: {
scraperConfiguration: ScraperConfiguration;
symbol: string;
}): Promise<number> {
let locale = scraperConfiguration.locale;
const response = await fetch(scraperConfiguration.url, {
@ -283,6 +299,12 @@ export class ManualService implements DataProviderInterface {
)
});
if (!response.ok) {
throw new Error(
`Failed to scrape the market price for ${symbol} (${this.getName()}): ${response.status} ${response.statusText} at ${scraperConfiguration.url}`
);
}
let value: string;
if (response.headers.get('content-type')?.includes('application/json')) {

2
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html

@ -102,8 +102,6 @@
<div class="d-none d-sm-block ml-2" i18n>Holdings</div>
</ng-template>
<gf-holdings-table
[baseCurrency]="user?.settings?.baseCurrency"
[deviceType]="data.deviceType"
[hasPermissionToOpenDetails]="false"
[holdings]="holdings"
[locale]="user?.settings?.locale"

7
apps/client/src/app/components/admin-market-data/admin-market-data.component.ts

@ -140,6 +140,11 @@ export class GfAdminMarketDataComponent
id: 'ETF_WITHOUT_SECTORS',
label: $localize`ETFs without Sectors`,
type: 'PRESET_ID' as Filter['type']
},
{
id: 'NO_ACTIVITIES',
label: $localize`No Activities`,
type: 'PRESET_ID' as Filter['type']
}
];
public benchmarks: Partial<SymbolProfile>[];
@ -374,7 +379,7 @@ export class GfAdminMarketDataComponent
this.pageSize =
this.activeFilters.length === 1 &&
this.activeFilters[0].type === 'PRESET_ID'
? undefined
? Number.MAX_SAFE_INTEGER
: DEFAULT_PAGE_SIZE;
if (pageIndex === 0 && this.paginator) {

24
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts

@ -5,7 +5,11 @@ import {
PROPERTY_IS_DATA_GATHERING_ENABLED
} from '@ghostfolio/common/config';
import { UpdateAssetProfileDto } from '@ghostfolio/common/dtos';
import { DATE_FORMAT } from '@ghostfolio/common/helper';
import {
DATE_FORMAT,
getCurrencyFromSymbol,
isCurrency
} from '@ghostfolio/common/helper';
import {
AdminMarketDataDetails,
AssetClassSelectorOption,
@ -138,7 +142,6 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit {
});
public assetSubClassOptions: AssetClassSelectorOption[] = [];
public assetProfile: AdminMarketDataDetails['assetProfile'];
public assetProfileForm = this.formBuilder.group({
@ -180,12 +183,14 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit {
);
public benchmarks: Partial<SymbolProfile>[];
public canEditAssetProfile = true;
public countries: {
[code: string]: { name: string; value: number };
};
public currencies: string[] = [];
public dateRangeOptions = [
{
label: $localize`Current week` + ' (' + $localize`WTD` + ')',
@ -260,7 +265,7 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit {
}
public get canSaveAssetProfileIdentifier() {
return !this.assetProfileForm.dirty;
return !this.assetProfileForm.dirty && this.canEditAssetProfile;
}
public ngOnInit() {
@ -324,6 +329,11 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit {
this.assetClassLabel = translate(this.assetProfile?.assetClass);
this.assetSubClassLabel = translate(this.assetProfile?.assetSubClass);
this.canEditAssetProfile = !isCurrency(
getCurrencyFromSymbol(this.data.symbol)
);
this.countries = {};
this.isBenchmark = this.benchmarks.some(({ id }) => {
@ -390,6 +400,10 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit {
url: this.assetProfile?.url ?? ''
});
if (!this.canEditAssetProfile) {
this.assetProfileForm.disable();
}
this.assetProfileForm.markAsPristine();
this.changeDetectorRef.markForCheck();
@ -399,7 +413,9 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit {
public onCancelEditAssetProfileIdentifierMode() {
this.isEditAssetProfileIdentifierMode = false;
this.assetProfileForm.enable();
if (this.canEditAssetProfile) {
this.assetProfileForm.enable();
}
this.assetProfileIdentifierForm.reset();
}

11
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html

@ -300,6 +300,7 @@
</div>
<form
#assetProfileFormElement
[class.d-none]="!canEditAssetProfile"
[formGroup]="assetProfileForm"
(keyup.enter)="assetProfileForm.valid && onSubmitAssetProfileForm()"
(ngSubmit)="onSubmitAssetProfileForm()"
@ -358,7 +359,9 @@
<mat-checkbox
color="primary"
[checked]="isBenchmark"
[disabled]="isEditAssetProfileIdentifierMode"
[disabled]="
!canEditAssetProfile || isEditAssetProfileIdentifierMode
"
(change)="
isBenchmark
? onUnsetBenchmark({
@ -581,7 +584,11 @@
<mat-checkbox
color="primary"
[checked]="isDataGatheringEnabled && (assetProfile?.isActive ?? false)"
[disabled]="!isDataGatheringEnabled || isEditAssetProfileIdentifierMode"
[disabled]="
!canEditAssetProfile ||
!isDataGatheringEnabled ||
isEditAssetProfileIdentifierMode
"
(change)="onToggleIsActive($event)"
>
<ng-container i18n>Data Gathering</ng-container>

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

@ -377,7 +377,6 @@
<gf-accounts-table
[accounts]="accounts"
[baseCurrency]="user?.settings?.baseCurrency"
[deviceType]="data.deviceType"
[hasPermissionToOpenDetails]="false"
[locale]="user?.settings?.locale"
[showActivitiesCount]="false"

2
apps/client/src/app/components/home-holdings/home-holdings.html

@ -46,8 +46,6 @@
}
<div [ngClass]="{ 'd-none': viewModeFormControl.value !== 'TABLE' }">
<gf-holdings-table
[baseCurrency]="user?.settings?.baseCurrency"
[deviceType]="deviceType"
[hasPermissionToShowQuantities]="false"
[holdings]="holdings"
[locale]="user?.settings?.locale"

13
apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html

@ -65,7 +65,11 @@
[locale]="locale"
[precision]="precision"
[unit]="baseCurrency"
[value]="isLoading ? undefined : summary?.committedFunds"
[value]="
isLoading
? undefined
: summary?.totalInvestmentValueWithCurrencyEffect
"
/>
</div>
</div>
@ -180,18 +184,21 @@
[ngClass]="{
'cursor-pointer':
hasPermissionToUpdateUserSettings &&
!user?.settings?.isRestrictedView &&
user?.subscription?.type !== 'Basic'
}"
(click)="
hasPermissionToUpdateUserSettings &&
!user?.settings?.isRestrictedView &&
user?.subscription?.type !== 'Basic' &&
onEditEmergencyFund()
"
>
@if (
hasPermissionToUpdateUserSettings &&
user?.subscription?.type !== 'Basic' &&
!isLoading
!isLoading &&
!user?.settings?.isRestrictedView &&
user?.subscription?.type !== 'Basic'
) {
<ion-icon
class="mr-1 text-muted"

12
apps/client/src/app/pages/about/changelog/changelog-page.component.ts

@ -1,7 +1,6 @@
import { Component, OnDestroy } from '@angular/core';
import { Component } from '@angular/core';
import { MarkdownModule } from 'ngx-markdown';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { Subject } from 'rxjs';
@Component({
imports: [MarkdownModule, NgxSkeletonLoaderModule],
@ -9,17 +8,10 @@ import { Subject } from 'rxjs';
styleUrls: ['./changelog-page.scss'],
templateUrl: './changelog-page.html'
})
export class GfChangelogPageComponent implements OnDestroy {
export class GfChangelogPageComponent {
public isLoading = true;
private unsubscribeSubject = new Subject<void>();
public onLoad() {
this.isLoading = false;
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
}

12
apps/client/src/app/pages/about/license/license-page.component.ts

@ -1,6 +1,5 @@
import { Component, OnDestroy } from '@angular/core';
import { Component } from '@angular/core';
import { MarkdownModule } from 'ngx-markdown';
import { Subject } from 'rxjs';
@Component({
imports: [MarkdownModule],
@ -8,11 +7,4 @@ import { Subject } from 'rxjs';
styleUrls: ['./license-page.scss'],
templateUrl: './license-page.html'
})
export class GfLicensePageComponent implements OnDestroy {
private unsubscribeSubject = new Subject<void>();
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
}
export class GfLicensePageComponent {}

12
apps/client/src/app/pages/about/oss-friends/oss-friends-page.component.ts

@ -1,10 +1,9 @@
import { Component, OnDestroy } from '@angular/core';
import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import { arrowForwardOutline } from 'ionicons/icons';
import { Subject } from 'rxjs';
const ossFriends = require('../../../../assets/oss-friends.json');
@ -14,17 +13,10 @@ const ossFriends = require('../../../../assets/oss-friends.json');
styleUrls: ['./oss-friends-page.scss'],
templateUrl: './oss-friends-page.html'
})
export class GfOpenSourceSoftwareFriendsPageComponent implements OnDestroy {
export class GfOpenSourceSoftwareFriendsPageComponent {
public ossFriends = ossFriends.data;
private unsubscribeSubject = new Subject<void>();
public constructor() {
addIcons({ arrowForwardOutline });
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
}

17
apps/client/src/app/pages/about/overview/about-overview-page.component.ts

@ -9,9 +9,10 @@ import {
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
OnDestroy,
DestroyRef,
OnInit
} from '@angular/core';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { MatButtonModule } from '@angular/material/button';
import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
@ -23,8 +24,6 @@ import {
logoX,
mail
} from 'ionicons/icons';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
@Component({
imports: [CommonModule, IonIcon, MatButtonModule, RouterModule],
@ -33,7 +32,7 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./about-overview-page.scss'],
templateUrl: './about-overview-page.html'
})
export class GfAboutOverviewPageComponent implements OnDestroy, OnInit {
export class GfAboutOverviewPageComponent implements OnInit {
public hasPermissionForStatistics: boolean;
public hasPermissionForSubscription: boolean;
public isLoggedIn: boolean;
@ -43,11 +42,10 @@ export class GfAboutOverviewPageComponent implements OnDestroy, OnInit {
public routerLinkOpenStartup = publicRoutes.openStartup.routerLink;
public user: User;
private unsubscribeSubject = new Subject<void>();
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
private destroyRef: DestroyRef,
private userService: UserService
) {
const { globalPermissions } = this.dataService.fetchInfo();
@ -67,7 +65,7 @@ export class GfAboutOverviewPageComponent implements OnDestroy, OnInit {
public ngOnInit() {
this.userService.stateChanged
.pipe(takeUntil(this.unsubscribeSubject))
.pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((state) => {
if (state?.user) {
this.user = state.user;
@ -76,9 +74,4 @@ export class GfAboutOverviewPageComponent implements OnDestroy, OnInit {
}
});
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
}

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

@ -209,7 +209,7 @@
<div class="text-center">
<div class="mb-2 small">Browser testing via</div>
<a
href="https://www.testmu.ai?utm_medium=sponsor&utm_source=ghostfolio"
href="https://www.testmuai.com?utm_medium=sponsor&utm_source=ghostfolio"
target="_blank"
title="TestMu AI - AI Powered Testing Tool"
>
@ -217,9 +217,9 @@
alt="TestMu AI Logo"
height="32"
[src]="
user?.settings?.colorScheme === 'LIGHT'
? '../assets/images/sponsors/logo-testmu-dark.svg'
: '../assets/images/sponsors/logo-testmu-light.svg'
user?.settings?.colorScheme === 'DARK'
? '../assets/images/sponsors/logo-testmu-light.svg'
: '../assets/images/sponsors/logo-testmu-dark.svg'
"
/>
</a>

1
apps/client/src/app/pages/accounts/accounts-page.html

@ -6,7 +6,6 @@
[accounts]="accounts"
[activitiesCount]="activitiesCount"
[baseCurrency]="user?.settings?.baseCurrency"
[deviceType]="deviceType"
[locale]="user?.settings?.locale"
[showActions]="
!hasImpersonationId &&

12
apps/client/src/app/pages/admin/admin-page.component.ts

@ -1,7 +1,7 @@
import { TabConfiguration } from '@ghostfolio/common/interfaces';
import { internalRoutes } from '@ghostfolio/common/routes/routes';
import { Component, OnDestroy, OnInit } from '@angular/core';
import { Component, OnInit } from '@angular/core';
import { MatTabsModule } from '@angular/material/tabs';
import { RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone';
@ -14,7 +14,6 @@ import {
settingsOutline
} from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject } from 'rxjs';
@Component({
host: { class: 'page has-tabs' },
@ -23,12 +22,10 @@ import { Subject } from 'rxjs';
styleUrls: ['./admin-page.scss'],
templateUrl: './admin-page.html'
})
export class AdminPageComponent implements OnDestroy, OnInit {
export class AdminPageComponent implements OnInit {
public deviceType: string;
public tabs: TabConfiguration[] = [];
private unsubscribeSubject = new Subject<void>();
public constructor(private deviceService: DeviceDetectorService) {
addIcons({
flashOutline,
@ -74,9 +71,4 @@ export class AdminPageComponent implements OnDestroy, OnInit {
}
];
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
}

12
apps/client/src/app/pages/demo/demo-page.component.ts

@ -3,9 +3,8 @@ import { InfoItem } from '@ghostfolio/common/interfaces';
import { NotificationService } from '@ghostfolio/ui/notifications';
import { DataService } from '@ghostfolio/ui/services';
import { Component, OnDestroy } from '@angular/core';
import { Component } from '@angular/core';
import { Router } from '@angular/router';
import { Subject } from 'rxjs';
@Component({
host: { class: 'page' },
@ -13,11 +12,9 @@ import { Subject } from 'rxjs';
standalone: true,
templateUrl: './demo-page.html'
})
export class GfDemoPageComponent implements OnDestroy {
export class GfDemoPageComponent {
public info: InfoItem;
private unsubscribeSubject = new Subject<void>();
public constructor(
private dataService: DataService,
private notificationService: NotificationService,
@ -40,9 +37,4 @@ export class GfDemoPageComponent implements OnDestroy {
this.router.navigate(['/']);
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
}

4
apps/client/src/app/pages/faq/self-hosting/self-hosting-page.html

@ -93,6 +93,10 @@
dialog
</li>
</ol>
<p>
For derived currencies (e.g. <code>GBp</code>), ensure that you
gather the data for the parent currency (e.g. <code>GBP</code>).
</p>
</mat-card-content>
</mat-card>
<mat-card appearance="outlined" class="mb-3">

16
apps/client/src/app/pages/i18n/i18n-page.html

@ -149,14 +149,14 @@
<li i18n="@@rule.emergencyFundSetup.true">
An emergency fund has been set up
</li>
<li i18n="@@rule.feeRatioInitialInvestment">Fee Ratio</li>
<li i18n="@@rule.feeRatioInitialInvestment.false">
The fees do exceed $&#123;thresholdMax&#125;% of your initial investment
($&#123;feeRatio&#125;%)
</li>
<li i18n="@@rule.feeRatioInitialInvestment.true">
The fees do not exceed $&#123;thresholdMax&#125;% of your initial
investment ($&#123;feeRatio&#125;%)
<li i18n="@@rule.feeRatioTotalInvestmentVolume">Fee Ratio</li>
<li i18n="@@rule.feeRatioTotalInvestmentVolume.false">
The fees do exceed $&#123;thresholdMax&#125;% of your total investment
volume ($&#123;feeRatio&#125;%)
</li>
<li i18n="@@rule.feeRatioTotalInvestmentVolume.true">
The fees do not exceed $&#123;thresholdMax&#125;% of your total
investment volume ($&#123;feeRatio&#125;%)
</li>
<li i18n="@@rule.fees.category">Fees</li>
<li i18n="@@rule.regionalMarketClusterRisk.category">

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

@ -188,8 +188,7 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
!this.data.activity?.accountId &&
this.mode === 'create'
? this.data.accounts[0].id
: this.data.activity?.accountId,
Validators.required
: this.data.activity?.accountId
],
assetClass: [this.data.activity?.SymbolProfile?.assetClass],
assetSubClass: [this.data.activity?.SymbolProfile?.assetSubClass],
@ -365,11 +364,6 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
(this.activityForm.get('dataSource').value === 'MANUAL' &&
type === 'BUY')
) {
this.activityForm
.get('accountId')
.removeValidators(Validators.required);
this.activityForm.get('accountId').updateValueAndValidity();
const currency =
this.data.accounts.find(({ id }) => {
return id === this.activityForm.get('accountId').value;
@ -397,11 +391,6 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
this.activityForm.get('updateAccountBalance').disable();
this.activityForm.get('updateAccountBalance').setValue(false);
} else if (['FEE', 'INTEREST', 'LIABILITY'].includes(type)) {
this.activityForm
.get('accountId')
.removeValidators(Validators.required);
this.activityForm.get('accountId').updateValueAndValidity();
const currency =
this.data.accounts.find(({ id }) => {
return id === this.activityForm.get('accountId').value;
@ -447,8 +436,6 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
this.activityForm.get('updateAccountBalance').setValue(false);
}
} else {
this.activityForm.get('accountId').setValidators(Validators.required);
this.activityForm.get('accountId').updateValueAndValidity();
this.activityForm
.get('dataSource')
.setValidators(Validators.required);
@ -514,11 +501,12 @@ export class GfCreateOrUpdateActivityDialogComponent implements OnDestroy {
comment: this.activityForm.get('comment').value || null,
currency: this.activityForm.get('currency').value,
customCurrency: this.activityForm.get('currencyOfUnitPrice').value,
dataSource: ['FEE', 'INTEREST', 'LIABILITY', 'VALUABLE'].includes(
this.activityForm.get('type').value
)
? 'MANUAL'
: this.activityForm.get('dataSource').value,
date: this.activityForm.get('date').value,
dataSource:
this.activityForm.get('type').value === 'VALUABLE'
? 'MANUAL'
: this.activityForm.get('dataSource').value,
fee: this.activityForm.get('fee').value,
quantity: this.activityForm.get('quantity').value,
symbol:

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

@ -84,12 +84,8 @@
>
<mat-label i18n>Account</mat-label>
<mat-select formControlName="accountId">
@if (
!activityForm.get('accountId').hasValidator(Validators.required) ||
(!activityForm.get('accountId').value && mode === 'update')
) {
<mat-option [value]="null" />
}
<mat-option [value]="null" />
@for (account of data.accounts; track account) {
<mat-option [value]="account.id">
<div class="d-flex">

1
apps/client/src/app/pages/public/public-page.html

@ -78,7 +78,6 @@
[showLabels]="deviceType !== 'mobile'"
/>
<gf-holdings-table
[deviceType]="deviceType"
[hasPermissionToOpenDetails]="false"
[hasPermissionToShowQuantities]="false"
[hasPermissionToShowValues]="false"

8
apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.component.ts

@ -9,6 +9,7 @@ import {
Component,
CUSTOM_ELEMENTS_SCHEMA,
Inject,
OnDestroy,
ViewChild
} from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
@ -52,7 +53,7 @@ import { UserAccountRegistrationDialogParams } from './interfaces/interfaces';
styleUrls: ['./user-account-registration-dialog.scss'],
templateUrl: 'user-account-registration-dialog.html'
})
export class GfUserAccountRegistrationDialogComponent {
export class GfUserAccountRegistrationDialogComponent implements OnDestroy {
@ViewChild(MatStepper) stepper!: MatStepper;
public accessToken: string;
@ -95,4 +96,9 @@ export class GfUserAccountRegistrationDialogComponent {
public onChangeDislaimerChecked() {
this.isDisclaimerChecked = !this.isDisclaimerChecked;
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
}

8
apps/client/src/app/pages/resources/resources-page.component.ts

@ -13,7 +13,6 @@ import {
readerOutline
} from 'ionicons/icons';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject } from 'rxjs';
@Component({
host: { class: 'page has-tabs' },
@ -47,8 +46,6 @@ export class ResourcesPageComponent implements OnInit {
}
];
private unsubscribeSubject = new Subject<void>();
public constructor(private deviceService: DeviceDetectorService) {
addIcons({ bookOutline, libraryOutline, newspaperOutline, readerOutline });
}
@ -56,9 +53,4 @@ export class ResourcesPageComponent implements OnInit {
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
}

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

@ -97,9 +97,7 @@ export class ImportActivitiesService {
isin: null,
marketData: [],
name: symbol,
scraperConfiguration: null,
sectors: [],
symbolMapping: {},
url: null
});
}

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

@ -403,7 +403,7 @@
<target state="translated">Balanç de Caixa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">148</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9011425576088183078" datatype="html">
@ -455,7 +455,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">139</context>
<context context-type="linenumber">135</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -511,7 +511,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -531,15 +531,15 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">205</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">208</context>
<context context-type="linenumber">204</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">207</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -625,6 +625,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">78</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
<context context-type="linenumber">80</context>
@ -647,7 +651,7 @@
<target state="translated">Realment vol suprimir aquest compte?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="8650499415827640724" datatype="html">
@ -707,7 +711,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">155</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -819,7 +823,7 @@
<target state="translated">Data</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -867,7 +871,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="1806977783783486873" datatype="html">
@ -891,7 +895,7 @@
<target state="translated">Filtra per...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">390</context>
</context-group>
</trans-unit>
<trans-unit id="6182733719813772142" datatype="html">
@ -931,7 +935,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">44</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="6130372166370766747" datatype="html">
@ -999,7 +1003,7 @@
<target state="translated">Oooh! No s’han pogut recopilar les dades históriques.</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">284</context>
</context-group>
</trans-unit>
<trans-unit id="4405333887341433096" datatype="html">
@ -1031,7 +1035,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5299488188278756127" datatype="html">
@ -1063,7 +1067,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">53</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="4136685477767543249" datatype="html">
@ -1083,7 +1087,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">114</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="6782077395930235254" datatype="html">
@ -1175,7 +1179,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">275</context>
<context context-type="linenumber">271</context>
</context-group>
</trans-unit>
<trans-unit id="7504169991280318133" datatype="html">
@ -1219,7 +1223,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">120</context>
</context-group>
</trans-unit>
<trans-unit id="8122024350760043460" datatype="html">
@ -1483,7 +1487,7 @@
<target state="translated">Està segur que vol eliminar aquest usuari?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -1519,7 +1523,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">89</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3462698906491525936" datatype="html">
@ -1715,7 +1719,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">189</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -1743,7 +1747,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="5303806780432428245" datatype="html">
@ -1767,7 +1771,7 @@
<target state="translated">Informar d’un Problema amb les Dades</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">451</context>
<context context-type="linenumber">450</context>
</context-group>
</trans-unit>
<trans-unit id="8204176479746810612" datatype="html">
@ -1807,7 +1811,7 @@
<target state="translated">Gestionar Activitats</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-holdings/home-holdings.html</context>
<context context-type="linenumber">67</context>
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="5486880308148746399" datatype="html">
@ -1959,7 +1963,7 @@
<target state="translated">Import total</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/investment-chart/investment-chart.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="8192718423057883427" datatype="html">
@ -2095,7 +2099,7 @@
<target state="translated">Rendiment brut absolut</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">73</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="4072809765904753879" datatype="html">
@ -2103,7 +2107,7 @@
<target state="translated">Rendiment net absolut</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -2115,7 +2119,7 @@
<target state="translated">Rendiment net</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">123</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -2127,7 +2131,7 @@
<target state="translated">Actius totals</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">153</context>
</context-group>
</trans-unit>
<trans-unit id="1647750822609779679" datatype="html">
@ -2135,7 +2139,7 @@
<target state="translated">Actius</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">226</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4993097165849036956" datatype="html">
@ -2143,7 +2147,7 @@
<target state="translated">Poder adquisitiu</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">248</context>
</context-group>
</trans-unit>
<trans-unit id="2105957921933737059" datatype="html">
@ -2151,7 +2155,7 @@
<target state="translated">Exclòs de l’anàlisi</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">274</context>
</context-group>
</trans-unit>
<trans-unit id="5003799027167349722" datatype="html">
@ -2159,7 +2163,7 @@
<target state="translated">Passius</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">302</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -2171,7 +2175,7 @@
<target state="translated">Valor net</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">317</context>
<context context-type="linenumber">324</context>
</context-group>
</trans-unit>
<trans-unit id="293512063893966488" datatype="html">
@ -2179,7 +2183,7 @@
<target state="translated">Rendiment anualitzat</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">331</context>
<context context-type="linenumber">338</context>
</context-group>
</trans-unit>
<trans-unit id="5403336912114537863" datatype="html">
@ -2339,7 +2343,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">363</context>
<context context-type="linenumber">362</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -2351,7 +2355,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -2363,7 +2367,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -2375,7 +2379,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
@ -2395,7 +2399,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">414</context>
</context-group>
</trans-unit>
<trans-unit id="2570446216260149991" datatype="html">
@ -2451,7 +2455,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">11</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="5369707274411995821" datatype="html">
@ -2939,7 +2943,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">85</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.html</context>
@ -3039,7 +3043,7 @@
<target state="translated">Dades de mercat</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">397</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3091,11 +3095,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">45</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">30</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3239,7 +3243,7 @@
<target state="translated">Com que ja has iniciat sessió, no pots accedir al compte de demostració.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/demo/demo-page.component.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="5308814695487483464" datatype="html">
@ -3436,7 +3440,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">242</context>
<context context-type="linenumber">241</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
@ -3512,7 +3516,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3996,7 +4000,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">113</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
@ -4020,7 +4024,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">94</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/activities-page.html</context>
@ -4100,7 +4104,7 @@
<target state="translated">Actualitzar el saldo d’efectiu</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="1599232533055023845" datatype="html">
@ -4108,7 +4112,7 @@
<target state="translated">Preu unitari</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">214</context>
<context context-type="linenumber">210</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -4348,7 +4352,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="79310201207169632" datatype="html">
@ -4372,7 +4376,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">168</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="7934616470747135563" datatype="html">
@ -4380,7 +4384,7 @@
<target state="new">Latest activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">210</context>
</context-group>
</trans-unit>
<trans-unit id="6966271594418371336" datatype="html">
@ -4392,7 +4396,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">176</context>
</context-group>
</trans-unit>
<trans-unit id="2647097511076811769" datatype="html">
@ -4404,7 +4408,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">186</context>
<context context-type="linenumber">185</context>
</context-group>
</trans-unit>
<trans-unit id="3970743474991126664" datatype="html">
@ -4480,7 +4484,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">372</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -4488,7 +4492,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">198</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
@ -4552,7 +4556,7 @@
<target state="new">Close Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">442</context>
<context context-type="linenumber">441</context>
</context-group>
</trans-unit>
<trans-unit id="1605678350626749943" datatype="html">
@ -4876,7 +4880,7 @@
<target state="translated">Continents</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="6494963320544261750" datatype="html">
@ -4884,7 +4888,7 @@
<target state="translated">Vols <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>refinar<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> la teva <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>estratègia d’inversió personal<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">234</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="2003818202621229370" datatype="html">
@ -4900,7 +4904,7 @@
<target state="translated">Ghostfolio us permet fer un seguiment de la vostra riquesa.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">238</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="8298333184054476827" datatype="html">
@ -5273,7 +5277,7 @@
<target state="translated">Pertinença</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">67</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -5341,7 +5345,7 @@
<target state="translated">Realment voleu eliminar el saldo d’aquest compte?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.ts</context>
<context context-type="linenumber">120</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="5388209493122807655" datatype="html">
@ -5405,7 +5409,7 @@
<target state="translated">De veritat vols suprimir aquestes activitats?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">282</context>
</context-group>
</trans-unit>
<trans-unit id="670983159637074283" datatype="html">
@ -5413,7 +5417,7 @@
<target state="translated">Realment vols suprimir aquesta activitat?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">292</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
@ -5421,7 +5425,7 @@
<target state="translated">Setmana fins avui</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5433,7 +5437,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5441,7 +5445,7 @@
<target state="translated">Mes fins a la data</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5453,7 +5457,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5461,7 +5465,7 @@
<target state="translated">Any fins a la data</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -5481,7 +5485,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -5493,7 +5497,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="3060494754215793943" datatype="html">
@ -5641,7 +5645,7 @@
<target state="translated">Dipòsit</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">385</context>
</context-group>
</trans-unit>
<trans-unit id="3441715041566940420" datatype="html">
@ -5653,11 +5657,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">352</context>
<context context-type="linenumber">359</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">395</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5669,7 +5673,7 @@
<target state="translated">Estalvi</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">397</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="8927080808898221200" datatype="html">
@ -5697,7 +5701,7 @@
<target state="translated">Mostra-ho tot</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">212</context>
</context-group>
</trans-unit>
<trans-unit id="4086606389696938932" datatype="html">
@ -5749,7 +5753,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">286</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5781,7 +5785,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">309</context>
<context context-type="linenumber">305</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5833,7 +5837,7 @@
<target state="translated">Fons d’emergència</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">168</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -5909,7 +5913,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">437</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="6333857424161463201" datatype="html">
@ -5920,6 +5924,14 @@
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="9218541487912911620" datatype="html">
<source>No Activities</source>
<target state="new">No Activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9219851060664514927" datatype="html">
<source>Retirement Provision</source>
<target state="translated">Provisió de jubilació</target>
@ -6037,7 +6049,7 @@
<target state="translated">Comissió</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">258</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -6081,7 +6093,7 @@
<target state="translated">Efectiu</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">219</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6137,7 +6149,7 @@
<target state="new">Authentication</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -6305,7 +6317,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">195</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -6313,11 +6325,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">439</context>
<context context-type="linenumber">451</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">452</context>
<context context-type="linenumber">465</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -6745,7 +6757,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">345</context>
<context context-type="linenumber">341</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html</context>
@ -6753,7 +6765,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6791,13 +6803,17 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">68</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">107</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">347</context>
<context context-type="linenumber">343</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6809,7 +6825,7 @@
<target state="new">Role</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">14</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="2807800733729323332" datatype="html">
@ -7101,7 +7117,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7117,7 +7133,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7215,7 +7231,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">98</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="6461489707382666493" datatype="html">
@ -7323,11 +7339,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">356</context>
<context context-type="linenumber">352</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="7156797854368699223" datatype="html">
@ -7479,7 +7495,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
</trans-unit>
<trans-unit id="1322586333669103999" datatype="html">
@ -7499,11 +7515,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">381</context>
<context context-type="linenumber">388</context>
</context-group>
</trans-unit>
<trans-unit id="1325095699053123251" datatype="html">
@ -7607,7 +7623,7 @@
<target state="new">Security token</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7619,7 +7635,7 @@
<target state="new">Do you really want to generate a new security token for this user?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7627,7 +7643,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7872,7 +7888,7 @@
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
<trans-unit id="rule.feeRatioTotalInvestmentVolume" datatype="html">
<source>Fee Ratio</source>
<target state="new">Fee Ratio</target>
<context-group purpose="location">
@ -7880,17 +7896,17 @@
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="new">The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="new">The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">158</context>
@ -8063,7 +8079,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
@ -8276,7 +8292,7 @@
<target state="new">Manage Asset Profile</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">466</context>
<context context-type="linenumber">465</context>
</context-group>
</trans-unit>
<trans-unit id="2978009302056542263" datatype="html">
@ -8696,7 +8712,7 @@
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">

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

@ -134,7 +134,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">139</context>
<context context-type="linenumber">135</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -178,15 +178,15 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">205</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">208</context>
<context context-type="linenumber">204</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">207</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -272,6 +272,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">78</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
<context context-type="linenumber">80</context>
@ -294,7 +298,7 @@
<target state="translated">Möchtest du dieses Konto wirklich löschen?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="1089827441260039381" datatype="html">
@ -322,7 +326,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">155</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -434,7 +438,7 @@
<target state="translated">Datum</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -502,7 +506,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">44</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="8122024350760043460" datatype="html">
@ -646,7 +650,7 @@
<target state="translated">Möchtest du diesen Benutzer wirklich löschen?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -682,7 +686,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">89</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3462698906491525936" datatype="html">
@ -738,7 +742,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">242</context>
<context context-type="linenumber">241</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
@ -790,7 +794,7 @@
<target state="translated">Aktivitäten verwalten</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-holdings/home-holdings.html</context>
<context context-type="linenumber">67</context>
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="103717583691217276" datatype="html">
@ -906,7 +910,7 @@
<target state="translated">Absolute Brutto Performance</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">73</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="4072809765904753879" datatype="html">
@ -914,7 +918,7 @@
<target state="translated">Absolute Netto Performance</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -926,7 +930,7 @@
<target state="translated">Netto Performance</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">123</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -938,7 +942,7 @@
<target state="translated">Gesamtanlagevermögen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">153</context>
</context-group>
</trans-unit>
<trans-unit id="4993097165849036956" datatype="html">
@ -946,7 +950,7 @@
<target state="translated">Kaufkraft</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">248</context>
</context-group>
</trans-unit>
<trans-unit id="7969271348484693017" datatype="html">
@ -954,7 +958,7 @@
<target state="translated">Gesamtvermögen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">317</context>
<context context-type="linenumber">324</context>
</context-group>
</trans-unit>
<trans-unit id="293512063893966488" datatype="html">
@ -962,7 +966,7 @@
<target state="translated">Performance pro Jahr</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">331</context>
<context context-type="linenumber">338</context>
</context-group>
</trans-unit>
<trans-unit id="5403336912114537863" datatype="html">
@ -990,7 +994,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">114</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="6782077395930235254" datatype="html">
@ -1030,7 +1034,7 @@
<target state="translated">Datenfehler melden</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">451</context>
<context context-type="linenumber">450</context>
</context-group>
</trans-unit>
<trans-unit id="8927080808898221200" datatype="html">
@ -1058,7 +1062,7 @@
<target state="translated">Alle anzeigen</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">212</context>
</context-group>
</trans-unit>
<trans-unit id="6048892649018070225" datatype="html">
@ -1070,7 +1074,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">363</context>
<context context-type="linenumber">362</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1082,7 +1086,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1094,7 +1098,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1106,7 +1110,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
@ -1126,7 +1130,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">414</context>
</context-group>
</trans-unit>
<trans-unit id="1579692722565712588" datatype="html">
@ -1342,7 +1346,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">11</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="5369707274411995821" datatype="html">
@ -1394,7 +1398,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">85</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.html</context>
@ -1446,7 +1450,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -1626,7 +1630,7 @@
<target state="translated">Da du bereits eingeloggt bist, kannst du nicht auf die Live Demo zugreifen.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/demo/demo-page.component.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="5308814695487483464" datatype="html">
@ -1690,11 +1694,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">45</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">30</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1734,7 +1738,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1834,7 +1838,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="2948175671993825247" datatype="html">
@ -1974,7 +1978,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">120</context>
</context-group>
</trans-unit>
<trans-unit id="6762504134540024018" datatype="html">
@ -1986,7 +1990,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">189</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -2002,7 +2006,7 @@
<target state="translated">Stückpreis</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">214</context>
<context context-type="linenumber">210</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -2022,7 +2026,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">275</context>
<context context-type="linenumber">271</context>
</context-group>
</trans-unit>
<trans-unit id="2309808536212982229" datatype="html">
@ -2034,7 +2038,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">113</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
@ -2058,7 +2062,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">94</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/activities-page.html</context>
@ -2158,7 +2162,7 @@
<target state="translated">Kontinente</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="2003818202621229370" datatype="html">
@ -2174,7 +2178,7 @@
<target state="translated">Ghostfolio verschafft dir den Überblick über dein Vermögen.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">238</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="8298333184054476827" datatype="html">
@ -2322,7 +2326,7 @@
<target state="translated">Möchtest du diese Aktivität wirklich löschen?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">292</context>
</context-group>
</trans-unit>
<trans-unit id="5425547984857378790" datatype="html">
@ -2454,7 +2458,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">53</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="79310201207169632" datatype="html">
@ -2478,7 +2482,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">168</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="7934616470747135563" datatype="html">
@ -2486,7 +2490,7 @@
<target state="translated">Neueste Aktivitäten</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">210</context>
</context-group>
</trans-unit>
<trans-unit id="6966271594418371336" datatype="html">
@ -2498,7 +2502,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">176</context>
</context-group>
</trans-unit>
<trans-unit id="2647097511076811769" datatype="html">
@ -2510,7 +2514,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">186</context>
<context context-type="linenumber">185</context>
</context-group>
</trans-unit>
<trans-unit id="2960138573974945411" datatype="html">
@ -2542,7 +2546,7 @@
<target state="translated">Einlage</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">385</context>
</context-group>
</trans-unit>
<trans-unit id="3441715041566940420" datatype="html">
@ -2554,11 +2558,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">352</context>
<context context-type="linenumber">359</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">395</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2570,7 +2574,7 @@
<target state="translated">Ersparnisse</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">397</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="3720539089813177542" datatype="html">
@ -2626,7 +2630,7 @@
<target state="translated">Filtern nach...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">390</context>
</context-group>
</trans-unit>
<trans-unit id="1965206604774400" datatype="html">
@ -2702,7 +2706,7 @@
<target state="translated">Von der Analyse ausgenommen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">274</context>
</context-group>
</trans-unit>
<trans-unit id="616064537937996961" datatype="html">
@ -2746,7 +2750,7 @@
<target state="translated">Gesamtbetrag</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/investment-chart/investment-chart.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="5242468862715363747" datatype="html">
@ -2806,7 +2810,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">286</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2862,7 +2866,7 @@
<target state="translated">Bargeld</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">219</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2910,7 +2914,7 @@
<target state="translated">Authentifizierung</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -2974,7 +2978,7 @@
<target state="translated">Notfallfonds</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">168</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -2994,7 +2998,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">437</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4893616715766810081" datatype="html">
@ -3006,7 +3010,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">195</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -3014,11 +3018,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">439</context>
<context context-type="linenumber">451</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">452</context>
<context context-type="linenumber">465</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -3154,7 +3158,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">372</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -3162,7 +3166,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">198</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
@ -3194,7 +3198,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">309</context>
<context context-type="linenumber">305</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3230,7 +3234,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="4798457301875181136" datatype="html">
@ -3238,7 +3242,7 @@
<target state="translated">Marktdaten</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">397</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3353,6 +3357,14 @@
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="9218541487912911620" datatype="html">
<source>No Activities</source>
<target state="translated">Keine Aktivitäten</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9219851060664514927" datatype="html">
<source>Retirement Provision</source>
<target state="translated">Altersvorsorge</target>
@ -3650,7 +3662,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="296005715452289357" datatype="html">
@ -3822,7 +3834,7 @@
<target state="translated">Möchtest du diese Aktivitäten wirklich löschen?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">282</context>
</context-group>
</trans-unit>
<trans-unit id="7462039419171681274" datatype="html">
@ -3914,7 +3926,7 @@
<target state="translated">Cash-Bestand aktualisieren</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3045345384616728418" datatype="html">
@ -4094,7 +4106,7 @@
<target state="translated">Verbindlichkeiten</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">302</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -4510,7 +4522,7 @@
<target state="translated">Anlagevermögen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">226</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6333857424161463201" datatype="html">
@ -4742,7 +4754,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="968149536046938412" datatype="html">
@ -5456,7 +5468,7 @@
<target state="translated">Gebühr</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">258</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -5556,7 +5568,7 @@
<target state="translated">Mitgliedschaft</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">67</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -5712,7 +5724,7 @@
<target state="translated">Ups! Die historischen Daten konnten nicht geparsed werden.</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">284</context>
</context-group>
</trans-unit>
<trans-unit id="297546430113071258" datatype="html">
@ -5744,7 +5756,7 @@
<target state="translated">Cash-Bestände</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">148</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="1885119601668566713" datatype="html">
@ -5764,7 +5776,7 @@
<target state="translated">Möchtest du diesen Cash-Bestand wirklich löschen?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.ts</context>
<context context-type="linenumber">120</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="3401045354658415524" datatype="html">
@ -5900,7 +5912,7 @@
<target state="translated">Position abschliessen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">442</context>
<context context-type="linenumber">441</context>
</context-group>
</trans-unit>
<trans-unit id="1605678350626749943" datatype="html">
@ -5940,7 +5952,7 @@
<target state="translated">Seit Wochenbeginn</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5952,7 +5964,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5960,7 +5972,7 @@
<target state="translated">Seit Monatsbeginn</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5972,7 +5984,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5980,7 +5992,7 @@
<target state="translated">Seit Jahresbeginn</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -6028,7 +6040,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -6040,7 +6052,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="4252274043276232149" datatype="html">
@ -6353,7 +6365,7 @@
<target state="translated">Möchtest du deine <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>persönliche Anlagestrategie verfeinern<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">234</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4455104386790567151" datatype="html">
@ -6769,7 +6781,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">345</context>
<context context-type="linenumber">341</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html</context>
@ -6777,7 +6789,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6815,13 +6827,17 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">68</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">107</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">347</context>
<context context-type="linenumber">343</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6833,7 +6849,7 @@
<target state="translated">Rolle</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">14</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="2807800733729323332" datatype="html">
@ -7125,7 +7141,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7141,7 +7157,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7239,7 +7255,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">98</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="6461489707382666493" datatype="html">
@ -7347,11 +7363,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">356</context>
<context context-type="linenumber">352</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="7156797854368699223" datatype="html">
@ -7503,7 +7519,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
</trans-unit>
<trans-unit id="1322586333669103999" datatype="html">
@ -7523,11 +7539,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">381</context>
<context context-type="linenumber">388</context>
</context-group>
</trans-unit>
<trans-unit id="1325095699053123251" datatype="html">
@ -7631,7 +7647,7 @@
<target state="translated">Sicherheits-Token</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7643,7 +7659,7 @@
<target state="translated">Möchtest du für diesen Benutzer wirklich ein neues Sicherheits-Token generieren?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7651,7 +7667,7 @@
<target state="translated">Konto, Position oder Seite finden...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7842,7 +7858,7 @@
</trans-unit>
<trans-unit id="5342678948449903412" datatype="html">
<source>Sync Demo User Account</source>
<target state="translate">Synchronisiere Demo Benutzerkonto</target>
<target state="translated">Synchronisiere Demo Benutzerkonto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">195</context>
@ -7872,7 +7888,7 @@
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
<trans-unit id="rule.feeRatioTotalInvestmentVolume" datatype="html">
<source>Fee Ratio</source>
<target state="translated">Gebührenverhältnis</target>
<context-group purpose="location">
@ -7880,17 +7896,17 @@
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">Die Gebühren übersteigen ${thresholdMax}% deiner ursprünglichen Investition (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="translated">Die Gebühren übersteigen ${thresholdMax}% deines gesamten Investitionsvolumens (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">Die Gebühren übersteigen ${thresholdMax}% deiner ursprünglichen Investition (${feeRatio}%) nicht</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="translated">Die Gebühren übersteigen ${thresholdMax}% deines gesamten Investitionsvolumens (${feeRatio}%) nicht</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">158</context>
@ -8063,7 +8079,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
@ -8276,7 +8292,7 @@
<target state="translated">Anlageprofil verwalten</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">466</context>
<context context-type="linenumber">465</context>
</context-group>
</trans-unit>
<trans-unit id="2978009302056542263" datatype="html">
@ -8696,7 +8712,7 @@
<target state="translated">Registrierungsdatum</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">

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

@ -135,7 +135,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">139</context>
<context context-type="linenumber">135</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -179,15 +179,15 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">205</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">208</context>
<context context-type="linenumber">204</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">207</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -273,6 +273,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">78</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
<context context-type="linenumber">80</context>
@ -295,7 +299,7 @@
<target state="translated">¿Estás seguro de eliminar esta cuenta?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="1089827441260039381" datatype="html">
@ -323,7 +327,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">155</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -435,7 +439,7 @@
<target state="translated">Fecha</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -503,7 +507,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">44</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="8122024350760043460" datatype="html">
@ -631,7 +635,7 @@
<target state="translated">¿Estás seguro de eliminar este usuario?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -667,7 +671,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">89</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3462698906491525936" datatype="html">
@ -723,7 +727,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">242</context>
<context context-type="linenumber">241</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
@ -775,7 +779,7 @@
<target state="translated">Gestión de las operaciones</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-holdings/home-holdings.html</context>
<context context-type="linenumber">67</context>
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="103717583691217276" datatype="html">
@ -891,7 +895,7 @@
<target state="translated">Rendimiento bruto absoluto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">73</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="4072809765904753879" datatype="html">
@ -899,7 +903,7 @@
<target state="translated">Rendimiento neto absoluto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -911,7 +915,7 @@
<target state="translated">Rendimiento neto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">123</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -923,7 +927,7 @@
<target state="translated">Total de activos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">153</context>
</context-group>
</trans-unit>
<trans-unit id="4993097165849036956" datatype="html">
@ -931,7 +935,7 @@
<target state="translated">Capacidad de compra</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">248</context>
</context-group>
</trans-unit>
<trans-unit id="7969271348484693017" datatype="html">
@ -939,7 +943,7 @@
<target state="translated">Patrimonio neto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">317</context>
<context context-type="linenumber">324</context>
</context-group>
</trans-unit>
<trans-unit id="293512063893966488" datatype="html">
@ -947,7 +951,7 @@
<target state="translated">Rendimiento anualizado</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">331</context>
<context context-type="linenumber">338</context>
</context-group>
</trans-unit>
<trans-unit id="5403336912114537863" datatype="html">
@ -975,7 +979,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">114</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="6782077395930235254" datatype="html">
@ -1015,7 +1019,7 @@
<target state="translated">Reporta un anomalía de los datos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">451</context>
<context context-type="linenumber">450</context>
</context-group>
</trans-unit>
<trans-unit id="8927080808898221200" datatype="html">
@ -1043,7 +1047,7 @@
<target state="translated">Mostrar todos</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">212</context>
</context-group>
</trans-unit>
<trans-unit id="6048892649018070225" datatype="html">
@ -1055,7 +1059,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">363</context>
<context context-type="linenumber">362</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1067,7 +1071,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1079,7 +1083,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1091,7 +1095,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
@ -1111,7 +1115,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">414</context>
</context-group>
</trans-unit>
<trans-unit id="1579692722565712588" datatype="html">
@ -1327,7 +1331,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">11</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="5369707274411995821" datatype="html">
@ -1379,7 +1383,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">85</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.html</context>
@ -1431,7 +1435,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -1611,7 +1615,7 @@
<target state="translated">Como estás conectado, no puedes acceder a la cuenta de demostración.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/demo/demo-page.component.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="5308814695487483464" datatype="html">
@ -1675,11 +1679,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">45</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">30</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1719,7 +1723,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1819,7 +1823,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="2948175671993825247" datatype="html">
@ -1959,7 +1963,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">120</context>
</context-group>
</trans-unit>
<trans-unit id="6762504134540024018" datatype="html">
@ -1971,7 +1975,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">189</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -1987,7 +1991,7 @@
<target state="translated">Precio unitario</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">214</context>
<context context-type="linenumber">210</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -2007,7 +2011,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">275</context>
<context context-type="linenumber">271</context>
</context-group>
</trans-unit>
<trans-unit id="2309808536212982229" datatype="html">
@ -2019,7 +2023,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">113</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
@ -2043,7 +2047,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">94</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/activities-page.html</context>
@ -2143,7 +2147,7 @@
<target state="translated">Continentes</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="2003818202621229370" datatype="html">
@ -2159,7 +2163,7 @@
<target state="translated">Ghostfolio te permite hacer un seguimiento de tu riqueza.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">238</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="8298333184054476827" datatype="html">
@ -2307,7 +2311,7 @@
<target state="translated">¿Estás seguro de eliminar esta operación?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">292</context>
</context-group>
</trans-unit>
<trans-unit id="5425547984857378790" datatype="html">
@ -2415,7 +2419,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">168</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="7934616470747135563" datatype="html">
@ -2423,7 +2427,7 @@
<target state="translated">Últimas actividades</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">210</context>
</context-group>
</trans-unit>
<trans-unit id="5834699998566428689" datatype="html">
@ -2443,7 +2447,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">186</context>
<context context-type="linenumber">185</context>
</context-group>
</trans-unit>
<trans-unit id="6966271594418371336" datatype="html">
@ -2455,7 +2459,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">176</context>
</context-group>
</trans-unit>
<trans-unit id="5299488188278756127" datatype="html">
@ -2487,7 +2491,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">53</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="2067863610333602482" datatype="html">
@ -2511,7 +2515,7 @@
<target state="translated">Ahorros</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">397</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="3441715041566940420" datatype="html">
@ -2523,11 +2527,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">352</context>
<context context-type="linenumber">359</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">395</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2547,7 +2551,7 @@
<target state="translated">Depósito</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">385</context>
</context-group>
</trans-unit>
<trans-unit id="6762743264882388498" datatype="html">
@ -2611,7 +2615,7 @@
<target state="translated">Filtrar por...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">390</context>
</context-group>
</trans-unit>
<trans-unit id="5342721262799645301" datatype="html">
@ -2687,7 +2691,7 @@
<target state="translated">Excluido del análisis</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">274</context>
</context-group>
</trans-unit>
<trans-unit id="616064537937996961" datatype="html">
@ -2731,7 +2735,7 @@
<target state="translated">Importe total</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/investment-chart/investment-chart.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="5242468862715363747" datatype="html">
@ -2791,7 +2795,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">286</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2847,7 +2851,7 @@
<target state="translated">Efectivo</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">219</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2895,7 +2899,7 @@
<target state="translated">Autenticación</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -2959,7 +2963,7 @@
<target state="translated">Fondo de emergencia</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">168</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -2979,7 +2983,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">437</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4893616715766810081" datatype="html">
@ -2991,7 +2995,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">195</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -2999,11 +3003,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">439</context>
<context context-type="linenumber">451</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">452</context>
<context context-type="linenumber">465</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -3131,7 +3135,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">372</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -3139,7 +3143,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">198</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
@ -3179,7 +3183,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">309</context>
<context context-type="linenumber">305</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3215,7 +3219,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="4798457301875181136" datatype="html">
@ -3223,7 +3227,7 @@
<target state="translated">Datos del mercado</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">397</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3338,6 +3342,14 @@
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="9218541487912911620" datatype="html">
<source>No Activities</source>
<target state="translated">Sin actividades</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9219851060664514927" datatype="html">
<source>Retirement Provision</source>
<target state="translated">Provisión de jubilación</target>
@ -3635,7 +3647,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="296005715452289357" datatype="html">
@ -3799,7 +3811,7 @@
<target state="translated">¿Realmente deseas eliminar estas actividades?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">282</context>
</context-group>
</trans-unit>
<trans-unit id="7462039419171681274" datatype="html">
@ -3891,7 +3903,7 @@
<target state="translated">Actualizar saldo en efectivo</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3045345384616728418" datatype="html">
@ -4071,7 +4083,7 @@
<target state="translated">Pasivos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">302</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -4487,7 +4499,7 @@
<target state="translated">Activos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">226</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6333857424161463201" datatype="html">
@ -4719,7 +4731,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="968149536046938412" datatype="html">
@ -5433,7 +5445,7 @@
<target state="translated">Tarifa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">258</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -5533,7 +5545,7 @@
<target state="translated">Membresía</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">67</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -5689,7 +5701,7 @@
<target state="translated">¡Ups! No se pudieron analizar los datos históricos.</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">284</context>
</context-group>
</trans-unit>
<trans-unit id="297546430113071258" datatype="html">
@ -5721,7 +5733,7 @@
<target state="translated">Saldos de efectivo</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">148</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="1885119601668566713" datatype="html">
@ -5741,7 +5753,7 @@
<target state="translated">¿Realmente desea eliminar el saldo de esta cuenta?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.ts</context>
<context context-type="linenumber">120</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="3401045354658415524" datatype="html">
@ -5877,7 +5889,7 @@
<target state="translated">Cerrar posición</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">442</context>
<context context-type="linenumber">441</context>
</context-group>
</trans-unit>
<trans-unit id="1605678350626749943" datatype="html">
@ -5917,7 +5929,7 @@
<target state="translated">Semana hasta la fecha</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5929,7 +5941,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5937,7 +5949,7 @@
<target state="translated">Mes hasta la fecha</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5949,7 +5961,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5957,7 +5969,7 @@
<target state="translated">El año hasta la fecha</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -6005,7 +6017,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -6017,7 +6029,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="4252274043276232149" datatype="html">
@ -6330,7 +6342,7 @@
<target state="translated">¿Te gustaría <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>refinar<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> tu <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>estrategia de inversión personal<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">234</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4455104386790567151" datatype="html">
@ -6746,7 +6758,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">345</context>
<context context-type="linenumber">341</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html</context>
@ -6754,7 +6766,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6792,13 +6804,17 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">68</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">107</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">347</context>
<context context-type="linenumber">343</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6810,7 +6826,7 @@
<target state="translated">Rol</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">14</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="2807800733729323332" datatype="html">
@ -7102,7 +7118,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7118,7 +7134,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7216,7 +7232,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">98</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="6461489707382666493" datatype="html">
@ -7324,11 +7340,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">356</context>
<context context-type="linenumber">352</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="7156797854368699223" datatype="html">
@ -7480,7 +7496,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
</trans-unit>
<trans-unit id="1322586333669103999" datatype="html">
@ -7500,11 +7516,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">381</context>
<context context-type="linenumber">388</context>
</context-group>
</trans-unit>
<trans-unit id="1325095699053123251" datatype="html">
@ -7608,7 +7624,7 @@
<target state="translated">Token de seguridad</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7620,7 +7636,7 @@
<target state="translated">¿Realmente deseas generar un nuevo token de seguridad para este usuario?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7628,7 +7644,7 @@
<target state="translated">Buscar cuenta, posición o página...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7873,7 +7889,7 @@
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
<trans-unit id="rule.feeRatioTotalInvestmentVolume" datatype="html">
<source>Fee Ratio</source>
<target state="translated">Relación de tarifas</target>
<context-group purpose="location">
@ -7881,17 +7897,17 @@
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">Las tarifas superan el ${thresholdMax}% de su inversión inicial (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="translated">Las tarifas superan el ${thresholdMax}% de su volumen total de inversión (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">Las tarifas no superan el ${thresholdMax}% de su inversión inicial (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="translated">Las tarifas no superan el ${thresholdMax}% de su volumen total de inversión (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">158</context>
@ -8064,7 +8080,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
@ -8277,7 +8293,7 @@
<target state="translated">Gestionar perfil de activo</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">466</context>
<context context-type="linenumber">465</context>
</context-group>
</trans-unit>
<trans-unit id="2978009302056542263" datatype="html">
@ -8697,7 +8713,7 @@
<target state="translated">Fecha de registro</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">

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

@ -142,7 +142,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">139</context>
<context context-type="linenumber">135</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -198,7 +198,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -234,15 +234,15 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">205</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">208</context>
<context context-type="linenumber">204</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">207</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -328,6 +328,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">78</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
<context context-type="linenumber">80</context>
@ -350,7 +354,7 @@
<target state="translated">Voulez-vous vraiment supprimer ce compte ?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="1107354728956440783" datatype="html">
@ -370,7 +374,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">155</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -490,7 +494,7 @@
<target state="translated">Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -526,7 +530,7 @@
<target state="translated">Filtrer par...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">390</context>
</context-group>
</trans-unit>
<trans-unit id="6182733719813772142" datatype="html">
@ -566,7 +570,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">44</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="6130372166370766747" datatype="html">
@ -634,7 +638,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">53</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="4136685477767543249" datatype="html">
@ -654,7 +658,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">114</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="6782077395930235254" datatype="html">
@ -694,7 +698,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">275</context>
<context context-type="linenumber">271</context>
</context-group>
</trans-unit>
<trans-unit id="8122024350760043460" datatype="html">
@ -842,7 +846,7 @@
<target state="translated">Voulez-vous vraiment supprimer cet·te utilisateur·rice ?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -878,7 +882,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">89</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3462698906491525936" datatype="html">
@ -1010,7 +1014,7 @@
<target state="translated">Gérer les Activités</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-holdings/home-holdings.html</context>
<context context-type="linenumber">67</context>
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="5486880308148746399" datatype="html">
@ -1062,7 +1066,7 @@
<target state="translated">Montant Total</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/investment-chart/investment-chart.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="8192718423057883427" datatype="html">
@ -1174,7 +1178,7 @@
<target state="translated">Performance Absolue Brute</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">73</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="4072809765904753879" datatype="html">
@ -1182,7 +1186,7 @@
<target state="translated">Performance Absolue Nette</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1194,7 +1198,7 @@
<target state="translated">Performance nette</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">123</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1206,7 +1210,7 @@
<target state="translated">Actifs Totaux</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">153</context>
</context-group>
</trans-unit>
<trans-unit id="4993097165849036956" datatype="html">
@ -1214,7 +1218,7 @@
<target state="translated">Pouvoir d’Achat</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">248</context>
</context-group>
</trans-unit>
<trans-unit id="2105957921933737059" datatype="html">
@ -1222,7 +1226,7 @@
<target state="translated">Exclus de l’Analyse</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">274</context>
</context-group>
</trans-unit>
<trans-unit id="7969271348484693017" datatype="html">
@ -1230,7 +1234,7 @@
<target state="translated">Fortune</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">317</context>
<context context-type="linenumber">324</context>
</context-group>
</trans-unit>
<trans-unit id="293512063893966488" datatype="html">
@ -1238,7 +1242,7 @@
<target state="translated">Performance annualisée</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">331</context>
<context context-type="linenumber">338</context>
</context-group>
</trans-unit>
<trans-unit id="5403336912114537863" datatype="html">
@ -1274,7 +1278,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">189</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -1290,7 +1294,7 @@
<target state="translated">Signaler une Erreur de Données</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">451</context>
<context context-type="linenumber">450</context>
</context-group>
</trans-unit>
<trans-unit id="6048892649018070225" datatype="html">
@ -1302,7 +1306,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">363</context>
<context context-type="linenumber">362</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1314,7 +1318,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1326,7 +1330,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1338,7 +1342,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
@ -1358,7 +1362,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">414</context>
</context-group>
</trans-unit>
<trans-unit id="4190182554887994764" datatype="html">
@ -1662,7 +1666,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">11</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="5369707274411995821" datatype="html">
@ -1714,7 +1718,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">85</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.html</context>
@ -1758,7 +1762,7 @@
<target state="translated">Données du marché</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">397</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1902,7 +1906,7 @@
<target state="translated">Puisque vous êtes déjà connecté·e, vous ne pouvez pas accéder au compte de démonstration.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/demo/demo-page.component.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="5308814695487483464" datatype="html">
@ -2014,7 +2018,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -2042,7 +2046,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">113</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
@ -2066,7 +2070,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">94</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/activities-page.html</context>
@ -2138,7 +2142,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">120</context>
</context-group>
</trans-unit>
<trans-unit id="1599232533055023845" datatype="html">
@ -2146,7 +2150,7 @@
<target state="translated">Prix Unitaire</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">214</context>
<context context-type="linenumber">210</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -2218,7 +2222,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="2666668717343771434" datatype="html">
@ -2310,7 +2314,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="79310201207169632" datatype="html">
@ -2334,7 +2338,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">168</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="7934616470747135563" datatype="html">
@ -2342,7 +2346,7 @@
<target state="new">Latest activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">210</context>
</context-group>
</trans-unit>
<trans-unit id="6966271594418371336" datatype="html">
@ -2354,7 +2358,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">176</context>
</context-group>
</trans-unit>
<trans-unit id="2647097511076811769" datatype="html">
@ -2366,7 +2370,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">186</context>
<context context-type="linenumber">185</context>
</context-group>
</trans-unit>
<trans-unit id="2948175671993825247" datatype="html">
@ -2402,7 +2406,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">372</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -2410,7 +2414,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">198</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
@ -2434,7 +2438,7 @@
<target state="translated">Dépôt</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">385</context>
</context-group>
</trans-unit>
<trans-unit id="6762743264882388498" datatype="html">
@ -2546,7 +2550,7 @@
<target state="translated">Continents</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="2003818202621229370" datatype="html">
@ -2562,7 +2566,7 @@
<target state="translated">Ghostfolio vous aide à garder un aperçu de votre patrimoine.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">238</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="2045779543869682721" datatype="html">
@ -2590,7 +2594,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">242</context>
<context context-type="linenumber">241</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
@ -2714,11 +2718,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">45</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">30</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -2798,7 +2802,7 @@
<target state="translated">Voulez-vous vraiment supprimer cette activité ?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">292</context>
</context-group>
</trans-unit>
<trans-unit id="5425547984857378790" datatype="html">
@ -2850,11 +2854,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">352</context>
<context context-type="linenumber">359</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">395</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2866,7 +2870,7 @@
<target state="translated">Épargne</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">397</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="8927080808898221200" datatype="html">
@ -2894,7 +2898,7 @@
<target state="translated">Montrer tout</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">212</context>
</context-group>
</trans-unit>
<trans-unit id="4086606389696938932" datatype="html">
@ -2938,7 +2942,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">286</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2970,7 +2974,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">309</context>
<context context-type="linenumber">305</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2982,7 +2986,7 @@
<target state="translated">Fonds d’Urgence</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">168</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -3002,7 +3006,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">437</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="8106025670158480144" datatype="html">
@ -3050,7 +3054,7 @@
<target state="translated">Cash</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">219</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3098,7 +3102,7 @@
<target state="new">Authentication</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -3230,7 +3234,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">195</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -3238,11 +3242,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">439</context>
<context context-type="linenumber">451</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">452</context>
<context context-type="linenumber">465</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -3337,6 +3341,14 @@
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="9218541487912911620" datatype="html">
<source>No Activities</source>
<target state="new">No Activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9219851060664514927" datatype="html">
<source>Retirement Provision</source>
<target state="translated">Réserve pour retraite</target>
@ -3634,7 +3646,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="296005715452289357" datatype="html">
@ -3798,7 +3810,7 @@
<target state="translated">Voulez-vous vraiment supprimer toutes vos activités ?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">282</context>
</context-group>
</trans-unit>
<trans-unit id="7462039419171681274" datatype="html">
@ -3890,7 +3902,7 @@
<target state="translated">Mettre à jour le Solde</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3045345384616728418" datatype="html">
@ -4070,7 +4082,7 @@
<target state="translated">Dettes</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">302</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -4486,7 +4498,7 @@
<target state="translated">Actifs</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">226</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6333857424161463201" datatype="html">
@ -4718,7 +4730,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="968149536046938412" datatype="html">
@ -5432,7 +5444,7 @@
<target state="translated">Frais</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">258</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -5532,7 +5544,7 @@
<target state="translated">Statut</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">67</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -5688,7 +5700,7 @@
<target state="translated">Oops! Echec du parsing des données historiques.</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">284</context>
</context-group>
</trans-unit>
<trans-unit id="297546430113071258" datatype="html">
@ -5720,7 +5732,7 @@
<target state="translated">Cash Balances</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">148</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="1885119601668566713" datatype="html">
@ -5740,7 +5752,7 @@
<target state="translated">Voulez-vous vraiment supprimer ce solde de compte ?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.ts</context>
<context context-type="linenumber">120</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="3401045354658415524" datatype="html">
@ -5876,7 +5888,7 @@
<target state="new">Close Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">442</context>
<context context-type="linenumber">441</context>
</context-group>
</trans-unit>
<trans-unit id="1605678350626749943" datatype="html">
@ -5916,7 +5928,7 @@
<target state="translated">Week to date</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5928,7 +5940,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5936,7 +5948,7 @@
<target state="translated">Month to date</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5948,7 +5960,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5956,7 +5968,7 @@
<target state="translated">Year to date</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -6004,7 +6016,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -6016,7 +6028,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="4252274043276232149" datatype="html">
@ -6329,7 +6341,7 @@
<target state="translated">Souhaitez-vous <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>affiner<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> votre <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>stratégie d’investissement personnelle<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">234</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4455104386790567151" datatype="html">
@ -6745,7 +6757,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">345</context>
<context context-type="linenumber">341</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html</context>
@ -6753,7 +6765,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6791,13 +6803,17 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">68</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">107</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">347</context>
<context context-type="linenumber">343</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6809,7 +6825,7 @@
<target state="new">Role</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">14</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="2807800733729323332" datatype="html">
@ -7101,7 +7117,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7117,7 +7133,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7215,7 +7231,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">98</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="6461489707382666493" datatype="html">
@ -7323,11 +7339,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">356</context>
<context context-type="linenumber">352</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="7156797854368699223" datatype="html">
@ -7479,7 +7495,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
</trans-unit>
<trans-unit id="1322586333669103999" datatype="html">
@ -7499,11 +7515,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">381</context>
<context context-type="linenumber">388</context>
</context-group>
</trans-unit>
<trans-unit id="1325095699053123251" datatype="html">
@ -7607,7 +7623,7 @@
<target state="translated">Jeton de sécurité</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7619,7 +7635,7 @@
<target state="translated">Voulez-vous vraiment générer un nouveau jeton de sécurité pour cet utilisateur ?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7627,7 +7643,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7872,25 +7888,25 @@
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
<trans-unit id="rule.feeRatioTotalInvestmentVolume" datatype="html">
<source>Fee Ratio</source>
<target state="translated">Ratio de frais</target>
<target state="new">Fee Ratio</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">Les frais dépassent ${thresholdMax}% de votre investissement initial (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">Les frais ne dépassent pas ${thresholdMax}% de votre investissement initial (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">158</context>
@ -8063,7 +8079,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
@ -8276,7 +8292,7 @@
<target state="translated">Gérer le profil d’actif</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">466</context>
<context context-type="linenumber">465</context>
</context-group>
</trans-unit>
<trans-unit id="2978009302056542263" datatype="html">
@ -8696,7 +8712,7 @@
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">

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

@ -135,7 +135,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">139</context>
<context context-type="linenumber">135</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -179,15 +179,15 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">205</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">208</context>
<context context-type="linenumber">204</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">207</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -273,6 +273,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">78</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
<context context-type="linenumber">80</context>
@ -295,7 +299,7 @@
<target state="translated">Vuoi davvero eliminare questo account?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="1089827441260039381" datatype="html">
@ -323,7 +327,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">155</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -435,7 +439,7 @@
<target state="translated">Data</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -503,7 +507,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">44</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="8122024350760043460" datatype="html">
@ -631,7 +635,7 @@
<target state="translated">Vuoi davvero eliminare questo utente?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -667,7 +671,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">89</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3462698906491525936" datatype="html">
@ -723,7 +727,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">242</context>
<context context-type="linenumber">241</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
@ -775,7 +779,7 @@
<target state="translated">Gestione delle attività</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-holdings/home-holdings.html</context>
<context context-type="linenumber">67</context>
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="103717583691217276" datatype="html">
@ -891,7 +895,7 @@
<target state="translated">Prestazioni lorde assolute</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">73</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="4072809765904753879" datatype="html">
@ -899,7 +903,7 @@
<target state="translated">Prestazioni nette assolute</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -911,7 +915,7 @@
<target state="translated">Prestazioni nette</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">123</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -923,7 +927,7 @@
<target state="translated">Asset totali</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">153</context>
</context-group>
</trans-unit>
<trans-unit id="4993097165849036956" datatype="html">
@ -931,7 +935,7 @@
<target state="translated">Potere d’acquisto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">248</context>
</context-group>
</trans-unit>
<trans-unit id="7969271348484693017" datatype="html">
@ -939,7 +943,7 @@
<target state="translated">Patrimonio netto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">317</context>
<context context-type="linenumber">324</context>
</context-group>
</trans-unit>
<trans-unit id="293512063893966488" datatype="html">
@ -947,7 +951,7 @@
<target state="translated">Prestazioni annualizzate</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">331</context>
<context context-type="linenumber">338</context>
</context-group>
</trans-unit>
<trans-unit id="5403336912114537863" datatype="html">
@ -975,7 +979,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">114</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="6782077395930235254" datatype="html">
@ -1015,7 +1019,7 @@
<target state="translated">Segnala un’anomalia dei dati</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">451</context>
<context context-type="linenumber">450</context>
</context-group>
</trans-unit>
<trans-unit id="8927080808898221200" datatype="html">
@ -1043,7 +1047,7 @@
<target state="translated">Mostra tutti</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">212</context>
</context-group>
</trans-unit>
<trans-unit id="6048892649018070225" datatype="html">
@ -1055,7 +1059,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">363</context>
<context context-type="linenumber">362</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1067,7 +1071,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1079,7 +1083,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1091,7 +1095,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
@ -1111,7 +1115,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">414</context>
</context-group>
</trans-unit>
<trans-unit id="1579692722565712588" datatype="html">
@ -1327,7 +1331,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">11</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="5369707274411995821" datatype="html">
@ -1379,7 +1383,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">85</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.html</context>
@ -1431,7 +1435,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -1611,7 +1615,7 @@
<target state="translated">Poiché hai già effettuato l’accesso, non puoi accedere all’account demo.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/demo/demo-page.component.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="5308814695487483464" datatype="html">
@ -1675,11 +1679,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">45</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">30</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1719,7 +1723,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1819,7 +1823,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="2948175671993825247" datatype="html">
@ -1959,7 +1963,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">120</context>
</context-group>
</trans-unit>
<trans-unit id="6762504134540024018" datatype="html">
@ -1971,7 +1975,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">189</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -1987,7 +1991,7 @@
<target state="translated">Prezzo unitario</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">214</context>
<context context-type="linenumber">210</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -2007,7 +2011,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">275</context>
<context context-type="linenumber">271</context>
</context-group>
</trans-unit>
<trans-unit id="2309808536212982229" datatype="html">
@ -2019,7 +2023,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">113</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
@ -2043,7 +2047,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">94</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/activities-page.html</context>
@ -2143,7 +2147,7 @@
<target state="translated">Continenti</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="2003818202621229370" datatype="html">
@ -2159,7 +2163,7 @@
<target state="translated">Ghostfolio ti permette di tenere traccia della tua ricchezza.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">238</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="8298333184054476827" datatype="html">
@ -2307,7 +2311,7 @@
<target state="translated">Vuoi davvero eliminare questa attività?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">292</context>
</context-group>
</trans-unit>
<trans-unit id="5425547984857378790" datatype="html">
@ -2415,7 +2419,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">168</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="7934616470747135563" datatype="html">
@ -2423,7 +2427,7 @@
<target state="new">Latest activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">210</context>
</context-group>
</trans-unit>
<trans-unit id="5834699998566428689" datatype="html">
@ -2443,7 +2447,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">186</context>
<context context-type="linenumber">185</context>
</context-group>
</trans-unit>
<trans-unit id="6966271594418371336" datatype="html">
@ -2455,7 +2459,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">176</context>
</context-group>
</trans-unit>
<trans-unit id="5299488188278756127" datatype="html">
@ -2487,7 +2491,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">53</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="2067863610333602482" datatype="html">
@ -2511,7 +2515,7 @@
<target state="translated">Risparmio</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">397</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="3441715041566940420" datatype="html">
@ -2523,11 +2527,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">352</context>
<context context-type="linenumber">359</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">395</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2547,7 +2551,7 @@
<target state="translated">Deposito</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">385</context>
</context-group>
</trans-unit>
<trans-unit id="6762743264882388498" datatype="html">
@ -2611,7 +2615,7 @@
<target state="translated">Filtra per...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">390</context>
</context-group>
</trans-unit>
<trans-unit id="5342721262799645301" datatype="html">
@ -2687,7 +2691,7 @@
<target state="translated">Escluso dall’analisi</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">274</context>
</context-group>
</trans-unit>
<trans-unit id="616064537937996961" datatype="html">
@ -2731,7 +2735,7 @@
<target state="translated">Importo totale</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/investment-chart/investment-chart.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="5242468862715363747" datatype="html">
@ -2791,7 +2795,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">286</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2847,7 +2851,7 @@
<target state="translated">Contanti</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">219</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2895,7 +2899,7 @@
<target state="new">Authentication</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -2959,7 +2963,7 @@
<target state="translated">Fondo di emergenza</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">168</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -2979,7 +2983,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">437</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="4893616715766810081" datatype="html">
@ -2991,7 +2995,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">195</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -2999,11 +3003,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">439</context>
<context context-type="linenumber">451</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">452</context>
<context context-type="linenumber">465</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -3131,7 +3135,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">372</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -3139,7 +3143,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">198</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
@ -3179,7 +3183,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">309</context>
<context context-type="linenumber">305</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3215,7 +3219,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="4798457301875181136" datatype="html">
@ -3223,7 +3227,7 @@
<target state="translated">Dati del mercato</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">397</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3240,7 +3244,7 @@
</trans-unit>
<trans-unit id="4739818603756173797" datatype="html">
<source>Summary</source>
<target state="translated">Summario</target>
<target state="translated">Riepilogo</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-summary/home-summary.html</context>
<context context-type="linenumber">2</context>
@ -3338,6 +3342,14 @@
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="9218541487912911620" datatype="html">
<source>No Activities</source>
<target state="new">No Activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9219851060664514927" datatype="html">
<source>Retirement Provision</source>
<target state="translated">Fondo pensione</target>
@ -3635,7 +3647,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="296005715452289357" datatype="html">
@ -3799,7 +3811,7 @@
<target state="translated">Vuoi davvero eliminare tutte le tue attività?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">282</context>
</context-group>
</trans-unit>
<trans-unit id="7462039419171681274" datatype="html">
@ -3891,7 +3903,7 @@
<target state="translated">Aggiornamento del saldo di cassa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3045345384616728418" datatype="html">
@ -4071,7 +4083,7 @@
<target state="translated">Passività</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">302</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -4487,7 +4499,7 @@
<target state="translated">Asset</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">226</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6333857424161463201" datatype="html">
@ -4719,7 +4731,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="968149536046938412" datatype="html">
@ -5433,7 +5445,7 @@
<target state="translated">Commissione</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">258</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -5533,7 +5545,7 @@
<target state="translated">Iscrizione</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">67</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -5689,7 +5701,7 @@
<target state="translated">Ops! Impossibile elaborare i dati storici.</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">284</context>
</context-group>
</trans-unit>
<trans-unit id="297546430113071258" datatype="html">
@ -5721,7 +5733,7 @@
<target state="translated">Saldi di cassa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">148</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="1885119601668566713" datatype="html">
@ -5741,7 +5753,7 @@
<target state="translated">Vuoi veramente elimnare il saldo di questo conto?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.ts</context>
<context context-type="linenumber">120</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="3401045354658415524" datatype="html">
@ -5877,7 +5889,7 @@
<target state="new">Close Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">442</context>
<context context-type="linenumber">441</context>
</context-group>
</trans-unit>
<trans-unit id="1605678350626749943" datatype="html">
@ -5917,7 +5929,7 @@
<target state="translated">Da inizio settimana</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5929,7 +5941,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5937,7 +5949,7 @@
<target state="translated">Da inizio mese</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5949,7 +5961,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5957,7 +5969,7 @@
<target state="translated">Da inizio anno</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -6005,7 +6017,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -6017,7 +6029,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="4252274043276232149" datatype="html">
@ -6330,7 +6342,7 @@
<target state="translated">Vorresti <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>perfezionare<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> la tua <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>strategia personale di investimento<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">234</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4455104386790567151" datatype="html">
@ -6746,7 +6758,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">345</context>
<context context-type="linenumber">341</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html</context>
@ -6754,7 +6766,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6792,13 +6804,17 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">68</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">107</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">347</context>
<context context-type="linenumber">343</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6810,7 +6826,7 @@
<target state="new">Role</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">14</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="2807800733729323332" datatype="html">
@ -7102,7 +7118,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7118,7 +7134,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7216,7 +7232,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">98</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="6461489707382666493" datatype="html">
@ -7324,11 +7340,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">356</context>
<context context-type="linenumber">352</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="7156797854368699223" datatype="html">
@ -7480,7 +7496,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
</trans-unit>
<trans-unit id="1322586333669103999" datatype="html">
@ -7500,11 +7516,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">381</context>
<context context-type="linenumber">388</context>
</context-group>
</trans-unit>
<trans-unit id="1325095699053123251" datatype="html">
@ -7608,7 +7624,7 @@
<target state="translated">Token di sicurezza</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7620,7 +7636,7 @@
<target state="translated">Vuoi davvero generare un nuovo token di sicurezza per questo utente?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7628,7 +7644,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7873,25 +7889,25 @@
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
<trans-unit id="rule.feeRatioTotalInvestmentVolume" datatype="html">
<source>Fee Ratio</source>
<target state="translated">Rapporto tariffario</target>
<target state="new">Fee Ratio</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">Le commissioni superano il ${thresholdMax}% del tuo investimento iniziale (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">Le commissioni non superano il ${thresholdMax}% del tuo investimento iniziale (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">158</context>
@ -8064,7 +8080,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
@ -8277,7 +8293,7 @@
<target state="translated">Gestisci profilo risorsa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">466</context>
<context context-type="linenumber">465</context>
</context-group>
</trans-unit>
<trans-unit id="2978009302056542263" datatype="html">
@ -8697,7 +8713,7 @@
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">

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

@ -336,7 +336,7 @@
<target state="translated">현금 잔액</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">148</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9011425576088183078" datatype="html">
@ -388,7 +388,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">139</context>
<context context-type="linenumber">135</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -444,7 +444,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -464,15 +464,15 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">205</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">208</context>
<context context-type="linenumber">204</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">207</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -558,6 +558,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">78</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
<context context-type="linenumber">80</context>
@ -580,7 +584,7 @@
<target state="translated">이 계정을 정말 삭제하시겠습니까?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="3175281009707730014" datatype="html">
@ -620,7 +624,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">155</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -716,7 +720,7 @@
<target state="translated">날짜</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -756,7 +760,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="1806977783783486873" datatype="html">
@ -788,7 +792,7 @@
<target state="translated">다음 기준으로 필터...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">390</context>
</context-group>
</trans-unit>
<trans-unit id="6182733719813772142" datatype="html">
@ -828,7 +832,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">44</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="6130372166370766747" datatype="html">
@ -880,7 +884,7 @@
<target state="translated">이런! 과거 데이터를 파싱할 수 없습니다.</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">284</context>
</context-group>
</trans-unit>
<trans-unit id="1102717806459547726" datatype="html">
@ -912,7 +916,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5299488188278756127" datatype="html">
@ -944,7 +948,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">53</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="4136685477767543249" datatype="html">
@ -964,7 +968,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">114</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="6782077395930235254" datatype="html">
@ -1020,7 +1024,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">275</context>
<context context-type="linenumber">271</context>
</context-group>
</trans-unit>
<trans-unit id="7504169991280318133" datatype="html">
@ -1064,7 +1068,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">120</context>
</context-group>
</trans-unit>
<trans-unit id="8122024350760043460" datatype="html">
@ -1344,7 +1348,7 @@
<target state="translated">이 사용자를 정말로 삭제하시겠습니까?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -1380,7 +1384,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">89</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3462698906491525936" datatype="html">
@ -1536,7 +1540,7 @@
<target state="translated">활동 관리</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-holdings/home-holdings.html</context>
<context context-type="linenumber">67</context>
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="5486880308148746399" datatype="html">
@ -1688,7 +1692,7 @@
<target state="translated">총액</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/investment-chart/investment-chart.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="8192718423057883427" datatype="html">
@ -1800,7 +1804,7 @@
<target state="translated">절대 총 성과</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">73</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="5012084291992448490" datatype="html">
@ -1812,7 +1816,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="4072809765904753879" datatype="html">
@ -1820,7 +1824,7 @@
<target state="translated">절대 순 성과</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1832,7 +1836,7 @@
<target state="translated">순 성과</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">123</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1844,7 +1848,7 @@
<target state="translated">총자산</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">153</context>
</context-group>
</trans-unit>
<trans-unit id="1647750822609779679" datatype="html">
@ -1852,7 +1856,7 @@
<target state="translated">자산</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">226</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4993097165849036956" datatype="html">
@ -1860,7 +1864,7 @@
<target state="translated">매수 가능 금액</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">248</context>
</context-group>
</trans-unit>
<trans-unit id="2105957921933737059" datatype="html">
@ -1868,7 +1872,7 @@
<target state="translated">분석에서 제외됨</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">274</context>
</context-group>
</trans-unit>
<trans-unit id="5003799027167349722" datatype="html">
@ -1876,7 +1880,7 @@
<target state="translated">부채</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">302</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -1888,7 +1892,7 @@
<target state="translated">순자산</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">317</context>
<context context-type="linenumber">324</context>
</context-group>
</trans-unit>
<trans-unit id="293512063893966488" datatype="html">
@ -1896,7 +1900,7 @@
<target state="translated">연환산 성과</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">331</context>
<context context-type="linenumber">338</context>
</context-group>
</trans-unit>
<trans-unit id="5403336912114537863" datatype="html">
@ -1932,7 +1936,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">189</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -1948,7 +1952,7 @@
<target state="translated">데이터 결함 보고</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">451</context>
<context context-type="linenumber">450</context>
</context-group>
</trans-unit>
<trans-unit id="5451369123952965511" datatype="html">
@ -2128,7 +2132,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">363</context>
<context context-type="linenumber">362</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -2140,7 +2144,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -2152,7 +2156,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -2164,7 +2168,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
@ -2184,7 +2188,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">414</context>
</context-group>
</trans-unit>
<trans-unit id="4039692315328513907" datatype="html">
@ -2448,7 +2452,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">11</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="8604673556809626581" datatype="html">
@ -2640,7 +2644,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">85</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.html</context>
@ -2732,7 +2736,7 @@
<target state="translated">시장 데이터</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">397</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -2784,11 +2788,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">45</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">30</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -2932,7 +2936,7 @@
<target state="translated">이미 로그인되어 있으므로 데모 계정에 접근할 수 없습니다.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/demo/demo-page.component.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="5308814695487483464" datatype="html">
@ -3104,7 +3108,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">242</context>
<context context-type="linenumber">241</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
@ -3180,7 +3184,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3648,7 +3652,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">113</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
@ -3672,7 +3676,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">94</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/activities-page.html</context>
@ -3692,7 +3696,7 @@
<target state="translated">정말로 이 활동을 삭제하시겠습니까?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">282</context>
</context-group>
</trans-unit>
<trans-unit id="1111435290645444471" datatype="html">
@ -3760,7 +3764,7 @@
<target state="translated">현금 잔액 업데이트</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="1599232533055023845" datatype="html">
@ -3768,7 +3772,7 @@
<target state="translated">단가</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">214</context>
<context context-type="linenumber">210</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -4008,7 +4012,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="79310201207169632" datatype="html">
@ -4032,7 +4036,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">168</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="7934616470747135563" datatype="html">
@ -4040,7 +4044,7 @@
<target state="translated">최신 활동</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">210</context>
</context-group>
</trans-unit>
<trans-unit id="6966271594418371336" datatype="html">
@ -4052,7 +4056,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">176</context>
</context-group>
</trans-unit>
<trans-unit id="2647097511076811769" datatype="html">
@ -4064,7 +4068,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">186</context>
<context context-type="linenumber">185</context>
</context-group>
</trans-unit>
<trans-unit id="4632243449121794584" datatype="html">
@ -4124,7 +4128,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">372</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -4132,7 +4136,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">198</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
@ -4156,7 +4160,7 @@
<target state="translated">보증금</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">385</context>
</context-group>
</trans-unit>
<trans-unit id="6762743264882388498" datatype="html">
@ -4480,7 +4484,7 @@
<target state="translated">대륙</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="2003818202621229370" datatype="html">
@ -4496,7 +4500,7 @@
<target state="translated">Ghostfolio는 귀하의 재산을 추적할 수 있도록 해줍니다.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">238</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="8298333184054476827" datatype="html">
@ -4869,7 +4873,7 @@
<target state="translated">멤버십</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">67</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -4937,7 +4941,7 @@
<target state="translated">정말로 이 계정 잔액을 삭제하시겠습니까?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.ts</context>
<context context-type="linenumber">120</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="5388209493122807655" datatype="html">
@ -4993,7 +4997,7 @@
<target state="translated">정말로 이 활동을 삭제하시겠습니까?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">292</context>
</context-group>
</trans-unit>
<trans-unit id="3060494754215793943" datatype="html">
@ -5113,11 +5117,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">352</context>
<context context-type="linenumber">359</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">395</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5129,7 +5133,7 @@
<target state="translated">저금</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">397</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="8927080808898221200" datatype="html">
@ -5157,7 +5161,7 @@
<target state="translated">모두 표시</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">212</context>
</context-group>
</trans-unit>
<trans-unit id="4086606389696938932" datatype="html">
@ -5209,7 +5213,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">286</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5241,7 +5245,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">309</context>
<context context-type="linenumber">305</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5285,7 +5289,7 @@
<target state="translated">비상자금</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">168</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -5361,7 +5365,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">437</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="6333857424161463201" datatype="html">
@ -5372,6 +5376,14 @@
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="9218541487912911620" datatype="html">
<source>No Activities</source>
<target state="new">No Activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9219851060664514927" datatype="html">
<source>Retirement Provision</source>
<target state="translated">퇴직금</target>
@ -5489,7 +5501,7 @@
<target state="translated">요금</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">258</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -5533,7 +5545,7 @@
<target state="translated">현금</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">219</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5581,7 +5593,7 @@
<target state="translated">입증</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -5749,7 +5761,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">195</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -5757,11 +5769,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">439</context>
<context context-type="linenumber">451</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">452</context>
<context context-type="linenumber">465</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5877,7 +5889,7 @@
<target state="translated">닫기 보유</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">442</context>
<context context-type="linenumber">441</context>
</context-group>
</trans-unit>
<trans-unit id="1605678350626749943" datatype="html">
@ -5941,7 +5953,7 @@
<target state="translated">연초 현재</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
@ -5949,7 +5961,7 @@
<target state="translated">이번주 현재까지</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5957,7 +5969,7 @@
<target state="translated">월간 누계</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5969,7 +5981,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5981,7 +5993,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="4602065467346820556" datatype="html">
@ -6029,7 +6041,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -6041,7 +6053,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="4252274043276232149" datatype="html">
@ -6354,7 +6366,7 @@
<target state="translated"><x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>개인 투자 전략<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>을 <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>개선<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>하시겠습니까?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">234</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="1099393285611854080" datatype="html">
@ -6730,7 +6742,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">345</context>
<context context-type="linenumber">341</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html</context>
@ -6738,7 +6750,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6750,7 +6762,7 @@
<target state="translated">역할</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">14</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="2807800733729323332" datatype="html">
@ -6808,13 +6820,17 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">68</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">107</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">347</context>
<context context-type="linenumber">343</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -7126,7 +7142,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7155,7 +7171,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7256,7 +7272,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">98</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="6461489707382666493" datatype="html">
@ -7348,11 +7364,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">356</context>
<context context-type="linenumber">352</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="1769610706135259386" datatype="html">
@ -7504,7 +7520,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
</trans-unit>
<trans-unit id="1322586333669103999" datatype="html">
@ -7524,11 +7540,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">381</context>
<context context-type="linenumber">388</context>
</context-group>
</trans-unit>
<trans-unit id="1325095699053123251" datatype="html">
@ -7632,7 +7648,7 @@
<target state="translated">정말로 이 사용자에 대한 새 보안 토큰을 생성하시겠습니까?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7640,7 +7656,7 @@
<target state="translated">계정, 보유 또는 페이지 찾기...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="8944214829054650479" datatype="html">
@ -7648,7 +7664,7 @@
<target state="translated">보안 토큰</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7873,25 +7889,25 @@
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
<trans-unit id="rule.feeRatioTotalInvestmentVolume" datatype="html">
<source>Fee Ratio</source>
<target state="translated">수수료 비율</target>
<target state="new">Fee Ratio</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">수수료가 초기 투자금(${feeRatio}%)의 ${thresholdMax}%를 초과합니다.</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">수수료는 초기 투자금의 ${thresholdMax}%(${feeRatio}%)를 초과하지 않습니다.</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">158</context>
@ -8064,7 +8080,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
@ -8277,7 +8293,7 @@
<target state="translated">자산 프로필 관리</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">466</context>
<context context-type="linenumber">465</context>
</context-group>
</trans-unit>
<trans-unit id="2978009302056542263" datatype="html">
@ -8697,7 +8713,7 @@
<target state="translated">등록일</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="5606994816647505945" datatype="html">

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

File diff suppressed because it is too large

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

@ -379,7 +379,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">139</context>
<context context-type="linenumber">135</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -435,7 +435,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -455,15 +455,15 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">205</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">208</context>
<context context-type="linenumber">204</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">207</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -549,6 +549,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">78</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
<context context-type="linenumber">80</context>
@ -571,7 +575,7 @@
<target state="translated">Czy na pewno chcesz usunąć to konto?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="3175281009707730014" datatype="html">
@ -611,7 +615,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">155</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -707,7 +711,7 @@
<target state="translated">Data</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -747,7 +751,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="1806977783783486873" datatype="html">
@ -779,7 +783,7 @@
<target state="translated">Filtruj według...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">390</context>
</context-group>
</trans-unit>
<trans-unit id="6182733719813772142" datatype="html">
@ -819,7 +823,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">44</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="6130372166370766747" datatype="html">
@ -855,7 +859,7 @@
<target state="translated">Ups! Nie udało się sparsować danych historycznych.</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">284</context>
</context-group>
</trans-unit>
<trans-unit id="1102717806459547726" datatype="html">
@ -879,7 +883,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5299488188278756127" datatype="html">
@ -911,7 +915,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">53</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="4136685477767543249" datatype="html">
@ -931,7 +935,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">114</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="6782077395930235254" datatype="html">
@ -987,7 +991,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">275</context>
<context context-type="linenumber">271</context>
</context-group>
</trans-unit>
<trans-unit id="7504169991280318133" datatype="html">
@ -1031,7 +1035,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">120</context>
</context-group>
</trans-unit>
<trans-unit id="8122024350760043460" datatype="html">
@ -1311,7 +1315,7 @@
<target state="translated">Czy na pewno chcesz usunąć tego użytkownika?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -1347,7 +1351,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">89</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3462698906491525936" datatype="html">
@ -1503,7 +1507,7 @@
<target state="translated">Zarządzaj Aktywnościami</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-holdings/home-holdings.html</context>
<context context-type="linenumber">67</context>
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="5486880308148746399" datatype="html">
@ -1655,7 +1659,7 @@
<target state="translated">Całkowita Kwota</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/investment-chart/investment-chart.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="8192718423057883427" datatype="html">
@ -1767,7 +1771,7 @@
<target state="translated">Bezwzględne Osiągi Brutto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">73</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="5012084291992448490" datatype="html">
@ -1779,7 +1783,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="4072809765904753879" datatype="html">
@ -1787,7 +1791,7 @@
<target state="translated">Bezwzględne Osiągi Netto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1799,7 +1803,7 @@
<target state="translated">Osiągi Netto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">123</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1811,7 +1815,7 @@
<target state="translated">Suma Aktywów</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">153</context>
</context-group>
</trans-unit>
<trans-unit id="1647750822609779679" datatype="html">
@ -1819,7 +1823,7 @@
<target state="translated">Aktywa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">226</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4993097165849036956" datatype="html">
@ -1827,7 +1831,7 @@
<target state="translated">Siła Nabywcza</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">248</context>
</context-group>
</trans-unit>
<trans-unit id="2105957921933737059" datatype="html">
@ -1835,7 +1839,7 @@
<target state="translated">Wykluczone z Analizy</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">274</context>
</context-group>
</trans-unit>
<trans-unit id="5003799027167349722" datatype="html">
@ -1843,7 +1847,7 @@
<target state="translated">Pasywa (Zobowiązania Finansowe)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">302</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -1855,7 +1859,7 @@
<target state="translated">Wartość Netto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">317</context>
<context context-type="linenumber">324</context>
</context-group>
</trans-unit>
<trans-unit id="293512063893966488" datatype="html">
@ -1863,7 +1867,7 @@
<target state="translated">Osiągi w Ujęciu Rocznym</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">331</context>
<context context-type="linenumber">338</context>
</context-group>
</trans-unit>
<trans-unit id="5403336912114537863" datatype="html">
@ -1899,7 +1903,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">189</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -1915,7 +1919,7 @@
<target state="translated">Zgłoś Błąd Danych</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">451</context>
<context context-type="linenumber">450</context>
</context-group>
</trans-unit>
<trans-unit id="5451369123952965511" datatype="html">
@ -2095,7 +2099,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">363</context>
<context context-type="linenumber">362</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -2107,7 +2111,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -2119,7 +2123,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -2131,7 +2135,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
@ -2151,7 +2155,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">414</context>
</context-group>
</trans-unit>
<trans-unit id="4039692315328513907" datatype="html">
@ -2415,7 +2419,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">11</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="8604673556809626581" datatype="html">
@ -2607,7 +2611,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">85</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.html</context>
@ -2699,7 +2703,7 @@
<target state="translated">Dane Rynkowe</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">397</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -2751,11 +2755,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">45</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">30</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -2899,7 +2903,7 @@
<target state="translated">Ponieważ jesteś już zalogowany, nie możesz uzyskać dostępu do konta demo.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/demo/demo-page.component.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="5308814695487483464" datatype="html">
@ -3071,7 +3075,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">242</context>
<context context-type="linenumber">241</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
@ -3147,7 +3151,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3615,7 +3619,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">113</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
@ -3639,7 +3643,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">94</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/activities-page.html</context>
@ -3659,7 +3663,7 @@
<target state="translated">Czy na pewno chcesz usunąć te aktywności?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">282</context>
</context-group>
</trans-unit>
<trans-unit id="1111435290645444471" datatype="html">
@ -3727,7 +3731,7 @@
<target state="translated">Zaktualizuj Saldo Gotówkowe</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="1599232533055023845" datatype="html">
@ -3735,7 +3739,7 @@
<target state="translated">Cena Jednostkowa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">214</context>
<context context-type="linenumber">210</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -3975,7 +3979,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="79310201207169632" datatype="html">
@ -3999,7 +4003,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">168</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="7934616470747135563" datatype="html">
@ -4007,7 +4011,7 @@
<target state="new">Latest activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">210</context>
</context-group>
</trans-unit>
<trans-unit id="6966271594418371336" datatype="html">
@ -4019,7 +4023,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">176</context>
</context-group>
</trans-unit>
<trans-unit id="2647097511076811769" datatype="html">
@ -4031,7 +4035,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">186</context>
<context context-type="linenumber">185</context>
</context-group>
</trans-unit>
<trans-unit id="4632243449121794584" datatype="html">
@ -4091,7 +4095,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">372</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -4099,7 +4103,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">198</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
@ -4123,7 +4127,7 @@
<target state="translated">Depozyt</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">385</context>
</context-group>
</trans-unit>
<trans-unit id="6762743264882388498" datatype="html">
@ -4447,7 +4451,7 @@
<target state="translated">Kontynenty</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="2003818202621229370" datatype="html">
@ -4463,7 +4467,7 @@
<target state="translated">Ghostfolio umożliwia śledzenie wartości swojego majątku.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">238</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="8298333184054476827" datatype="html">
@ -4824,7 +4828,7 @@
<target state="translated">Członkostwo</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">67</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -4940,7 +4944,7 @@
<target state="translated">Czy na pewno chcesz usunąć tę działalność?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">292</context>
</context-group>
</trans-unit>
<trans-unit id="3060494754215793943" datatype="html">
@ -5044,11 +5048,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">352</context>
<context context-type="linenumber">359</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">395</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5060,7 +5064,7 @@
<target state="translated">Oszczędności</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">397</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="8927080808898221200" datatype="html">
@ -5088,7 +5092,7 @@
<target state="translated">Pokaż wszystko</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">212</context>
</context-group>
</trans-unit>
<trans-unit id="4086606389696938932" datatype="html">
@ -5140,7 +5144,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">286</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5172,7 +5176,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">309</context>
<context context-type="linenumber">305</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5216,7 +5220,7 @@
<target state="translated">Fundusz Rezerwowy</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">168</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -5292,7 +5296,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">437</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="6333857424161463201" datatype="html">
@ -5303,6 +5307,14 @@
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="9218541487912911620" datatype="html">
<source>No Activities</source>
<target state="new">No Activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9219851060664514927" datatype="html">
<source>Retirement Provision</source>
<target state="translated">Świadczenia Emerytalne</target>
@ -5420,7 +5432,7 @@
<target state="translated">Opłata</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">258</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -5464,7 +5476,7 @@
<target state="translated">Gotówka</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">219</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5512,7 +5524,7 @@
<target state="new">Authentication</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -5680,7 +5692,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">195</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -5688,11 +5700,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">439</context>
<context context-type="linenumber">451</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">452</context>
<context context-type="linenumber">465</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5720,7 +5732,7 @@
<target state="translated">Salda Gotówkowe</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">148</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="1885119601668566713" datatype="html">
@ -5740,7 +5752,7 @@
<target state="translated">Czy na pewno chcesz usunąć saldo tego konta?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.ts</context>
<context context-type="linenumber">120</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="3401045354658415524" datatype="html">
@ -5876,7 +5888,7 @@
<target state="new">Close Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">442</context>
<context context-type="linenumber">441</context>
</context-group>
</trans-unit>
<trans-unit id="1605678350626749943" datatype="html">
@ -5916,7 +5928,7 @@
<target state="translated">Dotychczasowy tydzień</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5928,7 +5940,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5936,7 +5948,7 @@
<target state="translated">Od początku miesiąca</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5948,7 +5960,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5956,7 +5968,7 @@
<target state="translated">Od początku roku</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -6004,7 +6016,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -6016,7 +6028,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="4252274043276232149" datatype="html">
@ -6329,7 +6341,7 @@
<target state="translated">Chcesz <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>udoskonalić<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> swoją <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>osobistą strategię inwestycyjną<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">234</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4455104386790567151" datatype="html">
@ -6745,7 +6757,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">345</context>
<context context-type="linenumber">341</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html</context>
@ -6753,7 +6765,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6791,13 +6803,17 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">68</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">107</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">347</context>
<context context-type="linenumber">343</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6809,7 +6825,7 @@
<target state="new">Role</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">14</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="2807800733729323332" datatype="html">
@ -7101,7 +7117,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7117,7 +7133,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7215,7 +7231,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">98</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="6461489707382666493" datatype="html">
@ -7323,11 +7339,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">356</context>
<context context-type="linenumber">352</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="7156797854368699223" datatype="html">
@ -7479,7 +7495,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
</trans-unit>
<trans-unit id="1322586333669103999" datatype="html">
@ -7499,11 +7515,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">381</context>
<context context-type="linenumber">388</context>
</context-group>
</trans-unit>
<trans-unit id="1325095699053123251" datatype="html">
@ -7607,7 +7623,7 @@
<target state="translated">Token bezpieczeństwa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7619,7 +7635,7 @@
<target state="translated">Czy napewno chcesz wygenerować nowy token bezpieczeństwa dla tego użytkownika?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7627,7 +7643,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7872,25 +7888,25 @@
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
<trans-unit id="rule.feeRatioTotalInvestmentVolume" datatype="html">
<source>Fee Ratio</source>
<target state="translated">Stosunek opłat</target>
<target state="new">Fee Ratio</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">Opłaty przekraczają ${thresholdMax}% początkowej inwestycji (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">Opłaty nie przekraczają ${thresholdMax}% początkowej inwestycji (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">158</context>
@ -8063,7 +8079,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
@ -8276,7 +8292,7 @@
<target state="translated">Zarządzaj profilem aktywów</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">466</context>
<context context-type="linenumber">465</context>
</context-group>
</trans-unit>
<trans-unit id="2978009302056542263" datatype="html">
@ -8696,7 +8712,7 @@
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">

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

@ -142,7 +142,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">139</context>
<context context-type="linenumber">135</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -198,7 +198,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -234,15 +234,15 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">205</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">208</context>
<context context-type="linenumber">204</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">207</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -328,6 +328,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">78</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
<context context-type="linenumber">80</context>
@ -350,7 +354,7 @@
<target state="translated">Pretende realmente eliminar esta conta?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="1107354728956440783" datatype="html">
@ -370,7 +374,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">155</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -490,7 +494,7 @@
<target state="translated">Data</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -526,7 +530,7 @@
<target state="translated">Filtrar por...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">390</context>
</context-group>
</trans-unit>
<trans-unit id="6182733719813772142" datatype="html">
@ -566,7 +570,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">44</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="3720539089813177542" datatype="html">
@ -710,7 +714,7 @@
<target state="translated">Deseja realmente excluir este utilizador?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -746,7 +750,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">89</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3462698906491525936" datatype="html">
@ -878,7 +882,7 @@
<target state="translated">Gerir Atividades</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-holdings/home-holdings.html</context>
<context context-type="linenumber">67</context>
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="5486880308148746399" datatype="html">
@ -938,7 +942,7 @@
<target state="translated">Depósito</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">385</context>
</context-group>
</trans-unit>
<trans-unit id="112783260724635106" datatype="html">
@ -946,7 +950,7 @@
<target state="translated">Valor Total</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/investment-chart/investment-chart.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="8192718423057883427" datatype="html">
@ -1058,7 +1062,7 @@
<target state="translated">Desempenho Bruto Absoluto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">73</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="4072809765904753879" datatype="html">
@ -1066,7 +1070,7 @@
<target state="translated">Desempenho Líquido Absoluto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1078,7 +1082,7 @@
<target state="translated">Desempenho Líquido</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">123</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1090,7 +1094,7 @@
<target state="translated">Ativos Totais</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">153</context>
</context-group>
</trans-unit>
<trans-unit id="4993097165849036956" datatype="html">
@ -1098,7 +1102,7 @@
<target state="translated">Poder de Compra</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">248</context>
</context-group>
</trans-unit>
<trans-unit id="2105957921933737059" datatype="html">
@ -1106,7 +1110,7 @@
<target state="translated">Excluído da Análise</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">274</context>
</context-group>
</trans-unit>
<trans-unit id="7969271348484693017" datatype="html">
@ -1114,7 +1118,7 @@
<target state="translated">Valor Líquido</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">317</context>
<context context-type="linenumber">324</context>
</context-group>
</trans-unit>
<trans-unit id="293512063893966488" datatype="html">
@ -1122,7 +1126,7 @@
<target state="translated">Desempenho Anual</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">331</context>
<context context-type="linenumber">338</context>
</context-group>
</trans-unit>
<trans-unit id="5403336912114537863" datatype="html">
@ -1158,7 +1162,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">189</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -1198,7 +1202,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">53</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="4136685477767543249" datatype="html">
@ -1218,7 +1222,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">114</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="6782077395930235254" datatype="html">
@ -1258,7 +1262,7 @@
<target state="translated">Dados do Relatório com Problema</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">451</context>
<context context-type="linenumber">450</context>
</context-group>
</trans-unit>
<trans-unit id="8927080808898221200" datatype="html">
@ -1286,7 +1290,7 @@
<target state="translated">Mostrar tudo</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">212</context>
</context-group>
</trans-unit>
<trans-unit id="6048892649018070225" datatype="html">
@ -1298,7 +1302,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">363</context>
<context context-type="linenumber">362</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1310,7 +1314,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1322,7 +1326,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1334,7 +1338,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
@ -1354,7 +1358,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">414</context>
</context-group>
</trans-unit>
<trans-unit id="4190182554887994764" datatype="html">
@ -1666,7 +1670,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">11</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="5369707274411995821" datatype="html">
@ -1718,7 +1722,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">85</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.html</context>
@ -1886,7 +1890,7 @@
<target state="translated">Como já tem sessão iniciada, não pode aceder à conta de demonstração.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/demo/demo-page.component.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="5308814695487483464" datatype="html">
@ -1950,11 +1954,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">45</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">30</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1994,7 +1998,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -2022,7 +2026,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">113</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
@ -2046,7 +2050,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">94</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/activities-page.html</context>
@ -2118,7 +2122,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">120</context>
</context-group>
</trans-unit>
<trans-unit id="1599232533055023845" datatype="html">
@ -2126,7 +2130,7 @@
<target state="translated">Preço por Unidade</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">214</context>
<context context-type="linenumber">210</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -2146,7 +2150,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">275</context>
<context context-type="linenumber">271</context>
</context-group>
</trans-unit>
<trans-unit id="848497846891931418" datatype="html">
@ -2282,7 +2286,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="79310201207169632" datatype="html">
@ -2306,7 +2310,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">168</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="7934616470747135563" datatype="html">
@ -2314,7 +2318,7 @@
<target state="new">Latest activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">210</context>
</context-group>
</trans-unit>
<trans-unit id="6966271594418371336" datatype="html">
@ -2326,7 +2330,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">176</context>
</context-group>
</trans-unit>
<trans-unit id="2647097511076811769" datatype="html">
@ -2338,7 +2342,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">186</context>
<context context-type="linenumber">185</context>
</context-group>
</trans-unit>
<trans-unit id="2948175671993825247" datatype="html">
@ -2482,7 +2486,7 @@
<target state="translated">Continentes</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="2003818202621229370" datatype="html">
@ -2498,7 +2502,7 @@
<target state="translated">O Ghostfolio permite-lhe estar a par e gerir a sua riqueza.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">238</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="2045779543869682721" datatype="html">
@ -2526,7 +2530,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">242</context>
<context context-type="linenumber">241</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
@ -2698,7 +2702,7 @@
<target state="translated">Deseja realmente eliminar esta atividade?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">292</context>
</context-group>
</trans-unit>
<trans-unit id="5425547984857378790" datatype="html">
@ -2750,11 +2754,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">352</context>
<context context-type="linenumber">359</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">395</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2766,7 +2770,7 @@
<target state="translated">Poupanças</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">397</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="4086606389696938932" datatype="html">
@ -2810,7 +2814,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">286</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2826,7 +2830,7 @@
<target state="translated">Fundo de Emergência</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">168</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -2846,7 +2850,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">437</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="8106025670158480144" datatype="html">
@ -2894,7 +2898,7 @@
<target state="translated">Dinheiro</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">219</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -2942,7 +2946,7 @@
<target state="new">Authentication</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -3074,7 +3078,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">195</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -3082,11 +3086,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">439</context>
<context context-type="linenumber">451</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">452</context>
<context context-type="linenumber">465</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -3130,7 +3134,7 @@
<target state="translated">Dados de Mercado</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">397</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3170,7 +3174,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="7763941937414903315" datatype="html">
@ -3194,7 +3198,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">372</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -3202,7 +3206,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">198</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
@ -3242,7 +3246,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">309</context>
<context context-type="linenumber">305</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -3337,6 +3341,14 @@
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="9218541487912911620" datatype="html">
<source>No Activities</source>
<target state="new">No Activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9219851060664514927" datatype="html">
<source>Retirement Provision</source>
<target state="translated">Provisão de Reforma</target>
@ -3634,7 +3646,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="296005715452289357" datatype="html">
@ -3798,7 +3810,7 @@
<target state="translated">Deseja mesmo eliminar estas atividades?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">282</context>
</context-group>
</trans-unit>
<trans-unit id="7462039419171681274" datatype="html">
@ -3890,7 +3902,7 @@
<target state="translated">Atualizar saldo em Dinheiro</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3045345384616728418" datatype="html">
@ -4070,7 +4082,7 @@
<target state="translated">Responsabilidades</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">302</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -4486,7 +4498,7 @@
<target state="translated">Ativos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">226</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="6333857424161463201" datatype="html">
@ -4718,7 +4730,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="968149536046938412" datatype="html">
@ -5432,7 +5444,7 @@
<target state="translated">Taxa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">258</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -5532,7 +5544,7 @@
<target state="translated">Associação</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">67</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -5688,7 +5700,7 @@
<target state="translated">Ops! Não foi possível analisar os dados históricos.</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">284</context>
</context-group>
</trans-unit>
<trans-unit id="297546430113071258" datatype="html">
@ -5720,7 +5732,7 @@
<target state="translated">Saldos de caixa</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">148</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="1885119601668566713" datatype="html">
@ -5740,7 +5752,7 @@
<target state="translated">Você realmente deseja excluir o saldo desta conta?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.ts</context>
<context context-type="linenumber">120</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="3401045354658415524" datatype="html">
@ -5876,7 +5888,7 @@
<target state="new">Close Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">442</context>
<context context-type="linenumber">441</context>
</context-group>
</trans-unit>
<trans-unit id="1605678350626749943" datatype="html">
@ -5916,7 +5928,7 @@
<target state="translated">Semana até agora</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5928,7 +5940,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5936,7 +5948,7 @@
<target state="translated">Do mês até a data</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5948,7 +5960,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5956,7 +5968,7 @@
<target state="translated">No acumulado do ano</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -6004,7 +6016,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -6016,7 +6028,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="4252274043276232149" datatype="html">
@ -6329,7 +6341,7 @@
<target state="translated">Você gostaria de <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>refinar<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> seu <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>estratégia de investimento pessoal<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">234</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4455104386790567151" datatype="html">
@ -6745,7 +6757,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">345</context>
<context context-type="linenumber">341</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html</context>
@ -6753,7 +6765,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6791,13 +6803,17 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">68</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">107</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">347</context>
<context context-type="linenumber">343</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6809,7 +6825,7 @@
<target state="new">Role</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">14</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="2807800733729323332" datatype="html">
@ -7101,7 +7117,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7117,7 +7133,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7215,7 +7231,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">98</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="6461489707382666493" datatype="html">
@ -7323,11 +7339,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">356</context>
<context context-type="linenumber">352</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="7156797854368699223" datatype="html">
@ -7479,7 +7495,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
</trans-unit>
<trans-unit id="1322586333669103999" datatype="html">
@ -7499,11 +7515,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">381</context>
<context context-type="linenumber">388</context>
</context-group>
</trans-unit>
<trans-unit id="1325095699053123251" datatype="html">
@ -7607,7 +7623,7 @@
<target state="new">Security token</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7619,7 +7635,7 @@
<target state="new">Do you really want to generate a new security token for this user?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7627,7 +7643,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7872,7 +7888,7 @@
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
<trans-unit id="rule.feeRatioTotalInvestmentVolume" datatype="html">
<source>Fee Ratio</source>
<target state="new">Fee Ratio</target>
<context-group purpose="location">
@ -7880,17 +7896,17 @@
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="new">The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="new">The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">158</context>
@ -8063,7 +8079,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
@ -8276,7 +8292,7 @@
<target state="translated">Gerenciar perfil de ativos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">466</context>
<context context-type="linenumber">465</context>
</context-group>
</trans-unit>
<trans-unit id="2978009302056542263" datatype="html">
@ -8696,7 +8712,7 @@
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">

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

@ -339,7 +339,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">139</context>
<context context-type="linenumber">135</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -395,7 +395,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -415,15 +415,15 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">205</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">208</context>
<context context-type="linenumber">204</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">207</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -509,6 +509,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">78</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
<context context-type="linenumber">80</context>
@ -531,7 +535,7 @@
<target state="translated">Bu hesabı silmeyi gerçekten istiyor musunuz?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="1107354728956440783" datatype="html">
@ -551,7 +555,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">155</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -671,7 +675,7 @@
<target state="translated">Tarih</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -711,7 +715,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="1806977783783486873" datatype="html">
@ -735,7 +739,7 @@
<target state="translated">Filtrele...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">390</context>
</context-group>
</trans-unit>
<trans-unit id="6182733719813772142" datatype="html">
@ -775,7 +779,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">44</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="6130372166370766747" datatype="html">
@ -843,7 +847,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">53</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="4136685477767543249" datatype="html">
@ -863,7 +867,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">114</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="6782077395930235254" datatype="html">
@ -919,7 +923,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">275</context>
<context context-type="linenumber">271</context>
</context-group>
</trans-unit>
<trans-unit id="7504169991280318133" datatype="html">
@ -947,7 +951,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">120</context>
</context-group>
</trans-unit>
<trans-unit id="8122024350760043460" datatype="html">
@ -1179,7 +1183,7 @@
<target state="translated">Bu kullanıcıyı silmeyi gerçekten istiyor musunuz?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -1215,7 +1219,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">89</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3462698906491525936" datatype="html">
@ -1371,7 +1375,7 @@
<target state="translated">İşlemleri Yönet</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-holdings/home-holdings.html</context>
<context context-type="linenumber">67</context>
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="5486880308148746399" datatype="html">
@ -1523,7 +1527,7 @@
<target state="translated">Toplam Tutar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/investment-chart/investment-chart.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="8192718423057883427" datatype="html">
@ -1635,7 +1639,7 @@
<target state="translated">Toplam Brüt Performans</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">73</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="4072809765904753879" datatype="html">
@ -1643,7 +1647,7 @@
<target state="translated">Toplam Net Performans</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1655,7 +1659,7 @@
<target state="translated">Net Performans</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">123</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1667,7 +1671,7 @@
<target state="translated">Toplam Varlıklar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">153</context>
</context-group>
</trans-unit>
<trans-unit id="1647750822609779679" datatype="html">
@ -1675,7 +1679,7 @@
<target state="translated">Varlıklar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">226</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4993097165849036956" datatype="html">
@ -1683,7 +1687,7 @@
<target state="translated">Alım Limiti</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">248</context>
</context-group>
</trans-unit>
<trans-unit id="2105957921933737059" datatype="html">
@ -1691,7 +1695,7 @@
<target state="translated">Analize Dahil Edilmemiştir.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">274</context>
</context-group>
</trans-unit>
<trans-unit id="5003799027167349722" datatype="html">
@ -1699,7 +1703,7 @@
<target state="translated">Yükümlülükler</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">302</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -1711,7 +1715,7 @@
<target state="translated">Toplam Varlık</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">317</context>
<context context-type="linenumber">324</context>
</context-group>
</trans-unit>
<trans-unit id="293512063893966488" datatype="html">
@ -1719,7 +1723,7 @@
<target state="translated">Yıllıklandırılmış Performans</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">331</context>
<context context-type="linenumber">338</context>
</context-group>
</trans-unit>
<trans-unit id="5403336912114537863" datatype="html">
@ -1755,7 +1759,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">189</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -1775,7 +1779,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="5376727317218692773" datatype="html">
@ -1783,7 +1787,7 @@
<target state="translated">Rapor Veri Sorunu</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">451</context>
<context context-type="linenumber">450</context>
</context-group>
</trans-unit>
<trans-unit id="5451369123952965511" datatype="html">
@ -1963,7 +1967,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">363</context>
<context context-type="linenumber">362</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1975,7 +1979,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1987,7 +1991,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1999,7 +2003,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
@ -2019,7 +2023,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">414</context>
</context-group>
</trans-unit>
<trans-unit id="4190182554887994764" datatype="html">
@ -2203,7 +2207,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">85</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.html</context>
@ -2263,7 +2267,7 @@
<target state="translated">Piyasa Verileri</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">397</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -2315,11 +2319,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">45</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">30</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -2463,7 +2467,7 @@
<target state="translated">Oturum açmış olduğunuz için demo hesabına erişemezsiniz.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/demo/demo-page.component.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="5308814695487483464" datatype="html">
@ -2647,7 +2651,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">242</context>
<context context-type="linenumber">241</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
@ -2723,7 +2727,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3115,7 +3119,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">113</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
@ -3139,7 +3143,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">94</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/activities-page.html</context>
@ -3159,7 +3163,7 @@
<target state="translated">Tüm işlemlerinizi silmeyi gerçekten istiyor musunuz?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">282</context>
</context-group>
</trans-unit>
<trans-unit id="1111435290645444471" datatype="html">
@ -3203,7 +3207,7 @@
<target state="translated">Nakit Bakiyesini Güncelle</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="1599232533055023845" datatype="html">
@ -3211,7 +3215,7 @@
<target state="translated">Birim Fiyat</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">214</context>
<context context-type="linenumber">210</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -3367,7 +3371,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="2666668717343771434" datatype="html">
@ -3459,7 +3463,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="79310201207169632" datatype="html">
@ -3483,7 +3487,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">168</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="7934616470747135563" datatype="html">
@ -3491,7 +3495,7 @@
<target state="new">Latest activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">210</context>
</context-group>
</trans-unit>
<trans-unit id="6966271594418371336" datatype="html">
@ -3503,7 +3507,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">176</context>
</context-group>
</trans-unit>
<trans-unit id="2647097511076811769" datatype="html">
@ -3515,7 +3519,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">186</context>
<context context-type="linenumber">185</context>
</context-group>
</trans-unit>
<trans-unit id="4632243449121794584" datatype="html">
@ -3575,7 +3579,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">372</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -3583,7 +3587,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">198</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
@ -3607,7 +3611,7 @@
<target state="translated">Para Yatırma</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">385</context>
</context-group>
</trans-unit>
<trans-unit id="6762743264882388498" datatype="html">
@ -3931,7 +3935,7 @@
<target state="translated">Kıtalar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="2003818202621229370" datatype="html">
@ -3947,7 +3951,7 @@
<target state="translated">Ghostfolio, varlıklarınızı takip etmenizi sağlar.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">238</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="8298333184054476827" datatype="html">
@ -4568,7 +4572,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">11</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="8604673556809626581" datatype="html">
@ -4664,7 +4668,7 @@
<target state="translated">TBu işlemi silmeyi gerçekten istiyor musunuz?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">292</context>
</context-group>
</trans-unit>
<trans-unit id="5425547984857378790" datatype="html">
@ -4740,11 +4744,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">352</context>
<context context-type="linenumber">359</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">395</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4756,7 +4760,7 @@
<target state="translated">Tasarruflar</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">397</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="8927080808898221200" datatype="html">
@ -4784,7 +4788,7 @@
<target state="translated">Tümünü göster</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">212</context>
</context-group>
</trans-unit>
<trans-unit id="4086606389696938932" datatype="html">
@ -4836,7 +4840,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">286</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4868,7 +4872,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">309</context>
<context context-type="linenumber">305</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4912,7 +4916,7 @@
<target state="translated">Acil Durum Fonu</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">168</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -4988,7 +4992,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">437</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="6333857424161463201" datatype="html">
@ -4999,6 +5003,14 @@
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="9218541487912911620" datatype="html">
<source>No Activities</source>
<target state="new">No Activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9219851060664514927" datatype="html">
<source>Retirement Provision</source>
<target state="translated">Yaşlılık Provizyonu</target>
@ -5144,7 +5156,7 @@
<target state="translated">Nakit</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">219</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5192,7 +5204,7 @@
<target state="new">Authentication</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -5324,7 +5336,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">195</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -5332,11 +5344,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">439</context>
<context context-type="linenumber">451</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">452</context>
<context context-type="linenumber">465</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5440,7 +5452,7 @@
<target state="translated">Ücret</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">258</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -5532,7 +5544,7 @@
<target state="translated">Üyelik</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">67</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -5688,7 +5700,7 @@
<target state="translated">Hay Allah! Geçmiş veriler ayrıştırılamadı.</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">284</context>
</context-group>
</trans-unit>
<trans-unit id="297546430113071258" datatype="html">
@ -5720,7 +5732,7 @@
<target state="translated">Nakit Bakiyeleri</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">148</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="1885119601668566713" datatype="html">
@ -5740,7 +5752,7 @@
<target state="translated">Bu nakit bakiyesini silmeyi gerçekten istiyor musunuz?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.ts</context>
<context context-type="linenumber">120</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="3401045354658415524" datatype="html">
@ -5876,7 +5888,7 @@
<target state="new">Close Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">442</context>
<context context-type="linenumber">441</context>
</context-group>
</trans-unit>
<trans-unit id="1605678350626749943" datatype="html">
@ -5916,7 +5928,7 @@
<target state="translated">Hafta içi</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5928,7 +5940,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5936,7 +5948,7 @@
<target state="translated">Ay içi</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5948,7 +5960,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -5956,7 +5968,7 @@
<target state="translated">Yıl içi</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="2509141182388535183" datatype="html">
@ -6004,7 +6016,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -6016,7 +6028,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="4252274043276232149" datatype="html">
@ -6329,7 +6341,7 @@
<target state="translated">Senin <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>özel yatırım stratejinizi<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> iyileştirmek ister misin?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">234</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4455104386790567151" datatype="html">
@ -6745,7 +6757,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">345</context>
<context context-type="linenumber">341</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html</context>
@ -6753,7 +6765,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6791,13 +6803,17 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">68</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">107</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">347</context>
<context context-type="linenumber">343</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6809,7 +6825,7 @@
<target state="new">Role</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">14</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="2807800733729323332" datatype="html">
@ -7101,7 +7117,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7117,7 +7133,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7215,7 +7231,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">98</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="6461489707382666493" datatype="html">
@ -7323,11 +7339,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">356</context>
<context context-type="linenumber">352</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="7156797854368699223" datatype="html">
@ -7479,7 +7495,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
</trans-unit>
<trans-unit id="1322586333669103999" datatype="html">
@ -7499,11 +7515,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">381</context>
<context context-type="linenumber">388</context>
</context-group>
</trans-unit>
<trans-unit id="1325095699053123251" datatype="html">
@ -7607,7 +7623,7 @@
<target state="translated">Güvenlik belirteci</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7619,7 +7635,7 @@
<target state="translated">Bu kullanıcı için yeni bir güvenlik belirteci oluşturmak istediğinize emin misiniz?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7627,7 +7643,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7872,25 +7888,25 @@
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
<trans-unit id="rule.feeRatioTotalInvestmentVolume" datatype="html">
<source>Fee Ratio</source>
<target state="translated">Ücret Oranı</target>
<target state="new">Fee Ratio</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">Ücretler, ilk yatırımınızın %${thresholdMax} kadarını aşıyor (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">Ücretler, ilk yatırımınızın %${thresholdMax}’ını (${feeRatio}%) aşmaz</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">158</context>
@ -8063,7 +8079,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
@ -8276,7 +8292,7 @@
<target state="new">Manage Asset Profile</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">466</context>
<context context-type="linenumber">465</context>
</context-group>
</trans-unit>
<trans-unit id="2978009302056542263" datatype="html">
@ -8696,7 +8712,7 @@
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">

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

@ -419,7 +419,7 @@
<target state="translated">Баланс готівки</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">148</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9011425576088183078" datatype="html">
@ -471,7 +471,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">139</context>
<context context-type="linenumber">135</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -527,7 +527,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -547,15 +547,15 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">205</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">208</context>
<context context-type="linenumber">204</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">207</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -641,6 +641,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">78</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
<context context-type="linenumber">80</context>
@ -663,7 +667,7 @@
<target state="translated">Ви дійсно хочете видалити цей обліковий запис?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="8650499415827640724" datatype="html">
@ -731,7 +735,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">155</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -847,7 +851,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="1806977783783486873" datatype="html">
@ -871,7 +875,7 @@
<target state="translated">Фільтрувати за...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">390</context>
</context-group>
</trans-unit>
<trans-unit id="8411428959611082933" datatype="html">
@ -927,7 +931,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">44</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="6130372166370766747" datatype="html">
@ -1043,7 +1047,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">53</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="4136685477767543249" datatype="html">
@ -1063,7 +1067,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">114</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="6782077395930235254" datatype="html">
@ -1155,7 +1159,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">275</context>
<context context-type="linenumber">271</context>
</context-group>
</trans-unit>
<trans-unit id="7504169991280318133" datatype="html">
@ -1207,7 +1211,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">120</context>
</context-group>
</trans-unit>
<trans-unit id="6789452520912617125" datatype="html">
@ -1607,7 +1611,7 @@
<target state="translated">Ви дійсно хочете видалити цього користувача?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="5209005842640458222" datatype="html">
@ -1619,7 +1623,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">89</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="4052176452894384912" datatype="html">
@ -1631,7 +1635,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">98</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="3462698906491525936" datatype="html">
@ -1851,7 +1855,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">189</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -1879,7 +1883,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="5303806780432428245" datatype="html">
@ -1903,7 +1907,7 @@
<target state="translated">Повідомити про збій даних</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">451</context>
<context context-type="linenumber">450</context>
</context-group>
</trans-unit>
<trans-unit id="8204176479746810612" datatype="html">
@ -1943,7 +1947,7 @@
<target state="translated">Керування діяльністю</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-holdings/home-holdings.html</context>
<context context-type="linenumber">67</context>
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="5486880308148746399" datatype="html">
@ -2095,7 +2099,7 @@
<target state="translated">Загальна сума</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/investment-chart/investment-chart.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="8192718423057883427" datatype="html">
@ -2187,7 +2191,7 @@
<target state="translated">Абсолютний валовий дохід</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">73</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="4072809765904753879" datatype="html">
@ -2195,7 +2199,7 @@
<target state="translated">Абсолютний чистий прибуток</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -2207,7 +2211,7 @@
<target state="translated">Чистий прибуток</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">123</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -2219,7 +2223,7 @@
<target state="translated">Загальні активи</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">153</context>
</context-group>
</trans-unit>
<trans-unit id="1647750822609779679" datatype="html">
@ -2227,7 +2231,7 @@
<target state="translated">Активи</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">226</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4993097165849036956" datatype="html">
@ -2235,7 +2239,7 @@
<target state="translated">Купівельна спроможність</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">248</context>
</context-group>
</trans-unit>
<trans-unit id="2105957921933737059" datatype="html">
@ -2243,7 +2247,7 @@
<target state="translated">Виключено з аналізу</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">274</context>
</context-group>
</trans-unit>
<trans-unit id="5003799027167349722" datatype="html">
@ -2251,7 +2255,7 @@
<target state="translated">Зобов’язання</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">302</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -2263,7 +2267,7 @@
<target state="translated">Чиста вартість</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">317</context>
<context context-type="linenumber">324</context>
</context-group>
</trans-unit>
<trans-unit id="293512063893966488" datatype="html">
@ -2271,7 +2275,7 @@
<target state="translated">Річна доходність</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">331</context>
<context context-type="linenumber">338</context>
</context-group>
</trans-unit>
<trans-unit id="3768927257183755959" datatype="html">
@ -2315,11 +2319,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">356</context>
<context context-type="linenumber">352</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="5403336912114537863" datatype="html">
@ -2551,7 +2555,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">363</context>
<context context-type="linenumber">362</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -2563,7 +2567,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -2575,7 +2579,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -2587,7 +2591,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
@ -2607,7 +2611,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">414</context>
</context-group>
</trans-unit>
<trans-unit id="2570446216260149991" datatype="html">
@ -2663,7 +2667,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">11</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="7156797854368699223" datatype="html">
@ -3211,7 +3215,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">85</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.html</context>
@ -3311,7 +3315,7 @@
<target state="translated">Ринкові дані</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">397</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3363,11 +3367,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">45</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">30</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3519,7 +3523,7 @@
<target state="translated">Оскільки ви вже ввійшли, ви не можете отримати доступ до демонстраційного обліковий запис.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/demo/demo-page.component.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="5308814695487483464" datatype="html">
@ -3716,7 +3720,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">242</context>
<context context-type="linenumber">241</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
@ -3792,7 +3796,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -4276,7 +4280,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">113</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
@ -4300,7 +4304,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">94</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/activities-page.html</context>
@ -4380,7 +4384,7 @@
<target state="translated">Оновити баланс готівки</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3973931101896534797" datatype="html">
@ -4388,7 +4392,7 @@
<target state="translated">Дата</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -4408,7 +4412,7 @@
<target state="translated">Ціна за одиницю</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">214</context>
<context context-type="linenumber">210</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -4572,7 +4576,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="2666668717343771434" datatype="html">
@ -4664,7 +4668,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="79310201207169632" datatype="html">
@ -4688,7 +4692,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">168</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="7934616470747135563" datatype="html">
@ -4696,7 +4700,7 @@
<target state="new">Latest activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">210</context>
</context-group>
</trans-unit>
<trans-unit id="6966271594418371336" datatype="html">
@ -4708,7 +4712,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">176</context>
</context-group>
</trans-unit>
<trans-unit id="2647097511076811769" datatype="html">
@ -4720,7 +4724,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">186</context>
<context context-type="linenumber">185</context>
</context-group>
</trans-unit>
<trans-unit id="3970743474991126664" datatype="html">
@ -4796,7 +4800,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">372</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -4804,7 +4808,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">198</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
@ -4868,7 +4872,7 @@
<target state="new">Close Holding</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">442</context>
<context context-type="linenumber">441</context>
</context-group>
</trans-unit>
<trans-unit id="1605678350626749943" datatype="html">
@ -5248,7 +5252,7 @@
<target state="translated">Континенти</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="6494963320544261750" datatype="html">
@ -5256,7 +5260,7 @@
<target state="translated">Чи хотіли б ви <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>удосконалити<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> вашу <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>особисту інвестиційну стратегію<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">234</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="2003818202621229370" datatype="html">
@ -5272,7 +5276,7 @@
<target state="translated">Ghostfolio надає можливість вам стежити за вашим багатством.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">238</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="8298333184054476827" datatype="html">
@ -5312,7 +5316,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -5328,7 +5332,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -6003,7 +6007,7 @@
<target state="translated">Членство</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">67</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -6071,7 +6075,7 @@
<target state="translated">Ви дійсно хочете видалити цей рахунок?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.ts</context>
<context context-type="linenumber">120</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="5388209493122807655" datatype="html">
@ -6135,7 +6139,7 @@
<target state="translated">Ви дійсно хочете видалити ці дії?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">282</context>
</context-group>
</trans-unit>
<trans-unit id="670983159637074283" datatype="html">
@ -6143,7 +6147,7 @@
<target state="translated">Ви дійсно хочете видалити цю активність?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">292</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
@ -6151,7 +6155,7 @@
<target state="translated">Тиждень до дати</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -6163,7 +6167,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -6171,7 +6175,7 @@
<target state="translated">Місяць до дати</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -6183,7 +6187,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
@ -6191,7 +6195,7 @@
<target state="translated">Рік до дати</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="6479044529603381727" datatype="html">
@ -6211,7 +6215,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -6223,7 +6227,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="3060494754215793943" datatype="html">
@ -6371,7 +6375,7 @@
<target state="translated">Депозит</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">385</context>
</context-group>
</trans-unit>
<trans-unit id="3441715041566940420" datatype="html">
@ -6383,11 +6387,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">352</context>
<context context-type="linenumber">359</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">395</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6399,7 +6403,7 @@
<target state="translated">Заощадження</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">397</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="6293078117617468574" datatype="html">
@ -6415,7 +6419,7 @@
<target state="translated">Упс! Не вдалося отримати історичні дані.</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">284</context>
</context-group>
</trans-unit>
<trans-unit id="8927080808898221200" datatype="html">
@ -6443,7 +6447,7 @@
<target state="translated">Показати все</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">212</context>
</context-group>
</trans-unit>
<trans-unit id="4086606389696938932" datatype="html">
@ -6495,7 +6499,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">286</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6527,7 +6531,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">309</context>
<context context-type="linenumber">305</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6583,7 +6587,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">345</context>
<context context-type="linenumber">341</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html</context>
@ -6591,7 +6595,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6637,13 +6641,17 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">68</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">107</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">347</context>
<context context-type="linenumber">343</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6679,7 +6687,7 @@
<target state="translated">Резервний фонд</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">168</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -6747,7 +6755,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">437</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="6973601224334878334" datatype="html">
@ -6766,6 +6774,14 @@
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="9218541487912911620" datatype="html">
<source>No Activities</source>
<target state="new">No Activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9219851060664514927" datatype="html">
<source>Retirement Provision</source>
<target state="translated">Пенсійне накопичення</target>
@ -6863,7 +6879,7 @@
<target state="new">Role</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">14</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="2807800733729323332" datatype="html">
@ -6899,7 +6915,7 @@
<target state="translated">Комісія</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">258</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -6943,7 +6959,7 @@
<target state="translated">Готівка</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">219</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6999,7 +7015,7 @@
<target state="new">Authentication</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -7339,7 +7355,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">195</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -7347,11 +7363,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">439</context>
<context context-type="linenumber">451</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">452</context>
<context context-type="linenumber">465</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -7479,7 +7495,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
</trans-unit>
<trans-unit id="1322586333669103999" datatype="html">
@ -7499,11 +7515,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">381</context>
<context context-type="linenumber">388</context>
</context-group>
</trans-unit>
<trans-unit id="1325095699053123251" datatype="html">
@ -7607,7 +7623,7 @@
<target state="new">Security token</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7619,7 +7635,7 @@
<target state="new">Do you really want to generate a new security token for this user?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7627,7 +7643,7 @@
<target state="new">Find account, holding or page...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7872,7 +7888,7 @@
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
<trans-unit id="rule.feeRatioTotalInvestmentVolume" datatype="html">
<source>Fee Ratio</source>
<target state="new">Fee Ratio</target>
<context-group purpose="location">
@ -7880,17 +7896,17 @@
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="new">The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="new">The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="new">The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">158</context>
@ -8063,7 +8079,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
@ -8276,7 +8292,7 @@
<target state="new">Manage Asset Profile</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">466</context>
<context context-type="linenumber">465</context>
</context-group>
</trans-unit>
<trans-unit id="2978009302056542263" datatype="html">
@ -8696,7 +8712,7 @@
<target state="new">Registration Date</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">

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

@ -312,7 +312,7 @@
<source>Cash Balances</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">148</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9011425576088183078" datatype="html">
@ -362,7 +362,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">139</context>
<context context-type="linenumber">135</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -416,7 +416,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -435,15 +435,15 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">205</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">208</context>
<context context-type="linenumber">204</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">207</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -527,6 +527,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">78</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
<context context-type="linenumber">80</context>
@ -548,7 +552,7 @@
<source>Do you really want to delete this account?</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="3175281009707730014" datatype="html">
@ -585,7 +589,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">155</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -670,7 +674,7 @@
<source>Date</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -708,7 +712,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="1806977783783486873" datatype="html">
@ -736,7 +740,7 @@
<source>Filter by...</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">390</context>
</context-group>
</trans-unit>
<trans-unit id="6182733719813772142" datatype="html">
@ -773,7 +777,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">44</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="6130372166370766747" datatype="html">
@ -819,7 +823,7 @@
<source>Oops! Could not parse historical data.</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">284</context>
</context-group>
</trans-unit>
<trans-unit id="1102717806459547726" datatype="html">
@ -848,7 +852,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5299488188278756127" datatype="html">
@ -878,7 +882,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">53</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="4136685477767543249" datatype="html">
@ -897,7 +901,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">114</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="6782077395930235254" datatype="html">
@ -948,7 +952,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">275</context>
<context context-type="linenumber">271</context>
</context-group>
</trans-unit>
<trans-unit id="7504169991280318133" datatype="html">
@ -988,7 +992,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">120</context>
</context-group>
</trans-unit>
<trans-unit id="8122024350760043460" datatype="html">
@ -1236,7 +1240,7 @@
<source>Do you really want to delete this user?</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -1269,7 +1273,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">89</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3462698906491525936" datatype="html">
@ -1412,7 +1416,7 @@
<source>Manage Activities</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-holdings/home-holdings.html</context>
<context context-type="linenumber">67</context>
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="5486880308148746399" datatype="html">
@ -1548,7 +1552,7 @@
<source>Total Amount</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/investment-chart/investment-chart.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="8192718423057883427" datatype="html">
@ -1653,7 +1657,7 @@
<source>Absolute Gross Performance</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">73</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="5012084291992448490" datatype="html">
@ -1664,14 +1668,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="4072809765904753879" datatype="html">
<source>Absolute Net Performance</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1682,7 +1686,7 @@
<source>Net Performance</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">123</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1693,35 +1697,35 @@
<source>Total Assets</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">153</context>
</context-group>
</trans-unit>
<trans-unit id="1647750822609779679" datatype="html">
<source>Assets</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">226</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4993097165849036956" datatype="html">
<source>Buying Power</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">248</context>
</context-group>
</trans-unit>
<trans-unit id="2105957921933737059" datatype="html">
<source>Excluded from Analysis</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">274</context>
</context-group>
</trans-unit>
<trans-unit id="5003799027167349722" datatype="html">
<source>Liabilities</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">302</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -1732,14 +1736,14 @@
<source>Net Worth</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">317</context>
<context context-type="linenumber">324</context>
</context-group>
</trans-unit>
<trans-unit id="293512063893966488" datatype="html">
<source>Annualized Performance</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">331</context>
<context context-type="linenumber">338</context>
</context-group>
</trans-unit>
<trans-unit id="5403336912114537863" datatype="html">
@ -1771,7 +1775,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">189</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -1786,7 +1790,7 @@
<source>Report Data Glitch</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">451</context>
<context context-type="linenumber">450</context>
</context-group>
</trans-unit>
<trans-unit id="5451369123952965511" datatype="html">
@ -1954,7 +1958,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">363</context>
<context context-type="linenumber">362</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -1965,7 +1969,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -1976,7 +1980,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -1987,7 +1991,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
@ -2005,7 +2009,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">414</context>
</context-group>
</trans-unit>
<trans-unit id="4039692315328513907" datatype="html">
@ -2240,7 +2244,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">11</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="8604673556809626581" datatype="html">
@ -2418,7 +2422,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">85</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.html</context>
@ -2501,7 +2505,7 @@
<source>Market Data</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">397</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -2550,11 +2554,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">45</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">30</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -2694,7 +2698,7 @@
<source>As you are already logged in, you cannot access the demo account.</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/demo/demo-page.component.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="5308814695487483464" datatype="html">
@ -2850,7 +2854,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">242</context>
<context context-type="linenumber">241</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
@ -2923,7 +2927,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3344,7 +3348,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">113</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
@ -3368,7 +3372,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">94</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/activities-page.html</context>
@ -3387,7 +3391,7 @@
<source>Do you really want to delete these activities?</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">282</context>
</context-group>
</trans-unit>
<trans-unit id="1111435290645444471" datatype="html">
@ -3447,14 +3451,14 @@
<source>Update Cash Balance</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="1599232533055023845" datatype="html">
<source>Unit Price</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">214</context>
<context context-type="linenumber">210</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -3669,7 +3673,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="79310201207169632" datatype="html">
@ -3691,14 +3695,14 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">168</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="7934616470747135563" datatype="html">
<source>Latest activities</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">210</context>
</context-group>
</trans-unit>
<trans-unit id="6966271594418371336" datatype="html">
@ -3709,7 +3713,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">176</context>
</context-group>
</trans-unit>
<trans-unit id="2647097511076811769" datatype="html">
@ -3720,7 +3724,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">186</context>
<context context-type="linenumber">185</context>
</context-group>
</trans-unit>
<trans-unit id="4632243449121794584" datatype="html">
@ -3774,7 +3778,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">372</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -3782,7 +3786,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">198</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
@ -3804,7 +3808,7 @@
<source>Deposit</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">385</context>
</context-group>
</trans-unit>
<trans-unit id="6762743264882388498" datatype="html">
@ -4095,7 +4099,7 @@
<source>Continents</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="2003818202621229370" datatype="html">
@ -4109,7 +4113,7 @@
<source>Ghostfolio empowers you to keep track of your wealth.</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">238</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="8298333184054476827" datatype="html">
@ -4448,7 +4452,7 @@
<source>Membership</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">67</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -4509,7 +4513,7 @@
<source>Do you really want to delete this account balance?</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.ts</context>
<context context-type="linenumber">120</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="5388209493122807655" datatype="html">
@ -4559,7 +4563,7 @@
<source>Do you really want to delete this activity?</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">292</context>
</context-group>
</trans-unit>
<trans-unit id="3060494754215793943" datatype="html">
@ -4665,11 +4669,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">352</context>
<context context-type="linenumber">359</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">395</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4680,7 +4684,7 @@
<source>Savings</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">397</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="8927080808898221200" datatype="html">
@ -4706,7 +4710,7 @@
<source>Show all</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">212</context>
</context-group>
</trans-unit>
<trans-unit id="4086606389696938932" datatype="html">
@ -4755,7 +4759,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">286</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4786,7 +4790,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">309</context>
<context context-type="linenumber">305</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -4825,7 +4829,7 @@
<source>Emergency Fund</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">168</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -4893,7 +4897,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">437</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="6333857424161463201" datatype="html">
@ -4903,6 +4907,13 @@
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="9218541487912911620" datatype="html">
<source>No Activities</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9219851060664514927" datatype="html">
<source>Retirement Provision</source>
<context-group purpose="location">
@ -5002,7 +5013,7 @@
<source>Fee</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">258</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -5042,7 +5053,7 @@
<source>Cash</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">219</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5085,7 +5096,7 @@
<source>Authentication</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -5233,7 +5244,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">195</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -5241,11 +5252,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">439</context>
<context context-type="linenumber">451</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">452</context>
<context context-type="linenumber">465</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5348,7 +5359,7 @@
<source>Close Holding</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">442</context>
<context context-type="linenumber">441</context>
</context-group>
</trans-unit>
<trans-unit id="1605678350626749943" datatype="html">
@ -5406,21 +5417,21 @@
<source>Year to date</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
<source>Week to date</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
<source>Month to date</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5431,7 +5442,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5442,7 +5453,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="4602065467346820556" datatype="html">
@ -5486,7 +5497,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -5497,7 +5508,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="4252274043276232149" datatype="html">
@ -5773,7 +5784,7 @@
<source>Would you like to <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>refine<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> your <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>personal investment strategy<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>?</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">234</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="1099393285611854080" datatype="html">
@ -6114,7 +6125,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">345</context>
<context context-type="linenumber">341</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html</context>
@ -6122,7 +6133,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6133,7 +6144,7 @@
<source>Role</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">14</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="2807800733729323332" datatype="html">
@ -6187,13 +6198,17 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">68</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">107</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">347</context>
<context context-type="linenumber">343</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6471,7 +6486,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -6498,7 +6513,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -6588,7 +6603,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">98</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="6461489707382666493" datatype="html">
@ -6673,11 +6688,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">356</context>
<context context-type="linenumber">352</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="1769610706135259386" datatype="html">
@ -6811,7 +6826,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
</trans-unit>
<trans-unit id="1322586333669103999" datatype="html">
@ -6830,11 +6845,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">381</context>
<context context-type="linenumber">388</context>
</context-group>
</trans-unit>
<trans-unit id="1325095699053123251" datatype="html">
@ -6925,21 +6940,21 @@
<source>Do you really want to generate a new security token for this user?</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
<source>Find account, holding or page...</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="8944214829054650479" datatype="html">
<source>Security token</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7140,22 +7155,22 @@
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
<trans-unit id="rule.feeRatioTotalInvestmentVolume" datatype="html">
<source>Fee Ratio</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">158</context>
@ -7311,7 +7326,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
@ -7499,7 +7514,7 @@
<source>Manage Asset Profile</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">466</context>
<context context-type="linenumber">465</context>
</context-group>
</trans-unit>
<trans-unit id="2978009302056542263" datatype="html">
@ -7868,7 +7883,7 @@
<source>Registration Date</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="5606994816647505945" datatype="html">

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

@ -336,7 +336,7 @@
<target state="translated">现金余额</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">148</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9011425576088183078" datatype="html">
@ -388,7 +388,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">139</context>
<context context-type="linenumber">135</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -444,7 +444,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.html</context>
@ -464,15 +464,15 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">205</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">208</context>
<context context-type="linenumber">204</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">207</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -558,6 +558,10 @@
<context context-type="sourcefile">apps/client/src/app/components/admin-tag/admin-tag.component.html</context>
<context context-type="linenumber">78</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">22</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
<context context-type="linenumber">80</context>
@ -580,7 +584,7 @@
<target state="translated">您确定要删除此账户吗?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/accounts-table/accounts-table.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="3175281009707730014" datatype="html">
@ -620,7 +624,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">155</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -716,7 +720,7 @@
<target state="translated">日期</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">157</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.html</context>
@ -756,7 +760,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">96</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="1806977783783486873" datatype="html">
@ -788,7 +792,7 @@
<target state="translated">过滤...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">390</context>
</context-group>
</trans-unit>
<trans-unit id="6182733719813772142" datatype="html">
@ -828,7 +832,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">44</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="6130372166370766747" datatype="html">
@ -864,7 +868,7 @@
<target state="translated">哎呀!无法解析历史数据。</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.ts</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">284</context>
</context-group>
</trans-unit>
<trans-unit id="1102717806459547726" datatype="html">
@ -888,7 +892,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="5299488188278756127" datatype="html">
@ -920,7 +924,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">53</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="4136685477767543249" datatype="html">
@ -940,7 +944,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">114</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="6782077395930235254" datatype="html">
@ -996,7 +1000,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">275</context>
<context context-type="linenumber">271</context>
</context-group>
</trans-unit>
<trans-unit id="7504169991280318133" datatype="html">
@ -1040,7 +1044,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">120</context>
</context-group>
</trans-unit>
<trans-unit id="8122024350760043460" datatype="html">
@ -1320,7 +1324,7 @@
<target state="translated">您真的要删除该用户吗?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">215</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="2392488717875840729" datatype="html">
@ -1356,7 +1360,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">89</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="3462698906491525936" datatype="html">
@ -1512,7 +1516,7 @@
<target state="translated">管理活动</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/home-holdings/home-holdings.html</context>
<context context-type="linenumber">67</context>
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="5486880308148746399" datatype="html">
@ -1664,7 +1668,7 @@
<target state="translated">总金额</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/investment-chart/investment-chart.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="8192718423057883427" datatype="html">
@ -1776,7 +1780,7 @@
<target state="translated">绝对总业绩</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">73</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="5012084291992448490" datatype="html">
@ -1788,7 +1792,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">92</context>
</context-group>
</trans-unit>
<trans-unit id="4072809765904753879" datatype="html">
@ -1796,7 +1800,7 @@
<target state="translated">绝对净绩效</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">111</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1808,7 +1812,7 @@
<target state="translated">净绩效</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">123</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
@ -1820,7 +1824,7 @@
<target state="translated">总资产</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">153</context>
</context-group>
</trans-unit>
<trans-unit id="1647750822609779679" datatype="html">
@ -1828,7 +1832,7 @@
<target state="translated">资产</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">226</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4993097165849036956" datatype="html">
@ -1836,7 +1840,7 @@
<target state="translated">购买力</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">248</context>
</context-group>
</trans-unit>
<trans-unit id="2105957921933737059" datatype="html">
@ -1844,7 +1848,7 @@
<target state="translated">从分析中排除</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">274</context>
</context-group>
</trans-unit>
<trans-unit id="5003799027167349722" datatype="html">
@ -1852,7 +1856,7 @@
<target state="translated">负债</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">295</context>
<context context-type="linenumber">302</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -1864,7 +1868,7 @@
<target state="translated">净值</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">317</context>
<context context-type="linenumber">324</context>
</context-group>
</trans-unit>
<trans-unit id="293512063893966488" datatype="html">
@ -1872,7 +1876,7 @@
<target state="translated">年化业绩</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">331</context>
<context context-type="linenumber">338</context>
</context-group>
</trans-unit>
<trans-unit id="5403336912114537863" datatype="html">
@ -1908,7 +1912,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">189</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -1924,7 +1928,7 @@
<target state="translated">报告数据故障</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">451</context>
<context context-type="linenumber">450</context>
</context-group>
</trans-unit>
<trans-unit id="5451369123952965511" datatype="html">
@ -2104,7 +2108,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">363</context>
<context context-type="linenumber">362</context>
</context-group>
</trans-unit>
<trans-unit id="7377728350294749129" datatype="html">
@ -2116,7 +2120,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="8768104874317770689" datatype="html">
@ -2128,7 +2132,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7304247106520037555" datatype="html">
@ -2140,7 +2144,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="366169681580494481" datatype="html">
@ -2160,7 +2164,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">415</context>
<context context-type="linenumber">414</context>
</context-group>
</trans-unit>
<trans-unit id="4039692315328513907" datatype="html">
@ -2424,7 +2428,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">11</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="8604673556809626581" datatype="html">
@ -2616,7 +2620,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">85</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/accounts-page.html</context>
@ -2708,7 +2712,7 @@
<target state="translated">市场数据</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">398</context>
<context context-type="linenumber">397</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -2760,11 +2764,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">45</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">30</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -2908,7 +2912,7 @@
<target state="translated">由于您已经登录,因此无法访问模拟帐户。</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/demo/demo-page.component.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="5308814695487483464" datatype="html">
@ -3080,7 +3084,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">242</context>
<context context-type="linenumber">241</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/product-page.html</context>
@ -3156,7 +3160,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -3632,7 +3636,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">113</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
@ -3656,7 +3660,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">75</context>
<context context-type="linenumber">94</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/activities-page.html</context>
@ -3676,7 +3680,7 @@
<target state="translated">您确定要删除这些活动吗?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">282</context>
</context-group>
</trans-unit>
<trans-unit id="1111435290645444471" datatype="html">
@ -3744,7 +3748,7 @@
<target state="translated">更新现金余额</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">108</context>
</context-group>
</trans-unit>
<trans-unit id="1599232533055023845" datatype="html">
@ -3752,7 +3756,7 @@
<target state="translated">单价</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">214</context>
<context context-type="linenumber">210</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -3992,7 +3996,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="79310201207169632" datatype="html">
@ -4016,7 +4020,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">168</context>
<context context-type="linenumber">167</context>
</context-group>
</trans-unit>
<trans-unit id="7934616470747135563" datatype="html">
@ -4024,7 +4028,7 @@
<target state="translated">最新活动</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">210</context>
</context-group>
</trans-unit>
<trans-unit id="6966271594418371336" datatype="html">
@ -4036,7 +4040,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">176</context>
</context-group>
</trans-unit>
<trans-unit id="2647097511076811769" datatype="html">
@ -4048,7 +4052,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">186</context>
<context context-type="linenumber">185</context>
</context-group>
</trans-unit>
<trans-unit id="4632243449121794584" datatype="html">
@ -4108,7 +4112,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">372</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -4116,7 +4120,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">198</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts</context>
@ -4140,7 +4144,7 @@
<target state="translated">存款</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">377</context>
<context context-type="linenumber">385</context>
</context-group>
</trans-unit>
<trans-unit id="6762743264882388498" datatype="html">
@ -4464,7 +4468,7 @@
<target state="translated">大陆</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="2003818202621229370" datatype="html">
@ -4480,7 +4484,7 @@
<target state="translated">Ghostfolio 使您能够跟踪您的财富。</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">238</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="8298333184054476827" datatype="html">
@ -4853,7 +4857,7 @@
<target state="translated">会员资格</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">67</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -4921,7 +4925,7 @@
<target state="translated">您确实要删除该帐户余额吗?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/account-balances/account-balances.component.ts</context>
<context context-type="linenumber">120</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="5388209493122807655" datatype="html">
@ -4977,7 +4981,7 @@
<target state="translated">您确实要删除此活动吗?</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.ts</context>
<context context-type="linenumber">288</context>
<context context-type="linenumber">292</context>
</context-group>
</trans-unit>
<trans-unit id="3060494754215793943" datatype="html">
@ -5097,11 +5101,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">352</context>
<context context-type="linenumber">359</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">387</context>
<context context-type="linenumber">395</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5113,7 +5117,7 @@
<target state="translated">储蓄</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/fire-calculator/fire-calculator.component.ts</context>
<context context-type="linenumber">397</context>
<context context-type="linenumber">405</context>
</context-group>
</trans-unit>
<trans-unit id="8927080808898221200" datatype="html">
@ -5141,7 +5145,7 @@
<target state="translated">显示所有</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/holdings-table/holdings-table.component.html</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">212</context>
</context-group>
</trans-unit>
<trans-unit id="4086606389696938932" datatype="html">
@ -5193,7 +5197,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">286</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5225,7 +5229,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">309</context>
<context context-type="linenumber">305</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5269,7 +5273,7 @@
<target state="translated">应急基金</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">168</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
@ -5345,7 +5349,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">437</context>
<context context-type="linenumber">449</context>
</context-group>
</trans-unit>
<trans-unit id="6333857424161463201" datatype="html">
@ -5356,6 +5360,14 @@
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="9218541487912911620" datatype="html">
<source>No Activities</source>
<target state="new">No Activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="9219851060664514927" datatype="html">
<source>Retirement Provision</source>
<target state="translated">退休金</target>
@ -5465,7 +5477,7 @@
<target state="translated">费用</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">262</context>
<context context-type="linenumber">258</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/activities-table/activities-table.component.html</context>
@ -5509,7 +5521,7 @@
<target state="translated">现金</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">219</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -5557,7 +5569,7 @@
<target state="translated">认证</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -5725,7 +5737,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">195</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
@ -5733,11 +5745,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">439</context>
<context context-type="linenumber">451</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts</context>
<context context-type="linenumber">452</context>
<context context-type="linenumber">465</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/top-holdings/top-holdings.component.html</context>
@ -5853,7 +5865,7 @@
<target state="translated">关闭持仓</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">442</context>
<context context-type="linenumber">441</context>
</context-group>
</trans-unit>
<trans-unit id="1605678350626749943" datatype="html">
@ -5917,7 +5929,7 @@
<target state="translated">今年迄今为止</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">375</context>
<context context-type="linenumber">374</context>
</context-group>
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
@ -5925,7 +5937,7 @@
<target state="translated">本周至今</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
@ -5933,7 +5945,7 @@
<target state="translated">本月至今</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
@ -5945,7 +5957,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">371</context>
<context context-type="linenumber">370</context>
</context-group>
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
@ -5957,7 +5969,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">367</context>
<context context-type="linenumber">366</context>
</context-group>
</trans-unit>
<trans-unit id="4602065467346820556" datatype="html">
@ -6005,7 +6017,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">385</context>
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="7658073495909471632" datatype="html">
@ -6017,7 +6029,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">409</context>
<context context-type="linenumber">408</context>
</context-group>
</trans-unit>
<trans-unit id="4252274043276232149" datatype="html">
@ -6330,7 +6342,7 @@
<target state="translated">您想 <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>优化<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/> 您的 <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="&lt;strong&gt;"/>个人投资策略<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="&lt;/strong&gt;"/>吗?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">234</context>
<context context-type="linenumber">233</context>
</context-group>
</trans-unit>
<trans-unit id="4455104386790567151" datatype="html">
@ -6746,7 +6758,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">345</context>
<context context-type="linenumber">341</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/user-account-registration-dialog/user-account-registration-dialog.html</context>
@ -6754,7 +6766,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6792,13 +6804,17 @@
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
<context context-type="linenumber">68</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">127</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">107</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">347</context>
<context context-type="linenumber">343</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
@ -6810,7 +6826,7 @@
<target state="translated">角色</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">14</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="2807800733729323332" datatype="html">
@ -7102,7 +7118,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7118,7 +7134,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/resources-page.component.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7216,7 +7232,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">98</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="6461489707382666493" datatype="html">
@ -7324,11 +7340,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">356</context>
<context context-type="linenumber">352</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="7156797854368699223" datatype="html">
@ -7480,7 +7496,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
</trans-unit>
<trans-unit id="1322586333669103999" datatype="html">
@ -7500,11 +7516,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">368</context>
<context context-type="linenumber">375</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/treemap-chart/treemap-chart.component.ts</context>
<context context-type="linenumber">381</context>
<context context-type="linenumber">388</context>
</context-group>
</trans-unit>
<trans-unit id="1325095699053123251" datatype="html">
@ -7608,7 +7624,7 @@
<target state="translated">安全令牌</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">236</context>
<context context-type="linenumber">239</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-account-access/user-account-access.component.ts</context>
@ -7620,7 +7636,7 @@
<target state="translated">您确定要为此用户生成新的安全令牌吗?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-users/admin-users.component.ts</context>
<context context-type="linenumber">241</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="6752851341939241310" datatype="html">
@ -7628,7 +7644,7 @@
<target state="translated">查找账户、持仓或页面...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">115</context>
</context-group>
</trans-unit>
<trans-unit id="5343721620901142551" datatype="html">
@ -7873,7 +7889,7 @@
<context context-type="linenumber">150</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
<trans-unit id="rule.feeRatioTotalInvestmentVolume" datatype="html">
<source>Fee Ratio</source>
<target state="translated">费率</target>
<context-group purpose="location">
@ -7881,17 +7897,17 @@
<context context-type="linenumber">152</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">费用超过了您初始投资的 ${thresholdMax}% (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.false" datatype="html">
<source>The fees do exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="translated">费用已超过您总投资金额的 ${thresholdMax}%(${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%)</source>
<target state="translated">费用未超过您初始投资的 ${thresholdMax}% (${feeRatio}%)</target>
<trans-unit id="rule.feeRatioTotalInvestmentVolume.true" datatype="html">
<source>The fees do not exceed ${thresholdMax}% of your total investment volume (${feeRatio}%)</source>
<target state="translated">费用未超过您总投资金额的 ${thresholdMax}%(${feeRatio}%)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">158</context>
@ -8064,7 +8080,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
@ -8277,7 +8293,7 @@
<target state="translated">管理资产概况</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html</context>
<context context-type="linenumber">466</context>
<context context-type="linenumber">465</context>
</context-group>
</trans-unit>
<trans-unit id="2978009302056542263" datatype="html">
@ -8697,7 +8713,7 @@
<target state="translated">注册日期</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/user-detail-dialog/user-detail-dialog.html</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="5162138648470294706" datatype="html">

4
libs/common/src/lib/calculation-helper.ts

@ -9,7 +9,7 @@ import {
subDays,
subYears
} from 'date-fns';
import { isNumber } from 'lodash';
import { isFinite, isNumber } from 'lodash';
import { resetHours } from './helper';
import { DateRange } from './types';
@ -28,7 +28,7 @@ export function getAnnualizedPerformancePercent({
exponent
);
if (!isNaN(growthFactor)) {
if (isFinite(growthFactor)) {
return new Big(growthFactor).minus(1);
}
}

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

@ -80,6 +80,11 @@ export const DEFAULT_PROCESSOR_PORTFOLIO_SNAPSHOT_COMPUTATION_TIMEOUT = 30000;
export const DEFAULT_REDACTED_PATHS = [
'accounts[*].balance',
'accounts[*].balanceInBaseCurrency',
'accounts[*].comment',
'accounts[*].dividendInBaseCurrency',
'accounts[*].interestInBaseCurrency',
'accounts[*].value',
'accounts[*].valueInBaseCurrency',
'activities[*].account.balance',
'activities[*].account.comment',
@ -199,6 +204,7 @@ export const PROPERTY_BETTER_UPTIME_MONITOR_ID = 'BETTER_UPTIME_MONITOR_ID';
export const PROPERTY_COUNTRIES_OF_SUBSCRIBERS = 'COUNTRIES_OF_SUBSCRIBERS';
export const PROPERTY_COUPONS = 'COUPONS';
export const PROPERTY_CURRENCIES = 'CURRENCIES';
export const PROPERTY_CUSTOM_CRYPTOCURRENCIES = 'CUSTOM_CRYPTOCURRENCIES';
export const PROPERTY_DATA_SOURCE_MAPPING = 'DATA_SOURCE_MAPPING';
export const PROPERTY_DATA_SOURCES_GHOSTFOLIO_DATA_PROVIDER_MAX_REQUESTS =
'DATA_SOURCES_GHOSTFOLIO_DATA_PROVIDER_MAX_REQUESTS';

11
libs/common/src/lib/dtos/create-asset-profile.dto.ts

@ -5,7 +5,6 @@ import {
IsArray,
IsBoolean,
IsEnum,
IsObject,
IsOptional,
IsString,
IsUrl
@ -66,10 +65,6 @@ export class CreateAssetProfileDto {
@IsString()
name?: string;
@IsObject()
@IsOptional()
scraperConfiguration?: Prisma.InputJsonObject;
@IsArray()
@IsOptional()
sectors?: Prisma.InputJsonArray;
@ -77,12 +72,6 @@ export class CreateAssetProfileDto {
@IsString()
symbol: string;
@IsObject()
@IsOptional()
symbolMapping?: {
[dataProvider: string]: string;
};
@IsOptional()
@IsUrl({
protocols: ['https'],

2
libs/common/src/lib/interfaces/activities.interface.ts

@ -8,7 +8,7 @@ export interface Activity extends Order {
error?: ActivityError;
feeInAssetProfileCurrency: number;
feeInBaseCurrency: number;
SymbolProfile?: EnhancedSymbolProfile;
SymbolProfile: EnhancedSymbolProfile;
tagIds?: string[];
tags?: Tag[];
unitPriceInAssetProfileCurrency: number;

1
libs/common/src/lib/interfaces/portfolio-performance.interface.ts

@ -7,4 +7,5 @@ export interface PortfolioPerformance {
netPerformancePercentageWithCurrencyEffect: number;
netPerformanceWithCurrencyEffect: number;
totalInvestment: number;
totalInvestmentValueWithCurrencyEffect: number;
}

3
libs/common/src/lib/interfaces/portfolio-summary.interface.ts

@ -6,7 +6,10 @@ export interface PortfolioSummary extends PortfolioPerformance {
annualizedPerformancePercent: number;
annualizedPerformancePercentWithCurrencyEffect: number;
cash: number;
/** @deprecated use totalInvestmentValueWithCurrencyEffect instead */
committedFunds: number;
dateOfFirstActivity: Date;
dividendInBaseCurrency: number;
emergencyFund: {

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

@ -27,7 +27,12 @@ export interface ExportResponse {
> & { dataSource: DataSource; date: string; symbol: string })[];
assetProfiles: (Omit<
SymbolProfile,
'createdAt' | 'id' | 'updatedAt' | 'userId'
| 'createdAt'
| 'id'
| 'scraperConfiguration'
| 'symbolMapping'
| 'updatedAt'
| 'userId'
> & {
marketData: MarketData[];
})[];

2
libs/common/src/lib/interfaces/x-ray-rules-settings.interface.ts

@ -9,7 +9,7 @@ export interface XRayRulesSettings {
EconomicMarketClusterRiskDevelopedMarkets?: RuleSettings;
EconomicMarketClusterRiskEmergingMarkets?: RuleSettings;
EmergencyFundSetup?: RuleSettings;
FeeRatioInitialInvestment?: RuleSettings;
FeeRatioTotalInvestmentVolume?: RuleSettings;
RegionalMarketClusterRiskAsiaPacific?: RuleSettings;
RegionalMarketClusterRiskEmergingMarkets?: RuleSettings;
RegionalMarketClusterRiskEurope?: RuleSettings;

3
libs/common/src/lib/types/market-data-preset.type.ts

@ -2,4 +2,5 @@ export type MarketDataPreset =
| 'BENCHMARKS'
| 'CURRENCIES'
| 'ETF_WITHOUT_COUNTRIES'
| 'ETF_WITHOUT_SECTORS';
| 'ETF_WITHOUT_SECTORS'
| 'NO_ACTIVITIES';

10
libs/ui/src/lib/account-balances/account-balances.component.html

@ -12,7 +12,7 @@
<ng-container i18n>Date</ng-container>
</th>
<td *matCellDef="let element" class="px-2" mat-cell>
<gf-value [isDate]="true" [locale]="locale" [value]="element?.date" />
<gf-value [isDate]="true" [locale]="locale()" [value]="element?.date" />
</td>
<td *matFooterCellDef class="px-2" mat-footer-cell>
<mat-form-field appearance="outline" class="py-1 without-hint">
@ -37,7 +37,7 @@
<div class="d-flex justify-content-end">
<gf-value
[isCurrency]="true"
[locale]="locale"
[locale]="locale()"
[unit]="element?.account?.currency"
[value]="element?.value"
/>
@ -48,7 +48,7 @@
<mat-form-field appearance="outline" class="without-hint">
<input formControlName="balance" matInput type="number" />
<div class="ml-2" matTextSuffix>
{{ accountCurrency }}
{{ accountCurrency() }}
</div>
</mat-form-field>
</div>
@ -58,7 +58,7 @@
<ng-container matColumnDef="actions" stickyEnd>
<th *matHeaderCellDef class="px-1 text-center" mat-header-cell></th>
<td *matCellDef="let element" class="px-1 text-center" mat-cell>
@if (showActions) {
@if (showActions()) {
<button
class="mx-1 no-min-width px-2"
mat-button
@ -100,7 +100,7 @@
<tr
*matFooterRowDef="displayedColumns"
mat-footer-row
[hidden]="!showActions"
[hidden]="!showActions()"
></tr>
</table>
</form>

68
libs/ui/src/lib/account-balances/account-balances.component.ts

@ -10,12 +10,12 @@ import {
ChangeDetectionStrategy,
Component,
EventEmitter,
Input,
OnChanges,
OnDestroy,
OnInit,
Output,
ViewChild
inject,
input,
viewChild
} from '@angular/core';
import {
FormGroup,
@ -39,8 +39,7 @@ import {
ellipsisHorizontal,
trashOutline
} from 'ionicons/icons';
import { get } from 'lodash';
import { Subject } from 'rxjs';
import { get, isNil } from 'lodash';
import { GfValueComponent } from '../value';
@ -63,50 +62,44 @@ import { GfValueComponent } from '../value';
styleUrls: ['./account-balances.component.scss'],
templateUrl: './account-balances.component.html'
})
export class GfAccountBalancesComponent
implements OnChanges, OnDestroy, OnInit
{
@Input() accountBalances: AccountBalancesResponse['balances'];
@Input() accountCurrency: string;
@Input() accountId: string;
@Input() locale = getLocale();
@Input() showActions = true;
export class GfAccountBalancesComponent implements OnChanges, OnInit {
@Output() accountBalanceCreated = new EventEmitter<CreateAccountBalanceDto>();
@Output() accountBalanceDeleted = new EventEmitter<string>();
@ViewChild(MatSort) sort: MatSort;
public readonly accountBalances =
input.required<AccountBalancesResponse['balances']>();
public readonly accountCurrency = input.required<string>();
public readonly accountId = input.required<string>();
public readonly displayedColumns: string[] = ['date', 'value', 'actions'];
public readonly locale = input(getLocale());
public readonly showActions = input(true);
public readonly sort = viewChild(MatSort);
public accountBalanceForm = new FormGroup({
balance: new FormControl(0, Validators.required),
date: new FormControl(new Date(), Validators.required)
balance: new FormControl(0, (control) => Validators.required(control)),
date: new FormControl(new Date(), (control) => Validators.required(control))
});
public dataSource = new MatTableDataSource<
AccountBalancesResponse['balances'][0]
>();
public displayedColumns: string[] = ['date', 'value', 'actions'];
public Validators = Validators;
private unsubscribeSubject = new Subject<void>();
private dateAdapter = inject<DateAdapter<Date, string>>(DateAdapter);
private notificationService = inject(NotificationService);
public constructor(
private dateAdapter: DateAdapter<any>,
private notificationService: NotificationService
) {
public constructor() {
addIcons({ calendarClearOutline, ellipsisHorizontal, trashOutline });
}
public ngOnInit() {
this.dateAdapter.setLocale(this.locale);
this.dateAdapter.setLocale(this.locale());
}
public ngOnChanges() {
if (this.accountBalances) {
this.dataSource = new MatTableDataSource(this.accountBalances);
if (this.accountBalances()) {
this.dataSource = new MatTableDataSource(this.accountBalances());
this.dataSource.sort = this.sort;
this.dataSource.sort = this.sort();
this.dataSource.sortingDataAccessor = get;
}
}
@ -122,10 +115,16 @@ export class GfAccountBalancesComponent
}
public async onSubmitAccountBalance() {
const { balance, date } = this.accountBalanceForm.value;
if (isNil(balance) || !date) {
return;
}
const accountBalance: CreateAccountBalanceDto = {
accountId: this.accountId,
balance: this.accountBalanceForm.get('balance').value,
date: format(this.accountBalanceForm.get('date').value, DATE_FORMAT)
balance,
accountId: this.accountId(),
date: format(date, DATE_FORMAT)
};
try {
@ -141,9 +140,4 @@ export class GfAccountBalancesComponent
this.accountBalanceCreated.emit(accountBalance);
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
}

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

@ -1,4 +1,4 @@
@if (showActions) {
@if (showActions()) {
<div class="d-flex justify-content-end">
<button
class="align-items-center d-flex"
@ -79,7 +79,7 @@
{{ element.currency }}
</td>
<td *matFooterCellDef class="d-none d-lg-table-cell px-1" mat-footer-cell>
{{ baseCurrency }}
{{ baseCurrency() }}
</td>
</ng-container>
@ -129,7 +129,7 @@
{{ element.activitiesCount }}
</td>
<td *matFooterCellDef class="px-1 text-right" mat-footer-cell>
{{ activitiesCount }}
{{ activitiesCount() }}
</td>
</ng-container>
@ -150,7 +150,7 @@
<gf-value
class="d-inline-block justify-content-end"
[isCurrency]="true"
[locale]="locale"
[locale]="locale()"
[value]="element.balance"
/>
</td>
@ -162,8 +162,8 @@
<gf-value
class="d-inline-block justify-content-end"
[isCurrency]="true"
[locale]="locale"
[value]="totalBalanceInBaseCurrency"
[locale]="locale()"
[value]="totalBalanceInBaseCurrency()"
/>
</td>
</ng-container>
@ -185,7 +185,7 @@
<gf-value
class="d-inline-block justify-content-end"
[isCurrency]="true"
[locale]="locale"
[locale]="locale()"
[value]="element.value"
/>
</td>
@ -197,8 +197,8 @@
<gf-value
class="d-inline-block justify-content-end"
[isCurrency]="true"
[locale]="locale"
[value]="totalValueInBaseCurrency"
[locale]="locale()"
[value]="totalValueInBaseCurrency()"
/>
</td>
</ng-container>
@ -220,7 +220,7 @@
<gf-value
class="d-inline-block justify-content-end"
[isCurrency]="true"
[locale]="locale"
[locale]="locale()"
[value]="element.valueInBaseCurrency"
/>
</td>
@ -232,8 +232,8 @@
<gf-value
class="d-inline-block justify-content-end"
[isCurrency]="true"
[locale]="locale"
[value]="totalValueInBaseCurrency"
[locale]="locale()"
[value]="totalValueInBaseCurrency()"
/>
</td>
</ng-container>
@ -255,7 +255,7 @@
<gf-value
class="d-inline-block justify-content-end"
[isPercent]="true"
[locale]="locale"
[locale]="locale()"
[precision]="2"
[value]="element.allocationInPercentage"
/>
@ -336,24 +336,24 @@
<td *matFooterCellDef class="px-1" mat-footer-cell></td>
</ng-container>
<tr *matHeaderRowDef="displayedColumns" mat-header-row></tr>
<tr *matHeaderRowDef="displayedColumns()" mat-header-row></tr>
<tr
*matRowDef="let row; columns: displayedColumns"
*matRowDef="let row; columns: displayedColumns()"
mat-row
[ngClass]="{
'cursor-pointer': hasPermissionToOpenDetails
'cursor-pointer': hasPermissionToOpenDetails()
}"
(click)="onOpenAccountDetailDialog(row.id)"
></tr>
<tr
*matFooterRowDef="displayedColumns"
*matFooterRowDef="displayedColumns()"
mat-footer-row
[ngClass]="{ 'd-none': isLoading || !showFooter }"
[ngClass]="{ 'd-none': isLoading() || !showFooter() }"
></tr>
</table>
</div>
@if (isLoading) {
@if (isLoading()) {
<ngx-skeleton-loader
animation="pulse"
class="px-4 py-3"

3
libs/ui/src/lib/accounts-table/accounts-table.component.stories.ts

@ -111,7 +111,6 @@ export const Loading: Story = {
args: {
accounts: undefined,
baseCurrency: 'USD',
deviceType: 'desktop',
hasPermissionToOpenDetails: false,
locale: 'en-US',
showActions: false,
@ -129,7 +128,6 @@ export const Default: Story = {
accounts,
activitiesCount: 12,
baseCurrency: 'USD',
deviceType: 'desktop',
hasPermissionToOpenDetails: false,
locale: 'en-US',
showActions: false,
@ -149,7 +147,6 @@ export const WithoutFooter: Story = {
accounts,
activitiesCount: 12,
baseCurrency: 'USD',
deviceType: 'desktop',
hasPermissionToOpenDetails: false,
locale: 'en-US',
showActions: false,

165
libs/ui/src/lib/accounts-table/accounts-table.component.ts

@ -8,12 +8,12 @@ import { CommonModule } from '@angular/common';
import {
ChangeDetectionStrategy,
Component,
EventEmitter,
Input,
OnChanges,
OnDestroy,
Output,
ViewChild
computed,
effect,
inject,
input,
output,
viewChild
} from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatMenuModule } from '@angular/material/menu';
@ -33,7 +33,6 @@ import {
walletOutline
} from 'ionicons/icons';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { Subject, Subscription } from 'rxjs';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
@ -53,95 +52,94 @@ import { Subject, Subscription } from 'rxjs';
styleUrls: ['./accounts-table.component.scss'],
templateUrl: './accounts-table.component.html'
})
export class GfAccountsTableComponent implements OnChanges, OnDestroy {
@Input() accounts: Account[];
@Input() activitiesCount: number;
@Input() baseCurrency: string;
@Input() deviceType: string;
@Input() hasPermissionToOpenDetails = true;
@Input() locale = getLocale();
@Input() showActions: boolean;
@Input() showActivitiesCount = true;
@Input() showAllocationInPercentage: boolean;
@Input() showBalance = true;
@Input() showFooter = true;
@Input() showValue = true;
@Input() showValueInBaseCurrency = true;
@Input() totalBalanceInBaseCurrency: number;
@Input() totalValueInBaseCurrency: number;
@Output() accountDeleted = new EventEmitter<string>();
@Output() accountToUpdate = new EventEmitter<Account>();
@Output() transferBalance = new EventEmitter<void>();
@ViewChild(MatSort) sort: MatSort;
public dataSource = new MatTableDataSource<Account>();
public displayedColumns = [];
public isLoading = true;
public routeQueryParams: Subscription;
private unsubscribeSubject = new Subject<void>();
public constructor(
private notificationService: NotificationService,
private router: Router
) {
addIcons({
arrowRedoOutline,
createOutline,
documentTextOutline,
ellipsisHorizontal,
eyeOffOutline,
trashOutline,
walletOutline
});
}
public ngOnChanges() {
this.displayedColumns = ['status', 'account', 'platform'];
if (this.showActivitiesCount) {
this.displayedColumns.push('activitiesCount');
export class GfAccountsTableComponent {
public readonly accounts = input.required<Account[]>();
public readonly activitiesCount = input<number>();
public readonly baseCurrency = input<string>();
public readonly hasPermissionToOpenDetails = input(true);
public readonly locale = input(getLocale());
public readonly showActions = input<boolean>();
public readonly showActivitiesCount = input(true);
public readonly showAllocationInPercentage = input<boolean>();
public readonly showBalance = input(true);
public readonly showFooter = input(true);
public readonly showValue = input(true);
public readonly showValueInBaseCurrency = input(false);
public readonly totalBalanceInBaseCurrency = input<number>();
public readonly totalValueInBaseCurrency = input<number>();
public readonly accountDeleted = output<string>();
public readonly accountToUpdate = output<Account>();
public readonly transferBalance = output<void>();
public readonly sort = viewChild.required(MatSort);
protected readonly dataSource = new MatTableDataSource<Account>([]);
protected readonly displayedColumns = computed(() => {
const columns = ['status', 'account', 'platform'];
if (this.showActivitiesCount()) {
columns.push('activitiesCount');
}
if (this.showBalance) {
this.displayedColumns.push('balance');
if (this.showBalance()) {
columns.push('balance');
}
if (this.showValue) {
this.displayedColumns.push('value');
if (this.showValue()) {
columns.push('value');
}
this.displayedColumns.push('currency');
columns.push('currency');
if (this.showValueInBaseCurrency) {
this.displayedColumns.push('valueInBaseCurrency');
if (this.showValueInBaseCurrency()) {
columns.push('valueInBaseCurrency');
}
if (this.showAllocationInPercentage) {
this.displayedColumns.push('allocation');
if (this.showAllocationInPercentage()) {
columns.push('allocation');
}
this.displayedColumns.push('comment');
columns.push('comment');
if (this.showActions) {
this.displayedColumns.push('actions');
if (this.showActions()) {
columns.push('actions');
}
this.isLoading = true;
return columns;
});
protected readonly isLoading = computed(() => !this.accounts());
private readonly notificationService = inject(NotificationService);
private readonly router = inject(Router);
public constructor() {
addIcons({
arrowRedoOutline,
createOutline,
documentTextOutline,
ellipsisHorizontal,
eyeOffOutline,
trashOutline,
walletOutline
});
this.dataSource = new MatTableDataSource(this.accounts);
this.dataSource.sortingDataAccessor = getLowercase;
this.dataSource.sort = this.sort;
// Reactive data update
effect(() => {
this.dataSource.data = this.accounts();
});
if (this.accounts) {
this.isLoading = false;
}
// Reactive view connection
effect(() => {
this.dataSource.sort = this.sort();
});
}
public onDeleteAccount(aId: string) {
protected onDeleteAccount(aId: string) {
this.notificationService.confirm({
confirmFn: () => {
this.accountDeleted.emit(aId);
@ -151,30 +149,25 @@ export class GfAccountsTableComponent implements OnChanges, OnDestroy {
});
}
public onOpenAccountDetailDialog(accountId: string) {
if (this.hasPermissionToOpenDetails) {
protected onOpenAccountDetailDialog(accountId: string) {
if (this.hasPermissionToOpenDetails()) {
this.router.navigate([], {
queryParams: { accountId, accountDetailDialog: true }
});
}
}
public onOpenComment(aComment: string) {
protected onOpenComment(aComment: string) {
this.notificationService.alert({
title: aComment
});
}
public onTransferBalance() {
protected onTransferBalance() {
this.transferBalance.emit();
}
public onUpdateAccount(aAccount: Account) {
protected onUpdateAccount(aAccount: Account) {
this.accountToUpdate.emit(aAccount);
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
}

8
libs/ui/src/lib/activities-filter/activities-filter.component.html

@ -10,7 +10,7 @@
[removable]="true"
(removed)="onRemoveFilter(filter)"
>
{{ filter.label | gfSymbol }}
{{ filter.label ?? '' | gfSymbol }}
<button matChipRemove>
<ion-icon name="close-outline" />
</button>
@ -23,7 +23,7 @@
[matAutocomplete]="autocomplete"
[matChipInputFor]="chipList"
[matChipInputSeparatorKeyCodes]="separatorKeysCodes"
[placeholder]="placeholder"
[placeholder]="placeholder()"
(matChipInputTokenEnd)="onAddFilter($event)"
/>
</mat-chip-grid>
@ -35,7 +35,7 @@
<mat-optgroup [label]="filterGroup.name">
@for (filter of filterGroup.filters; track filter) {
<mat-option [value]="filter.id">
{{ filter.label | gfSymbol }}
{{ filter.label ?? '' | gfSymbol }}
</mat-option>
}
</mat-optgroup>
@ -46,7 +46,7 @@
disabled
mat-icon-button
matSuffix
[ngClass]="{ 'd-none': !isLoading }"
[ngClass]="{ 'd-none': !isLoading() }"
>
<mat-spinner matSuffix [diameter]="20" />
</button>

83
libs/ui/src/lib/activities-filter/activities-filter.component.ts

@ -8,14 +8,14 @@ import {
ChangeDetectionStrategy,
Component,
ElementRef,
EventEmitter,
Input,
OnChanges,
OnDestroy,
Output,
SimpleChanges,
ViewChild
ViewChild,
input,
output
} from '@angular/core';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { FormControl, ReactiveFormsModule } from '@angular/forms';
import {
MatAutocomplete,
@ -30,8 +30,7 @@ import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import { closeOutline, searchOutline } from 'ionicons/icons';
import { groupBy } from 'lodash';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { BehaviorSubject } from 'rxjs';
import { translate } from '../i18n';
@ -53,28 +52,26 @@ import { translate } from '../i18n';
styleUrls: ['./activities-filter.component.scss'],
templateUrl: './activities-filter.component.html'
})
export class GfActivitiesFilterComponent implements OnChanges, OnDestroy {
export class GfActivitiesFilterComponent implements OnChanges {
@Input() allFilters: Filter[];
@Input() isLoading: boolean;
@Input() placeholder: string;
@Output() valueChanged = new EventEmitter<Filter[]>();
@ViewChild('autocomplete') protected matAutocomplete: MatAutocomplete;
@ViewChild('searchInput') protected searchInput: ElementRef<HTMLInputElement>;
@ViewChild('autocomplete') matAutocomplete: MatAutocomplete;
@ViewChild('searchInput') searchInput: ElementRef<HTMLInputElement>;
public readonly isLoading = input.required<boolean>();
public readonly placeholder = input.required<string>();
public readonly valueChanged = output<Filter[]>();
public filterGroups$: Subject<FilterGroup[]> = new BehaviorSubject([]);
public filters$: Subject<Filter[]> = new BehaviorSubject([]);
public filters: Observable<Filter[]> = this.filters$.asObservable();
public searchControl = new FormControl<Filter | string>(undefined);
public selectedFilters: Filter[] = [];
public separatorKeysCodes: number[] = [ENTER, COMMA];
private unsubscribeSubject = new Subject<void>();
protected readonly filterGroups$ = new BehaviorSubject<FilterGroup[]>([]);
protected readonly searchControl = new FormControl<Filter | string | null>(
null
);
protected selectedFilters: Filter[] = [];
protected readonly separatorKeysCodes: number[] = [ENTER, COMMA];
public constructor() {
this.searchControl.valueChanges
.pipe(takeUntil(this.unsubscribeSubject))
.pipe(takeUntilDestroyed())
.subscribe((filterOrSearchTerm) => {
if (filterOrSearchTerm) {
const searchTerm =
@ -97,41 +94,39 @@ export class GfActivitiesFilterComponent implements OnChanges, OnDestroy {
}
}
public onAddFilter({ input, value }: MatChipInputEvent) {
public onAddFilter({ chipInput, value }: MatChipInputEvent) {
if (value?.trim()) {
this.updateFilters();
}
// Reset the input value
if (input) {
input.value = '';
if (chipInput.inputElement) {
chipInput.inputElement.value = '';
}
this.searchControl.setValue(undefined);
this.searchControl.setValue(null);
}
public onRemoveFilter(aFilter: Filter) {
this.selectedFilters = this.selectedFilters.filter((filter) => {
return filter.id !== aFilter.id;
this.selectedFilters = this.selectedFilters.filter(({ id }) => {
return id !== aFilter.id;
});
this.updateFilters();
}
public onSelectFilter(event: MatAutocompleteSelectedEvent) {
this.selectedFilters.push(
this.allFilters.find((filter) => {
return filter.id === event.option.value;
})
);
const filter = this.allFilters.find(({ id }) => {
return id === event.option.value;
});
if (filter) {
this.selectedFilters.push(filter);
}
this.updateFilters();
this.searchInput.nativeElement.value = '';
this.searchControl.setValue(undefined);
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
this.searchControl.setValue(null);
}
private getGroupedFilters(searchTerm?: string) {
@ -139,23 +134,23 @@ export class GfActivitiesFilterComponent implements OnChanges, OnDestroy {
this.allFilters
.filter((filter) => {
// Filter selected filters
return !this.selectedFilters.some((selectedFilter) => {
return selectedFilter.id === filter.id;
return !this.selectedFilters.some(({ id }) => {
return id === filter.id;
});
})
.filter((filter) => {
if (searchTerm) {
// Filter by search term
return filter.label
.toLowerCase()
?.toLowerCase()
.includes(searchTerm.toLowerCase());
}
return filter;
})
.sort((a, b) => a.label?.localeCompare(b.label)),
(filter) => {
return filter.type;
.sort((a, b) => (a.label ?? '').localeCompare(b.label ?? '')),
({ type }) => {
return type;
}
);

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

@ -21,7 +21,7 @@
<mat-menu #activitiesMenu="matMenu" class="no-max-width" xPosition="before">
<button
mat-menu-item
[disabled]="dataSource?.data.length === 0"
[disabled]="dataSource()?.data.length === 0"
(click)="onImportDividends()"
>
<span class="align-items-center d-flex">
@ -33,7 +33,7 @@
<button
class="align-items-center d-flex"
mat-menu-item
[disabled]="dataSource?.data.length === 0"
[disabled]="dataSource()?.data.length === 0"
(click)="onExport()"
>
<span class="align-items-center d-flex">
@ -60,7 +60,7 @@
class="align-items-center d-flex"
mat-menu-item
[disabled]="
dataSource?.data.length === 0 || !hasPermissionToDeleteActivity
dataSource()?.data.length === 0 || !hasPermissionToDeleteActivity
"
(click)="onDeleteActivities()"
>
@ -78,7 +78,7 @@
class="gf-table w-100"
mat-table
matSort
[dataSource]="dataSource"
[dataSource]="dataSource()"
[matSortActive]="sortColumn"
[matSortDirection]="sortDirection"
[matSortDisabled]="sortDisabled"
@ -177,7 +177,7 @@
[deviceType]="deviceType"
[isDate]="true"
[locale]="locale"
[value]="isLoading ? undefined : element.date"
[value]="isLoading() ? undefined : element.date"
/>
</div>
</td>
@ -201,7 +201,7 @@
<gf-value
[isCurrency]="true"
[locale]="locale"
[value]="isLoading ? undefined : element.quantity"
[value]="isLoading() ? undefined : element.quantity"
/>
</div>
</td>
@ -225,7 +225,7 @@
<gf-value
[isCurrency]="true"
[locale]="locale"
[value]="isLoading ? undefined : element.unitPrice"
[value]="isLoading() ? undefined : element.unitPrice"
/>
</div>
</td>
@ -249,7 +249,7 @@
<gf-value
[isCurrency]="true"
[locale]="locale"
[value]="isLoading ? undefined : element.fee"
[value]="isLoading() ? undefined : element.fee"
/>
</div>
</td>
@ -272,7 +272,7 @@
<gf-value
[isCurrency]="true"
[locale]="locale"
[value]="isLoading ? undefined : element.value"
[value]="isLoading() ? undefined : element.value"
/>
</div>
</td>
@ -304,7 +304,7 @@
<gf-value
[isCurrency]="true"
[locale]="locale"
[value]="isLoading ? undefined : element.valueInBaseCurrency"
[value]="isLoading() ? undefined : element.valueInBaseCurrency"
/>
</div>
</td>
@ -388,7 +388,7 @@
@if (hasPermissionToCreateActivity) {
<button
mat-menu-item
[disabled]="dataSource?.data.length === 0"
[disabled]="dataSource()?.data.length === 0"
(click)="onImportDividends()"
>
<span class="align-items-center d-flex">
@ -403,7 +403,7 @@
<button
class="align-items-center d-flex"
mat-menu-item
[disabled]="dataSource?.data.length === 0"
[disabled]="dataSource()?.data.length === 0"
(click)="onExport()"
>
<span class="align-items-center d-flex">
@ -488,9 +488,9 @@
</td>
</ng-container>
<tr *matHeaderRowDef="displayedColumns" mat-header-row></tr>
<tr *matHeaderRowDef="displayedColumns()" mat-header-row></tr>
<tr
*matRowDef="let row; columns: displayedColumns"
*matRowDef="let row; columns: displayedColumns()"
mat-row
[ngClass]="{
'cursor-pointer': canClickActivity(row)
@ -500,7 +500,7 @@
</table>
</div>
@if (isLoading) {
@if (isLoading()) {
<ngx-skeleton-loader
animation="pulse"
class="px-4 py-3"
@ -514,7 +514,7 @@
<mat-paginator
[length]="totalItems"
[ngClass]="{
'd-none': (isLoading && !totalItems) || totalItems <= pageSize
'd-none': (isLoading() && !totalItems) || totalItems <= pageSize
}"
[pageIndex]="pageIndex"
[pageSize]="pageSize"
@ -524,9 +524,9 @@
@if (
!hasActivities &&
dataSource?.data.length === 0 &&
dataSource()?.data.length === 0 &&
hasPermissionToCreateActivity &&
!isLoading
!isLoading()
) {
<div class="p-3 text-center">
<gf-no-transactions-info-indicator [hasBorder]="false" />

26
libs/ui/src/lib/activities-table/activities-table.component.stories.ts

@ -59,7 +59,7 @@ const activities: Activity[] = [
SymbolProfile: {
assetClass: 'EQUITY',
assetSubClass: 'ETF',
comment: null,
comment: undefined,
countries: [],
createdAt: new Date('2021-06-06T16:12:20.982Z'),
currency: 'USD',
@ -74,12 +74,12 @@ const activities: Activity[] = [
isin: 'US9220427424',
name: 'Vanguard Total World Stock Index Fund ETF Shares',
updatedAt: new Date('2025-10-01T20:09:39.500Z'),
scraperConfiguration: null,
scraperConfiguration: undefined,
sectors: [],
symbol: 'VT',
symbolMapping: {},
url: 'https://www.vanguard.com',
userId: null,
userId: undefined,
activitiesCount: 267,
dateOfFirstActivity: new Date('2018-05-31T16:00:00.000Z')
},
@ -126,7 +126,7 @@ const activities: Activity[] = [
SymbolProfile: {
assetClass: 'EQUITY',
assetSubClass: 'ETF',
comment: null,
comment: undefined,
countries: [],
createdAt: new Date('2021-06-06T16:12:20.982Z'),
currency: 'USD',
@ -141,12 +141,12 @@ const activities: Activity[] = [
isin: 'US9220427424',
name: 'Vanguard Total World Stock Index Fund ETF Shares',
updatedAt: new Date('2025-10-01T20:09:39.500Z'),
scraperConfiguration: null,
scraperConfiguration: undefined,
sectors: [],
symbol: 'VT',
symbolMapping: {},
url: 'https://www.vanguard.com',
userId: null,
userId: undefined,
activitiesCount: 267,
dateOfFirstActivity: new Date('2018-05-31T16:00:00.000Z')
},
@ -193,7 +193,7 @@ const activities: Activity[] = [
SymbolProfile: {
assetClass: 'LIQUIDITY',
assetSubClass: 'CRYPTOCURRENCY',
comment: null,
comment: undefined,
countries: [],
createdAt: new Date('2024-03-12T15:15:21.217Z'),
currency: 'USD',
@ -208,12 +208,12 @@ const activities: Activity[] = [
isin: 'CA4639181029',
name: 'iShares Bitcoin Trust',
updatedAt: new Date('2025-09-29T03:14:07.742Z'),
scraperConfiguration: null,
scraperConfiguration: undefined,
sectors: [],
symbol: 'IBIT',
symbolMapping: {},
url: 'https://www.ishares.com',
userId: null,
userId: undefined,
activitiesCount: 6,
dateOfFirstActivity: new Date('2024-01-01T08:00:00.000Z')
},
@ -280,7 +280,7 @@ const activities: Activity[] = [
symbol: 'BNDW',
symbolMapping: {},
url: 'https://vanguard.com',
userId: null,
userId: undefined,
activitiesCount: 38,
dateOfFirstActivity: new Date('2022-04-13T20:05:48.742Z')
},
@ -327,7 +327,7 @@ const activities: Activity[] = [
SymbolProfile: {
assetClass: 'EQUITY',
assetSubClass: 'ETF',
comment: null,
comment: undefined,
countries: [],
createdAt: new Date('2021-06-06T16:12:20.982Z'),
currency: 'USD',
@ -342,12 +342,12 @@ const activities: Activity[] = [
isin: 'US9220427424',
name: 'Vanguard Total World Stock Index Fund ETF Shares',
updatedAt: new Date('2025-10-01T20:09:39.500Z'),
scraperConfiguration: null,
scraperConfiguration: undefined,
sectors: [],
symbol: 'VT',
symbolMapping: {},
url: 'https://www.vanguard.com',
userId: null,
userId: undefined,
activitiesCount: 267,
dateOfFirstActivity: new Date('2018-05-31T16:00:00.000Z')
},

138
libs/ui/src/lib/activities-table/activities-table.component.ts

@ -21,11 +21,13 @@ import {
Component,
EventEmitter,
Input,
OnChanges,
OnDestroy,
OnInit,
Output,
ViewChild
ViewChild,
computed,
inject,
input
} from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatCheckboxModule } from '@angular/material/checkbox';
@ -45,7 +47,6 @@ import { MatTableDataSource, MatTableModule } from '@angular/material/table';
import { MatTooltipModule } from '@angular/material/tooltip';
import { IonIcon } from '@ionic/angular/standalone';
import { isUUID } from 'class-validator';
import { endOfToday, isAfter } from 'date-fns';
import { addIcons } from 'ionicons';
import {
alertCircleOutline,
@ -62,7 +63,7 @@ import {
trashOutline
} from 'ionicons/icons';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { Subject, Subscription, takeUntil } from 'rxjs';
import { Subject, takeUntil } from 'rxjs';
import { GfActivityTypeComponent } from '../activity-type/activity-type.component';
import { GfEntityLogoComponent } from '../entity-logo/entity-logo.component';
@ -94,10 +95,9 @@ import { GfValueComponent } from '../value/value.component';
templateUrl: './activities-table.component.html'
})
export class GfActivitiesTableComponent
implements AfterViewInit, OnChanges, OnDestroy, OnInit
implements AfterViewInit, OnDestroy, OnInit
{
@Input() baseCurrency: string;
@Input() dataSource: MatTableDataSource<Activity>;
@Input() deviceType: string;
@Input() hasActivities: boolean;
@Input() hasPermissionToCreateActivity: boolean;
@ -107,10 +107,7 @@ export class GfActivitiesTableComponent
@Input() locale = getLocale();
@Input() pageIndex: number;
@Input() pageSize = DEFAULT_PAGE_SIZE;
@Input() showAccountColumn = true;
@Input() showActions = true;
@Input() showCheckbox = false;
@Input() showNameColumn = true;
@Input() sortColumn: string;
@Input() sortDirection: SortDirection;
@Input() sortDisabled = false;
@ -132,19 +129,66 @@ export class GfActivitiesTableComponent
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
public displayedColumns = [];
public endOfToday = endOfToday();
public hasDrafts = false;
public hasErrors = false;
public isAfter = isAfter;
public isLoading = true;
public isUUID = isUUID;
public routeQueryParams: Subscription;
public selectedRows = new SelectionModel<Activity>(true, []);
private unsubscribeSubject = new Subject<void>();
public readonly dataSource = input.required<
MatTableDataSource<Activity> | undefined
>();
public readonly showAccountColumn = input(true);
public readonly showCheckbox = input(false);
public readonly showNameColumn = input(true);
public constructor(private notificationService: NotificationService) {
protected readonly displayedColumns = computed(() => {
let columns = [
'select',
'importStatus',
'icon',
'nameWithSymbol',
'type',
'date',
'quantity',
'unitPrice',
'fee',
'value',
'currency',
'valueInBaseCurrency',
'account',
'comment',
'actions'
];
if (!this.showAccountColumn()) {
columns = columns.filter((column) => {
return column !== 'account';
});
}
if (!this.showCheckbox()) {
columns = columns.filter((column) => {
return column !== 'importStatus' && column !== 'select';
});
}
if (!this.showNameColumn()) {
columns = columns.filter((column) => {
return column !== 'nameWithSymbol';
});
}
return columns;
});
protected readonly isLoading = computed(() => {
return !this.dataSource();
});
private readonly notificationService = inject(NotificationService);
private readonly unsubscribeSubject = new Subject<void>();
public constructor() {
addIcons({
alertCircleOutline,
calendarClearOutline,
@ -162,7 +206,7 @@ export class GfActivitiesTableComponent
}
public ngOnInit() {
if (this.showCheckbox) {
if (this.showCheckbox()) {
this.toggleAllRows();
this.selectedRows.changed
.pipe(takeUntil(this.unsubscribeSubject))
@ -173,8 +217,10 @@ export class GfActivitiesTableComponent
}
public ngAfterViewInit() {
if (this.dataSource) {
this.dataSource.paginator = this.paginator;
const dataSource = this.dataSource();
if (dataSource) {
dataSource.paginator = this.paginator;
}
this.sort.sortChange.subscribe((value: Sort) => {
@ -182,51 +228,9 @@ export class GfActivitiesTableComponent
});
}
public ngOnChanges() {
this.displayedColumns = [
'select',
'importStatus',
'icon',
'nameWithSymbol',
'type',
'date',
'quantity',
'unitPrice',
'fee',
'value',
'currency',
'valueInBaseCurrency',
'account',
'comment',
'actions'
];
if (!this.showAccountColumn) {
this.displayedColumns = this.displayedColumns.filter((column) => {
return column !== 'account';
});
}
if (!this.showCheckbox) {
this.displayedColumns = this.displayedColumns.filter((column) => {
return column !== 'importStatus' && column !== 'select';
});
}
if (!this.showNameColumn) {
this.displayedColumns = this.displayedColumns.filter((column) => {
return column !== 'nameWithSymbol';
});
}
if (this.dataSource) {
this.isLoading = false;
}
}
public areAllRowsSelected() {
const numSelectedRows = this.selectedRows.selected.length;
const numTotalRows = this.dataSource.data.length;
const numTotalRows = this.dataSource()?.data.length;
return numSelectedRows === numTotalRows;
}
@ -241,7 +245,7 @@ export class GfActivitiesTableComponent
public isExcludedFromAnalysis(activity: Activity) {
return (
activity.account?.isExcluded ||
activity.account?.isExcluded ??
activity.tags?.some(({ id }) => {
return id === TAG_ID_EXCLUDE_FROM_ANALYSIS;
})
@ -253,7 +257,7 @@ export class GfActivitiesTableComponent
}
public onClickActivity(activity: Activity) {
if (this.showCheckbox) {
if (this.showCheckbox()) {
if (!activity.error) {
this.selectedRows.toggle(activity);
}
@ -299,8 +303,8 @@ export class GfActivitiesTableComponent
public onExportDrafts() {
this.exportDrafts.emit(
this.dataSource.filteredData
.filter((activity) => {
this.dataSource()
?.filteredData.filter((activity) => {
return activity.isDraft;
})
.map((activity) => {
@ -331,7 +335,7 @@ export class GfActivitiesTableComponent
if (this.areAllRowsSelected()) {
this.selectedRows.clear();
} else {
this.dataSource.data.forEach((row) => {
this.dataSource()?.data.forEach((row) => {
this.selectedRows.select(row);
});
}

24
libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.component.ts

@ -7,12 +7,12 @@ import {
ChangeDetectorRef,
Component,
ElementRef,
EventEmitter,
HostBinding,
Input,
OnChanges,
Output,
ViewChild
ViewChild,
inject,
output
} from '@angular/core';
import { Params, RouterModule } from '@angular/router';
@ -33,21 +33,23 @@ export class GfAssistantListItemComponent
implements FocusableOption, OnChanges
{
@HostBinding('attr.tabindex') tabindex = -1;
@HostBinding('class.has-focus') get getHasFocus() {
return this.hasFocus;
}
@Input() item: SearchResultItem;
@Output() clicked = new EventEmitter<void>();
@ViewChild('link') public linkElement: ElementRef;
@ViewChild('link') public linkElement: ElementRef<HTMLAnchorElement>;
public hasFocus = false;
public queryParams: Params;
public routerLink: string[];
public constructor(private changeDetectorRef: ChangeDetectorRef) {}
protected readonly clicked = output<void>();
private readonly changeDetectorRef = inject(ChangeDetectorRef);
@HostBinding('class.has-focus')
public get getHasFocus() {
return this.hasFocus;
}
public ngOnChanges() {
if (this.item?.mode === SearchMode.ACCOUNT) {
@ -65,7 +67,7 @@ export class GfAssistantListItemComponent
};
this.routerLink =
internalRoutes.adminControl.subRoutes.marketData.routerLink;
internalRoutes.adminControl.subRoutes?.marketData.routerLink ?? [];
} else if (this.item?.mode === SearchMode.HOLDING) {
this.queryParams = {
dataSource: this.item.dataSource,

2
libs/ui/src/lib/assistant/assistant-list-item/assistant-list-item.html

@ -8,7 +8,7 @@
@if (item && isAsset(item)) {
<br />
<small class="text-muted"
>{{ item?.symbol | gfSymbol }} · {{ item?.currency }}
>{{ item?.symbol ?? '' | gfSymbol }} · {{ item?.currency }}
@if (item?.assetSubClassString) {
· {{ item.assetSubClassString }}
}

102
libs/ui/src/lib/assistant/assistant.component.ts

@ -12,16 +12,15 @@ import {
ChangeDetectorRef,
Component,
ElementRef,
EventEmitter,
HostListener,
Input,
OnChanges,
OnDestroy,
OnInit,
Output,
QueryList,
ViewChild,
ViewChildren
ViewChildren,
output
} from '@angular/core';
import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
@ -86,37 +85,7 @@ import {
templateUrl: './assistant.html'
})
export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
@HostListener('document:keydown', ['$event']) onKeydown(
event: KeyboardEvent
) {
if (!this.isOpen) {
return;
}
if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
for (const item of this.assistantListItems) {
item.removeFocus();
}
this.keyManager.onKeydown(event);
const currentAssistantListItem = this.getCurrentAssistantListItem();
if (currentAssistantListItem?.linkElement) {
currentAssistantListItem.linkElement.nativeElement?.scrollIntoView({
behavior: 'smooth',
block: 'center'
});
}
} else if (event.key === 'Enter') {
const currentAssistantListItem = this.getCurrentAssistantListItem();
if (currentAssistantListItem?.linkElement) {
currentAssistantListItem.linkElement.nativeElement?.click();
event.stopPropagation();
}
}
}
public static readonly SEARCH_RESULTS_DEFAULT_LIMIT = 5;
@Input() deviceType: string;
@Input() hasPermissionToAccessAdminControl: boolean;
@ -124,21 +93,16 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
@Input() hasPermissionToChangeFilters: boolean;
@Input() user: User;
@Output() closed = new EventEmitter<void>();
@Output() dateRangeChanged = new EventEmitter<DateRange>();
@Output() filtersChanged = new EventEmitter<Filter[]>();
@ViewChild('menuTrigger') menuTriggerElement: MatMenuTrigger;
@ViewChild('search', { static: true }) searchElement: ElementRef;
@ViewChild('search', { static: true })
searchElement: ElementRef<HTMLInputElement>;
@ViewChildren(GfAssistantListItemComponent)
assistantListItems: QueryList<GfAssistantListItemComponent>;
public static readonly SEARCH_RESULTS_DEFAULT_LIMIT = 5;
public accounts: AccountWithPlatform[] = [];
public assetClasses: Filter[] = [];
public dateRangeFormControl = new FormControl<string>(undefined);
public dateRangeFormControl = new FormControl<string | null>(null);
public dateRangeOptions: DateRangeOption[] = [];
public holdings: PortfolioPosition[] = [];
public isLoading = {
@ -166,6 +130,10 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
};
public tags: Filter[] = [];
protected readonly closed = output<void>();
protected readonly dateRangeChanged = output<DateRange>();
protected readonly filtersChanged = output<Filter[]>();
private readonly PRESELECTION_DELAY = 100;
private filterTypes: Filter['type'][] = [
@ -188,6 +156,37 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
addIcons({ closeCircleOutline, closeOutline, searchOutline });
}
@HostListener('document:keydown', ['$event'])
public onKeydown(event: KeyboardEvent) {
if (!this.isOpen) {
return;
}
if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
for (const item of this.assistantListItems) {
item.removeFocus();
}
this.keyManager.onKeydown(event);
const currentAssistantListItem = this.getCurrentAssistantListItem();
if (currentAssistantListItem?.linkElement) {
currentAssistantListItem.linkElement.nativeElement?.scrollIntoView({
behavior: 'smooth',
block: 'center'
});
}
} else if (event.key === 'Enter') {
const currentAssistantListItem = this.getCurrentAssistantListItem();
if (currentAssistantListItem?.linkElement) {
currentAssistantListItem.linkElement.nativeElement?.click();
event.stopPropagation();
}
}
}
public ngOnInit() {
this.assetClasses = Object.keys(AssetClass).map((assetClass) => {
return {
@ -482,7 +481,7 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
.subscribe(({ holdings }) => {
this.holdings = holdings
.filter(({ assetSubClass }) => {
return !['CASH'].includes(assetSubClass);
return assetSubClass && !['CASH'].includes(assetSubClass);
})
.sort((a, b) => {
return a.name?.localeCompare(b.name);
@ -499,23 +498,23 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
this.filtersChanged.emit([
{
id: filterValue?.account,
id: filterValue?.account ?? '',
type: 'ACCOUNT'
},
{
id: filterValue?.assetClass,
id: filterValue?.assetClass ?? '',
type: 'ASSET_CLASS'
},
{
id: filterValue?.holding?.dataSource,
id: filterValue?.holding?.dataSource ?? '',
type: 'DATA_SOURCE'
},
{
id: filterValue?.holding?.symbol,
id: filterValue?.holding?.symbol ?? '',
type: 'SYMBOL'
},
{
id: filterValue?.tag,
id: filterValue?.tag ?? '',
type: 'TAG'
}
]);
@ -541,7 +540,7 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
this.filterTypes.map((type) => {
return {
type,
id: null
id: ''
};
})
);
@ -673,7 +672,7 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
dataSource,
name,
symbol,
assetSubClassString: translate(assetSubClass),
assetSubClassString: translate(assetSubClass ?? ''),
mode: SearchMode.ASSET_PROFILE as const
};
}
@ -705,7 +704,7 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
dataSource,
name,
symbol,
assetSubClassString: translate(assetSubClass),
assetSubClassString: translate(assetSubClass ?? ''),
mode: SearchMode.HOLDING as const
};
}
@ -755,6 +754,7 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
const symbol = this.user?.settings?.['filters.symbol'];
const selectedHolding = this.holdings.find((holding) => {
return (
!!(dataSource && symbol) &&
getAssetProfileIdentifier({
dataSource: holding.dataSource,
symbol: holding.symbol

2
libs/ui/src/lib/assistant/assistant.html

@ -186,7 +186,7 @@
<div class="p-3">
<gf-portfolio-filter-form
#portfolioFilterForm
[accounts]="user?.accounts"
[accounts]="user?.accounts ?? []"
[assetClasses]="assetClasses"
[formControl]="portfolioFilterFormControl"
[holdings]="holdings"

90
libs/ui/src/lib/currency-selector/currency-selector.component.ts

@ -4,13 +4,16 @@ import {
ChangeDetectionStrategy,
ChangeDetectorRef,
Component,
DestroyRef,
DoCheck,
ElementRef,
Input,
OnDestroy,
OnInit,
ViewChild
ViewChild,
inject,
input,
viewChild
} from '@angular/core';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import {
FormControl,
FormGroupDirective,
@ -21,15 +24,14 @@ import {
import {
MatAutocomplete,
MatAutocompleteModule,
MatAutocompleteSelectedEvent
MatOption
} from '@angular/material/autocomplete';
import {
MatFormFieldControl,
MatFormFieldModule
} from '@angular/material/form-field';
import { MatInput, MatInputModule } from '@angular/material/input';
import { Subject } from 'rxjs';
import { map, startWith, takeUntil } from 'rxjs/operators';
import { map, startWith } from 'rxjs/operators';
import { AbstractMatFormField } from '../shared/abstract-mat-form-field';
@ -58,21 +60,19 @@ import { AbstractMatFormField } from '../shared/abstract-mat-form-field';
templateUrl: 'currency-selector.component.html'
})
export class GfCurrencySelectorComponent
extends AbstractMatFormField<string>
implements DoCheck, OnDestroy, OnInit
extends AbstractMatFormField<string | null>
implements DoCheck, OnInit
{
@Input() private currencies: string[] = [];
@Input() private formControlName: string;
@ViewChild(MatInput) private input: MatInput;
@ViewChild('currencyAutocomplete')
public currencyAutocomplete: MatAutocomplete;
public control = new FormControl();
public readonly control = new FormControl<string | null>(null);
public readonly currencies = input.required<string[]>();
public filteredCurrencies: string[] = [];
public readonly formControlName = input.required<string>();
private unsubscribeSubject = new Subject<void>();
private readonly destroyRef = inject(DestroyRef);
private readonly input = viewChild.required(MatInput);
public constructor(
public readonly _elementRef: ElementRef,
@ -86,6 +86,19 @@ export class GfCurrencySelectorComponent
this.controlType = 'currency-selector';
}
public get empty() {
return this.input().empty;
}
public set value(value: string | null) {
this.control.setValue(value);
super.value = value;
}
public focus() {
this.input().focus();
}
public ngOnInit() {
if (this.disabled) {
this.control.disable();
@ -94,17 +107,18 @@ export class GfCurrencySelectorComponent
const formGroup = this.formGroupDirective.form;
if (formGroup) {
const control = formGroup.get(this.formControlName);
const control = formGroup.get(this.formControlName());
if (control) {
this.value = this.currencies.find((value) => {
return value === control.value;
});
this.value =
this.currencies().find((value) => {
return value === control.value;
}) ?? null;
}
}
this.control.valueChanges
.pipe(takeUntil(this.unsubscribeSubject))
.pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
if (super.value) {
super.value = null;
@ -113,10 +127,10 @@ export class GfCurrencySelectorComponent
this.control.valueChanges
.pipe(
takeUntil(this.unsubscribeSubject),
takeUntilDestroyed(this.destroyRef),
startWith(''),
map((value) => {
return value ? this.filter(value) : this.currencies.slice();
return value ? this.filter(value) : this.currencies().slice();
})
)
.subscribe((values) => {
@ -124,42 +138,22 @@ export class GfCurrencySelectorComponent
});
}
public get empty() {
return this.input?.empty;
}
public focus() {
this.input.focus();
}
public ngDoCheck() {
if (this.ngControl) {
this.validateRequired();
this.errorState = this.ngControl.invalid && this.ngControl.touched;
this.errorState = !!(this.ngControl.invalid && this.ngControl.touched);
this.stateChanges.next();
}
}
public onUpdateCurrency(event: MatAutocompleteSelectedEvent) {
super.value = event.option.value;
}
public set value(value: string) {
this.control.setValue(value);
super.value = value;
}
public ngOnDestroy() {
super.ngOnDestroy();
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
public onUpdateCurrency({ option }: { option: MatOption<string> }) {
super.value = option.value;
}
private filter(value: string) {
const filterValue = value?.toLowerCase();
const filterValue = value.toLowerCase();
return this.currencies.filter((currency) => {
return this.currencies().filter((currency) => {
return currency.toLowerCase().startsWith(filterValue);
});
}
@ -168,7 +162,7 @@ export class GfCurrencySelectorComponent
const requiredCheck = super.required ? !super.value : false;
if (requiredCheck) {
this.ngControl.control.setErrors({ invalidData: true });
this.ngControl.control?.setErrors({ invalidData: true });
}
}
}

128
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts

@ -13,13 +13,13 @@ import {
ChangeDetectorRef,
Component,
ElementRef,
EventEmitter,
Input,
OnChanges,
OnDestroy,
Output,
ViewChild
ViewChild,
output
} from '@angular/core';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import {
FormBuilder,
FormControl,
@ -55,9 +55,9 @@ import {
startOfMonth,
sub
} from 'date-fns';
import { isNumber } from 'lodash';
import { isNil, isNumber } from 'lodash';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { Subject, debounceTime, takeUntil } from 'rxjs';
import { debounceTime } from 'rxjs';
import { FireCalculatorService } from './fire-calculator.service';
@ -90,32 +90,31 @@ export class GfFireCalculatorComponent implements OnChanges, OnDestroy {
@Input() retirementDate: Date;
@Input() savingsRate = 0;
@Output() annualInterestRateChanged = new EventEmitter<number>();
@Output() calculationCompleted =
new EventEmitter<FireCalculationCompleteEvent>();
@Output() projectedTotalAmountChanged = new EventEmitter<number>();
@Output() retirementDateChanged = new EventEmitter<Date>();
@Output() savingsRateChanged = new EventEmitter<number>();
@ViewChild('chartCanvas') chartCanvas: ElementRef<HTMLCanvasElement>;
public calculatorForm = this.formBuilder.group({
annualInterestRate: new FormControl<number>(undefined),
paymentPerPeriod: new FormControl<number>(undefined),
principalInvestmentAmount: new FormControl<number>(undefined),
projectedTotalAmount: new FormControl<number>(undefined),
retirementDate: new FormControl<Date>(undefined)
annualInterestRate: new FormControl<number | null>(null),
paymentPerPeriod: new FormControl<number | null>(null),
principalInvestmentAmount: new FormControl<number | null>(null),
projectedTotalAmount: new FormControl<number | null>(null),
retirementDate: new FormControl<Date | null>(null)
});
public chart: Chart<'bar'>;
public isLoading = true;
public minDate = addDays(new Date(), 1);
public periodsToRetire = 0;
protected readonly annualInterestRateChanged = output<number>();
protected readonly calculationCompleted =
output<FireCalculationCompleteEvent>();
protected readonly projectedTotalAmountChanged = output<number>();
protected readonly retirementDateChanged = output<Date>();
protected readonly savingsRateChanged = output<number>();
private readonly CONTRIBUTION_PERIOD = 12;
private readonly DEFAULT_RETIREMENT_DATE = startOfMonth(
addYears(new Date(), 10)
);
private unsubscribeSubject = new Subject<void>();
public constructor(
private changeDetectorRef: ChangeDetectorRef,
@ -131,46 +130,56 @@ export class GfFireCalculatorComponent implements OnChanges, OnDestroy {
);
this.calculatorForm.valueChanges
.pipe(takeUntil(this.unsubscribeSubject))
.pipe(takeUntilDestroyed())
.subscribe(() => {
this.initialize();
});
this.calculatorForm.valueChanges
.pipe(debounceTime(500), takeUntil(this.unsubscribeSubject))
.pipe(debounceTime(500), takeUntilDestroyed())
.subscribe(() => {
const { projectedTotalAmount, retirementDate } =
this.calculatorForm.getRawValue();
this.calculationCompleted.emit({
projectedTotalAmount,
retirementDate
});
if (projectedTotalAmount !== null && retirementDate !== null) {
this.calculationCompleted.emit({
projectedTotalAmount,
retirementDate
});
}
});
this.calculatorForm
.get('annualInterestRate')
.valueChanges.pipe(debounceTime(500), takeUntil(this.unsubscribeSubject))
?.valueChanges.pipe(debounceTime(500), takeUntilDestroyed())
.subscribe((annualInterestRate) => {
this.annualInterestRateChanged.emit(annualInterestRate);
if (annualInterestRate !== null) {
this.annualInterestRateChanged.emit(annualInterestRate);
}
});
this.calculatorForm
.get('paymentPerPeriod')
.valueChanges.pipe(debounceTime(500), takeUntil(this.unsubscribeSubject))
?.valueChanges.pipe(debounceTime(500), takeUntilDestroyed())
.subscribe((savingsRate) => {
this.savingsRateChanged.emit(savingsRate);
if (savingsRate !== null) {
this.savingsRateChanged.emit(savingsRate);
}
});
this.calculatorForm
.get('projectedTotalAmount')
.valueChanges.pipe(debounceTime(500), takeUntil(this.unsubscribeSubject))
?.valueChanges.pipe(debounceTime(500), takeUntilDestroyed())
.subscribe((projectedTotalAmount) => {
this.projectedTotalAmountChanged.emit(projectedTotalAmount);
if (projectedTotalAmount !== null) {
this.projectedTotalAmountChanged.emit(projectedTotalAmount);
}
});
this.calculatorForm
.get('retirementDate')
.valueChanges.pipe(debounceTime(500), takeUntil(this.unsubscribeSubject))
?.valueChanges.pipe(debounceTime(500), takeUntilDestroyed())
.subscribe((retirementDate) => {
this.retirementDateChanged.emit(retirementDate);
if (retirementDate !== null) {
this.retirementDateChanged.emit(retirementDate);
}
});
}
@ -196,11 +205,11 @@ export class GfFireCalculatorComponent implements OnChanges, OnDestroy {
this.calculatorForm.patchValue(
{
annualInterestRate:
this.calculatorForm.get('annualInterestRate').value,
this.calculatorForm.get('annualInterestRate')?.value,
paymentPerPeriod: this.getPMT(),
principalInvestmentAmount: this.calculatorForm.get(
'principalInvestmentAmount'
).value,
)?.value,
projectedTotalAmount:
Math.round(this.getProjectedTotalAmount()) || 0,
retirementDate:
@ -210,7 +219,7 @@ export class GfFireCalculatorComponent implements OnChanges, OnDestroy {
emitEvent: false
}
);
this.calculatorForm.get('principalInvestmentAmount').disable();
this.calculatorForm.get('principalInvestmentAmount')?.disable();
this.changeDetectorRef.markForCheck();
});
@ -219,42 +228,43 @@ export class GfFireCalculatorComponent implements OnChanges, OnDestroy {
if (this.hasPermissionToUpdateUserSettings === true) {
this.calculatorForm
.get('annualInterestRate')
.enable({ emitEvent: false });
this.calculatorForm.get('paymentPerPeriod').enable({ emitEvent: false });
?.enable({ emitEvent: false });
this.calculatorForm.get('paymentPerPeriod')?.enable({ emitEvent: false });
this.calculatorForm
.get('projectedTotalAmount')
.enable({ emitEvent: false });
?.enable({ emitEvent: false });
} else {
this.calculatorForm
.get('annualInterestRate')
.disable({ emitEvent: false });
this.calculatorForm.get('paymentPerPeriod').disable({ emitEvent: false });
?.disable({ emitEvent: false });
this.calculatorForm
.get('paymentPerPeriod')
?.disable({ emitEvent: false });
this.calculatorForm
.get('projectedTotalAmount')
.disable({ emitEvent: false });
?.disable({ emitEvent: false });
}
this.calculatorForm.get('retirementDate').disable({ emitEvent: false });
this.calculatorForm.get('retirementDate')?.disable({ emitEvent: false });
}
public setMonthAndYear(
normalizedMonthAndYear: Date,
datepicker: MatDatepicker<Date>
) {
const retirementDate = this.calculatorForm.get('retirementDate').value;
const retirementDate =
this.calculatorForm.get('retirementDate')?.value ??
this.DEFAULT_RETIREMENT_DATE;
const newRetirementDate = setMonth(
setYear(retirementDate, normalizedMonthAndYear.getFullYear()),
normalizedMonthAndYear.getMonth()
);
this.calculatorForm.get('retirementDate').setValue(newRetirementDate);
this.calculatorForm.get('retirementDate')?.setValue(newRetirementDate);
datepicker.close();
}
public ngOnDestroy() {
this.chart?.destroy();
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
private initialize() {
@ -288,8 +298,6 @@ export class GfFireCalculatorComponent implements OnChanges, OnDestroy {
return `Total: ${new Intl.NumberFormat(this.locale, {
currency: this.currency,
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Only supported from ES2020 or later
currencyDisplay: 'code',
style: 'currency'
}).format(totalAmount)}`;
@ -426,12 +434,16 @@ export class GfFireCalculatorComponent implements OnChanges, OnDestroy {
}
private getPeriodsToRetire(): number {
if (this.calculatorForm.get('projectedTotalAmount').value) {
const projectedTotalAmount = this.calculatorForm.get(
'projectedTotalAmount'
)?.value;
if (projectedTotalAmount) {
let periods = this.fireCalculatorService.calculatePeriodsToRetire({
P: this.getP(),
PMT: this.getPMT(),
r: this.getR(),
totalAmount: this.calculatorForm.get('projectedTotalAmount').value
totalAmount: projectedTotalAmount
});
if (periods === Infinity) {
@ -453,12 +465,16 @@ export class GfFireCalculatorComponent implements OnChanges, OnDestroy {
}
private getPMT() {
return this.calculatorForm.get('paymentPerPeriod').value;
return this.calculatorForm.get('paymentPerPeriod')?.value ?? 0;
}
private getProjectedTotalAmount() {
if (this.calculatorForm.get('projectedTotalAmount').value) {
return this.calculatorForm.get('projectedTotalAmount').value;
const projectedTotalAmount = this.calculatorForm.get(
'projectedTotalAmount'
)?.value;
if (!isNil(projectedTotalAmount)) {
return projectedTotalAmount;
}
const { totalAmount } =
@ -473,12 +489,12 @@ export class GfFireCalculatorComponent implements OnChanges, OnDestroy {
}
private getR() {
return this.calculatorForm.get('annualInterestRate').value / 100;
return (this.calculatorForm.get('annualInterestRate')?.value ?? 0) / 100;
}
private getRetirementDate(): Date {
if (this.periodsToRetire === Number.MAX_SAFE_INTEGER) {
return undefined;
return this.DEFAULT_RETIREMENT_DATE;
}
const monthsToRetire = this.periodsToRetire % 12;

47
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.component.ts

@ -5,10 +5,12 @@ import {
ChangeDetectorRef,
Component,
CUSTOM_ELEMENTS_SCHEMA,
Inject,
OnDestroy,
OnInit
DestroyRef,
OnInit,
inject,
signal
} from '@angular/core';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';
@ -23,7 +25,6 @@ import { MatInputModule } from '@angular/material/input';
import { IonIcon } from '@ionic/angular/standalone';
import { addIcons } from 'ionicons';
import { calendarClearOutline, refreshOutline } from 'ionicons/icons';
import { Subject, takeUntil } from 'rxjs';
import { HistoricalMarketDataEditorDialogParams } from './interfaces/interfaces';
@ -45,26 +46,27 @@ import { HistoricalMarketDataEditorDialogParams } from './interfaces/interfaces'
styleUrls: ['./historical-market-data-editor-dialog.scss'],
templateUrl: 'historical-market-data-editor-dialog.html'
})
export class GfHistoricalMarketDataEditorDialogComponent
implements OnDestroy, OnInit
{
private unsubscribeSubject = new Subject<void>();
export class GfHistoricalMarketDataEditorDialogComponent implements OnInit {
public readonly data =
inject<HistoricalMarketDataEditorDialogParams>(MAT_DIALOG_DATA);
protected readonly marketPrice = signal(this.data.marketPrice);
private readonly destroyRef = inject(DestroyRef);
private readonly locale =
this.data.user.settings.locale ?? inject<string>(MAT_DATE_LOCALE);
public constructor(
private adminService: AdminService,
private changeDetectorRef: ChangeDetectorRef,
@Inject(MAT_DIALOG_DATA)
public data: HistoricalMarketDataEditorDialogParams,
private dataService: DataService,
private dateAdapter: DateAdapter<any>,
public dialogRef: MatDialogRef<GfHistoricalMarketDataEditorDialogComponent>,
@Inject(MAT_DATE_LOCALE) private locale: string
private dateAdapter: DateAdapter<Date, string>,
public dialogRef: MatDialogRef<GfHistoricalMarketDataEditorDialogComponent>
) {
addIcons({ calendarClearOutline, refreshOutline });
}
public ngOnInit() {
this.locale = this.data.user?.settings?.locale;
this.dateAdapter.setLocale(this.locale);
}
@ -79,15 +81,19 @@ export class GfHistoricalMarketDataEditorDialogComponent
dateString: this.data.dateString,
symbol: this.data.symbol
})
.pipe(takeUntil(this.unsubscribeSubject))
.pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(({ marketPrice }) => {
this.data.marketPrice = marketPrice;
this.marketPrice.set(marketPrice);
this.changeDetectorRef.markForCheck();
});
}
public onUpdate() {
if (this.marketPrice() === undefined) {
return;
}
this.dataService
.postMarketData({
dataSource: this.data.dataSource,
@ -95,20 +101,15 @@ export class GfHistoricalMarketDataEditorDialogComponent
marketData: [
{
date: this.data.dateString,
marketPrice: this.data.marketPrice
marketPrice: this.marketPrice()
}
]
},
symbol: this.data.symbol
})
.pipe(takeUntil(this.unsubscribeSubject))
.pipe(takeUntilDestroyed(this.destroyRef))
.subscribe(() => {
this.dialogRef.close({ withRefresh: true });
});
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
}

3
libs/ui/src/lib/historical-market-data-editor/historical-market-data-editor-dialog/historical-market-data-editor-dialog.html

@ -28,7 +28,8 @@
matInput
name="marketPrice"
type="number"
[(ngModel)]="data.marketPrice"
[ngModel]="marketPrice()"
(ngModelChange)="marketPrice.set($event)"
/>
<span class="ml-2" matTextSuffix>{{ data.currency }}</span>
</mat-form-field>

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save