Browse Source

Merge branch 'main' into feat/ai-sdk-openrouter

pull/5025/head
Thomas Kaul 3 days ago
committed by GitHub
parent
commit
0a8cb40f58
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 18
      CHANGELOG.md
  2. 8
      apps/api/src/app/admin/admin.controller.ts
  3. 20
      apps/api/src/app/admin/admin.service.ts
  4. 6
      apps/api/src/app/info/info.service.ts
  5. 2
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur.spec.ts
  6. 2
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd.spec.ts
  7. 2
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell-partially.spec.ts
  8. 2
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell.spec.ts
  9. 12
      apps/api/src/app/portfolio/portfolio.service.ts
  10. 18
      apps/api/src/app/user/user.service.ts
  11. 46
      apps/api/src/models/rules/asset-class-cluster-risk/equity.ts
  12. 46
      apps/api/src/models/rules/asset-class-cluster-risk/fixed-income.ts
  13. 37
      apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts
  14. 41
      apps/api/src/models/rules/currency-cluster-risk/current-investment.ts
  15. 32
      apps/api/src/services/data-provider/manual/manual.service.ts
  16. 35
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
  17. 2
      apps/client/src/app/components/admin-settings/admin-settings.component.html
  18. 7
      apps/client/src/app/components/admin-settings/admin-settings.component.scss
  19. 2
      apps/client/src/app/pages/admin/admin-page.component.ts
  20. 50
      apps/client/src/app/pages/i18n/i18n-page.html
  21. 4
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html
  22. 215
      apps/client/src/locales/messages.ca.xlf
  23. 155
      apps/client/src/locales/messages.de.xlf
  24. 185
      apps/client/src/locales/messages.es.xlf
  25. 155
      apps/client/src/locales/messages.fr.xlf
  26. 155
      apps/client/src/locales/messages.it.xlf
  27. 215
      apps/client/src/locales/messages.nl.xlf
  28. 159
      apps/client/src/locales/messages.pl.xlf
  29. 157
      apps/client/src/locales/messages.pt.xlf
  30. 181
      apps/client/src/locales/messages.tr.xlf
  31. 159
      apps/client/src/locales/messages.uk.xlf
  32. 140
      apps/client/src/locales/messages.xlf
  33. 155
      apps/client/src/locales/messages.zh.xlf
  34. 2
      docker/entrypoint.sh
  35. 5
      libs/common/src/lib/routes/routes.ts
  36. 2
      prisma/schema.prisma
  37. 0
      test/import/not-ok/invalid-currency.csv
  38. 0
      test/import/not-ok/invalid-data-source.json
  39. 0
      test/import/not-ok/invalid-date-before-min.json
  40. 0
      test/import/not-ok/invalid-date-yy.csv
  41. 0
      test/import/not-ok/invalid-date.json
  42. 0
      test/import/not-ok/invalid-fee.csv
  43. 0
      test/import/not-ok/invalid-multi-line.csv
  44. 0
      test/import/not-ok/invalid-symbol-btc-usd.csv
  45. 0
      test/import/not-ok/invalid-symbol.csv
  46. 0
      test/import/not-ok/invalid-symbol.json
  47. 0
      test/import/not-ok/unavailable-exchange-rate.json
  48. 0
      test/import/not-ok/unexpected-format.json
  49. 0
      test/import/ok/500-activities.json
  50. 0
      test/import/ok/btceur.json
  51. 0
      test/import/ok/btcusd.csv
  52. 0
      test/import/ok/btcusd.json
  53. 0
      test/import/ok/derived-currency.json
  54. 0
      test/import/ok/novn-buy-and-sell-partially.json
  55. 0
      test/import/ok/novn-buy-and-sell.json
  56. 0
      test/import/ok/sample.csv
  57. 0
      test/import/ok/sample.json
  58. 0
      test/import/ok/vti-buy-long-history.json
  59. 0
      test/import/ok/vti-buy-on-ibkr.csv
  60. 0
      test/import/ok/without-accounts.json

18
CHANGELOG.md

@ -7,9 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased
### Added
- Set up the language localization for the static portfolio analysis rule: _Asset Class Cluster Risks_ (Equity)
- Set up the language localization for the static portfolio analysis rule: _Asset Class Cluster Risks_ (Fixed Income)
- Set up the language localization for the static portfolio analysis rule: _Currency Cluster Risks_ (Investment)
- Set up the language localization for the static portfolio analysis rule: _Currency Cluster Risks_ (Investment: Base Currency)
### Changed
- Extended the selector handling of the scraper configuration for more use cases
- Extended the _AI_ service by an access to _OpenRouter_ (experimental)
- Changed `node main` to `exec node main` in the `entrypoint.sh` file to improve the container signal handling
- Improved the language localization for Catalan (`ca`)
- Improved the language localization for Dutch (`nl`)
- Improved the language localization for Español (`es`)
- Improved the language localization for German (`de`)
- Improved the language localization for Turkish (`tr`)
### Fixed
- Fixed an issue with the locale in the scraper configuration
## 2.174.0 - 2025-06-24

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

@ -17,7 +17,8 @@ import {
AdminData,
AdminMarketData,
AdminUsers,
EnhancedSymbolProfile
EnhancedSymbolProfile,
ScraperConfiguration
} from '@ghostfolio/common/interfaces';
import { permissions } from '@ghostfolio/common/permissions';
import type {
@ -222,13 +223,12 @@ export class AdminController {
@Post('market-data/:dataSource/:symbol/test')
@UseGuards(AuthGuard('jwt'), HasPermissionGuard)
public async testMarketData(
@Body() data: { scraperConfiguration: string },
@Body() data: { scraperConfiguration: ScraperConfiguration },
@Param('dataSource') dataSource: DataSource,
@Param('symbol') symbol: string
): Promise<{ price: number }> {
try {
const scraperConfiguration = JSON.parse(data.scraperConfiguration);
const price = await this.manualService.test(scraperConfiguration);
const price = await this.manualService.test(data.scraperConfiguration);
if (price) {
return { price };

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

@ -648,7 +648,7 @@ export class AdminService {
if (this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) {
where = {
NOT: {
Analytics: null
analytics: null
}
};
}
@ -806,13 +806,13 @@ export class AdminService {
if (this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) {
orderBy = {
Analytics: {
analytics: {
lastRequestAt: 'desc'
}
};
where = {
NOT: {
Analytics: null
analytics: null
}
};
}
@ -826,7 +826,7 @@ export class AdminService {
_count: {
select: { accounts: true, activities: true }
},
Analytics: {
analytics: {
select: {
activityCount: true,
country: true,
@ -852,11 +852,11 @@ export class AdminService {
});
return usersWithAnalytics.map(
({ _count, Analytics, createdAt, id, role, subscriptions }) => {
({ _count, analytics, createdAt, id, role, subscriptions }) => {
const daysSinceRegistration =
differenceInDays(new Date(), createdAt) + 1;
const engagement = Analytics
? Analytics.activityCount / daysSinceRegistration
const engagement = analytics
? analytics.activityCount / daysSinceRegistration
: undefined;
const subscription =
@ -873,9 +873,9 @@ export class AdminService {
subscription,
accountCount: _count.accounts || 0,
activityCount: _count.activities || 0,
country: Analytics?.country,
dailyApiRequests: Analytics?.dataProviderGhostfolioDailyRequests || 0,
lastActivity: Analytics?.updatedAt
country: analytics?.country,
dailyApiRequests: analytics?.dataProviderGhostfolioDailyRequests || 0,
lastActivity: analytics?.updatedAt
};
}
);

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

@ -133,11 +133,11 @@ export class InfoService {
AND: [
{
NOT: {
Analytics: null
analytics: null
}
},
{
Analytics: {
analytics: {
lastRequestAt: {
gt: subDays(new Date(), aDays)
}
@ -216,7 +216,7 @@ export class InfoService {
AND: [
{
NOT: {
Analytics: null
analytics: null
}
},
{

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

@ -63,7 +63,7 @@ describe('PortfolioCalculator', () => {
beforeAll(() => {
activityDtos = loadActivityExportFile(
join(__dirname, '../../../../../../../test/import/ok-btceur.json')
join(__dirname, '../../../../../../../test/import/ok/btceur.json')
);
});

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

@ -63,7 +63,7 @@ describe('PortfolioCalculator', () => {
beforeAll(() => {
activityDtos = loadActivityExportFile(
join(__dirname, '../../../../../../../test/import/ok-btcusd.json')
join(__dirname, '../../../../../../../test/import/ok/btcusd.json')
);
});

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

@ -65,7 +65,7 @@ describe('PortfolioCalculator', () => {
activityDtos = loadActivityExportFile(
join(
__dirname,
'../../../../../../../test/import/ok-novn-buy-and-sell-partially.json'
'../../../../../../../test/import/ok/novn-buy-and-sell-partially.json'
)
);
});

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

@ -65,7 +65,7 @@ describe('PortfolioCalculator', () => {
activityDtos = loadActivityExportFile(
join(
__dirname,
'../../../../../../../test/import/ok-novn-buy-and-sell.json'
'../../../../../../../test/import/ok/novn-buy-and-sell.json'
)
);
});

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

@ -1280,10 +1280,14 @@ export class PortfolioService {
[
new AssetClassClusterRiskEquity(
this.exchangeRateDataService,
this.i18nService,
userSettings.language,
Object.values(holdings)
),
new AssetClassClusterRiskFixedIncome(
this.exchangeRateDataService,
this.i18nService,
userSettings.language,
Object.values(holdings)
)
],
@ -1296,11 +1300,15 @@ export class PortfolioService {
[
new CurrencyClusterRiskBaseCurrencyCurrentInvestment(
this.exchangeRateDataService,
Object.values(holdings)
this.i18nService,
Object.values(holdings),
userSettings.language
),
new CurrencyClusterRiskCurrentInvestment(
this.exchangeRateDataService,
Object.values(holdings)
this.i18nService,
Object.values(holdings),
userSettings.language
)
],
userSettings

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

@ -182,7 +182,7 @@ export class UserService {
Access,
accessToken,
accounts,
Analytics,
analytics,
authChallenge,
createdAt,
id,
@ -198,7 +198,7 @@ export class UserService {
accounts: {
include: { platform: true }
},
Analytics: true,
analytics: true,
Settings: true,
subscriptions: true
},
@ -217,9 +217,9 @@ export class UserService {
Settings: Settings as UserWithSettings['Settings'],
thirdPartyId,
updatedAt,
activityCount: Analytics?.activityCount,
activityCount: analytics?.activityCount,
dataProviderGhostfolioDailyRequests:
Analytics?.dataProviderGhostfolioDailyRequests
analytics?.dataProviderGhostfolioDailyRequests
};
if (user?.Settings) {
@ -272,20 +272,28 @@ export class UserService {
{}
).getSettings(user.Settings.settings),
AssetClassClusterRiskEquity: new AssetClassClusterRiskEquity(
undefined,
undefined,
undefined,
undefined
).getSettings(user.Settings.settings),
AssetClassClusterRiskFixedIncome: new AssetClassClusterRiskFixedIncome(
undefined,
undefined,
undefined,
undefined
).getSettings(user.Settings.settings),
CurrencyClusterRiskBaseCurrencyCurrentInvestment:
new CurrencyClusterRiskBaseCurrencyCurrentInvestment(
undefined,
undefined,
undefined,
undefined
).getSettings(user.Settings.settings),
CurrencyClusterRiskCurrentInvestment:
new CurrencyClusterRiskCurrentInvestment(
undefined,
undefined,
undefined,
undefined
).getSettings(user.Settings.settings),
@ -380,7 +388,7 @@ export class UserService {
frequency = 6;
}
if (Analytics?.activityCount % frequency === 1) {
if (analytics?.activityCount % frequency === 1) {
currentPermissions.push(permissions.enableSubscriptionInterstitial);
}

46
apps/api/src/models/rules/asset-class-cluster-risk/equity.ts

@ -1,6 +1,7 @@
import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface';
import { Rule } from '@ghostfolio/api/models/rule';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service';
import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service';
import { PortfolioPosition, UserSettings } from '@ghostfolio/common/interfaces';
export class AssetClassClusterRiskEquity extends Rule<Settings> {
@ -8,9 +9,12 @@ export class AssetClassClusterRiskEquity extends Rule<Settings> {
public constructor(
protected exchangeRateDataService: ExchangeRateDataService,
private i18nService: I18nService,
languageCode: string,
holdings: PortfolioPosition[]
) {
super(exchangeRateDataService, {
languageCode,
key: AssetClassClusterRiskEquity.name
});
@ -40,26 +44,39 @@ export class AssetClassClusterRiskEquity extends Rule<Settings> {
if (equityValueRatio > ruleSettings.thresholdMax) {
return {
evaluation: `The equity contribution of your current investment (${(equityValueRatio * 100).toPrecision(3)}%) exceeds ${(
ruleSettings.thresholdMax * 100
).toPrecision(3)}%`,
evaluation: this.i18nService.getTranslation({
id: 'rule.assetClassClusterRiskEquity.false.max',
languageCode: this.getLanguageCode(),
placeholders: {
equityValueRatio: (equityValueRatio * 100).toPrecision(3),
thresholdMax: (ruleSettings.thresholdMax * 100).toPrecision(3)
}
}),
value: false
};
} else if (equityValueRatio < ruleSettings.thresholdMin) {
return {
evaluation: `The equity contribution of your current investment (${(equityValueRatio * 100).toPrecision(3)}%) is below ${(
ruleSettings.thresholdMin * 100
).toPrecision(3)}%`,
evaluation: this.i18nService.getTranslation({
id: 'rule.assetClassClusterRiskEquity.false.min',
languageCode: this.getLanguageCode(),
placeholders: {
equityValueRatio: (equityValueRatio * 100).toPrecision(3),
thresholdMin: (ruleSettings.thresholdMin * 100).toPrecision(3)
}
}),
value: false
};
}
return {
evaluation: `The equity contribution of your current investment (${(equityValueRatio * 100).toPrecision(3)}%) is within the range of ${(
ruleSettings.thresholdMin * 100
).toPrecision(
3
)}% and ${(ruleSettings.thresholdMax * 100).toPrecision(3)}%`,
evaluation: this.i18nService.getTranslation({
id: 'rule.assetClassClusterRiskEquity.true',
languageCode: this.getLanguageCode(),
placeholders: {
equityValueRatio: (equityValueRatio * 100).toPrecision(3),
thresholdMax: (ruleSettings.thresholdMax * 100).toPrecision(3),
thresholdMin: (ruleSettings.thresholdMin * 100).toPrecision(3)
}
}),
value: true
};
}
@ -78,7 +95,10 @@ export class AssetClassClusterRiskEquity extends Rule<Settings> {
}
public getName() {
return 'Equity';
return this.i18nService.getTranslation({
id: 'rule.assetClassClusterRiskEquity',
languageCode: this.getLanguageCode()
});
}
public getSettings({ baseCurrency, xRayRules }: UserSettings): Settings {

46
apps/api/src/models/rules/asset-class-cluster-risk/fixed-income.ts

@ -1,6 +1,7 @@
import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface';
import { Rule } from '@ghostfolio/api/models/rule';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service';
import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service';
import { PortfolioPosition, UserSettings } from '@ghostfolio/common/interfaces';
export class AssetClassClusterRiskFixedIncome extends Rule<Settings> {
@ -8,9 +9,12 @@ export class AssetClassClusterRiskFixedIncome extends Rule<Settings> {
public constructor(
protected exchangeRateDataService: ExchangeRateDataService,
private i18nService: I18nService,
languageCode: string,
holdings: PortfolioPosition[]
) {
super(exchangeRateDataService, {
languageCode,
key: AssetClassClusterRiskFixedIncome.name
});
@ -40,26 +44,39 @@ export class AssetClassClusterRiskFixedIncome extends Rule<Settings> {
if (fixedIncomeValueRatio > ruleSettings.thresholdMax) {
return {
evaluation: `The fixed income contribution of your current investment (${(fixedIncomeValueRatio * 100).toPrecision(3)}%) exceeds ${(
ruleSettings.thresholdMax * 100
).toPrecision(3)}%`,
evaluation: this.i18nService.getTranslation({
id: 'rule.assetClassClusterRiskFixedIncome.false.max',
languageCode: this.getLanguageCode(),
placeholders: {
fixedIncomeValueRatio: (fixedIncomeValueRatio * 100).toPrecision(3),
thresholdMax: (ruleSettings.thresholdMax * 100).toPrecision(3)
}
}),
value: false
};
} else if (fixedIncomeValueRatio < ruleSettings.thresholdMin) {
return {
evaluation: `The fixed income contribution of your current investment (${(fixedIncomeValueRatio * 100).toPrecision(3)}%) is below ${(
ruleSettings.thresholdMin * 100
).toPrecision(3)}%`,
evaluation: this.i18nService.getTranslation({
id: 'rule.assetClassClusterRiskFixedIncome.false.min',
languageCode: this.getLanguageCode(),
placeholders: {
fixedIncomeValueRatio: (fixedIncomeValueRatio * 100).toPrecision(3),
thresholdMin: (ruleSettings.thresholdMin * 100).toPrecision(3)
}
}),
value: false
};
}
return {
evaluation: `The fixed income contribution of your current investment (${(fixedIncomeValueRatio * 100).toPrecision(3)}%) is within the range of ${(
ruleSettings.thresholdMin * 100
).toPrecision(
3
)}% and ${(ruleSettings.thresholdMax * 100).toPrecision(3)}%`,
evaluation: this.i18nService.getTranslation({
id: 'rule.assetClassClusterRiskFixedIncome.true',
languageCode: this.getLanguageCode(),
placeholders: {
fixedIncomeValueRatio: (fixedIncomeValueRatio * 100).toPrecision(3),
thresholdMax: (ruleSettings.thresholdMax * 100).toPrecision(3),
thresholdMin: (ruleSettings.thresholdMin * 100).toPrecision(3)
}
}),
value: true
};
}
@ -78,7 +95,10 @@ export class AssetClassClusterRiskFixedIncome extends Rule<Settings> {
}
public getName() {
return 'Fixed Income';
return this.i18nService.getTranslation({
id: 'rule.assetClassClusterRiskFixedIncome',
languageCode: this.getLanguageCode()
});
}
public getSettings({ baseCurrency, xRayRules }: UserSettings): Settings {

37
apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts

@ -1,6 +1,7 @@
import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface';
import { Rule } from '@ghostfolio/api/models/rule';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service';
import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service';
import { PortfolioPosition, UserSettings } from '@ghostfolio/common/interfaces';
export class CurrencyClusterRiskBaseCurrencyCurrentInvestment extends Rule<Settings> {
@ -8,10 +9,13 @@ export class CurrencyClusterRiskBaseCurrencyCurrentInvestment extends Rule<Setti
public constructor(
protected exchangeRateDataService: ExchangeRateDataService,
holdings: PortfolioPosition[]
private i18nService: I18nService,
holdings: PortfolioPosition[],
languageCode: string
) {
super(exchangeRateDataService, {
key: CurrencyClusterRiskBaseCurrencyCurrentInvestment.name
key: CurrencyClusterRiskBaseCurrencyCurrentInvestment.name,
languageCode
});
this.holdings = holdings;
@ -48,17 +52,29 @@ export class CurrencyClusterRiskBaseCurrencyCurrentInvestment extends Rule<Setti
if (maxItem?.groupKey !== ruleSettings.baseCurrency) {
return {
evaluation: `The major part of your current investment is not in your base currency (${(
baseCurrencyValueRatio * 100
).toPrecision(3)}% in ${ruleSettings.baseCurrency})`,
evaluation: this.i18nService.getTranslation({
id: 'rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false',
languageCode: this.getLanguageCode(),
placeholders: {
baseCurrency: ruleSettings.baseCurrency,
baseCurrencyValueRatio: (baseCurrencyValueRatio * 100).toPrecision(
3
)
}
}),
value: false
};
}
return {
evaluation: `The major part of your current investment is in your base currency (${(
baseCurrencyValueRatio * 100
).toPrecision(3)}% in ${ruleSettings.baseCurrency})`,
evaluation: this.i18nService.getTranslation({
id: 'rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true',
languageCode: this.getLanguageCode(),
placeholders: {
baseCurrency: ruleSettings.baseCurrency,
baseCurrencyValueRatio: (baseCurrencyValueRatio * 100).toPrecision(3)
}
}),
value: true
};
}
@ -68,7 +84,10 @@ export class CurrencyClusterRiskBaseCurrencyCurrentInvestment extends Rule<Setti
}
public getName() {
return 'Investment: Base Currency';
return this.i18nService.getTranslation({
id: 'rule.currencyClusterRiskBaseCurrencyCurrentInvestment',
languageCode: this.getLanguageCode()
});
}
public getSettings({ baseCurrency, xRayRules }: UserSettings): Settings {

41
apps/api/src/models/rules/currency-cluster-risk/current-investment.ts

@ -1,6 +1,7 @@
import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface';
import { Rule } from '@ghostfolio/api/models/rule';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service';
import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service';
import { PortfolioPosition, UserSettings } from '@ghostfolio/common/interfaces';
export class CurrencyClusterRiskCurrentInvestment extends Rule<Settings> {
@ -8,10 +9,13 @@ export class CurrencyClusterRiskCurrentInvestment extends Rule<Settings> {
public constructor(
protected exchangeRateDataService: ExchangeRateDataService,
holdings: PortfolioPosition[]
private i18nService: I18nService,
holdings: PortfolioPosition[],
languageCode: string
) {
super(exchangeRateDataService, {
key: CurrencyClusterRiskCurrentInvestment.name
key: CurrencyClusterRiskCurrentInvestment.name,
languageCode
});
this.holdings = holdings;
@ -41,21 +45,29 @@ export class CurrencyClusterRiskCurrentInvestment extends Rule<Settings> {
if (maxValueRatio > ruleSettings.thresholdMax) {
return {
evaluation: `Over ${
ruleSettings.thresholdMax * 100
}% of your current investment is in ${maxItem.groupKey} (${(
maxValueRatio * 100
).toPrecision(3)}%)`,
evaluation: this.i18nService.getTranslation({
id: 'rule.currencyClusterRiskCurrentInvestment.false',
languageCode: this.getLanguageCode(),
placeholders: {
currency: maxItem.groupKey as string,
maxValueRatio: (maxValueRatio * 100).toPrecision(3),
thresholdMax: ruleSettings.thresholdMax * 100
}
}),
value: false
};
}
return {
evaluation: `The major part of your current investment is in ${
maxItem?.groupKey ?? ruleSettings.baseCurrency
} (${(maxValueRatio * 100).toPrecision(3)}%) and does not exceed ${
ruleSettings.thresholdMax * 100
}%`,
evaluation: this.i18nService.getTranslation({
id: 'rule.currencyClusterRiskCurrentInvestment.true',
languageCode: this.getLanguageCode(),
placeholders: {
currency: maxItem.groupKey as string,
maxValueRatio: (maxValueRatio * 100).toPrecision(3),
thresholdMax: ruleSettings.thresholdMax * 100
}
}),
value: true
};
}
@ -73,7 +85,10 @@ export class CurrencyClusterRiskCurrentInvestment extends Rule<Settings> {
}
public getName() {
return 'Investment';
return this.i18nService.getTranslation({
id: 'rule.currencyClusterRiskCurrentInvestment',
languageCode: this.getLanguageCode()
});
}
public getSettings({ baseCurrency, xRayRules }: UserSettings): Settings {

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

@ -104,7 +104,7 @@ export class ManualService implements DataProviderInterface {
}
return historical;
} else if (selector === undefined || url === undefined) {
} else if (!selector || !url) {
return {};
}
@ -162,7 +162,11 @@ export class ManualService implements DataProviderInterface {
const symbolProfilesWithScraperConfigurationAndInstantMode =
symbolProfiles.filter(({ scraperConfiguration }) => {
return scraperConfiguration?.mode === 'instant';
return (
scraperConfiguration?.mode === 'instant' &&
scraperConfiguration?.selector &&
scraperConfiguration?.url
);
});
const scraperResultPromises =
@ -282,14 +286,12 @@ export class ManualService implements DataProviderInterface {
)
});
let value: string;
if (response.headers.get('content-type')?.includes('application/json')) {
const data = await response.json();
const value = String(
jsonpath.query(data, scraperConfiguration.selector)[0]
);
return extractNumberFromString({ locale, value });
value = String(jsonpath.query(data, scraperConfiguration.selector)[0]);
} else {
const $ = cheerio.load(await response.text());
@ -299,10 +301,24 @@ export class ManualService implements DataProviderInterface {
} catch {}
}
value = $(scraperConfiguration.selector).first().text();
const lines = value?.split('\n') ?? [];
const lineWithDigits = lines.find((line) => {
return /\d/.test(line);
});
if (lineWithDigits) {
value = lineWithDigits;
}
return extractNumberFromString({
locale,
value: $(scraperConfiguration.selector).first().text()
value
});
}
return extractNumberFromString({ locale, value });
}
}

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

@ -11,6 +11,7 @@ import {
AdminMarketDataDetails,
AssetProfileIdentifier,
LineChartItem,
ScraperConfiguration,
User
} from '@ghostfolio/common/interfaces';
import { translate } from '@ghostfolio/ui/i18n';
@ -41,6 +42,7 @@ import {
AssetClass,
AssetSubClass,
MarketData,
Prisma,
SymbolProfile
} from '@prisma/client';
import { format } from 'date-fns';
@ -343,7 +345,10 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
public async onSubmitAssetProfileForm() {
let countries = [];
let scraperConfiguration = {};
let scraperConfiguration: ScraperConfiguration = {
selector: '',
url: ''
};
let sectors = [];
let symbolMapping = {};
@ -354,9 +359,9 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
try {
scraperConfiguration = {
defaultMarketPrice:
this.assetProfileForm.controls['scraperConfiguration'].controls[
(this.assetProfileForm.controls['scraperConfiguration'].controls[
'defaultMarketPrice'
].value,
].value as number) || undefined,
headers: JSON.parse(
this.assetProfileForm.controls['scraperConfiguration'].controls[
'headers'
@ -365,10 +370,10 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
locale:
this.assetProfileForm.controls['scraperConfiguration'].controls[
'locale'
].value,
].value || undefined,
mode: this.assetProfileForm.controls['scraperConfiguration'].controls[
'mode'
].value,
].value as ScraperConfiguration['mode'],
selector:
this.assetProfileForm.controls['scraperConfiguration'].controls[
'selector'
@ -377,6 +382,10 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
'url'
].value
};
if (!scraperConfiguration.selector || !scraperConfiguration.url) {
scraperConfiguration = undefined;
}
} catch {}
try {
@ -391,7 +400,6 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
const assetProfile: UpdateAssetProfileDto = {
countries,
scraperConfiguration,
sectors,
symbolMapping,
assetClass: this.assetProfileForm.get('assetClass').value,
@ -400,6 +408,8 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
currency: this.assetProfileForm.get('currency').value,
isActive: this.assetProfileForm.get('isActive').value,
name: this.assetProfileForm.get('name').value,
scraperConfiguration:
scraperConfiguration as unknown as Prisma.InputJsonObject,
url: this.assetProfileForm.get('url').value || null
};
@ -493,11 +503,10 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
this.adminService
.testMarketData({
dataSource: this.data.dataSource,
scraperConfiguration: JSON.stringify({
defaultMarketPrice:
this.assetProfileForm.controls['scraperConfiguration'].controls[
'defaultMarketPrice'
].value,
scraperConfiguration: {
defaultMarketPrice: this.assetProfileForm.controls[
'scraperConfiguration'
].controls['defaultMarketPrice'].value as number,
headers: JSON.parse(
this.assetProfileForm.controls['scraperConfiguration'].controls[
'headers'
@ -506,7 +515,7 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
locale:
this.assetProfileForm.controls['scraperConfiguration'].controls[
'locale'
].value,
].value || undefined,
mode: this.assetProfileForm.controls['scraperConfiguration'].controls[
'mode'
].value,
@ -517,7 +526,7 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
url: this.assetProfileForm.controls['scraperConfiguration'].controls[
'url'
].value
}),
},
symbol: this.data.symbol
})
.pipe(

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

@ -62,7 +62,7 @@
/>
@if (isGhostfolioApiKeyValid === false) {
<span
class="badge badge-light ml-2 new text-uppercase"
class="badge badge-pill badge-secondary ml-2 text-uppercase"
i18n
>new</span
>

7
apps/client/src/app/components/admin-settings/admin-settings.component.scss

@ -9,13 +9,6 @@
}
}
.badge {
&.new {
border: 1px solid var(--mat-table-row-item-outline-color);
padding-bottom: 0.05rem;
}
}
.mat-mdc-card {
--mdc-outlined-card-container-color: whitesmoke;

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

@ -33,7 +33,7 @@ export class AdminPageComponent implements OnDestroy, OnInit {
iconName: 'settings-outline',
label:
internalRoutes.adminControl.subRoutes.settings.title +
'<span class="badge badge-secondary badge-pill ml-2 text-uppercase">' +
'<span class="badge badge-pill badge-secondary ml-2 text-uppercase">' +
$localize`new` +
'</span>',
routerLink: internalRoutes.adminControl.subRoutes.settings.routerLink

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

@ -28,6 +28,56 @@
<li i18n="@@rule.accountClusterRiskSingleAccount.true">
Your net worth is managed by $&#123;accountsLength&#125; accounts
</li>
<li i18n="@@rule.assetClassClusterRiskEquity">Equity</li>
<li i18n="@@rule.assetClassClusterRiskEquity.false.max">
The equity contribution of your current investment
($&#123;equityValueRatio&#125;%) exceeds $&#123;thresholdMax&#125;%
</li>
<li i18n="@@rule.assetClassClusterRiskEquity.false.min">
The equity contribution of your current investment
($&#123;equityValueRatio&#125;%) is below $&#123;thresholdMin&#125;%
</li>
<li i18n="@@rule.assetClassClusterRiskEquity.true">
The equity contribution of your current investment
($&#123;equityValueRatio&#125;%) is within the range of
$&#123;thresholdMin&#125;% and $&#123;thresholdMax&#125;%
</li>
<li i18n="@@rule.assetClassClusterRiskFixedIncome">Fixed Income</li>
<li i18n="@@rule.assetClassClusterRiskFixedIncome.false.max">
The fixed income contribution of your current investment
($&#123;fixedIncomeValueRatio&#125;%) exceeds $&#123;thresholdMax&#125;%
</li>
<li i18n="@@rule.assetClassClusterRiskFixedIncome.false.min">
The fixed income contribution of your current investment
($&#123;fixedIncomeValueRatio&#125;%) is below
$&#123;thresholdMin&#125;%
</li>
<li i18n="@@rule.assetClassClusterRiskFixedIncome.true">
The fixed income contribution of your current investment
($&#123;fixedIncomeValueRatio&#125;%) is within the range of
$&#123;thresholdMin&#125;% and $&#123;thresholdMax&#125;%
</li>
<li i18n="@@rule.currencyClusterRiskBaseCurrencyCurrentInvestment">
Investment: Base Currency
</li>
<li i18n="@@rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false">
The major part of your current investment is not in your base currency
($&#123;baseCurrencyValueRatio&#125;% in $&#123;baseCurrency&#125;)
</li>
<li i18n="@@rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true">
The major part of your current investment is in your base currency
($&#123;baseCurrencyValueRatio&#125;% in $&#123;baseCurrency&#125;)
</li>
<li i18n="@@rule.currencyClusterRiskCurrentInvestment">Investment</li>
<li i18n="@@rule.currencyClusterRiskCurrentInvestment.false">
Over $&#123;thresholdMax&#125;% of your current investment is in
$&#123;currency&#125; ($&#123;maxValueRatio&#125;%)
</li>
<li i18n="@@rule.currencyClusterRiskCurrentInvestment.true">
The major part of your current investment is in $&#123;currency&#125;
($&#123;maxValueRatio&#125;%) and does not exceed
$&#123;thresholdMax&#125;%
</li>
<li i18n="@@rule.emergencyFundSetup">Emergency Fund: Set up</li>
<li i18n="@@rule.emergencyFundSetup.false">
No emergency fund has been set up

4
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html

@ -90,13 +90,13 @@
>The following file formats are supported:</span
>
<a
href="https://github.com/ghostfolio/ghostfolio/blob/main/test/import/ok.csv"
href="https://github.com/ghostfolio/ghostfolio/blob/main/test/import/ok/sample.csv"
target="_blank"
>CSV</a
>
<span class="mx-1" i18n>or</span>
<a
href="https://github.com/ghostfolio/ghostfolio/blob/main/test/import/ok.json"
href="https://github.com/ghostfolio/ghostfolio/blob/main/test/import/ok/sample.json"
target="_blank"
>JSON</a
>

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

@ -404,7 +404,7 @@
</trans-unit>
<trans-unit id="routes.about.license" datatype="html">
<source>license</source>
<target state="translated">llicències</target>
<target state="translated">llicencies</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -417,7 +417,7 @@
</trans-unit>
<trans-unit id="routes.about.privacyPolicy" datatype="html">
<source>privacy-policy</source>
<target state="translated">política de privacitat</target>
<target state="translated">politica-de-privacitat</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -451,7 +451,7 @@
</trans-unit>
<trans-unit id="routes.features" datatype="html">
<source>features</source>
<target state="translated">característiques</target>
<target state="translated">caracteristiques</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -1463,7 +1463,7 @@
<target state="translated">El preu de mercat actual és</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">536</context>
<context context-type="linenumber">545</context>
</context-group>
</trans-unit>
<trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">
@ -3808,7 +3808,7 @@
<target state="translated">Programari de gestió patrimonial de codi obert</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="7b3c319feef05dcc1f487d09dd2a59eb4c50e6d6" datatype="html">
@ -4829,7 +4829,7 @@
</trans-unit>
<trans-unit id="2f6550003439aa2d11950a7c286bcecb5abce6c3" datatype="html">
<source>4% Rule</source>
<target state="new">4% Rule</target>
<target state="translated">4% Regla</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/fire/fire-page.html</context>
<context context-type="linenumber">40</context>
@ -4845,7 +4845,7 @@
</trans-unit>
<trans-unit id="50760c2140335b2324deaee120f40d9aa64b3238" datatype="html">
<source>Currency Cluster Risks</source>
<target state="new">Currency Cluster Risks</target>
<target state="translated">Riscos del clúster de divises</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html</context>
<context context-type="linenumber">93</context>
@ -4853,7 +4853,7 @@
</trans-unit>
<trans-unit id="c7b797e5df289241021db16010efb6ac3c6cfb86" datatype="html">
<source>Account Cluster Risks</source>
<target state="new">Account Cluster Risks</target>
<target state="translated">Riscos del clúster de comptes</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/x-ray/x-ray-page.component.html</context>
<context context-type="linenumber">141</context>
@ -4861,7 +4861,7 @@
</trans-unit>
<trans-unit id="5080775557941296581" datatype="html">
<source>Pricing</source>
<target state="new">Pricing</target>
<target state="translated">Preus</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page-routing.module.ts</context>
<context context-type="linenumber">13</context>
@ -4873,7 +4873,7 @@
</trans-unit>
<trans-unit id="9ba87e803f0b976584dc2a4dd69d32090cdfc229" datatype="html">
<source>Pricing Plans</source>
<target state="new">Pricing Plans</target>
<target state="translated">Plans de preus</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">4</context>
@ -4881,7 +4881,7 @@
</trans-unit>
<trans-unit id="de0d77a5255f97548d2b579f78c20c911a71820f" datatype="html">
<source> Our official Ghostfolio Premium cloud offering is the easiest way to get started. Due to the time it saves, this will be the best option for most people. Revenue is used to cover the costs of the hosting infrastructure and to fund ongoing development. </source>
<target state="new"> Our official Ghostfolio Premium cloud offering is the easiest way to get started. Due to the time it saves, this will be the best option for most people. Revenue is used to cover the costs of the hosting infrastructure and to fund ongoing development. </target>
<target state="translated"> La nostra oferta oficial al núvol Ghostfolio Premium és la manera més senzilla de començar. A causa del temps que estalvia, aquesta serà la millor opció per a la majoria de la gent. Els ingressos s’utilitzen per cobrir els costos de la infraestructura d’allotjament i per finançar el desenvolupament en curs. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">6</context>
@ -4897,7 +4897,7 @@
</trans-unit>
<trans-unit id="fd30b4e3189726798f09fa0ce875486cf50dda2d" datatype="html">
<source> For tech-savvy investors who prefer to run Ghostfolio on their own infrastructure. </source>
<target state="new"> For tech-savvy investors who prefer to run Ghostfolio on their own infrastructure. </target>
<target state="translated"> Per a inversors experts en tecnologia que prefereixen executar Ghostfolio a la seva pròpia infraestructura. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">24</context>
@ -4905,7 +4905,7 @@
</trans-unit>
<trans-unit id="435445e728dcf7fdf68fbae0e55e83f61591ac87" datatype="html">
<source>Unlimited Transactions</source>
<target state="new">Unlimited Transactions</target>
<target state="translated">Transaccions il·limitades</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">31</context>
@ -4921,7 +4921,7 @@
</trans-unit>
<trans-unit id="897e322427107efb4a101afcc9641f0e81ce9643" datatype="html">
<source>Unlimited Accounts</source>
<target state="new">Unlimited Accounts</target>
<target state="translated">Comptes il·limitats</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">35</context>
@ -4937,7 +4937,7 @@
</trans-unit>
<trans-unit id="60d7aee1c199a9995a318cfce24cbccbcfb52863" datatype="html">
<source>Portfolio Performance</source>
<target state="new">Portfolio Performance</target>
<target state="translated">Rendiment de la cartera</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">39</context>
@ -4953,7 +4953,7 @@
</trans-unit>
<trans-unit id="4ed0cb02583e008888e614de4032f41d8abfc37e" datatype="html">
<source>Data Import and Export</source>
<target state="new">Data Import and Export</target>
<target state="translated">Importació i exportació de dades</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">59</context>
@ -4969,7 +4969,7 @@
</trans-unit>
<trans-unit id="391683dbab6ea339b23c8ff57a9cd09dae19d2d2" datatype="html">
<source>Community Support</source>
<target state="new">Community Support</target>
<target state="translated">Suport comunitari</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">76</context>
@ -4977,7 +4977,7 @@
</trans-unit>
<trans-unit id="4a49b82a8921f43ccdee7943c2cc3c74395081b8" datatype="html">
<source>Self-hosted, update manually.</source>
<target state="new">Self-hosted, update manually.</target>
<target state="translated">S’allotja automàticament, actualitza manualment.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">80</context>
@ -4985,7 +4985,7 @@
</trans-unit>
<trans-unit id="3020849bc1c622a2c4bc1168afae093d44024fa2" datatype="html">
<source>Free</source>
<target state="new">Free</target>
<target state="translated">Gratuït</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">81</context>
@ -4997,7 +4997,7 @@
</trans-unit>
<trans-unit id="e38564a8fa45f69a978945e0ad8014ab26e35afb" datatype="html">
<source> For new investors who are just getting started with trading. </source>
<target state="new"> For new investors who are just getting started with trading. </target>
<target state="translated"> Per a nous inversors que acaben de començar a operar. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">114</context>
@ -5005,7 +5005,7 @@
</trans-unit>
<trans-unit id="f799e268a8ec6ceb427287d7aa53fa9cc790a085" datatype="html">
<source>Fully managed Ghostfolio cloud offering.</source>
<target state="new">Fully managed Ghostfolio cloud offering.</target>
<target state="translated">Oferta al núvol Ghostfolio totalment gestionada.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">143</context>
@ -5017,7 +5017,7 @@
</trans-unit>
<trans-unit id="5afce9034d974ae1e794d437885bf17b0ebf5a0c" datatype="html">
<source> For ambitious investors who need the full picture of their financial assets. </source>
<target state="new"> For ambitious investors who need the full picture of their financial assets. </target>
<target state="translated"> Per a inversors ambiciosos que necessiten la imatge completa dels seus actius financers. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">185</context>
@ -5025,7 +5025,7 @@
</trans-unit>
<trans-unit id="fdfee1a7c44bc6d014323bf1f5b3d7fab6e1fb47" datatype="html">
<source>Email and Chat Support</source>
<target state="new">Email and Chat Support</target>
<target state="translated">Suport per correu electrònic i xat</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">265</context>
@ -5033,7 +5033,7 @@
</trans-unit>
<trans-unit id="a9eaad1a5cb1b7a8d154ecb75fc613e3bd5adbf3" datatype="html">
<source>One-time payment, no auto-renewal.</source>
<target state="new">One-time payment, no auto-renewal.</target>
<target state="translated">Pagament únic, sense renovació automàtica.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">302</context>
@ -5041,7 +5041,7 @@
</trans-unit>
<trans-unit id="9fc169f3af45f638d4b304b828b640514b1d017c" datatype="html">
<source>It’s free.</source>
<target state="new">It’s free.</target>
<target state="translated">És gratuït.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">352</context>
@ -5057,7 +5057,7 @@
</trans-unit>
<trans-unit id="4056a76e7a710ab32285892a58d66f2d1a927796" datatype="html">
<source>Currencies</source>
<target state="new">Currencies</target>
<target state="translated">Monedes</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/public/public-page.html</context>
<context context-type="linenumber">88</context>
@ -5065,7 +5065,7 @@
</trans-unit>
<trans-unit id="3c3163d370916438f3b52ea17720bfb2a68a1709" datatype="html">
<source>Continents</source>
<target state="new">Continents</target>
<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">124</context>
@ -5081,7 +5081,7 @@
</trans-unit>
<trans-unit id="a3d148b40a389fda0665eb583c9e434ec5ee1ced" datatype="html">
<source> Ghostfolio empowers you to keep track of your wealth. </source>
<target state="new"> Ghostfolio empowers you to keep track of your wealth. </target>
<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">215</context>
@ -5089,7 +5089,7 @@
</trans-unit>
<trans-unit id="8298333184054476827" datatype="html">
<source>Registration</source>
<target state="new">Registration</target>
<target state="translated">Inscripció</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">266</context>
@ -5097,7 +5097,7 @@
</trans-unit>
<trans-unit id="e1c4e91c3cf021ce1810d037887e0d7d4d1cface" datatype="html">
<source>Continue with Internet Identity</source>
<target state="new">Continue with Internet Identity</target>
<target state="translated">Continueu amb Internet Identity</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/register-page.html</context>
<context context-type="linenumber">42</context>
@ -5105,7 +5105,7 @@
</trans-unit>
<trans-unit id="c7eb7fc17d2f646c6c835f4da0b96f255b515cf4" datatype="html">
<source>Continue with Google</source>
<target state="new">Continue with Google</target>
<target state="translated">Continueu amb Google</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/register-page.html</context>
<context context-type="linenumber">53</context>
@ -5113,7 +5113,7 @@
</trans-unit>
<trans-unit id="3a6e5a6aa78ca864f6542410c5dafb6334538106" datatype="html">
<source>Copy to clipboard</source>
<target state="new">Copy to clipboard</target>
<target state="translated">Copia al porta-retalls</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html</context>
<context context-type="linenumber">88</context>
@ -6569,7 +6569,7 @@
<target state="new">Error</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">527</context>
<context context-type="linenumber">536</context>
</context-group>
</trans-unit>
<trans-unit id="c95505b5a74151a0c235b19b9c41db7983205ba7" datatype="html">
@ -7171,7 +7171,7 @@
<target state="new">Lazy</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="6882618704933649036" datatype="html">
@ -7179,7 +7179,7 @@
<target state="new">Instant</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="47969a4a0916bea5385b42c18749e32a35f07bd7" datatype="html">
@ -7219,7 +7219,7 @@
<target state="new">end of day</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="4547068148181074902" datatype="html">
@ -7227,7 +7227,7 @@
<target state="new">real-time</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="7109040016560023658" datatype="html">
@ -7436,7 +7436,7 @@
<target state="new"><x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) is already in use.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">462</context>
<context context-type="linenumber">472</context>
</context-group>
</trans-unit>
<trans-unit id="5612909502553004436" datatype="html">
@ -7444,7 +7444,7 @@
<target state="new">An error occurred while updating to <x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>).</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">470</context>
<context context-type="linenumber">480</context>
</context-group>
</trans-unit>
<trans-unit id="c2d0ac9f528bbd5f53fd34269fde8b59e029621b" datatype="html">
@ -7597,7 +7597,7 @@
<target state="new">Emergency Fund: Set up</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">81</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.false" datatype="html">
@ -7605,7 +7605,7 @@
<target state="new"> No emergency fund has been set up </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">82</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.true" datatype="html">
@ -7613,7 +7613,7 @@
<target state="new"> An emergency fund has been set up </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
@ -7621,7 +7621,7 @@
<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">38</context>
<context context-type="linenumber">88</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
@ -7629,7 +7629,7 @@
<target state="new"> The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">89</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
@ -7637,7 +7637,7 @@
<target state="new"> The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">43</context>
<context context-type="linenumber">93</context>
</context-group>
</trans-unit>
<trans-unit id="253d612b439c367d21c4ba59763df303a6106968" datatype="html">
@ -7842,6 +7842,131 @@
<context context-type="linenumber">19</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity" datatype="html">
<source>Equity</source>
<target state="new">Equity</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.max" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.min" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.true" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html">
<source>Fixed Income</source>
<target state="new">Fixed Income</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.max" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.min" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.true" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html">
<source> Investment: Base Currency </source>
<target state="new"> Investment: Base Currency </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">60</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false" datatype="html">
<source> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">63</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source>
<target state="new">Investment</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">71</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.false" datatype="html">
<source> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </source>
<target state="new"> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </source>
<target state="new"> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="routes.start" datatype="html">
<source>start</source>
<target state="new">start</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">316</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">317</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -5676,7 +5676,7 @@
<target state="translated">Open Source Software für die Vermögensverwaltung</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="metaKeywords" datatype="html">
@ -5804,7 +5804,7 @@
<target state="translated">Der aktuelle Marktpreis ist</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">536</context>
<context context-type="linenumber">545</context>
</context-group>
</trans-unit>
<trans-unit id="a79d938b5ed20249b4ab6bef86c12633d2f346a0" datatype="html">
@ -6593,7 +6593,7 @@
<target state="translated">Fehler</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">527</context>
<context context-type="linenumber">536</context>
</context-group>
</trans-unit>
<trans-unit id="c95505b5a74151a0c235b19b9c41db7983205ba7" datatype="html">
@ -7195,7 +7195,7 @@
<target state="translated">Verzögert</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="6882618704933649036" datatype="html">
@ -7203,7 +7203,7 @@
<target state="translated">Sofort</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="47969a4a0916bea5385b42c18749e32a35f07bd7" datatype="html">
@ -7243,7 +7243,7 @@
<target state="translated">Tagesende</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="4547068148181074902" datatype="html">
@ -7251,7 +7251,7 @@
<target state="translated">in Echtzeit</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="7109040016560023658" datatype="html">
@ -7460,7 +7460,7 @@
<target state="translated"><x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) wird bereits verwendet.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">462</context>
<context context-type="linenumber">472</context>
</context-group>
</trans-unit>
<trans-unit id="5612909502553004436" datatype="html">
@ -7468,7 +7468,7 @@
<target state="translated">Bei der Änderung zu <x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) ist ein Fehler aufgetreten.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">470</context>
<context context-type="linenumber">480</context>
</context-group>
</trans-unit>
<trans-unit id="c2d0ac9f528bbd5f53fd34269fde8b59e029621b" datatype="html">
@ -7597,7 +7597,7 @@
<target state="translated">Notfallfonds: Einrichtung</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">81</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.false" datatype="html">
@ -7605,7 +7605,7 @@
<target state="translated"> Es wurde kein Notfallfonds eingerichtet </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">82</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.true" datatype="html">
@ -7613,7 +7613,7 @@
<target state="translated"> Ein Notfallfonds wurde eingerichtet </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
@ -7621,7 +7621,7 @@
<target state="translated">Gebührenverhältnis</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">88</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
@ -7629,7 +7629,7 @@
<target state="translated"> Die Gebühren übersteigen ${thresholdMax}% deiner ursprünglichen Investition (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">89</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
@ -7637,7 +7637,7 @@
<target state="translated"> Die Gebühren übersteigen ${thresholdMax}% deiner ursprünglichen Investition (${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">43</context>
<context context-type="linenumber">93</context>
</context-group>
</trans-unit>
<trans-unit id="253d612b439c367d21c4ba59763df303a6106968" datatype="html">
@ -7842,6 +7842,131 @@
<context context-type="linenumber">19</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity" datatype="html">
<source>Equity</source>
<target state="translated">Beteiligungskapital</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.max" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="translated"> Der Beteiligungskapitalanteil deiner aktuellen Investition (${equityValueRatio}%) übersteigt ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.min" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </source>
<target state="translated"> Der Beteiligungskapitalanteil deiner aktuellen Investition (${equityValueRatio}%) liegt unter ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.true" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="translated"> Der Beteiligungskapitalanteil deiner aktuellen Investition (${equityValueRatio}%) liegt im Bereich zwischen ${thresholdMin}% und ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html">
<source>Fixed Income</source>
<target state="translated">Feste Einkünfte</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.max" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="translated"> Der Anteil der festen Einkünfte deiner aktuellen Investition (${fixedIncomeValueRatio}%) übersteigt ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.min" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </source>
<target state="translated"> Der Anteil der festen Einkünfte deiner aktuellen Investition (${fixedIncomeValueRatio}%) liegt unter ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.true" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="translated"> Der Anteil der festen Einkünfte deiner aktuellen Investition (${fixedIncomeValueRatio}%) liegt im Bereich zwischen ${thresholdMin}% und ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html">
<source> Investment: Base Currency </source>
<target state="translated"> Investition: Basiswährung </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">60</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false" datatype="html">
<source> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="translated"> Der Hauptteil deiner aktuellen Investition ist nicht in deiner Basiswährung (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">63</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="translated"> Der Hauptteil deiner aktuellen Investition ist in deiner Basiswährung (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source>
<target state="translated">Investition</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">71</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.false" datatype="html">
<source> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </source>
<target state="translated"> Über ${thresholdMax}% deiner aktuellen Investition ist in ${currency} (${maxValueRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </source>
<target state="translated"> Der Hauptteil deiner aktuellen Investition ist in ${currency} (${maxValueRatio}%) und übersteigt ${thresholdMax}% nicht </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="routes.start" datatype="html">
<source>start</source>
<target state="translated">start</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">316</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">317</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -5653,7 +5653,7 @@
<target state="translated">Software de gestión de patrimonio de código abierto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="metaKeywords" datatype="html">
@ -5781,7 +5781,7 @@
<target state="translated">El precio actual de mercado es</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">536</context>
<context context-type="linenumber">545</context>
</context-group>
</trans-unit>
<trans-unit id="a79d938b5ed20249b4ab6bef86c12633d2f346a0" datatype="html">
@ -5850,7 +5850,7 @@
</trans-unit>
<trans-unit id="7754789218064641822" datatype="html">
<source>Market data is delayed for</source>
<target state="new">Market data is delayed for</target>
<target state="translated">Los datos del mercado se retrasan por</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-performance/portfolio-performance.component.ts</context>
<context context-type="linenumber">87</context>
@ -5874,7 +5874,7 @@
</trans-unit>
<trans-unit id="e19955db970092b9cde70be2cea163ab6adfac97" datatype="html">
<source>Absolute Asset Performance</source>
<target state="new">Absolute Asset Performance</target>
<target state="translated">Rendimiento absoluto de los activos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">102</context>
@ -5882,7 +5882,7 @@
</trans-unit>
<trans-unit id="c726a56ba67c6c788e3759983dd8a1671d8cc886" datatype="html">
<source> Asset Performance </source>
<target state="new"> Asset Performance </target>
<target state="translated"> Rendimiento de activos </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">123</context>
@ -5890,7 +5890,7 @@
</trans-unit>
<trans-unit id="8ce52b52483f502dd23ed290357a17307c60280c" datatype="html">
<source>Absolute Currency Performance</source>
<target state="new">Absolute Currency Performance</target>
<target state="translated">Rendimiento absoluto de divisas</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">145</context>
@ -5898,7 +5898,7 @@
</trans-unit>
<trans-unit id="e4da628796a8880899b986c2af0559a55d6a700c" datatype="html">
<source> Currency Performance </source>
<target state="new"> Currency Performance </target>
<target state="translated"> Rendimiento de la moneda </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">169</context>
@ -5906,7 +5906,7 @@
</trans-unit>
<trans-unit id="5584854134b3049db7dfb7bf4d87a0b9b9b4b149" datatype="html">
<source> Absolute Net Performance </source>
<target state="new"> Absolute Net Performance </target>
<target state="translated"> Rendimiento neto absoluto </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">192</context>
@ -5914,7 +5914,7 @@
</trans-unit>
<trans-unit id="d88d656d93dd2029b9d35712789d2567d2c0d739" datatype="html">
<source> Net Performance </source>
<target state="new"> Net Performance </target>
<target state="translated"> Rendimiento neto </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/analysis/analysis-page.html</context>
<context context-type="linenumber">211</context>
@ -5922,7 +5922,7 @@
</trans-unit>
<trans-unit id="3105754554141014845" datatype="html">
<source>Week to date</source>
<target state="new">Week to date</target>
<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">343</context>
@ -5930,7 +5930,7 @@
</trans-unit>
<trans-unit id="7451343426685730864" datatype="html">
<source>WTD</source>
<target state="new">WTD</target>
<target state="translated">WTD</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">343</context>
@ -5938,7 +5938,7 @@
</trans-unit>
<trans-unit id="358501326846847310" datatype="html">
<source>Month to date</source>
<target state="new">Month to date</target>
<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">347</context>
@ -5946,7 +5946,7 @@
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
<source>MTD</source>
<target state="new">MTD</target>
<target state="translated">MTD</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">347</context>
@ -5954,7 +5954,7 @@
</trans-unit>
<trans-unit id="2593751087640318641" datatype="html">
<source>Year to date</source>
<target state="new">Year to date</target>
<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">351</context>
@ -5974,7 +5974,7 @@
</trans-unit>
<trans-unit id="051f7201e65df238102b8f33aeb2f993bba280bb" datatype="html">
<source>Oops! A data provider is experiencing the hiccups.</source>
<target state="new">Oops! A data provider is experiencing the hiccups.</target>
<target state="translated">¡Ups! Un proveedor de datos está experimentando problemas.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/portfolio-performance/portfolio-performance.component.html</context>
<context context-type="linenumber">8</context>
@ -6022,7 +6022,7 @@
</trans-unit>
<trans-unit id="4f986b5ab20fe31ca54d7345a73b6b2402ddd350" datatype="html">
<source>Data Gathering</source>
<target state="new">Data Gathering</target>
<target state="translated">Recopilación de datos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html</context>
<context context-type="linenumber">541</context>
@ -6066,7 +6066,7 @@
</trans-unit>
<trans-unit id="routes.faq.selfHosting" datatype="html">
<source>self-hosting</source>
<target state="translated">auto alojado</target>
<target state="translated">auto-alojado</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -6570,7 +6570,7 @@
<target state="new">Error</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">527</context>
<context context-type="linenumber">536</context>
</context-group>
</trans-unit>
<trans-unit id="c95505b5a74151a0c235b19b9c41db7983205ba7" datatype="html">
@ -7172,7 +7172,7 @@
<target state="new">Lazy</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="6882618704933649036" datatype="html">
@ -7180,7 +7180,7 @@
<target state="new">Instant</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="47969a4a0916bea5385b42c18749e32a35f07bd7" datatype="html">
@ -7220,7 +7220,7 @@
<target state="new">end of day</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="4547068148181074902" datatype="html">
@ -7228,7 +7228,7 @@
<target state="new">real-time</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="7109040016560023658" datatype="html">
@ -7437,7 +7437,7 @@
<target state="new"><x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) is already in use.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">462</context>
<context context-type="linenumber">472</context>
</context-group>
</trans-unit>
<trans-unit id="5612909502553004436" datatype="html">
@ -7445,7 +7445,7 @@
<target state="new">An error occurred while updating to <x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>).</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">470</context>
<context context-type="linenumber">480</context>
</context-group>
</trans-unit>
<trans-unit id="c2d0ac9f528bbd5f53fd34269fde8b59e029621b" datatype="html">
@ -7598,7 +7598,7 @@
<target state="translated">Fondo de Emergencia: Establecer</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">81</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.false" datatype="html">
@ -7606,7 +7606,7 @@
<target state="translated"> No se ha creado ningún fondo de emergencia </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">82</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.true" datatype="html">
@ -7614,7 +7614,7 @@
<target state="translated"> Se ha creado un fondo de emergencia </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
@ -7622,7 +7622,7 @@
<target state="translated">Relación de tarifas</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">88</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
@ -7630,7 +7630,7 @@
<target state="translated"> Las tarifas superan el ${thresholdMax}% de su inversión inicial (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">89</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
@ -7638,7 +7638,7 @@
<target state="translated"> Las tarifas no superan el ${thresholdMax}% de su inversión inicial (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">43</context>
<context context-type="linenumber">93</context>
</context-group>
</trans-unit>
<trans-unit id="253d612b439c367d21c4ba59763df303a6106968" datatype="html">
@ -7843,6 +7843,131 @@
<context context-type="linenumber">19</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity" datatype="html">
<source>Equity</source>
<target state="new">Equity</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.max" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.min" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.true" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html">
<source>Fixed Income</source>
<target state="new">Fixed Income</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.max" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.min" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.true" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html">
<source> Investment: Base Currency </source>
<target state="new"> Investment: Base Currency </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">60</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false" datatype="html">
<source> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">63</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source>
<target state="new">Investment</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">71</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.false" datatype="html">
<source> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </source>
<target state="new"> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </source>
<target state="new"> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="routes.start" datatype="html">
<source>start</source>
<target state="new">start</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">316</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">317</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -5652,7 +5652,7 @@
<target state="translated">Logiciel libre de Gestion de Patrimoine</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="metaKeywords" datatype="html">
@ -5780,7 +5780,7 @@
<target state="translated">Le prix actuel du marché est</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">536</context>
<context context-type="linenumber">545</context>
</context-group>
</trans-unit>
<trans-unit id="a79d938b5ed20249b4ab6bef86c12633d2f346a0" datatype="html">
@ -6569,7 +6569,7 @@
<target state="translated">Erreur</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">527</context>
<context context-type="linenumber">536</context>
</context-group>
</trans-unit>
<trans-unit id="c95505b5a74151a0c235b19b9c41db7983205ba7" datatype="html">
@ -7171,7 +7171,7 @@
<target state="translated">Paresseux</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="6882618704933649036" datatype="html">
@ -7179,7 +7179,7 @@
<target state="translated">Instantané</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="47969a4a0916bea5385b42c18749e32a35f07bd7" datatype="html">
@ -7219,7 +7219,7 @@
<target state="translated">fin de journée</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="4547068148181074902" datatype="html">
@ -7227,7 +7227,7 @@
<target state="translated">temps réel</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="7109040016560023658" datatype="html">
@ -7436,7 +7436,7 @@
<target state="translated"><x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) est déjà utilisé.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">462</context>
<context context-type="linenumber">472</context>
</context-group>
</trans-unit>
<trans-unit id="5612909502553004436" datatype="html">
@ -7444,7 +7444,7 @@
<target state="translated">Une erreur s’est produite lors de la mise à jour vers <x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>).</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">470</context>
<context context-type="linenumber">480</context>
</context-group>
</trans-unit>
<trans-unit id="c2d0ac9f528bbd5f53fd34269fde8b59e029621b" datatype="html">
@ -7597,7 +7597,7 @@
<target state="translated">Fonds d’urgence : Mise en place</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">81</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.false" datatype="html">
@ -7605,7 +7605,7 @@
<target state="translated"> Aucun fonds d’urgence n’a été mis en place </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">82</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.true" datatype="html">
@ -7613,7 +7613,7 @@
<target state="translated"> Un fonds d’urgence a été mis en place </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
@ -7621,7 +7621,7 @@
<target state="translated">Ratio de frais</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">88</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
@ -7629,7 +7629,7 @@
<target state="translated"> Les frais dépassent ${thresholdMax}% de votre investissement initial (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">89</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
@ -7637,7 +7637,7 @@
<target state="translated"> Les frais ne dépassent pas ${thresholdMax}% de votre investissement initial (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">43</context>
<context context-type="linenumber">93</context>
</context-group>
</trans-unit>
<trans-unit id="253d612b439c367d21c4ba59763df303a6106968" datatype="html">
@ -7842,6 +7842,131 @@
<context context-type="linenumber">19</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity" datatype="html">
<source>Equity</source>
<target state="new">Equity</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.max" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.min" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.true" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html">
<source>Fixed Income</source>
<target state="new">Fixed Income</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.max" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.min" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.true" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html">
<source> Investment: Base Currency </source>
<target state="new"> Investment: Base Currency </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">60</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false" datatype="html">
<source> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">63</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source>
<target state="new">Investment</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">71</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.false" datatype="html">
<source> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </source>
<target state="new"> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </source>
<target state="new"> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="routes.start" datatype="html">
<source>start</source>
<target state="new">start</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">316</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">317</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -5653,7 +5653,7 @@
<target state="translated">Software Open Source per la gestione della tua ricchezza</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="metaKeywords" datatype="html">
@ -5781,7 +5781,7 @@
<target state="translated">L’attuale prezzo di mercato è</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">536</context>
<context context-type="linenumber">545</context>
</context-group>
</trans-unit>
<trans-unit id="a79d938b5ed20249b4ab6bef86c12633d2f346a0" datatype="html">
@ -6570,7 +6570,7 @@
<target state="translated">Errore</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">527</context>
<context context-type="linenumber">536</context>
</context-group>
</trans-unit>
<trans-unit id="c95505b5a74151a0c235b19b9c41db7983205ba7" datatype="html">
@ -7172,7 +7172,7 @@
<target state="translated">Pigro</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="6882618704933649036" datatype="html">
@ -7180,7 +7180,7 @@
<target state="translated">Istantaneo</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="47969a4a0916bea5385b42c18749e32a35f07bd7" datatype="html">
@ -7220,7 +7220,7 @@
<target state="translated">fine giornata</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="4547068148181074902" datatype="html">
@ -7228,7 +7228,7 @@
<target state="translated">in tempo reale</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="7109040016560023658" datatype="html">
@ -7437,7 +7437,7 @@
<target state="translated"><x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) e gia in uso.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">462</context>
<context context-type="linenumber">472</context>
</context-group>
</trans-unit>
<trans-unit id="5612909502553004436" datatype="html">
@ -7445,7 +7445,7 @@
<target state="translated">Si è verificato un errore durante l’aggiornamento di <x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>).</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">470</context>
<context context-type="linenumber">480</context>
</context-group>
</trans-unit>
<trans-unit id="c2d0ac9f528bbd5f53fd34269fde8b59e029621b" datatype="html">
@ -7598,7 +7598,7 @@
<target state="translated">Fondo di emergenza: istituito</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">81</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.false" datatype="html">
@ -7606,7 +7606,7 @@
<target state="translated"> Non è stato istituito alcun fondo di emergenza </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">82</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.true" datatype="html">
@ -7614,7 +7614,7 @@
<target state="translated"> È stato istituito un fondo di emergenza </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
@ -7622,7 +7622,7 @@
<target state="translated">Rapporto tariffario</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">88</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
@ -7630,7 +7630,7 @@
<target state="translated"> Le commissioni superano il ${thresholdMax}% del tuo investimento iniziale (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">89</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
@ -7638,7 +7638,7 @@
<target state="translated"> Le commissioni non superano il ${thresholdMax}% del tuo investimento iniziale (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">43</context>
<context context-type="linenumber">93</context>
</context-group>
</trans-unit>
<trans-unit id="253d612b439c367d21c4ba59763df303a6106968" datatype="html">
@ -7843,6 +7843,131 @@
<context context-type="linenumber">19</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity" datatype="html">
<source>Equity</source>
<target state="new">Equity</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.max" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.min" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.true" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html">
<source>Fixed Income</source>
<target state="new">Fixed Income</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.max" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.min" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.true" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html">
<source> Investment: Base Currency </source>
<target state="new"> Investment: Base Currency </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">60</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false" datatype="html">
<source> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">63</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source>
<target state="new">Investment</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">71</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.false" datatype="html">
<source> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </source>
<target state="new"> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </source>
<target state="new"> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="routes.start" datatype="html">
<source>start</source>
<target state="new">start</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">316</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">317</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -5652,7 +5652,7 @@
<target state="translated">Open Source Vermogensbeheer Software</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="metaKeywords" datatype="html">
@ -5780,7 +5780,7 @@
<target state="translated">De huidige markt waarde is</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">536</context>
<context context-type="linenumber">545</context>
</context-group>
</trans-unit>
<trans-unit id="a79d938b5ed20249b4ab6bef86c12633d2f346a0" datatype="html">
@ -5945,7 +5945,7 @@
</trans-unit>
<trans-unit id="399380803601269035" datatype="html">
<source>MTD</source>
<target state="new">MTD</target>
<target state="translated">MTD</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">347</context>
@ -6065,7 +6065,7 @@
</trans-unit>
<trans-unit id="routes.faq.selfHosting" datatype="html">
<source>self-hosting</source>
<target state="translated">zelf hosten</target>
<target state="translated">zelf-hosten</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -6569,7 +6569,7 @@
<target state="translated">Fout</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">527</context>
<context context-type="linenumber">536</context>
</context-group>
</trans-unit>
<trans-unit id="c95505b5a74151a0c235b19b9c41db7983205ba7" datatype="html">
@ -7171,7 +7171,7 @@
<target state="translated">Lui</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="6882618704933649036" datatype="html">
@ -7179,7 +7179,7 @@
<target state="translated">Direct</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="47969a4a0916bea5385b42c18749e32a35f07bd7" datatype="html">
@ -7219,7 +7219,7 @@
<target state="translated">eind van de dag</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="4547068148181074902" datatype="html">
@ -7227,7 +7227,7 @@
<target state="translated">real-time</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="7109040016560023658" datatype="html">
@ -7436,7 +7436,7 @@
<target state="translated"><x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) is al in gebruik.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">462</context>
<context context-type="linenumber">472</context>
</context-group>
</trans-unit>
<trans-unit id="5612909502553004436" datatype="html">
@ -7444,7 +7444,7 @@
<target state="translated">Er is een fout opgetreden tijdens het updaten naar <x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>).</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">470</context>
<context context-type="linenumber">480</context>
</context-group>
</trans-unit>
<trans-unit id="c2d0ac9f528bbd5f53fd34269fde8b59e029621b" datatype="html">
@ -7578,7 +7578,7 @@
</trans-unit>
<trans-unit id="3920411961658116502" datatype="html">
<source>Demo user account has been synced.</source>
<target state="new">Demo user account has been synced.</target>
<target state="translated">Demo-gebruikersaccount is gesynchroniseerd.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.component.ts</context>
<context context-type="linenumber">223</context>
@ -7586,7 +7586,7 @@
</trans-unit>
<trans-unit id="18fe01d6ae816d6787148e59ea1a39d0bb542e24" datatype="html">
<source>Sync Demo User Account</source>
<target state="new">Sync Demo User Account</target>
<target state="translated">Synchroniseer demo-gebruikersaccount</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-overview/admin-overview.html</context>
<context context-type="linenumber">181</context>
@ -7594,55 +7594,55 @@
</trans-unit>
<trans-unit id="rule.emergencyFundSetup" datatype="html">
<source>Emergency Fund: Set up</source>
<target state="new">Emergency Fund: Set up</target>
<target state="translated">Noodfonds: opgezet</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">81</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.false" datatype="html">
<source> No emergency fund has been set up </source>
<target state="new"> No emergency fund has been set up </target>
<target state="translated"> Er is geen noodfonds ingesteld </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">82</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.true" datatype="html">
<source> An emergency fund has been set up </source>
<target state="new"> An emergency fund has been set up </target>
<target state="translated"> Er is een noodfonds opgericht </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
<source>Fee Ratio</source>
<target state="new">Fee Ratio</target>
<target state="translated">Vergoedingsverhouding</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">88</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>
<target state="translated"> De kosten overschrijden ${thresholdMax}% van uw initiële investering (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">89</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>
<target state="translated"> De kosten bedragen niet meer dan ${thresholdMax}% van uw initiële investering (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">43</context>
<context context-type="linenumber">93</context>
</context-group>
</trans-unit>
<trans-unit id="253d612b439c367d21c4ba59763df303a6106968" datatype="html">
<source> Name </source>
<target state="new"> Name </target>
<target state="translated"> Naam </target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/benchmark/benchmark.component.html</context>
<context context-type="linenumber">11</context>
@ -7650,7 +7650,7 @@
</trans-unit>
<trans-unit id="7784226024223865620" datatype="html">
<source>Find holding or page...</source>
<target state="new">Find holding or page...</target>
<target state="translated">Zoek holding of pagina...</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.component.ts</context>
<context context-type="linenumber">154</context>
@ -7658,7 +7658,7 @@
</trans-unit>
<trans-unit id="fdc5b7b5b45ed83dbeca659493d392854aab0198" datatype="html">
<source> Quick Links </source>
<target state="new"> Quick Links </target>
<target state="translated"> Snelle koppelingen </target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">43</context>
@ -7666,7 +7666,7 @@
</trans-unit>
<trans-unit id="bd97ed6a59678be7caee6f1eeaefea7f7c023b81" datatype="html">
<source> Asset Profiles </source>
<target state="new"> Asset Profiles </target>
<target state="translated"> Activaprofielen </target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">97</context>
@ -7674,7 +7674,7 @@
</trans-unit>
<trans-unit id="440264111109852789" datatype="html">
<source>Live Demo</source>
<target state="new">Live Demo</target>
<target state="translated">Live-demo</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">216</context>
@ -7690,7 +7690,7 @@
</trans-unit>
<trans-unit id="rule.accountClusterRiskSingleAccount" datatype="html">
<source>Single Account</source>
<target state="new">Single Account</target>
<target state="translated">Eén account</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">24</context>
@ -7698,7 +7698,7 @@
</trans-unit>
<trans-unit id="rule.accountClusterRiskSingleAccount.false" datatype="html">
<source> Your net worth is managed by a single account </source>
<target state="new"> Your net worth is managed by a single account </target>
<target state="translated"> Uw nettowaarde wordt beheerd door één enkele account </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">25</context>
@ -7706,7 +7706,7 @@
</trans-unit>
<trans-unit id="rule.accountClusterRiskSingleAccount.true" datatype="html">
<source> Your net worth is managed by ${accountsLength} accounts </source>
<target state="new"> Your net worth is managed by ${accountsLength} accounts </target>
<target state="translated"> Uw nettowaarde wordt beheerd door ${accountsLength}-accounts </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">28</context>
@ -7714,7 +7714,7 @@
</trans-unit>
<trans-unit id="e52bbefa89875d7d53fb43d5f0cf56c6654b50ba" datatype="html">
<source> Holdings </source>
<target state="new"> Holdings </target>
<target state="translated"> Bezit </target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">68</context>
@ -7735,7 +7735,7 @@
</trans-unit>
<trans-unit id="routes.resources.markets" datatype="html">
<source>markets</source>
<target state="new">markets</target>
<target state="translated">markten</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7756,7 +7756,7 @@
</trans-unit>
<trans-unit id="101d5e861e35b1aacb9a620938c2b886dbbb515a" datatype="html">
<source>Get Access</source>
<target state="new">Get Access</target>
<target state="translated">Krijg toegang</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">27</context>
@ -7764,7 +7764,7 @@
</trans-unit>
<trans-unit id="e2dcf27db9c6a5e249960c576014aa40b3883360" datatype="html">
<source>Learn more</source>
<target state="new">Learn more</target>
<target state="translated">Meer informatie</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">38</context>
@ -7772,7 +7772,7 @@
</trans-unit>
<trans-unit id="50b3e721b5c4731ab004595b348ce2a7737e81b3" datatype="html">
<source>new</source>
<target state="new">new</target>
<target state="translated">nieuw</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-settings/admin-settings.component.html</context>
<context context-type="linenumber">67</context>
@ -7780,7 +7780,7 @@
</trans-unit>
<trans-unit id="2b3030c13e8ffdfbfcaf6d487dbe23e4f9b8f4d7" datatype="html">
<source>Limited Offer!</source>
<target state="new">Limited Offer!</target>
<target state="translated">Beperkt aanbod!</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.html</context>
<context context-type="linenumber">311</context>
@ -7796,7 +7796,7 @@
</trans-unit>
<trans-unit id="b7da3e3505cc80f9bf3cffc8444c53e8a9ec70a5" datatype="html">
<source>Available</source>
<target state="new">Available</target>
<target state="translated">Beschikbaar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/data-provider-status/data-provider-status.component.html</context>
<context context-type="linenumber">3</context>
@ -7804,7 +7804,7 @@
</trans-unit>
<trans-unit id="15c02cb6b6c3be53477e502d3e1ee26955b23af0" datatype="html">
<source>Unavailable</source>
<target state="new">Unavailable</target>
<target state="translated">Niet beschikbaar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/data-provider-status/data-provider-status.component.html</context>
<context context-type="linenumber">5</context>
@ -7812,7 +7812,7 @@
</trans-unit>
<trans-unit id="7387635272539030076" datatype="html">
<source>new</source>
<target state="new">new</target>
<target state="translated">nieuw</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/admin/admin-page.component.ts</context>
<context context-type="linenumber">37</context>
@ -7820,7 +7820,7 @@
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source>
<target state="new">Investment</target>
<target state="translated">Investering</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">14</context>
@ -7828,7 +7828,7 @@
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment.false" datatype="html">
<source> Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) </source>
<target state="new"> Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) </target>
<target state="translated"> Meer dan ${thresholdMax}% van uw huidige investering bedraagt ​​${maxAccountName} (${maxInvestmentRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">15</context>
@ -7836,12 +7836,137 @@
</trans-unit>
<trans-unit id="rule.accountClusterRiskCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% </source>
<target state="new"> The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% </target>
<target state="translated"> Het grootste deel van uw huidige investering bedraagt ​​${maxAccountName} (${maxInvestmentRatio}%) en bedraagt ​​niet meer dan ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">19</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity" datatype="html">
<source>Equity</source>
<target state="translated">Eigen vermogen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.max" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.min" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.true" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html">
<source>Fixed Income</source>
<target state="new">Fixed Income</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.max" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.min" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.true" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html">
<source> Investment: Base Currency </source>
<target state="new"> Investment: Base Currency </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">60</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false" datatype="html">
<source> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">63</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source>
<target state="new">Investment</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">71</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.false" datatype="html">
<source> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </source>
<target state="new"> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </source>
<target state="new"> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="routes.start" datatype="html">
<source>start</source>
<target state="new">start</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">316</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">317</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -3443,7 +3443,7 @@
<target state="translated">Oprogramowanie Open Source do Zarządzania Majątkiem</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="7b3c319feef05dcc1f487d09dd2a59eb4c50e6d6" datatype="html">
@ -5780,7 +5780,7 @@
<target state="translated">Obecna cena rynkowa wynosi</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">536</context>
<context context-type="linenumber">545</context>
</context-group>
</trans-unit>
<trans-unit id="a79d938b5ed20249b4ab6bef86c12633d2f346a0" datatype="html">
@ -6569,7 +6569,7 @@
<target state="translated">Błąd</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">527</context>
<context context-type="linenumber">536</context>
</context-group>
</trans-unit>
<trans-unit id="c95505b5a74151a0c235b19b9c41db7983205ba7" datatype="html">
@ -7171,7 +7171,7 @@
<target state="translated">Leniwy</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="6882618704933649036" datatype="html">
@ -7179,7 +7179,7 @@
<target state="translated">Natychmiastowy</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="47969a4a0916bea5385b42c18749e32a35f07bd7" datatype="html">
@ -7219,7 +7219,7 @@
<target state="translated">koniec dnia</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="4547068148181074902" datatype="html">
@ -7227,7 +7227,7 @@
<target state="translated">w czasie rzeczywistym</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="7109040016560023658" datatype="html">
@ -7396,7 +7396,7 @@
</trans-unit>
<trans-unit id="routes.about.termsOfService" datatype="html">
<source>terms-of-service</source>
<target state="translated">warunki-świadczenia-usług</target>
<target state="translated">warunki-swiadczenia-uslug</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7436,7 +7436,7 @@
<target state="translated"><x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) jest już w użyciu.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">462</context>
<context context-type="linenumber">472</context>
</context-group>
</trans-unit>
<trans-unit id="5612909502553004436" datatype="html">
@ -7444,7 +7444,7 @@
<target state="translated">Wystąpił błąd podczas aktualizacji do <x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>).</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">470</context>
<context context-type="linenumber">480</context>
</context-group>
</trans-unit>
<trans-unit id="c2d0ac9f528bbd5f53fd34269fde8b59e029621b" datatype="html">
@ -7565,7 +7565,7 @@
</trans-unit>
<trans-unit id="routes.about.changelog" datatype="html">
<source>changelog</source>
<target state="translated">dziennik zmian</target>
<target state="translated">dziennik-zmian</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7597,7 +7597,7 @@
<target state="translated">Fundusz awaryjny: Utworzenie</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">81</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.false" datatype="html">
@ -7605,7 +7605,7 @@
<target state="translated"> Nie utworzono funduszu awaryjnego </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">82</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.true" datatype="html">
@ -7613,7 +7613,7 @@
<target state="translated"> Utworzono fundusz awaryjny </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
@ -7621,7 +7621,7 @@
<target state="translated">Stosunek opłat</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">88</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
@ -7629,7 +7629,7 @@
<target state="translated"> Opłaty przekraczają ${thresholdMax}% początkowej inwestycji (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">89</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
@ -7637,7 +7637,7 @@
<target state="translated"> Opłaty nie przekraczają ${thresholdMax}% początkowej inwestycji (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">43</context>
<context context-type="linenumber">93</context>
</context-group>
</trans-unit>
<trans-unit id="253d612b439c367d21c4ba59763df303a6106968" datatype="html">
@ -7842,6 +7842,131 @@
<context context-type="linenumber">19</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity" datatype="html">
<source>Equity</source>
<target state="new">Equity</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.max" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.min" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.true" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html">
<source>Fixed Income</source>
<target state="new">Fixed Income</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.max" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.min" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.true" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html">
<source> Investment: Base Currency </source>
<target state="new"> Investment: Base Currency </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">60</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false" datatype="html">
<source> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">63</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source>
<target state="new">Investment</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">71</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.false" datatype="html">
<source> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </source>
<target state="new"> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </source>
<target state="new"> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="routes.start" datatype="html">
<source>start</source>
<target state="new">start</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">316</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">317</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -5652,7 +5652,7 @@
<target state="translated">Software de gerenciamento de patrimônio de código aberto</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="metaKeywords" datatype="html">
@ -5780,7 +5780,7 @@
<target state="translated">O preço de mercado atual é</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">536</context>
<context context-type="linenumber">545</context>
</context-group>
</trans-unit>
<trans-unit id="a79d938b5ed20249b4ab6bef86c12633d2f346a0" datatype="html">
@ -6569,7 +6569,7 @@
<target state="new">Error</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">527</context>
<context context-type="linenumber">536</context>
</context-group>
</trans-unit>
<trans-unit id="c95505b5a74151a0c235b19b9c41db7983205ba7" datatype="html">
@ -7171,7 +7171,7 @@
<target state="new">Lazy</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="6882618704933649036" datatype="html">
@ -7179,7 +7179,7 @@
<target state="new">Instant</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="47969a4a0916bea5385b42c18749e32a35f07bd7" datatype="html">
@ -7219,7 +7219,7 @@
<target state="new">end of day</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="4547068148181074902" datatype="html">
@ -7227,7 +7227,7 @@
<target state="new">real-time</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="7109040016560023658" datatype="html">
@ -7396,7 +7396,7 @@
</trans-unit>
<trans-unit id="routes.about.termsOfService" datatype="html">
<source>terms-of-service</source>
<target state="translated">termos-de-serviço</target>
<target state="translated">termos-de-servico</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7436,7 +7436,7 @@
<target state="new"><x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) is already in use.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">462</context>
<context context-type="linenumber">472</context>
</context-group>
</trans-unit>
<trans-unit id="5612909502553004436" datatype="html">
@ -7444,7 +7444,7 @@
<target state="new">An error occurred while updating to <x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>).</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">470</context>
<context context-type="linenumber">480</context>
</context-group>
</trans-unit>
<trans-unit id="c2d0ac9f528bbd5f53fd34269fde8b59e029621b" datatype="html">
@ -7597,7 +7597,7 @@
<target state="new">Emergency Fund: Set up</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">81</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.false" datatype="html">
@ -7605,7 +7605,7 @@
<target state="new"> No emergency fund has been set up </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">82</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.true" datatype="html">
@ -7613,7 +7613,7 @@
<target state="new"> An emergency fund has been set up </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
@ -7621,7 +7621,7 @@
<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">38</context>
<context context-type="linenumber">88</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
@ -7629,7 +7629,7 @@
<target state="new"> The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">89</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
@ -7637,7 +7637,7 @@
<target state="new"> The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">43</context>
<context context-type="linenumber">93</context>
</context-group>
</trans-unit>
<trans-unit id="253d612b439c367d21c4ba59763df303a6106968" datatype="html">
@ -7842,6 +7842,131 @@
<context context-type="linenumber">19</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity" datatype="html">
<source>Equity</source>
<target state="new">Equity</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.max" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.min" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.true" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html">
<source>Fixed Income</source>
<target state="new">Fixed Income</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.max" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.min" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.true" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html">
<source> Investment: Base Currency </source>
<target state="new"> Investment: Base Currency </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">60</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false" datatype="html">
<source> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">63</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source>
<target state="new">Investment</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">71</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.false" datatype="html">
<source> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </source>
<target state="new"> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </source>
<target state="new"> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="routes.start" datatype="html">
<source>start</source>
<target state="new">start</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">316</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">317</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -4200,7 +4200,7 @@
</trans-unit>
<trans-unit id="routes.resources.personalFinanceTools.openSourceAlternativeTo" datatype="html">
<source>open-source-alternative-to</source>
<target state="translated">Açık kaynak alternatif</target>
<target state="translated">acik-kaynak-alternatif</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -5652,7 +5652,7 @@
<target state="translated">Açık Kaynak Varlık Yönetim Yazılımı</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="metaKeywords" datatype="html">
@ -5780,7 +5780,7 @@
<target state="translated">Şu anki piyasa fiyatı</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">536</context>
<context context-type="linenumber">545</context>
</context-group>
</trans-unit>
<trans-unit id="a79d938b5ed20249b4ab6bef86c12633d2f346a0" datatype="html">
@ -6065,7 +6065,7 @@
</trans-unit>
<trans-unit id="routes.faq.selfHosting" datatype="html">
<source>self-hosting</source>
<target state="translated">Kendini-Barındırma</target>
<target state="translated">kendini-barindirma</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -6569,7 +6569,7 @@
<target state="translated">Hata</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">527</context>
<context context-type="linenumber">536</context>
</context-group>
</trans-unit>
<trans-unit id="c95505b5a74151a0c235b19b9c41db7983205ba7" datatype="html">
@ -6934,7 +6934,7 @@
</trans-unit>
<trans-unit id="routes.resources.guides" datatype="html">
<source>guides</source>
<target state="translated">kılavuzlar</target>
<target state="translated">kilavuzlar</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -6947,7 +6947,7 @@
</trans-unit>
<trans-unit id="routes.resources.glossary" datatype="html">
<source>glossary</source>
<target state="translated">sözlük</target>
<target state="translated">sozluk</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7171,7 +7171,7 @@
<target state="translated">Tembel</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="6882618704933649036" datatype="html">
@ -7179,7 +7179,7 @@
<target state="translated">Anında</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="47969a4a0916bea5385b42c18749e32a35f07bd7" datatype="html">
@ -7219,7 +7219,7 @@
<target state="translated">gün sonu</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="4547068148181074902" datatype="html">
@ -7227,7 +7227,7 @@
<target state="translated">gerçek zamanlı</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="7109040016560023658" datatype="html">
@ -7396,7 +7396,7 @@
</trans-unit>
<trans-unit id="routes.about.termsOfService" datatype="html">
<source>terms-of-service</source>
<target state="translated">Hizmet Koşulları</target>
<target state="translated">hizmet-kosullari</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7436,7 +7436,7 @@
<target state="translated"><x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) is already in use.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">462</context>
<context context-type="linenumber">472</context>
</context-group>
</trans-unit>
<trans-unit id="5612909502553004436" datatype="html">
@ -7444,7 +7444,7 @@
<target state="translated">Güncelleştirilirken bir hata oluştu <x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>).</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">470</context>
<context context-type="linenumber">480</context>
</context-group>
</trans-unit>
<trans-unit id="c2d0ac9f528bbd5f53fd34269fde8b59e029621b" datatype="html">
@ -7597,7 +7597,7 @@
<target state="translated">Acil Durum Fonu: Kurulum</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">81</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.false" datatype="html">
@ -7605,7 +7605,7 @@
<target state="translated"> Acil durum fonu oluşturulmadı </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">82</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.true" datatype="html">
@ -7613,7 +7613,7 @@
<target state="translated"> Acil durum fonu kuruldu </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
@ -7621,7 +7621,7 @@
<target state="translated">Ücret Oranı</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">88</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
@ -7629,7 +7629,7 @@
<target state="translated"> Ücretler, ilk yatırımınızın %${thresholdMax} kadarını aşıyor (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">89</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
@ -7637,7 +7637,7 @@
<target state="translated"> Ücretler, ilk yatırımınızın %${thresholdMax}’ını (${feeRatio}%) aşmaz </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">43</context>
<context context-type="linenumber">93</context>
</context-group>
</trans-unit>
<trans-unit id="253d612b439c367d21c4ba59763df303a6106968" datatype="html">
@ -7674,7 +7674,7 @@
</trans-unit>
<trans-unit id="440264111109852789" datatype="html">
<source>Live Demo</source>
<target state="new">Live Demo</target>
<target state="translated">Canlı Demo</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">216</context>
@ -7682,7 +7682,7 @@
</trans-unit>
<trans-unit id="5263776643657358606" datatype="html">
<source>Open Source Alternative to</source>
<target state="new">Open Source Alternative to</target>
<target state="translated">Açık Kaynak Alternatifi</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">306</context>
@ -7690,7 +7690,7 @@
</trans-unit>
<trans-unit id="rule.accountClusterRiskSingleAccount" datatype="html">
<source>Single Account</source>
<target state="new">Single Account</target>
<target state="translated">Tek Hesap</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">24</context>
@ -7698,7 +7698,7 @@
</trans-unit>
<trans-unit id="rule.accountClusterRiskSingleAccount.false" datatype="html">
<source> Your net worth is managed by a single account </source>
<target state="new"> Your net worth is managed by a single account </target>
<target state="translated"> Net değeriniz tek bir hesap tarafından yönetiliyor </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">25</context>
@ -7706,7 +7706,7 @@
</trans-unit>
<trans-unit id="rule.accountClusterRiskSingleAccount.true" datatype="html">
<source> Your net worth is managed by ${accountsLength} accounts </source>
<target state="new"> Your net worth is managed by ${accountsLength} accounts </target>
<target state="translated"> Net değeriniz ${accountsLength} hesaplar tarafından yönetiliyor </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">28</context>
@ -7714,7 +7714,7 @@
</trans-unit>
<trans-unit id="e52bbefa89875d7d53fb43d5f0cf56c6654b50ba" datatype="html">
<source> Holdings </source>
<target state="new"> Holdings </target>
<target state="translated"> Holdingler </target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/assistant/assistant.html</context>
<context context-type="linenumber">68</context>
@ -7722,7 +7722,7 @@
</trans-unit>
<trans-unit id="routes.resources.personalFinanceTools" datatype="html">
<source>personal-finance-tools</source>
<target state="new">personal-finance-tools</target>
<target state="translated">kisisel-finans-araclari</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7735,7 +7735,7 @@
</trans-unit>
<trans-unit id="routes.resources.markets" datatype="html">
<source>markets</source>
<target state="new">markets</target>
<target state="translated">pazarlar</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7842,6 +7842,131 @@
<context context-type="linenumber">19</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity" datatype="html">
<source>Equity</source>
<target state="new">Equity</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.max" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.min" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.true" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html">
<source>Fixed Income</source>
<target state="new">Fixed Income</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.max" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.min" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.true" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html">
<source> Investment: Base Currency </source>
<target state="new"> Investment: Base Currency </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">60</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false" datatype="html">
<source> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">63</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source>
<target state="new">Investment</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">71</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.false" datatype="html">
<source> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </source>
<target state="new"> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </source>
<target state="new"> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="routes.start" datatype="html">
<source>start</source>
<target state="new">start</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">316</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">317</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -1355,7 +1355,7 @@
<target state="translated">Помилка</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">527</context>
<context context-type="linenumber">536</context>
</context-group>
</trans-unit>
<trans-unit id="4405333887341433096" datatype="html">
@ -1363,7 +1363,7 @@
<target state="translated">Поточна ринкова ціна</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">536</context>
<context context-type="linenumber">545</context>
</context-group>
</trans-unit>
<trans-unit id="c8d1785038d461ec66b5799db21864182b35900a" datatype="html">
@ -3796,7 +3796,7 @@
</trans-unit>
<trans-unit id="routes.faq.selfHosting" datatype="html">
<source>self-hosting</source>
<target state="translated">самохостинг</target>
<target state="translated">samohosting</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -4016,7 +4016,7 @@
<target state="translated">Програмне забезпечення управління багатством з відкритим кодом</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="7b3c319feef05dcc1f487d09dd2a59eb4c50e6d6" datatype="html">
@ -5511,7 +5511,7 @@
</trans-unit>
<trans-unit id="routes.resources.personalFinanceTools.openSourceAlternativeTo" datatype="html">
<source>open-source-alternative-to</source>
<target state="translated">відкритий-альтернативний-для</target>
<target state="translated">vidkrytyi-alternatyvnyi-dlia</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
@ -7171,7 +7171,7 @@
<target state="new">Lazy</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="6882618704933649036" datatype="html">
@ -7179,7 +7179,7 @@
<target state="new">Instant</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="47969a4a0916bea5385b42c18749e32a35f07bd7" datatype="html">
@ -7219,7 +7219,7 @@
<target state="new">end of day</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="4547068148181074902" datatype="html">
@ -7227,7 +7227,7 @@
<target state="new">real-time</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="7109040016560023658" datatype="html">
@ -7436,7 +7436,7 @@
<target state="new"><x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) is already in use.</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">462</context>
<context context-type="linenumber">472</context>
</context-group>
</trans-unit>
<trans-unit id="5612909502553004436" datatype="html">
@ -7444,7 +7444,7 @@
<target state="new">An error occurred while updating to <x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>).</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">470</context>
<context context-type="linenumber">480</context>
</context-group>
</trans-unit>
<trans-unit id="c2d0ac9f528bbd5f53fd34269fde8b59e029621b" datatype="html">
@ -7597,7 +7597,7 @@
<target state="new">Emergency Fund: Set up</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">81</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.false" datatype="html">
@ -7605,7 +7605,7 @@
<target state="new"> No emergency fund has been set up </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">82</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.true" datatype="html">
@ -7613,7 +7613,7 @@
<target state="new"> An emergency fund has been set up </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
@ -7621,7 +7621,7 @@
<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">38</context>
<context context-type="linenumber">88</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
@ -7629,7 +7629,7 @@
<target state="new"> The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">89</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
@ -7637,7 +7637,7 @@
<target state="new"> The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">43</context>
<context context-type="linenumber">93</context>
</context-group>
</trans-unit>
<trans-unit id="253d612b439c367d21c4ba59763df303a6106968" datatype="html">
@ -7842,6 +7842,131 @@
<context context-type="linenumber">19</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity" datatype="html">
<source>Equity</source>
<target state="new">Equity</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.max" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.min" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.true" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html">
<source>Fixed Income</source>
<target state="new">Fixed Income</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.max" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.min" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.true" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html">
<source> Investment: Base Currency </source>
<target state="new"> Investment: Base Currency </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">60</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false" datatype="html">
<source> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">63</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source>
<target state="new">Investment</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">71</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.false" datatype="html">
<source> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </source>
<target state="new"> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </source>
<target state="new"> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="routes.start" datatype="html">
<source>start</source>
<target state="new">start</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">316</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">317</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -3185,7 +3185,7 @@
<source>Open Source Wealth Management Software</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="7b3c319feef05dcc1f487d09dd2a59eb4c50e6d6" datatype="html">
@ -5263,7 +5263,7 @@
<source>The current market price is</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">536</context>
<context context-type="linenumber">545</context>
</context-group>
</trans-unit>
<trans-unit id="a79d938b5ed20249b4ab6bef86c12633d2f346a0" datatype="html">
@ -5951,7 +5951,7 @@
<source>Error</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">527</context>
<context context-type="linenumber">536</context>
</context-group>
</trans-unit>
<trans-unit id="2159130950882492111" datatype="html">
@ -6501,14 +6501,14 @@
<source>Instant</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="8540986733881734625" datatype="html">
<source>Lazy</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="135a208952e884a5ee78533cc4cc8559c702d555" datatype="html">
@ -6522,14 +6522,14 @@
<source>real-time</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="8635324470284879211" datatype="html">
<source>end of day</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="7109040016560023658" datatype="html">
@ -6713,14 +6713,14 @@
<source><x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) is already in use.</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">462</context>
<context context-type="linenumber">472</context>
</context-group>
</trans-unit>
<trans-unit id="5612909502553004436" datatype="html">
<source>An error occurred while updating to <x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>).</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">470</context>
<context context-type="linenumber">480</context>
</context-group>
</trans-unit>
<trans-unit id="c2d0ac9f528bbd5f53fd34269fde8b59e029621b" datatype="html">
@ -6841,42 +6841,42 @@
<source>Emergency Fund: Set up</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">81</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.false" datatype="html">
<source> No emergency fund has been set up </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">82</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.true" datatype="html">
<source> An emergency fund has been set up </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" 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">38</context>
<context context-type="linenumber">88</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>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">89</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>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">43</context>
<context context-type="linenumber">93</context>
</context-group>
</trans-unit>
<trans-unit id="7784226024223865620" datatype="html">
@ -7050,6 +7050,116 @@
<context context-type="linenumber">19</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity" datatype="html">
<source>Equity</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.max" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.min" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.true" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html">
<source>Fixed Income</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.max" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.min" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.true" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html">
<source> Investment: Base Currency </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">60</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false" datatype="html">
<source> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">63</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">71</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.false" datatype="html">
<source> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="routes.start" datatype="html">
<source>start</source>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">316</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">317</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -3452,7 +3452,7 @@
<target state="translated">开源财富管理软件</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="7b3c319feef05dcc1f487d09dd2a59eb4c50e6d6" datatype="html">
@ -5789,7 +5789,7 @@
<target state="translated">当前市场价格为</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">536</context>
<context context-type="linenumber">545</context>
</context-group>
</trans-unit>
<trans-unit id="a79d938b5ed20249b4ab6bef86c12633d2f346a0" datatype="html">
@ -6570,7 +6570,7 @@
<target state="translated">错误</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">527</context>
<context context-type="linenumber">536</context>
</context-group>
</trans-unit>
<trans-unit id="c95505b5a74151a0c235b19b9c41db7983205ba7" datatype="html">
@ -7172,7 +7172,7 @@
<target state="translated">延迟</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="6882618704933649036" datatype="html">
@ -7180,7 +7180,7 @@
<target state="translated">即时</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="47969a4a0916bea5385b42c18749e32a35f07bd7" datatype="html">
@ -7220,7 +7220,7 @@
<target state="translated">收盘</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">138</context>
<context context-type="linenumber">140</context>
</context-group>
</trans-unit>
<trans-unit id="4547068148181074902" datatype="html">
@ -7228,7 +7228,7 @@
<target state="translated">实时</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="7109040016560023658" datatype="html">
@ -7437,7 +7437,7 @@
<target state="translated"><x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) 已在使用中。</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">462</context>
<context context-type="linenumber">472</context>
</context-group>
</trans-unit>
<trans-unit id="5612909502553004436" datatype="html">
@ -7445,7 +7445,7 @@
<target state="translated">在更新到 <x id="PH" equiv-text="assetProfileIdentifier.symbol"/> (<x id="PH_1" equiv-text="assetProfileIdentifier.dataSource"/>) 时发生错误。</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts</context>
<context context-type="linenumber">470</context>
<context context-type="linenumber">480</context>
</context-group>
</trans-unit>
<trans-unit id="c2d0ac9f528bbd5f53fd34269fde8b59e029621b" datatype="html">
@ -7598,7 +7598,7 @@
<target state="translated">应急资金:设置</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">81</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.false" datatype="html">
@ -7606,7 +7606,7 @@
<target state="translated"> 未设置应急资金 </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">82</context>
</context-group>
</trans-unit>
<trans-unit id="rule.emergencyFundSetup.true" datatype="html">
@ -7614,7 +7614,7 @@
<target state="translated"> 已设置应急资金 </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment" datatype="html">
@ -7622,7 +7622,7 @@
<target state="translated">费率</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">88</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.false" datatype="html">
@ -7630,7 +7630,7 @@
<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">39</context>
<context context-type="linenumber">89</context>
</context-group>
</trans-unit>
<trans-unit id="rule.feeRatioInitialInvestment.true" datatype="html">
@ -7638,7 +7638,7 @@
<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">43</context>
<context context-type="linenumber">93</context>
</context-group>
</trans-unit>
<trans-unit id="253d612b439c367d21c4ba59763df303a6106968" datatype="html">
@ -7843,6 +7843,131 @@
<context context-type="linenumber">19</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity" datatype="html">
<source>Equity</source>
<target state="new">Equity</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.max" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.false.min" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskEquity.true" datatype="html">
<source> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The equity contribution of your current investment (${equityValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome" datatype="html">
<source>Fixed Income</source>
<target state="new">Fixed Income</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.max" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) exceeds ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.false.min" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is below ${thresholdMin}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="rule.assetClassClusterRiskFixedIncome.true" datatype="html">
<source> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </source>
<target state="new"> The fixed income contribution of your current investment (${fixedIncomeValueRatio}%) is within the range of ${thresholdMin}% and ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment" datatype="html">
<source> Investment: Base Currency </source>
<target state="new"> Investment: Base Currency </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">60</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.false" datatype="html">
<source> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is not in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">63</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskBaseCurrencyCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </source>
<target state="new"> The major part of your current investment is in your base currency (${baseCurrencyValueRatio}% in ${baseCurrency}) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment" datatype="html">
<source>Investment</source>
<target state="new">Investment</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">71</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.false" datatype="html">
<source> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </source>
<target state="new"> Over ${thresholdMax}% of your current investment is in ${currency} (${maxValueRatio}%) </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">72</context>
</context-group>
</trans-unit>
<trans-unit id="rule.currencyClusterRiskCurrentInvestment.true" datatype="html">
<source> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </source>
<target state="new"> The major part of your current investment is in ${currency} (${maxValueRatio}%) and does not exceed ${thresholdMax}% </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/i18n/i18n-page.html</context>
<context context-type="linenumber">76</context>
</context-group>
</trans-unit>
<trans-unit id="routes.start" datatype="html">
<source>start</source>
<target state="new">start</target>
<note priority="1" from="description">kebab-case</note>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">316</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/common/src/lib/routes/routes.ts</context>
<context context-type="linenumber">317</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

2
docker/entrypoint.sh

@ -9,4 +9,4 @@ echo "Seeding the database"
npx prisma db seed
echo "Starting the server"
node main
exec node main

5
libs/common/src/lib/routes/routes.ts

@ -312,7 +312,8 @@ export const publicRoutes = {
title: $localize`Resources`
},
start: {
path: 'start',
routerLink: ['/start']
excludeFromSitemap: true,
path: $localize`:kebab-case@@routes.start:start`,
routerLink: ['/' + $localize`:kebab-case@@routes.start:start`]
}
};

2
prisma/schema.prisma

@ -247,6 +247,7 @@ model User {
accessToken String?
accounts Account[]
activities Order[]
analytics Analytics?
apiKeys ApiKey[]
authChallenge String?
createdAt DateTime @default(now())
@ -260,7 +261,6 @@ model User {
watchlist SymbolProfile[] @relation("UserWatchlist")
Access Access[] @relation("accessGet")
AccessGive Access[] @relation("accessGive")
Analytics Analytics?
AuthDevice AuthDevice[]
Settings Settings?
SymbolProfile SymbolProfile[]

0
test/import/invalid-currency.csv → test/import/not-ok/invalid-currency.csv

1 Date Code Currency Price Quantity Action Fee
2 12/12/2021 BTCUSD <invalid> 44558.42 1 buy 0

0
test/import/invalid-data-source.json → test/import/not-ok/invalid-data-source.json

0
test/import/invalid-date-before-min.json → test/import/not-ok/invalid-date-before-min.json

0
test/import/invalid-date-yy.csv → test/import/not-ok/invalid-date-yy.csv

1 Date Code Currency Price Quantity Action Fee
2 16/09/21 MSFT USD 298.580 5 buy 19.00

0
test/import/invalid-date.json → test/import/not-ok/invalid-date.json

0
test/import/invalid-fee.csv → test/import/not-ok/invalid-fee.csv

1 Date Code CCY Price Qty Action Amount Fee
2 16/09/2021 MSFT USD 298.580 5 buy 1496.09 <invalid>

0
test/import/invalid-multi-line.csv → test/import/not-ok/invalid-multi-line.csv

1 Date Code Currency Price Quantity Action Fee Note
2 16-09-2021 MSFT USD 298.580 5 buy 19.00 My first order 🤓
3 17/11/2021 MSFT USD 0.62 5 dividend 0.00
4 01.01.2022 Penthouse Apartment USD 500000.0 1 <invalid> 0.00
5 20500606 MSFT USD 0.00 0 buy 0.00

0
test/import/invalid-symbol-btc-usd.csv → test/import/not-ok/invalid-symbol-btc-usd.csv

1 Date Code Currency Price Quantity Action Fee
2 12/12/2021 BTC-USD USD 44558.42 1 buy 0

0
test/import/invalid-symbol.csv → test/import/not-ok/invalid-symbol.csv

1 Date Code CCY Price Qty Action Fee
2 01/01/2021 <invalid> USD 100.0 20 buy 0

0
test/import/invalid-symbol.json → test/import/not-ok/invalid-symbol.json

0
test/import/unavailable-exchange-rate.json → test/import/not-ok/unavailable-exchange-rate.json

0
test/import/unexpected-format.json → test/import/not-ok/unexpected-format.json

0
test/import/ok-500-activities.json → test/import/ok/500-activities.json

0
test/import/ok-btceur.json → test/import/ok/btceur.json

0
test/import/ok-btcusd.csv → test/import/ok/btcusd.csv

1 Date Code Currency Price Quantity Action Fee
2 12/12/2021 BTCUSD USD 44558.42 1 buy 0

0
test/import/ok-btcusd.json → test/import/ok/btcusd.json

0
test/import/ok-derived-currency.json → test/import/ok/derived-currency.json

0
test/import/ok-novn-buy-and-sell-partially.json → test/import/ok/novn-buy-and-sell-partially.json

0
test/import/ok-novn-buy-and-sell.json → test/import/ok/novn-buy-and-sell.json

0
test/import/ok.csv → test/import/ok/sample.csv

1 Date Code DataSource Currency Price Quantity Action Fee Note
2 01-09-2021 Account Opening Fee MANUAL USD 0 0 fee 49
3 16-09-2021 MSFT YAHOO USD 298.580 5 buy 19.00 My first order 🤓
4 17/11/2021 MSFT YAHOO USD 0.62 5 dividend 0.00
5 01.01.2022 Penthouse Apartment MANUAL USD 500000.0 1 item 0.00
6 20500606 US5949181045 YAHOO USD 0.00 0 buy 0.00

0
test/import/ok.json → test/import/ok/sample.json

0
test/import/ok-vti-buy-long-history.json → test/import/ok/vti-buy-long-history.json

0
test/import/ok-vti-buy-on-ibkr.csv → test/import/ok/vti-buy-on-ibkr.csv

1 CurrencyPrimary Symbol DateTime TradeDate TransactionType Quantity TradePrice Buy/Sell ClientAccountID AccountAlias Model FXRateToBase AssetClass SubCategory Description Conid SecurityID SecurityIDType CUSIP ISIN ListingExchange UnderlyingConid UnderlyingSymbol UnderlyingSecurityID UnderlyingListingExchange Issuer Multiplier Strike TradeID Expiry RelatedTradeID Put/Call ReportDate PrincipalAdjustFactor SettleDateTarget Exchange TradeMoney Proceeds Taxes IBCommission IBCommissionCurrency NetCash ClosePrice Open/CloseIndicator Notes/Codes CostBasis FifoPnlRealized FxPnl MtmPnl OrigTradePrice OrigTradeDate OrigTradeID OrigOrderID OrigTransactionID ClearingFirmID IBOrderID TransactionID IBExecID RelatedTransactionID BrokerageOrderID OrderReference VolatilityOrderLink ExchOrderID ExtExecID OrderTime OpenDateTime HoldingPeriodDateTime WhenRealized WhenReopened LevelOfDetail ChangeInPrice ChangeInQuantity OrderType TraderID IsAPIOrder AccruedInterest SerialNumber DeliveryType CommodityType Fineness Weight
2 USD VTI 20230403;095853 20230403 ExchTrade 17 204.3473 BUY U1234567 0.9127 STK ETF VANGUARD TOTAL STOCK MKT ETF 12340041 US9229087690 ISIN 922908769 US9229087690 ARCA 1 1234567890 20230403 20230405 DARK 3473.9041 -3473.9041 0 -1 USD -3474.9041 204.64 O 3474.9041 0 0 4.9759 0 0 0 1234567890 1234567890 0000a123.123abcde.01.01 00cb7412.0001b9c2.642a55d0.0001 N/A 2304030003120950675 20230403;095853 EXECUTION 0 0 LMT N 0 0.0 0.0 ()

0
test/import/ok-without-accounts.json → test/import/ok/without-accounts.json

Loading…
Cancel
Save