Browse Source

Merge branch 'main' into feat/update-postgres-versions

pull/1596/head
Thomas Kaul 2 years ago
committed by GitHub
parent
commit
ee70cc06c7
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 29
      CHANGELOG.md
  2. 1
      apps/api/src/app/account/create-account.dto.ts
  3. 1
      apps/api/src/app/account/update-account.dto.ts
  4. 8
      apps/api/src/app/admin/admin.service.ts
  5. 12
      apps/api/src/app/export/export.service.ts
  6. 53
      apps/api/src/app/info/info.service.ts
  7. 11
      apps/api/src/app/logo/logo.service.ts
  8. 7
      apps/api/src/app/user/user.service.ts
  9. 112
      apps/api/src/assets/sitemap.xml
  10. 53
      apps/api/src/services/data-provider/coingecko/coingecko.service.ts
  11. 49
      apps/api/src/services/data-provider/data-enhancer/trackinsight/trackinsight.service.ts
  12. 33
      apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts
  13. 41
      apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts
  14. 13
      apps/api/src/services/data-provider/manual/manual.service.ts
  15. 15
      apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts
  16. 12
      apps/client/src/app/components/access-table/access-table.component.html
  17. 1
      apps/client/src/app/components/access-table/access-table.component.ts
  18. 9
      apps/client/src/app/components/access-table/access-table.module.ts
  19. 6
      apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts
  20. 4
      apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html
  21. 6
      apps/client/src/app/components/accounts-table/accounts-table.component.html
  22. 28
      apps/client/src/app/directives/file-drop/file-drop.directive.ts
  23. 9
      apps/client/src/app/directives/file-drop/file-drop.module.ts
  24. 8
      apps/client/src/app/pages/about/about-page.component.ts
  25. 5
      apps/client/src/app/pages/about/about-page.html
  26. 21
      apps/client/src/app/pages/about/about-page.scss
  27. 5
      apps/client/src/app/pages/accounts/accounts-page.component.ts
  28. 9
      apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
  29. 10
      apps/client/src/app/pages/admin/admin-page.component.ts
  30. 5
      apps/client/src/app/pages/admin/admin-page.html
  31. 21
      apps/client/src/app/pages/admin/admin-page.scss
  32. 8
      apps/client/src/app/pages/home/home-page.component.ts
  33. 5
      apps/client/src/app/pages/home/home-page.html
  34. 21
      apps/client/src/app/pages/home/home-page.scss
  35. 8
      apps/client/src/app/pages/portfolio/activities/activities-page.component.ts
  36. 179
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts
  37. 51
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html
  38. 2
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.module.ts
  39. 28
      apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.scss
  40. 10
      apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts
  41. 10
      apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
  42. 10
      apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts
  43. 8
      apps/client/src/app/pages/portfolio/portfolio-page.component.ts
  44. 5
      apps/client/src/app/pages/portfolio/portfolio-page.html
  45. 21
      apps/client/src/app/pages/portfolio/portfolio-page.scss
  46. 7
      apps/client/src/app/pages/pricing/pricing-page.component.ts
  47. 2
      apps/client/src/app/pages/pricing/pricing-page.html
  48. 31
      apps/client/src/app/pages/user-account/user-account-page.html
  49. 7
      apps/client/src/app/pages/user-account/user-account-page.scss
  50. 34
      apps/client/src/app/pages/zen/zen-page.component.ts
  51. 5
      apps/client/src/app/pages/zen/zen-page.html
  52. 21
      apps/client/src/app/pages/zen/zen-page.scss
  53. 188
      apps/client/src/locales/messages.de.xlf
  54. 188
      apps/client/src/locales/messages.es.xlf
  55. 188
      apps/client/src/locales/messages.fr.xlf
  56. 762
      apps/client/src/locales/messages.it.xlf
  57. 202
      apps/client/src/locales/messages.nl.xlf
  58. 188
      apps/client/src/locales/messages.pt.xlf
  59. 182
      apps/client/src/locales/messages.xlf
  60. 55
      apps/client/src/styles.scss
  61. 2
      libs/common/src/lib/config.ts
  62. 5
      libs/common/src/lib/interfaces/export.interface.ts
  63. 1
      libs/ui/src/lib/i18n.ts
  64. 2
      package.json
  65. 3
      prisma/migrations/20230915141658_changed_account_type_to_optional_in_account/migration.sql
  66. 2
      prisma/schema.prisma
  67. 3
      test/import/ok-500-activities.json
  68. 1
      test/import/ok.json

29
CHANGELOG.md

@ -7,14 +7,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased
### Added
- Introduced a sidebar navigation on desktop
### Changed
- Harmonized the logger output: <symbol> (<dataSource>)
- Improved the language localization for Dutch (`nl`)
- Upgraded _Postgres_ from version `12` to `15` in the `docker-compose` files
## 2.1.0 - 2023-09-15
### Added
- Added support to drop a file in the import activities dialog
- Added a timeout to all data source requests
### Changed
- Harmonized the style of the user interface for granting and revoking public access to share the portfolio
- Removed the account type from the user interface as a preparation to remove it from the `Account` database schema
- Improved the logger output of the info service
- Harmonized the logger output: `<symbol> (<dataSource>)`
- Improved the language localization for German (`de`)
- Improved the language localization for Italian (`it`)
- Improved the language localization for Dutch (`nl`)
- Improved the read-only mode
### Fixed
- Fixed the timeout in _EOD Historical Data_ requests
- Fixed an issue with the portfolio summary caused by the language localization for Dutch (`nl`)
## 2.0.0 - 2023-09-09
@ -1521,7 +1542,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Set up the language localization for Italiano (`it`)
- Set up the language localization for Italian (`it`)
- Extended the landing page
## 1.195.0 - 20.09.2022
@ -2944,7 +2965,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Supported the management of additional currencies in the admin control panel
- Introduced the system message
- Introduced the read only mode
- Introduced the read-only mode
### Changed

1
apps/api/src/app/account/create-account.dto.ts

@ -10,6 +10,7 @@ import {
import { isString } from 'lodash';
export class CreateAccountDto {
@IsOptional()
@IsString()
accountType: AccountType;

1
apps/api/src/app/account/update-account.dto.ts

@ -10,6 +10,7 @@ import {
import { isString } from 'lodash';
export class UpdateAccountDto {
@IsOptional()
@IsString()
accountType: AccountType;

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

@ -8,7 +8,9 @@ import { PropertyService } from '@ghostfolio/api/services/property/property.serv
import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service';
import {
DEFAULT_CURRENCY,
PROPERTY_CURRENCIES
PROPERTY_CURRENCIES,
PROPERTY_IS_READ_ONLY_MODE,
PROPERTY_IS_USER_SIGNUP_ENABLED
} from '@ghostfolio/common/config';
import {
AdminData,
@ -305,7 +307,9 @@ export class AdminService {
response = await this.propertyService.delete({ key });
}
if (key === PROPERTY_CURRENCIES) {
if (key === PROPERTY_IS_READ_ONLY_MODE && value === 'true') {
await this.putSetting(PROPERTY_IS_USER_SIGNUP_ENABLED, 'false');
} else if (key === PROPERTY_CURRENCIES) {
await this.exchangeRateDataService.initialize();
}

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

@ -26,18 +26,8 @@ export class ExportService {
where: { userId }
})
).map(
({
accountType,
balance,
comment,
currency,
id,
isExcluded,
name,
platformId
}) => {
({ balance, comment, currency, id, isExcluded, name, platformId }) => {
return {
accountType,
balance,
comment,
currency,

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

@ -8,6 +8,7 @@ import { PropertyService } from '@ghostfolio/api/services/property/property.serv
import { TagService } from '@ghostfolio/api/services/tag/tag.service';
import {
DEFAULT_CURRENCY,
DEFAULT_REQUEST_TIMEOUT,
PROPERTY_BETTER_UPTIME_MONITOR_ID,
PROPERTY_COUNTRIES_OF_SUBSCRIBERS,
PROPERTY_DEMO_USER_ID,
@ -168,16 +169,24 @@ export class InfoService {
private async countDockerHubPulls(): Promise<number> {
try {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const { pull_count } = await got(
`https://hub.docker.com/v2/repositories/ghostfolio/ghostfolio`,
{
headers: { 'User-Agent': 'request' }
headers: { 'User-Agent': 'request' },
// @ts-ignore
signal: abortController.signal
}
).json<any>();
return pull_count;
} catch (error) {
Logger.error(error, 'InfoService');
Logger.error(error, 'InfoService - DockerHub');
return undefined;
}
@ -185,7 +194,16 @@ export class InfoService {
private async countGitHubContributors(): Promise<number> {
try {
const { body } = await got('https://github.com/ghostfolio/ghostfolio');
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const { body } = await got('https://github.com/ghostfolio/ghostfolio', {
// @ts-ignore
signal: abortController.signal
});
const $ = cheerio.load(body);
@ -195,7 +213,7 @@ export class InfoService {
).text()
);
} catch (error) {
Logger.error(error, 'InfoService');
Logger.error(error, 'InfoService - GitHub');
return undefined;
}
@ -203,16 +221,24 @@ export class InfoService {
private async countGitHubStargazers(): Promise<number> {
try {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const { stargazers_count } = await got(
`https://api.github.com/repos/ghostfolio/ghostfolio`,
{
headers: { 'User-Agent': 'request' }
headers: { 'User-Agent': 'request' },
// @ts-ignore
signal: abortController.signal
}
).json<any>();
return stargazers_count;
} catch (error) {
Logger.error(error, 'InfoService');
Logger.error(error, 'InfoService - GitHub');
return undefined;
}
@ -323,24 +349,31 @@ export class InfoService {
PROPERTY_BETTER_UPTIME_MONITOR_ID
)) as string;
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const { data } = await got(
`https://betteruptime.com/api/v2/monitors/${monitorId}/sla?from=${format(
`https://uptime.betterstack.com/api/v2/monitors/${monitorId}/sla?from=${format(
subDays(new Date(), 90),
DATE_FORMAT
)}&to${format(new Date(), DATE_FORMAT)}`,
{
headers: {
Authorization: `Bearer ${this.configurationService.get(
'BETTER_UPTIME_API_KEY'
)}`
}
},
// @ts-ignore
signal: abortController.signal
}
).json<any>();
return data.attributes.availability / 100;
} catch (error) {
Logger.error(error, 'InfoService');
Logger.error(error, 'InfoService - Better Stack');
return undefined;
}

11
apps/api/src/app/logo/logo.service.ts

@ -1,4 +1,5 @@
import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service';
import { DEFAULT_REQUEST_TIMEOUT } from '@ghostfolio/common/config';
import { UniqueAsset } from '@ghostfolio/common/interfaces';
import { HttpException, Injectable } from '@nestjs/common';
import { DataSource } from '@prisma/client';
@ -41,10 +42,18 @@ export class LogoService {
}
private getBuffer(aUrl: string) {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
return got(
`https://t0.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=${aUrl}&size=64`,
{
headers: { 'User-Agent': 'request' }
headers: { 'User-Agent': 'request' },
// @ts-ignore
signal: abortController.signal
}
).buffer();
}

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

@ -19,7 +19,7 @@ import { UserWithSettings } from '@ghostfolio/common/types';
import { Injectable } from '@nestjs/common';
import { Prisma, Role, User } from '@prisma/client';
import { differenceInDays } from 'date-fns';
import { sortBy } from 'lodash';
import { sortBy, without } from 'lodash';
const crypto = require('crypto');
@ -188,6 +188,11 @@ export class UserService {
currentPermissions.push(permissions.enableSubscriptionInterstitial);
}
currentPermissions = without(
currentPermissions,
permissions.createAccess
);
// Reset benchmark
user.Settings.settings.benchmark = undefined;
}

112
apps/api/src/assets/sitemap.xml

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<url>
<loc>https://ghostfol.io/de</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
@ -550,6 +550,110 @@
<loc>https://ghostfol.io/it/risorse</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-altoo</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-copilot-money</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-delta</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-divvydiary</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-exirio</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-folishare</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-getquin</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-gospatz</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-justetf</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-kubera</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-markets.sh</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-maybe-finance</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-monse</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-parqet</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-plannix</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-portfolio-dividend-tracker</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-portseido</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-projectionlab</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-seeking-alpha</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-sharesight</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-simple-portfolio</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-snowball-analytics</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-sumio</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-utluna</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-yeekatee</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/nl</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>

53
apps/api/src/services/data-provider/coingecko/coingecko.service.ts

@ -4,7 +4,10 @@ import {
IDataProviderHistoricalResponse,
IDataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { DEFAULT_CURRENCY } from '@ghostfolio/common/config';
import {
DEFAULT_CURRENCY,
DEFAULT_REQUEST_TIMEOUT
} from '@ghostfolio/common/config';
import { DATE_FORMAT } from '@ghostfolio/common/helper';
import { DataProviderInfo } from '@ghostfolio/common/interfaces';
import { Granularity } from '@ghostfolio/common/types';
@ -40,7 +43,16 @@ export class CoinGeckoService implements DataProviderInterface {
};
try {
const { name } = await got(`${this.URL}/coins/${aSymbol}`).json<any>();
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const { name } = await got(`${this.URL}/coins/${aSymbol}`, {
// @ts-ignore
signal: abortController.signal
}).json<any>();
response.name = name;
} catch (error) {
@ -73,12 +85,22 @@ export class CoinGeckoService implements DataProviderInterface {
[symbol: string]: { [date: string]: IDataProviderHistoricalResponse };
}> {
try {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const { prices } = await got(
`${
this.URL
}/coins/${aSymbol}/market_chart/range?vs_currency=${DEFAULT_CURRENCY.toLowerCase()}&from=${getUnixTime(
from
)}&to=${getUnixTime(to)}`
)}&to=${getUnixTime(to)}`,
{
// @ts-ignore
signal: abortController.signal
}
).json<any>();
const result: {
@ -122,10 +144,20 @@ export class CoinGeckoService implements DataProviderInterface {
}
try {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const response = await got(
`${this.URL}/simple/price?ids=${aSymbols.join(
','
)}&vs_currencies=${DEFAULT_CURRENCY.toLowerCase()}`
)}&vs_currencies=${DEFAULT_CURRENCY.toLowerCase()}`,
{
// @ts-ignore
signal: abortController.signal
}
).json<any>();
for (const symbol in response) {
@ -160,9 +192,16 @@ export class CoinGeckoService implements DataProviderInterface {
let items: LookupItem[] = [];
try {
const { coins } = await got(
`${this.URL}/search?query=${query}`
).json<any>();
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const { coins } = await got(`${this.URL}/search?query=${query}`, {
// @ts-ignore
signal: abortController.signal
}).json<any>();
items = coins.map(({ id: symbol, name }) => {
return {

49
apps/api/src/services/data-provider/data-enhancer/trackinsight/trackinsight.service.ts

@ -1,4 +1,5 @@
import { DataEnhancerInterface } from '@ghostfolio/api/services/data-provider/interfaces/data-enhancer.interface';
import { DEFAULT_REQUEST_TIMEOUT } from '@ghostfolio/common/config';
import { Country } from '@ghostfolio/common/interfaces/country.interface';
import { Sector } from '@ghostfolio/common/interfaces/sector.interface';
import { Injectable } from '@nestjs/common';
@ -32,15 +33,35 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface {
return response;
}
let abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const profile = await got(
`${TrackinsightDataEnhancerService.baseUrl}/funds/${symbol}.json`
`${TrackinsightDataEnhancerService.baseUrl}/funds/${symbol}.json`,
{
// @ts-ignore
signal: abortController.signal
}
)
.json<any>()
.catch(() => {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
return got(
`${TrackinsightDataEnhancerService.baseUrl}/funds/${symbol.split(
'.'
)?.[0]}.json`
)?.[0]}.json`,
{
// @ts-ignore
signal: abortController.signal
}
)
.json<any>()
.catch(() => {
@ -54,15 +75,35 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface {
response.isin = isin;
}
abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const holdings = await got(
`${TrackinsightDataEnhancerService.baseUrl}/holdings/${symbol}.json`
`${TrackinsightDataEnhancerService.baseUrl}/holdings/${symbol}.json`,
{
// @ts-ignore
signal: abortController.signal
}
)
.json<any>()
.catch(() => {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
return got(
`${TrackinsightDataEnhancerService.baseUrl}/holdings/${symbol.split(
'.'
)?.[0]}.json`
)?.[0]}.json`,
{
// @ts-ignore
signal: abortController.signal
}
)
.json<any>()
.catch(() => {

33
apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts

@ -78,6 +78,12 @@ export class EodHistoricalDataService implements DataProviderInterface {
const symbol = this.convertToEodSymbol(aSymbol);
try {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const response = await got(
`${this.URL}/eod/${symbol}?api_token=${
this.apiKey
@ -86,9 +92,8 @@ export class EodHistoricalDataService implements DataProviderInterface {
DATE_FORMAT
)}&period={aGranularity}`,
{
timeout: {
request: DEFAULT_REQUEST_TIMEOUT
}
// @ts-ignore
signal: abortController.signal
}
).json<any>();
@ -138,14 +143,19 @@ export class EodHistoricalDataService implements DataProviderInterface {
}
try {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const realTimeResponse = await got(
`${this.URL}/real-time/${symbols[0]}?api_token=${
this.apiKey
}&fmt=json&s=${symbols.join(',')}`,
{
timeout: {
request: DEFAULT_REQUEST_TIMEOUT
}
// @ts-ignore
signal: abortController.signal
}
).json<any>();
@ -331,12 +341,17 @@ export class EodHistoricalDataService implements DataProviderInterface {
let searchResult = [];
try {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const response = await got(
`${this.URL}/search/${aQuery}?api_token=${this.apiKey}`,
{
timeout: {
request: DEFAULT_REQUEST_TIMEOUT
}
// @ts-ignore
signal: abortController.signal
}
).json<any>();

41
apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts

@ -5,7 +5,10 @@ import {
IDataProviderHistoricalResponse,
IDataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { DEFAULT_CURRENCY } from '@ghostfolio/common/config';
import {
DEFAULT_CURRENCY,
DEFAULT_REQUEST_TIMEOUT
} from '@ghostfolio/common/config';
import { DATE_FORMAT, parseDate } from '@ghostfolio/common/helper';
import { DataProviderInfo } from '@ghostfolio/common/interfaces';
import { Granularity } from '@ghostfolio/common/types';
@ -63,8 +66,18 @@ export class FinancialModelingPrepService implements DataProviderInterface {
[symbol: string]: { [date: string]: IDataProviderHistoricalResponse };
}> {
try {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const { historical } = await got(
`${this.URL}/historical-price-full/${aSymbol}?apikey=${this.apiKey}`
`${this.URL}/historical-price-full/${aSymbol}?apikey=${this.apiKey}`,
{
// @ts-ignore
signal: abortController.signal
}
).json<any>();
const result: {
@ -110,8 +123,18 @@ export class FinancialModelingPrepService implements DataProviderInterface {
}
try {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const response = await got(
`${this.URL}/quote/${aSymbols.join(',')}?apikey=${this.apiKey}`
`${this.URL}/quote/${aSymbols.join(',')}?apikey=${this.apiKey}`,
{
// @ts-ignore
signal: abortController.signal
}
).json<any>();
for (const { price, symbol } of response) {
@ -144,8 +167,18 @@ export class FinancialModelingPrepService implements DataProviderInterface {
let items: LookupItem[] = [];
try {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const result = await got(
`${this.URL}/search?query=${query}&apikey=${this.apiKey}`
`${this.URL}/search?query=${query}&apikey=${this.apiKey}`,
{
// @ts-ignore
signal: abortController.signal
}
).json<any>();
items = result.map(({ currency, name, symbol }) => {

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

@ -6,6 +6,7 @@ import {
} from '@ghostfolio/api/services/interfaces/interfaces';
import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service';
import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service';
import { DEFAULT_REQUEST_TIMEOUT } from '@ghostfolio/common/config';
import {
DATE_FORMAT,
extractNumberFromString,
@ -95,7 +96,17 @@ export class ManualService implements DataProviderInterface {
return {};
}
const { body } = await got(url, { headers });
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const { body } = await got(url, {
headers,
// @ts-ignore
signal: abortController.signal
});
const $ = cheerio.load(body);

15
apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts

@ -5,7 +5,10 @@ import {
IDataProviderHistoricalResponse,
IDataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { ghostfolioFearAndGreedIndexSymbol } from '@ghostfolio/common/config';
import {
DEFAULT_REQUEST_TIMEOUT,
ghostfolioFearAndGreedIndexSymbol
} from '@ghostfolio/common/config';
import { DATE_FORMAT, getYesterday } from '@ghostfolio/common/helper';
import { Granularity } from '@ghostfolio/common/types';
import { Injectable, Logger } from '@nestjs/common';
@ -135,6 +138,12 @@ export class RapidApiService implements DataProviderInterface {
oneYearAgo: { value: number; valueText: string };
}> {
try {
const abortController = new AbortController();
setTimeout(() => {
abortController.abort();
}, DEFAULT_REQUEST_TIMEOUT);
const { fgi } = await got(
`https://fear-and-greed-index.p.rapidapi.com/v1/fgi`,
{
@ -142,7 +151,9 @@ export class RapidApiService implements DataProviderInterface {
useQueryString: 'true',
'x-rapidapi-host': 'fear-and-greed-index.p.rapidapi.com',
'x-rapidapi-key': this.configurationService.get('RAPID_API_API_KEY')
}
},
// @ts-ignore
signal: abortController.signal
}
).json<any>();

12
apps/client/src/app/components/access-table/access-table.component.html

@ -1,3 +1,15 @@
<div *ngIf="hasPermissionToCreateAccess" class="d-flex justify-content-end">
<a
color="primary"
i18n
mat-flat-button
[queryParams]="{ createDialog: true }"
[routerLink]="[]"
>
Add Access
</a>
</div>
<table class="gf-table w-100" mat-table [dataSource]="dataSource">
<ng-container matColumnDef="alias">
<th *matHeaderCellDef class="px-1" i18n mat-header-cell>Alias</th>

1
apps/client/src/app/components/access-table/access-table.component.ts

@ -19,6 +19,7 @@ import { Access } from '@ghostfolio/common/interfaces';
})
export class AccessTableComponent implements OnChanges, OnInit {
@Input() accesses: Access[];
@Input() hasPermissionToCreateAccess = false;
@Input() showActions: boolean;
@Output() accessDeleted = new EventEmitter<string>();

9
apps/client/src/app/components/access-table/access-table.module.ts

@ -3,13 +3,20 @@ import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatMenuModule } from '@angular/material/menu';
import { MatTableModule } from '@angular/material/table';
import { RouterModule } from '@angular/router';
import { AccessTableComponent } from './access-table.component';
@NgModule({
declarations: [AccessTableComponent],
exports: [AccessTableComponent],
imports: [CommonModule, MatButtonModule, MatMenuModule, MatTableModule],
imports: [
CommonModule,
MatButtonModule,
MatMenuModule,
MatTableModule,
RouterModule
],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class GfPortfolioAccessTableModule {}

6
apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts

@ -29,13 +29,13 @@ import { AccountDetailDialogParams } from './interfaces/interfaces';
styleUrls: ['./account-detail-dialog.component.scss']
})
export class AccountDetailDialog implements OnDestroy, OnInit {
public accountType: string;
public balance: number;
public currency: string;
public equity: number;
public name: string;
public orders: OrderWithAccount[];
public platformName: string;
public transactionCount: number;
public user: User;
public valueInBaseCurrency: number;
@ -65,15 +65,14 @@ export class AccountDetailDialog implements OnDestroy, OnInit {
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(
({
accountType,
balance,
currency,
name,
Platform,
transactionCount,
value,
valueInBaseCurrency
}) => {
this.accountType = translate(accountType);
this.balance = balance;
this.currency = currency;
@ -85,6 +84,7 @@ export class AccountDetailDialog implements OnDestroy, OnInit {
this.name = name;
this.platformName = Platform?.name ?? '-';
this.transactionCount = transactionCount;
this.valueInBaseCurrency = valueInBaseCurrency;
this.changeDetectorRef.markForCheck();

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

@ -44,8 +44,8 @@
>
</div>
<div class="col-6 mb-3">
<gf-value i18n size="medium" [value]="accountType"
>Account Type</gf-value
<gf-value i18n size="medium" [value]="transactionCount"
>Activities</gf-value
>
</div>
<div class="col-6 mb-3">

6
apps/client/src/app/components/accounts-table/accounts-table.component.html

@ -85,7 +85,7 @@
<ng-container matColumnDef="transactions">
<th
*matHeaderCellDef
class="px-1 text-right"
class="justify-content-end px-1"
mat-header-cell
mat-sort-header="transactionCount"
>
@ -93,9 +93,7 @@
<span class="d-none d-sm-block" i18n>Activities</span>
</th>
<td *matCellDef="let element" class="px-1 text-right" mat-cell>
<ng-container *ngIf="element.accountType === 'SECURITIES'">{{
element.transactionCount
}}</ng-container>
{{ element.transactionCount }}
</td>
<td *matFooterCellDef class="px-1 text-right" mat-footer-cell>
{{ transactionCount }}

28
apps/client/src/app/directives/file-drop/file-drop.directive.ts

@ -0,0 +1,28 @@
import { Directive, HostListener, Output, EventEmitter } from '@angular/core';
@Directive({
selector: '[gfFileDrop]'
})
export class FileDropDirective {
@Output() filesDropped = new EventEmitter<FileList>();
@HostListener('dragenter', ['$event']) onDragEnter(event: DragEvent) {
event.preventDefault();
event.stopPropagation();
}
@HostListener('dragover', ['$event']) onDragOver(event: DragEvent) {
event.preventDefault();
event.stopPropagation();
}
@HostListener('drop', ['$event']) onDrop(event: DragEvent) {
event.preventDefault();
event.stopPropagation();
// Prevent the browser's default behavior for handling the file drop
event.dataTransfer.dropEffect = 'copy';
this.filesDropped.emit(event.dataTransfer.files);
}
}

9
apps/client/src/app/directives/file-drop/file-drop.module.ts

@ -0,0 +1,9 @@
import { NgModule } from '@angular/core';
import { FileDropDirective } from './file-drop.directive';
@NgModule({
declarations: [FileDropDirective],
exports: [FileDropDirective]
})
export class GfFileDropModule {}

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

@ -9,10 +9,12 @@ import { DataService } from '@ghostfolio/client/services/data.service';
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { TabConfiguration, User } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
@Component({
host: { class: 'page with-tabs' },
selector: 'gf-about-page',
styleUrls: ['./about-page.scss'],
templateUrl: './about-page.html'
@ -22,6 +24,7 @@ export class AboutPageComponent implements OnDestroy, OnInit {
return this.hasMessage;
}
public deviceType: string;
public hasMessage: boolean;
public hasPermissionForSubscription: boolean;
public tabs: TabConfiguration[] = [];
@ -32,6 +35,7 @@ export class AboutPageComponent implements OnDestroy, OnInit {
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
private deviceService: DeviceDetectorService,
private userService: UserService
) {
const { globalPermissions, systemMessage } = this.dataService.fetchInfo();
@ -88,7 +92,9 @@ export class AboutPageComponent implements OnDestroy, OnInit {
});
}
public ngOnInit() {}
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
}
public ngOnDestroy() {
this.unsubscribeSubject.next();

5
apps/client/src/app/pages/about/about-page.html

@ -14,7 +14,10 @@
[routerLink]="tab.path"
[routerLinkActiveOptions]="{ exact: true }"
>
<ion-icon size="large" [name]="tab.iconName"></ion-icon>
<ion-icon
[name]="tab.iconName"
[size]="deviceType === 'mobile' ? 'large': 'small'"
></ion-icon>
<div class="d-none d-sm-block ml-2">{{ tab.label }}</div>
</a>
</ng-container>

21
apps/client/src/app/pages/about/about-page.scss

@ -2,27 +2,6 @@
:host {
color: rgb(var(--dark-primary-text));
display: flex;
flex-direction: column;
height: calc(100vh - 5rem);
overflow-y: auto;
padding-bottom: env(safe-area-inset-bottom);
padding-bottom: constant(safe-area-inset-bottom);
::ng-deep {
.mat-mdc-tab-link-container {
--mat-tab-header-active-focus-indicator-color: transparent;
--mat-tab-header-active-hover-indicator-color: transparent;
--mdc-tab-indicator-active-indicator-color: transparent;
.mat-mdc-tab-link {
&:hover {
opacity: 0.75;
}
}
}
}
}
:host-context(.is-dark-theme) {

5
apps/client/src/app/pages/accounts/accounts-page.component.ts

@ -10,7 +10,7 @@ import { ImpersonationStorageService } from '@ghostfolio/client/services/imperso
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { User } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { Account as AccountModel, AccountType } from '@prisma/client';
import { Account as AccountModel } from '@prisma/client';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject, Subscription } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
@ -151,7 +151,6 @@ export class AccountsPageComponent implements OnDestroy, OnInit {
}
public openUpdateAccountDialog({
accountType,
balance,
comment,
currency,
@ -163,7 +162,6 @@ export class AccountsPageComponent implements OnDestroy, OnInit {
const dialogRef = this.dialog.open(CreateOrUpdateAccountDialog, {
data: {
account: {
accountType,
balance,
comment,
currency,
@ -232,7 +230,6 @@ export class AccountsPageComponent implements OnDestroy, OnInit {
const dialogRef = this.dialog.open(CreateOrUpdateAccountDialog, {
data: {
account: {
accountType: AccountType.SECURITIES,
balance: 0,
comment: null,
currency: this.user?.settings?.baseCurrency,

9
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html

@ -8,15 +8,6 @@
<input matInput name="name" required [(ngModel)]="data.account.name" />
</mat-form-field>
</div>
<div>
<mat-form-field appearance="outline" class="w-100">
<mat-label i18n>Type</mat-label>
<mat-select name="type" required [(value)]="data.account.accountType">
<mat-option i18n value="CASH">Cash</mat-option>
<mat-option i18n value="SECURITIES">Securities</mat-option>
</mat-select>
</mat-form-field>
</div>
<div>
<mat-form-field appearance="outline" class="w-100">
<mat-label i18n>Currency</mat-label>

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

@ -1,9 +1,11 @@
import { Component, HostBinding, OnDestroy, OnInit } from '@angular/core';
import { DataService } from '@ghostfolio/client/services/data.service';
import { TabConfiguration } from '@ghostfolio/common/interfaces';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject } from 'rxjs';
@Component({
host: { class: 'page with-tabs' },
selector: 'gf-admin-page',
styleUrls: ['./admin-page.scss'],
templateUrl: './admin-page.html'
@ -13,18 +15,24 @@ export class AdminPageComponent implements OnDestroy, OnInit {
return this.hasMessage;
}
public deviceType: string;
public hasMessage: boolean;
public tabs: TabConfiguration[] = [];
private unsubscribeSubject = new Subject<void>();
public constructor(private dataService: DataService) {
public constructor(
private dataService: DataService,
private deviceService: DeviceDetectorService
) {
const { systemMessage } = this.dataService.fetchInfo();
this.hasMessage = !!systemMessage;
}
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
this.tabs = [
{
iconName: 'reader-outline',

5
apps/client/src/app/pages/admin/admin-page.html

@ -14,7 +14,10 @@
[routerLink]="tab.path"
[routerLinkActiveOptions]="{ exact: true }"
>
<ion-icon size="large" [name]="tab.iconName"></ion-icon>
<ion-icon
[name]="tab.iconName"
[size]="deviceType === 'mobile' ? 'large': 'small'"
></ion-icon>
<div class="d-none d-sm-block ml-2">{{ tab.label }}</div>
</a>
</ng-container>

21
apps/client/src/app/pages/admin/admin-page.scss

@ -2,27 +2,6 @@
:host {
color: rgb(var(--dark-primary-text));
display: flex;
flex-direction: column;
height: calc(100vh - 5rem);
overflow-y: auto;
padding-bottom: env(safe-area-inset-bottom);
padding-bottom: constant(safe-area-inset-bottom);
::ng-deep {
.mat-mdc-tab-link-container {
--mat-tab-header-active-focus-indicator-color: transparent;
--mat-tab-header-active-hover-indicator-color: transparent;
--mdc-tab-indicator-active-indicator-color: transparent;
.mat-mdc-tab-link {
&:hover {
opacity: 0.75;
}
}
}
}
}
:host-context(.is-dark-theme) {

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

@ -9,10 +9,12 @@ import { DataService } from '@ghostfolio/client/services/data.service';
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { TabConfiguration, User } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
@Component({
host: { class: 'page with-tabs' },
selector: 'gf-home-page',
styleUrls: ['./home-page.scss'],
templateUrl: './home-page.html'
@ -22,6 +24,7 @@ export class HomePageComponent implements OnDestroy, OnInit {
return this.hasMessage;
}
public deviceType: string;
public hasMessage: boolean;
public hasPermissionToAccessFearAndGreedIndex: boolean;
public tabs: TabConfiguration[] = [];
@ -32,6 +35,7 @@ export class HomePageComponent implements OnDestroy, OnInit {
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
private deviceService: DeviceDetectorService,
private userService: UserService
) {
const { globalPermissions, systemMessage } = this.dataService.fetchInfo();
@ -81,7 +85,9 @@ export class HomePageComponent implements OnDestroy, OnInit {
});
}
public ngOnInit() {}
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
}
public ngOnDestroy() {
this.unsubscribeSubject.next();

5
apps/client/src/app/pages/home/home-page.html

@ -14,7 +14,10 @@
[routerLink]="tab.path"
[routerLinkActiveOptions]="{ exact: true }"
>
<ion-icon size="large" [name]="tab.iconName"></ion-icon>
<ion-icon
[name]="tab.iconName"
[size]="deviceType === 'mobile' ? 'large': 'small'"
></ion-icon>
<div class="d-none d-sm-block ml-2">{{ tab.label }}</div>
</a>
</ng-container>

21
apps/client/src/app/pages/home/home-page.scss

@ -2,27 +2,6 @@
:host {
color: rgb(var(--dark-primary-text));
display: flex;
flex-direction: column;
height: calc(100vh - 5rem);
overflow-y: auto;
padding-bottom: env(safe-area-inset-bottom);
padding-bottom: constant(safe-area-inset-bottom);
::ng-deep {
.mat-mdc-tab-link-container {
--mat-tab-header-active-focus-indicator-color: transparent;
--mat-tab-header-active-hover-indicator-color: transparent;
--mdc-tab-indicator-active-indicator-color: transparent;
.mat-mdc-tab-link {
&:hover {
opacity: 0.75;
}
}
}
}
}
:host-context(.is-dark-theme) {

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

@ -238,9 +238,7 @@ export class ActivitiesPageComponent implements OnDestroy, OnInit {
const dialogRef = this.dialog.open(CreateOrUpdateActivityDialog, {
data: {
activity,
accounts: this.user?.accounts?.filter((account) => {
return account.accountType === 'SECURITIES';
}),
accounts: this.user?.accounts,
user: this.user
},
height: this.deviceType === 'mobile' ? '97.5vh' : '80vh',
@ -282,9 +280,7 @@ export class ActivitiesPageComponent implements OnDestroy, OnInit {
const dialogRef = this.dialog.open(CreateOrUpdateActivityDialog, {
data: {
accounts: this.user?.accounts?.filter((account) => {
return account.accountType === 'SECURITIES';
}),
accounts: this.user?.accounts,
activity: {
...aActivity,
accountId: aActivity?.accountId ?? this.defaultAccountId,

179
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts

@ -137,6 +137,20 @@ export class ImportActivitiesDialog implements OnDestroy {
}
}
public onFilesDropped({
files,
stepper
}: {
files: FileList;
stepper: MatStepper;
}): void {
if (files.length === 0) {
return;
}
this.handleFile({ stepper, file: files[0] });
}
public onImportStepChange(event: StepperSelectionEvent) {
if (event.selectedIndex === ImportStep.UPLOAD_FILE) {
this.importStep = ImportStep.UPLOAD_FILE;
@ -175,111 +189,120 @@ export class ImportActivitiesDialog implements OnDestroy {
aStepper.reset();
}
public onSelectFile(aStepper: MatStepper) {
public onSelectFile(stepper: MatStepper) {
const input = document.createElement('input');
input.accept = 'application/JSON, .csv';
input.type = 'file';
input.onchange = (event) => {
this.snackBar.open('⏳ ' + $localize`Validating data...`);
// Getting the file reference
const file = (event.target as HTMLInputElement).files[0];
this.handleFile({ file, stepper });
};
// Setting up the reader
const reader = new FileReader();
reader.readAsText(file, 'UTF-8');
input.click();
}
public updateSelection(activities: Activity[]) {
this.selectedActivities = activities.filter(({ error }) => {
return !error;
});
}
reader.onload = async (readerEvent) => {
const fileContent = readerEvent.target.result as string;
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
try {
if (file.name.endsWith('.json')) {
const content = JSON.parse(fileContent);
private async handleFile({
file,
stepper
}: {
file: File;
stepper: MatStepper;
}): Promise<void> {
this.snackBar.open('⏳ ' + $localize`Validating data...`);
this.accounts = content.accounts;
// Setting up the reader
const reader = new FileReader();
reader.readAsText(file, 'UTF-8');
if (!isArray(content.activities)) {
if (isArray(content.orders)) {
this.handleImportError({
activities: [],
error: {
error: {
message: [`orders needs to be renamed to activities`]
}
}
});
return;
} else {
throw new Error();
}
}
reader.onload = async (readerEvent) => {
const fileContent = readerEvent.target.result as string;
try {
const { activities } =
await this.importActivitiesService.importJson({
accounts: content.accounts,
activities: content.activities,
isDryRun: true
});
this.activities = activities;
} catch (error) {
console.error(error);
this.handleImportError({ error, activities: content.activities });
}
try {
if (file.name.endsWith('.json')) {
const content = JSON.parse(fileContent);
return;
} else if (file.name.endsWith('.csv')) {
try {
const data = await this.importActivitiesService.importCsv({
fileContent,
isDryRun: true,
userAccounts: this.data.user.accounts
});
this.activities = data.activities;
} catch (error) {
console.error(error);
this.accounts = content.accounts;
if (!isArray(content.activities)) {
if (isArray(content.orders)) {
this.handleImportError({
activities: error?.activities ?? [],
activities: [],
error: {
error: { message: error?.error?.message ?? [error?.message] }
error: {
message: [`orders needs to be renamed to activities`]
}
}
});
return;
} else {
throw new Error();
}
return;
}
throw new Error();
} catch (error) {
console.error(error);
this.handleImportError({
activities: [],
error: { error: { message: ['Unexpected format'] } }
});
} finally {
this.importStep = ImportStep.SELECT_ACTIVITIES;
this.snackBar.dismiss();
try {
const { activities } =
await this.importActivitiesService.importJson({
accounts: content.accounts,
activities: content.activities,
isDryRun: true
});
this.activities = activities;
} catch (error) {
console.error(error);
this.handleImportError({ error, activities: content.activities });
}
aStepper.next();
return;
} else if (file.name.endsWith('.csv')) {
try {
const data = await this.importActivitiesService.importCsv({
fileContent,
isDryRun: true,
userAccounts: this.data.user.accounts
});
this.activities = data.activities;
} catch (error) {
console.error(error);
this.handleImportError({
activities: error?.activities ?? [],
error: {
error: { message: error?.error?.message ?? [error?.message] }
}
});
}
this.changeDetectorRef.markForCheck();
return;
}
};
};
input.click();
}
throw new Error();
} catch (error) {
console.error(error);
this.handleImportError({
activities: [],
error: { error: { message: ['Unexpected format'] } }
});
} finally {
this.importStep = ImportStep.SELECT_ACTIVITIES;
this.snackBar.dismiss();
public updateSelection(activities: Activity[]) {
this.selectedActivities = activities.filter(({ error }) => {
return !error;
});
}
stepper.next();
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
this.changeDetectorRef.markForCheck();
}
};
}
private handleImportError({

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

@ -70,29 +70,38 @@
<ng-template #selectFile>
<div class="d-flex flex-column justify-content-center">
<button
class="py-4"
color="primary"
mat-stroked-button
class="drop-area p-4 text-center text-muted"
gfFileDrop
(click)="onSelectFile(stepper)"
(filesDropped)="onFilesDropped({stepper, files: $event})"
>
<ion-icon class="mr-2" name="cloud-upload-outline"></ion-icon>
<span i18n>Choose File</span>
</button>
<p class="mb-0 mt-4 text-center">
<span class="mr-1" i18n
>The following file formats are supported:</span
>
<a
href="https://github.com/ghostfolio/ghostfolio/blob/main/test/import/ok.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"
target="_blank"
>JSON</a
<div
class="align-items-center d-flex flex-column justify-content-center"
>
<ion-icon
class="cloud-icon"
name="cloud-upload-outline"
></ion-icon>
<span i18n>Choose or drop a file here</span>
</div>
</button>
<p class="mb-0 mt-3 text-center">
<small>
<span class="mr-1" i18n
>The following file formats are supported:</span
>
<a
href="https://github.com/ghostfolio/ghostfolio/blob/main/test/import/ok.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"
target="_blank"
>JSON</a
>
</small>
</p>
</div>
</ng-template>
@ -109,7 +118,7 @@
>
</ng-template>
<div class="pt-3">
<ng-container *ngIf="errorMessages.length === 0; else errorMessage">
<ng-container *ngIf="errorMessages?.length === 0; else errorMessage">
<gf-activities-table
*ngIf="importStep === 1"
[activities]="activities"

2
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.module.ts

@ -10,6 +10,7 @@ import { MatSelectModule } from '@angular/material/select';
import { MatStepperModule } from '@angular/material/stepper';
import { GfDialogFooterModule } from '@ghostfolio/client/components/dialog-footer/dialog-footer.module';
import { GfDialogHeaderModule } from '@ghostfolio/client/components/dialog-header/dialog-header.module';
import { GfFileDropModule } from '@ghostfolio/client/directives/file-drop/file-drop.module';
import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module';
import { GfActivitiesTableModule } from '@ghostfolio/ui/activities-table/activities-table.module';
@ -23,6 +24,7 @@ import { ImportActivitiesDialog } from './import-activities-dialog.component';
GfActivitiesTableModule,
GfDialogFooterModule,
GfDialogHeaderModule,
GfFileDropModule,
GfSymbolModule,
MatButtonModule,
MatDialogModule,

28
apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.scss

@ -32,4 +32,32 @@
right: 1.5rem;
top: calc(50% - 10px);
}
.drop-area {
background-color: rgba(var(--palette-foreground-base), 0.02);
border: 1px dashed
rgba(
var(--palette-foreground-divider),
var(--palette-foreground-divider-alpha)
);
border-radius: 0.25rem;
&:hover {
border-color: rgba(var(--palette-primary-500), 1) !important;
color: rgba(var(--palette-primary-500), 1);
}
.cloud-icon {
font-size: 2.5rem;
}
}
}
:host-context(.is-dark-theme) {
.drop-area {
border-color: rgba(
var(--palette-foreground-divider-dark),
var(--palette-foreground-divider-alpha-dark)
);
}
}

10
apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts

@ -173,17 +173,15 @@ export class AllocationsPageComponent implements OnDestroy, OnInit {
if (state?.user) {
this.user = state.user;
const accountFilters: Filter[] = this.user.accounts
.filter(({ accountType }) => {
return accountType === 'SECURITIES';
})
.map(({ id, name }) => {
const accountFilters: Filter[] = this.user.accounts.map(
({ id, name }) => {
return {
id,
label: name,
type: 'ACCOUNT'
};
});
}
);
const assetClassFilters: Filter[] = [];
for (const assetClass of Object.keys(AssetClass)) {

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

@ -139,17 +139,15 @@ export class AnalysisPageComponent implements OnDestroy, OnInit {
if (state?.user) {
this.user = state.user;
const accountFilters: Filter[] = this.user.accounts
.filter(({ accountType }) => {
return accountType === 'SECURITIES';
})
.map(({ id, name }) => {
const accountFilters: Filter[] = this.user.accounts.map(
({ id, name }) => {
return {
id,
label: name,
type: 'ACCOUNT'
};
});
}
);
const assetClassFilters: Filter[] = [];
for (const assetClass of Object.keys(AssetClass)) {

10
apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts

@ -114,17 +114,15 @@ export class HoldingsPageComponent implements OnDestroy, OnInit {
permissions.createOrder
);
const accountFilters: Filter[] = this.user.accounts
.filter(({ accountType }) => {
return accountType === 'SECURITIES';
})
.map(({ id, name }) => {
const accountFilters: Filter[] = this.user.accounts.map(
({ id, name }) => {
return {
id,
label: name,
type: 'ACCOUNT'
};
});
}
);
const assetClassFilters: Filter[] = [];
for (const assetClass of Object.keys(AssetClass)) {

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

@ -13,10 +13,12 @@ import {
User
} from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
@Component({
host: { class: 'page with-tabs' },
selector: 'gf-portfolio-page',
styleUrls: ['./portfolio-page.scss'],
templateUrl: './portfolio-page.html'
@ -26,6 +28,7 @@ export class PortfolioPageComponent implements OnDestroy, OnInit {
return this.hasMessage;
}
public deviceType: string;
public hasMessage: boolean;
public info: InfoItem;
public tabs: TabConfiguration[] = [];
@ -36,6 +39,7 @@ export class PortfolioPageComponent implements OnDestroy, OnInit {
public constructor(
private changeDetectorRef: ChangeDetectorRef,
private dataService: DataService,
private deviceService: DeviceDetectorService,
private userService: UserService
) {
this.info = this.dataService.fetchInfo();
@ -84,7 +88,9 @@ export class PortfolioPageComponent implements OnDestroy, OnInit {
});
}
public ngOnInit() {}
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
}
public ngOnDestroy() {
this.unsubscribeSubject.next();

5
apps/client/src/app/pages/portfolio/portfolio-page.html

@ -14,7 +14,10 @@
[routerLink]="tab.path"
[routerLinkActiveOptions]="{ exact: true }"
>
<ion-icon size="large" [name]="tab.iconName"></ion-icon>
<ion-icon
[name]="tab.iconName"
[size]="deviceType === 'mobile' ? 'large': 'small'"
></ion-icon>
<div class="d-none d-sm-block ml-2">{{ tab.label }}</div>
</a>
</ng-container>

21
apps/client/src/app/pages/portfolio/portfolio-page.scss

@ -2,27 +2,6 @@
:host {
color: rgb(var(--dark-primary-text));
display: flex;
flex-direction: column;
height: calc(100vh - 5rem);
overflow-y: auto;
padding-bottom: env(safe-area-inset-bottom);
padding-bottom: constant(safe-area-inset-bottom);
::ng-deep {
.mat-mdc-tab-link-container {
--mat-tab-header-active-focus-indicator-color: transparent;
--mat-tab-header-active-hover-indicator-color: transparent;
--mdc-tab-indicator-active-indicator-color: transparent;
.mat-mdc-tab-link {
&:hover {
opacity: 0.75;
}
}
}
}
}
:host-context(.is-dark-theme) {

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

@ -2,6 +2,7 @@ import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
import { DataService } from '@ghostfolio/client/services/data.service';
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { User } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { translate } from '@ghostfolio/ui/i18n';
import { StripeService } from 'ngx-stripe';
import { Subject } from 'rxjs';
@ -17,6 +18,7 @@ export class PricingPageComponent implements OnDestroy, OnInit {
public baseCurrency: string;
public coupon: number;
public couponId: string;
public hasPermissionToUpdateUserSettings: boolean;
public importAndExportTooltipBasic = translate(
'DATA_IMPORT_AND_EXPORT_TOOLTIP_BASIC'
);
@ -55,6 +57,11 @@ export class PricingPageComponent implements OnDestroy, OnInit {
if (state?.user) {
this.user = state.user;
this.hasPermissionToUpdateUserSettings = hasPermission(
this.user.permissions,
permissions.updateUserSettings
);
this.coupon = subscriptions?.[this.user?.subscription?.offer]?.coupon;
this.couponId =
subscriptions?.[this.user.subscription.offer]?.couponId;

2
apps/client/src/app/pages/pricing/pricing-page.html

@ -333,7 +333,7 @@
>
</p>
<div
*ngIf="user?.subscription?.type === 'Basic'"
*ngIf="hasPermissionToUpdateUserSettings && user?.subscription?.type === 'Basic'"
class="mt-3 text-center"
>
<button color="primary" mat-flat-button (click)="onCheckout()">

31
apps/client/src/app/pages/user-account/user-account-page.html

@ -8,10 +8,7 @@
<div class="col">
<mat-card appearance="outlined" class="mb-3">
<mat-card-content>
<div
*ngIf="hasPermissionToUpdateUserSettings && user?.subscription"
class="d-flex py-1"
>
<div *ngIf="user?.subscription" class="d-flex py-1">
<div class="pr-1 w-50" i18n>Membership</div>
<div class="pl-1 w-50">
<div class="align-items-center d-flex mb-1">
@ -28,7 +25,9 @@
user?.subscription?.expiresAt | date: defaultDateFormat }}
</div>
<div *ngIf="user?.subscription?.type === 'Basic'">
<ng-container *ngIf="hasPermissionForSubscription">
<ng-container
*ngIf="hasPermissionForSubscription && hasPermissionToUpdateUserSettings"
>
<button
color="primary"
mat-flat-button
@ -69,6 +68,7 @@
></gf-premium-indicator
></a>
<a
*ngIf="hasPermissionToUpdateUserSettings"
class="mr-2 my-2"
i18n
mat-stroked-button
@ -287,24 +287,19 @@
</div>
<div class="row">
<div class="col">
<h2 class="h3 mb-3 text-center" i18n>Granted Access</h2>
<h2 class="align-items-center d-flex h3 justify-content-center mb-3">
<span i18n>Granted Access</span>
<gf-premium-indicator
*ngIf="user?.subscription?.type === 'Basic'"
class="ml-1"
></gf-premium-indicator>
</h2>
<gf-access-table
[accesses]="accesses"
[hasPermissionToCreateAccess]="hasPermissionToCreateAccess"
[showActions]="hasPermissionToDeleteAccess"
(accessDeleted)="onDeleteAccess($event)"
></gf-access-table>
</div>
</div>
<div *ngIf="hasPermissionToCreateAccess" class="fab-container">
<a
class="align-items-center d-flex justify-content-center"
color="primary"
mat-fab
[queryParams]="{ createDialog: true }"
[routerLink]="[]"
>
<ion-icon name="add-outline" size="large"></ion-icon>
</a>
</div>
</div>

7
apps/client/src/app/pages/user-account/user-account-page.scss

@ -6,13 +6,6 @@
overflow-x: auto;
}
.fab-container {
position: fixed;
right: 2rem;
bottom: 2rem;
z-index: 999;
}
.hint-text {
font-size: 90%;
line-height: 1.2;

34
apps/client/src/app/pages/zen/zen-page.component.ts

@ -1,33 +1,27 @@
import { ViewportScroller } from '@angular/common';
import {
AfterViewInit,
ChangeDetectorRef,
Component,
OnDestroy,
OnInit
} from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { TabConfiguration, User } from '@ghostfolio/common/interfaces';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject } from 'rxjs';
import { first, takeUntil } from 'rxjs/operators';
import { takeUntil } from 'rxjs/operators';
@Component({
host: { class: 'page with-tabs' },
selector: 'gf-zen-page',
templateUrl: './zen-page.html',
styleUrls: ['./zen-page.scss']
styleUrls: ['./zen-page.scss'],
templateUrl: './zen-page.html'
})
export class ZenPageComponent implements AfterViewInit, OnDestroy, OnInit {
export class ZenPageComponent implements OnDestroy, OnInit {
public deviceType: string;
public tabs: TabConfiguration[] = [];
public user: User;
private unsubscribeSubject = new Subject<void>();
public constructor(
private route: ActivatedRoute,
private changeDetectorRef: ChangeDetectorRef,
private userService: UserService,
private viewportScroller: ViewportScroller
private deviceService: DeviceDetectorService,
private userService: UserService
) {
this.userService.stateChanged
.pipe(takeUntil(this.unsubscribeSubject))
@ -52,12 +46,8 @@ export class ZenPageComponent implements AfterViewInit, OnDestroy, OnInit {
});
}
public ngOnInit() {}
public ngAfterViewInit(): void {
this.route.fragment
.pipe(first())
.subscribe((fragment) => this.viewportScroller.scrollToAnchor(fragment));
public ngOnInit() {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
}
public ngOnDestroy() {

5
apps/client/src/app/pages/zen/zen-page.html

@ -14,7 +14,10 @@
[routerLink]="tab.path"
[routerLinkActiveOptions]="{ exact: true }"
>
<ion-icon size="large" [name]="tab.iconName"></ion-icon>
<ion-icon
[name]="tab.iconName"
[size]="deviceType === 'mobile' ? 'large': 'small'"
></ion-icon>
<div class="d-none d-sm-block ml-2">{{ tab.label }}</div>
</a>
</ng-container>

21
apps/client/src/app/pages/zen/zen-page.scss

@ -2,27 +2,6 @@
:host {
color: rgb(var(--dark-primary-text));
display: flex;
flex-direction: column;
height: calc(100vh - 5rem);
overflow-y: auto;
padding-bottom: env(safe-area-inset-bottom);
padding-bottom: constant(safe-area-inset-bottom);
::ng-deep {
.mat-mdc-tab-link-container {
--mat-tab-header-active-focus-indicator-color: transparent;
--mat-tab-header-active-hover-indicator-color: transparent;
--mdc-tab-indicator-active-indicator-color: transparent;
.mat-mdc-tab-link {
&:hover {
opacity: 0.75;
}
}
}
}
}
:host-context(.is-dark-theme) {

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

@ -26,7 +26,7 @@
<target state="translated">Empfänger</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">10</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">
@ -34,16 +34,12 @@
<target state="translated">Typ</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">17</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-jobs/admin-jobs.html</context>
<context context-type="linenumber">20</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">13</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">12</context>
@ -62,7 +58,7 @@
<target state="translated">Details</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="53ea2772322e7d4d21515bb0c6dead283f8e18a5" datatype="html">
@ -70,7 +66,7 @@
<target state="translated">Widerrufen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">66</context>
</context-group>
</trans-unit>
<trans-unit id="8264698726451826067" datatype="html">
@ -78,12 +74,16 @@
<target state="translated">Möchtest du diese Zugangsberechtigung wirklich widerrufen?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.ts</context>
<context context-type="linenumber">49</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="dd3b6c367381ddfa8f317b8e9b31c55368c65136" datatype="html">
<source>Activities</source>
<target state="translated">Aktivitäten</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">48</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">58</context>
@ -158,11 +158,11 @@
<target state="translated">Wert</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">147</context>
<context context-type="linenumber">145</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">182</context>
<context context-type="linenumber">180</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -198,7 +198,7 @@
<target state="translated">Bearbeiten</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">248</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.html</context>
@ -214,7 +214,7 @@
<target state="translated">Löschen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">256</context>
<context context-type="linenumber">254</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.html</context>
@ -406,7 +406,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">79</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -442,7 +442,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">95</context>
<context context-type="linenumber">86</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -1058,7 +1058,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">98</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/register-page.html</context>
@ -1530,7 +1530,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">273</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/blog/blog-page.html</context>
@ -1642,7 +1642,7 @@
<target state="translated">Mitgliedschaft</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">15</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="f147d0f7f965cccee2e77294cba8e1b88021fa08" datatype="html">
@ -1650,7 +1650,7 @@
<target state="translated">Upgrade</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="218afa01afa0cfc71b1a6507a3387763ecaa9332" datatype="html">
@ -1662,7 +1662,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">57</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="de39d1e0259f376956df2f14bb285f98ad8a1bcc" datatype="html">
@ -1670,7 +1670,7 @@
<target state="translated">Premium ausprobieren</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">65</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="e34001a9b79e0e3de1491662187e1d6b29c4c04e" datatype="html">
@ -1746,7 +1746,7 @@
<target state="translated">Zugangsberechtigung</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">291</context>
</context-group>
</trans-unit>
<trans-unit id="5e41f1b4c46ad9e0a9bc83fa36445483aa5cc324" datatype="html">
@ -1796,18 +1796,6 @@
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">171</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
</trans-unit>
<trans-unit id="d1c96243913efd867279d7f58145f5ac7365bda4" datatype="html">
<source>Securities</source>
<target state="translated">Wertschriften</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">16</context>
</context-group>
</trans-unit>
<trans-unit id="32072c7fb0469aaf82d256a59b3e0d6ecce973b9" datatype="html">
<source>Currency</source>
@ -1822,7 +1810,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">22</context>
<context context-type="linenumber">13</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -1842,11 +1830,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">110</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">23</context>
</context-group>
</trans-unit>
<trans-unit id="f53dff66901984e217d461bf10fde4e26612c3d3" datatype="html">
@ -1862,7 +1850,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="bc53583e9b147e117be82c6bbec021d66ea8b549" datatype="html">
@ -1870,7 +1858,7 @@
<target state="translated">Konto ID</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">68</context>
</context-group>
</trans-unit>
<trans-unit id="4979019387603946865" datatype="html">
@ -2174,7 +2162,7 @@
<target state="translated">Verkauf</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">34</context>
</context-group>
</trans-unit>
<trans-unit id="5ab4d451ff9ce6d18d53360c51e7cd6e91c69555" datatype="html">
@ -2246,7 +2234,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -2830,7 +2818,7 @@
<target state="translated">Alias</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">3</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
@ -2877,14 +2865,6 @@
<context context-type="linenumber">18</context>
</context-group>
</trans-unit>
<trans-unit id="ac598d664f86ba5783915d65f2664a7f38a9d23a" datatype="html">
<source>Account Type</source>
<target state="translated">Kontotyp</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="98fc3013bfcbf452b9f37bbfcdb77b9b882866e3" datatype="html">
<source>Excluded from Analysis</source>
<target state="translated">Von der Analyse ausgenommen</target>
@ -2978,7 +2958,7 @@
<target state="translated">Symbol</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">25</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="1825829511397926879" datatype="html">
@ -2986,7 +2966,7 @@
<target state="translated">Tag</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">25</context>
</context-group>
</trans-unit>
<trans-unit id="787798817533231355" datatype="html">
@ -2994,7 +2974,7 @@
<target state="translated">Bargeld</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">37</context>
</context-group>
</trans-unit>
<trans-unit id="8431989971855844965" datatype="html">
@ -3002,7 +2982,7 @@
<target state="translated">Rohstoff</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="1983771552391474467" datatype="html">
@ -3010,7 +2990,7 @@
<target state="translated">Beteiligungskapital</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="6124744839836623630" datatype="html">
@ -3018,7 +2998,7 @@
<target state="translated">Feste Einkünfte</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">41</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="8432027249343784512" datatype="html">
@ -3026,7 +3006,7 @@
<target state="translated">Immobilien</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">42</context>
<context context-type="linenumber">41</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -3034,7 +3014,7 @@
<target state="translated">Anleihe</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="2893204435511484886" datatype="html">
@ -3042,7 +3022,7 @@
<target state="translated">Kryptowährung</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="9071695492820527473" datatype="html">
@ -3050,7 +3030,7 @@
<target state="translated">ETF</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="5734784563242233466" datatype="html">
@ -3058,7 +3038,7 @@
<target state="translated">Investmentfonds</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">47</context>
</context-group>
</trans-unit>
<trans-unit id="1270654249046226808" datatype="html">
@ -3066,7 +3046,7 @@
<target state="translated">Edelmetall</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">49</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="1346519036036997811" datatype="html">
@ -3074,7 +3054,7 @@
<target state="translated">Privates Beteiligungskapital</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">50</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="4613338085351943838" datatype="html">
@ -3082,7 +3062,7 @@
<target state="translated">Aktie</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">51</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="6268646680388419543" datatype="html">
@ -3122,7 +3102,7 @@
<target state="translated">Nordamerika</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">57</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="1413778527796351850" datatype="html">
@ -3130,7 +3110,7 @@
<target state="translated">Afrika</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="3345512471687795386" datatype="html">
@ -3138,7 +3118,7 @@
<target state="translated">Asien</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">55</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8350109327144196614" datatype="html">
@ -3146,7 +3126,7 @@
<target state="translated">Europa</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="3228811828827738441" datatype="html">
@ -3154,7 +3134,7 @@
<target state="translated">Ozeanien</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">58</context>
<context context-type="linenumber">57</context>
</context-group>
</trans-unit>
<trans-unit id="5957846001261659229" datatype="html">
@ -3162,15 +3142,7 @@
<target state="translated">Südamerika</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="73f8489a3ae4d805787b8350d3d91e03e830115b" datatype="html">
<source>Choose File</source>
<target state="translated">Datei auswählen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">79</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="6f9fd3da06dc9000eef0d4dcbb37747b303048e9" datatype="html">
@ -3178,7 +3150,7 @@
<target state="translated">Folgende Dateiformate werden unterstützt:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">
@ -3186,11 +3158,11 @@
<target state="translated">Zurück</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">169</context>
<context context-type="linenumber">178</context>
</context-group>
</trans-unit>
<trans-unit id="ec2d3a89b366d1ca80be056e9e71f0165ae75c7b" datatype="html">
@ -3266,7 +3238,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="7608037008789240367" datatype="html">
@ -3290,7 +3262,7 @@
<target state="translated">Daten validieren...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context>
<context context-type="linenumber">184</context>
<context context-type="linenumber">224</context>
</context-group>
</trans-unit>
<trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
@ -3298,19 +3270,11 @@
<target state="translated">Importieren</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">150</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">177</context>
</context-group>
</trans-unit>
<trans-unit id="1803867056160333091" datatype="html">
<source>Securities</source>
<target state="translated">Wertschriften</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">24</context>
<context context-type="linenumber">186</context>
</context-group>
</trans-unit>
<trans-unit id="3229595422546554334" datatype="html">
@ -3398,7 +3362,7 @@
<target state="translated">Gültig bis</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="7027401708987643293" datatype="html">
@ -3846,7 +3810,7 @@
<target state="translated">Erneuern</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="e5580416a35e85e0ce48cf447c45043386d1027f" datatype="html">
@ -4054,7 +4018,7 @@
<target state="translated">Dividenden auswählen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">105</context>
<context context-type="linenumber">114</context>
</context-group>
</trans-unit>
<trans-unit id="611befbae582027156e3b9e20f9fc65be6bfee0b" datatype="html">
@ -4062,7 +4026,7 @@
<target state="translated">Aktivitäten auswählen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">108</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="ed1d0d3031aba025b9bf280c1d7c54f44982ed46" datatype="html">
@ -4134,7 +4098,7 @@
<target state="translated">Jahre</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">28</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="5403684285319082289" datatype="html">
@ -4150,7 +4114,7 @@
<target state="translated">Jahr</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="dd9d3c5c9805d423310cdfcae53d61297ca62536" datatype="html">
@ -4306,7 +4270,7 @@
<target state="translated">Verbindlichkeit</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="cd29e54c63a296b70ab67022910a2c07c455974e" datatype="html">
@ -7042,7 +7006,7 @@
<target state="translated">Kauf</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="7025236479211408772" datatype="html">
@ -7050,7 +7014,7 @@
<target state="translated">Wertsache</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">33</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1806977783783486873" datatype="html">
@ -7718,7 +7682,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.component.ts</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/products/altoo-page.component.ts</context>
@ -8150,7 +8114,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.component.ts</context>
<context context-type="linenumber">33</context>
<context context-type="linenumber">35</context>
</context-group>
</trans-unit>
<trans-unit id="4002166200801232073" datatype="html">
@ -9473,6 +9437,22 @@
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="a15d28b3d437de89853c114295f7b13c26f5a901" datatype="html">
<source> Add Access </source>
<target state="translated"> Zugang hinzufügen </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">8,10</context>
</context-group>
</trans-unit>
<trans-unit id="2fc47ae80c47144eb6250979fe927a010da3aee5" datatype="html">
<source>Choose or drop a file here</source>
<target state="translated">Wählen Sie eine Datei aus oder ziehen Sie sie hierhin</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -27,7 +27,7 @@
<target state="translated">Beneficiario</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">10</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">
@ -35,16 +35,12 @@
<target state="translated">Tipo</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">17</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-jobs/admin-jobs.html</context>
<context context-type="linenumber">20</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">13</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">12</context>
@ -63,7 +59,7 @@
<target state="translated">Detalles</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="53ea2772322e7d4d21515bb0c6dead283f8e18a5" datatype="html">
@ -71,7 +67,7 @@
<target state="translated">Revoca</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">66</context>
</context-group>
</trans-unit>
<trans-unit id="8264698726451826067" datatype="html">
@ -79,12 +75,16 @@
<target state="translated">¿Quieres revocar el acceso concedido?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.ts</context>
<context context-type="linenumber">49</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="dd3b6c367381ddfa8f317b8e9b31c55368c65136" datatype="html">
<source>Activities</source>
<target state="translated">Operaciones</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">48</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">58</context>
@ -159,11 +159,11 @@
<target state="translated">Valor</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">147</context>
<context context-type="linenumber">145</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">182</context>
<context context-type="linenumber">180</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -199,7 +199,7 @@
<target state="translated">Edita</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">248</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.html</context>
@ -215,7 +215,7 @@
<target state="translated">Elimina</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">256</context>
<context context-type="linenumber">254</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.html</context>
@ -407,7 +407,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">79</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -443,7 +443,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">95</context>
<context context-type="linenumber">86</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -1059,7 +1059,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">98</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/register-page.html</context>
@ -1531,7 +1531,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">273</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/blog/blog-page.html</context>
@ -1643,7 +1643,7 @@
<target state="translated">Suscripción</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">15</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="f147d0f7f965cccee2e77294cba8e1b88021fa08" datatype="html">
@ -1651,7 +1651,7 @@
<target state="translated">Mejorar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="218afa01afa0cfc71b1a6507a3387763ecaa9332" datatype="html">
@ -1663,7 +1663,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">57</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="de39d1e0259f376956df2f14bb285f98ad8a1bcc" datatype="html">
@ -1671,7 +1671,7 @@
<target state="translated">Prueba Premium</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">65</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="e34001a9b79e0e3de1491662187e1d6b29c4c04e" datatype="html">
@ -1747,7 +1747,7 @@
<target state="translated">Acceso concedido</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">291</context>
</context-group>
</trans-unit>
<trans-unit id="5e41f1b4c46ad9e0a9bc83fa36445483aa5cc324" datatype="html">
@ -1797,18 +1797,6 @@
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">171</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
</trans-unit>
<trans-unit id="d1c96243913efd867279d7f58145f5ac7365bda4" datatype="html">
<source>Securities</source>
<target state="translated">Valores</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">16</context>
</context-group>
</trans-unit>
<trans-unit id="32072c7fb0469aaf82d256a59b3e0d6ecce973b9" datatype="html">
<source>Currency</source>
@ -1823,7 +1811,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">22</context>
<context context-type="linenumber">13</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -1843,11 +1831,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">110</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">23</context>
</context-group>
</trans-unit>
<trans-unit id="f53dff66901984e217d461bf10fde4e26612c3d3" datatype="html">
@ -1863,7 +1851,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="bc53583e9b147e117be82c6bbec021d66ea8b549" datatype="html">
@ -1871,7 +1859,7 @@
<target state="translated">ID cuenta</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">68</context>
</context-group>
</trans-unit>
<trans-unit id="4979019387603946865" datatype="html">
@ -2175,7 +2163,7 @@
<target state="translated">Venta</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">34</context>
</context-group>
</trans-unit>
<trans-unit id="5ab4d451ff9ce6d18d53360c51e7cd6e91c69555" datatype="html">
@ -2247,7 +2235,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -2839,7 +2827,7 @@
<target state="translated">Alias</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">3</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
@ -2878,14 +2866,6 @@
<context context-type="linenumber">18</context>
</context-group>
</trans-unit>
<trans-unit id="ac598d664f86ba5783915d65f2664a7f38a9d23a" datatype="html">
<source>Account Type</source>
<target state="translated">Tipo de cuenta</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="98fc3013bfcbf452b9f37bbfcdb77b9b882866e3" datatype="html">
<source>Excluded from Analysis</source>
<target state="translated">Excluido del análisis</target>
@ -2979,7 +2959,7 @@
<target state="translated">Símbolo</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">25</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="1825829511397926879" datatype="html">
@ -2987,7 +2967,7 @@
<target state="translated">Etiqueta</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">25</context>
</context-group>
</trans-unit>
<trans-unit id="787798817533231355" datatype="html">
@ -2995,7 +2975,7 @@
<target state="translated">Efectivo</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">37</context>
</context-group>
</trans-unit>
<trans-unit id="8431989971855844965" datatype="html">
@ -3003,7 +2983,7 @@
<target state="translated">Bien</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="1983771552391474467" datatype="html">
@ -3011,7 +2991,7 @@
<target state="translated">Capital</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="6124744839836623630" datatype="html">
@ -3019,7 +2999,7 @@
<target state="translated">Renta fija</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">41</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="8432027249343784512" datatype="html">
@ -3027,7 +3007,7 @@
<target state="translated">Propiedad inmobiliaria</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">42</context>
<context context-type="linenumber">41</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -3035,7 +3015,7 @@
<target state="translated">Bono</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="2893204435511484886" datatype="html">
@ -3043,7 +3023,7 @@
<target state="translated">Criptomoneda</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="9071695492820527473" datatype="html">
@ -3051,7 +3031,7 @@
<target state="translated">ETF</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="5734784563242233466" datatype="html">
@ -3059,7 +3039,7 @@
<target state="translated">Fondo de inversión</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">47</context>
</context-group>
</trans-unit>
<trans-unit id="1270654249046226808" datatype="html">
@ -3067,7 +3047,7 @@
<target state="translated">Metal precioso</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">49</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="1346519036036997811" datatype="html">
@ -3075,7 +3055,7 @@
<target state="translated">Capital riesgo</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">50</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="4613338085351943838" datatype="html">
@ -3083,7 +3063,7 @@
<target state="translated">Acción</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">51</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="6268646680388419543" datatype="html">
@ -3123,7 +3103,7 @@
<target state="translated">América del Norte</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">57</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="1413778527796351850" datatype="html">
@ -3131,7 +3111,7 @@
<target state="translated">África</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="3345512471687795386" datatype="html">
@ -3139,7 +3119,7 @@
<target state="translated">Asia</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">55</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8350109327144196614" datatype="html">
@ -3147,7 +3127,7 @@
<target state="translated">Europa</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="3228811828827738441" datatype="html">
@ -3155,7 +3135,7 @@
<target state="translated">Oceanía</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">58</context>
<context context-type="linenumber">57</context>
</context-group>
</trans-unit>
<trans-unit id="5957846001261659229" datatype="html">
@ -3163,15 +3143,7 @@
<target state="translated">América del Sur</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="73f8489a3ae4d805787b8350d3d91e03e830115b" datatype="html">
<source>Choose File</source>
<target state="translated">Elegir archivo</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">79</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="6f9fd3da06dc9000eef0d4dcbb37747b303048e9" datatype="html">
@ -3179,7 +3151,7 @@
<target state="translated">Los siguientes formatos de archivo están soportados:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">
@ -3187,11 +3159,11 @@
<target state="translated">Volver</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">169</context>
<context context-type="linenumber">178</context>
</context-group>
</trans-unit>
<trans-unit id="ec2d3a89b366d1ca80be056e9e71f0165ae75c7b" datatype="html">
@ -3259,7 +3231,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="6410cffb96159fcff46d91effc26df0e240bc0e3" datatype="html">
@ -3291,7 +3263,7 @@
<target state="new">Validating data...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context>
<context context-type="linenumber">184</context>
<context context-type="linenumber">224</context>
</context-group>
</trans-unit>
<trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
@ -3299,19 +3271,11 @@
<target state="new">Import</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">150</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">177</context>
</context-group>
</trans-unit>
<trans-unit id="1803867056160333091" datatype="html">
<source>Securities</source>
<target state="new">Securities</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">24</context>
<context context-type="linenumber">186</context>
</context-group>
</trans-unit>
<trans-unit id="3229595422546554334" datatype="html">
@ -3399,7 +3363,7 @@
<target state="new">Valid until</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="7027401708987643293" datatype="html">
@ -3847,7 +3811,7 @@
<target state="new">Renew</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="e5580416a35e85e0ce48cf447c45043386d1027f" datatype="html">
@ -4055,7 +4019,7 @@
<target state="new">Select Dividends</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">105</context>
<context context-type="linenumber">114</context>
</context-group>
</trans-unit>
<trans-unit id="611befbae582027156e3b9e20f9fc65be6bfee0b" datatype="html">
@ -4063,7 +4027,7 @@
<target state="new">Select Activities</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">108</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="ed1d0d3031aba025b9bf280c1d7c54f44982ed46" datatype="html">
@ -4135,7 +4099,7 @@
<target state="new">Years</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">28</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="5403684285319082289" datatype="html">
@ -4151,7 +4115,7 @@
<target state="new">Year</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="dd9d3c5c9805d423310cdfcae53d61297ca62536" datatype="html">
@ -4307,7 +4271,7 @@
<target state="new">Liability</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="cd29e54c63a296b70ab67022910a2c07c455974e" datatype="html">
@ -7043,7 +7007,7 @@
<target state="new">Buy</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="7025236479211408772" datatype="html">
@ -7051,7 +7015,7 @@
<target state="new">Valuable</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">33</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1806977783783486873" datatype="html">
@ -7719,7 +7683,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.component.ts</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/products/altoo-page.component.ts</context>
@ -8151,7 +8115,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.component.ts</context>
<context context-type="linenumber">33</context>
<context context-type="linenumber">35</context>
</context-group>
</trans-unit>
<trans-unit id="4002166200801232073" datatype="html">
@ -9474,6 +9438,22 @@
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="a15d28b3d437de89853c114295f7b13c26f5a901" datatype="html">
<source> Add Access </source>
<target state="new"> Add Access </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">8,10</context>
</context-group>
</trans-unit>
<trans-unit id="2fc47ae80c47144eb6250979fe927a010da3aee5" datatype="html">
<source>Choose or drop a file here</source>
<target state="new">Choose or drop a file here</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -14,7 +14,7 @@
<target state="translated">Alias</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">3</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
@ -26,7 +26,7 @@
<target state="translated">Bénéficiaire</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">10</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">
@ -34,16 +34,12 @@
<target state="translated">Type</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">17</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-jobs/admin-jobs.html</context>
<context context-type="linenumber">20</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">13</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">12</context>
@ -62,7 +58,7 @@
<target state="translated">Détails</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="53ea2772322e7d4d21515bb0c6dead283f8e18a5" datatype="html">
@ -70,7 +66,7 @@
<target state="translated">Révoquer</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">66</context>
</context-group>
</trans-unit>
<trans-unit id="8264698726451826067" datatype="html">
@ -78,15 +74,7 @@
<target state="translated">Voulez-vous vraiment révoquer cet accès ?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.ts</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="ac598d664f86ba5783915d65f2664a7f38a9d23a" datatype="html">
<source>Account Type</source>
<target state="translated">Type de Compte</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="f53dff66901984e217d461bf10fde4e26612c3d3" datatype="html">
@ -102,12 +90,16 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="dd3b6c367381ddfa8f317b8e9b31c55368c65136" datatype="html">
<source>Activities</source>
<target state="translated">Activités</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">48</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">58</context>
@ -190,7 +182,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">22</context>
<context context-type="linenumber">13</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -210,11 +202,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">110</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">23</context>
</context-group>
</trans-unit>
<trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">
@ -222,11 +214,11 @@
<target state="translated">Valeur</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">147</context>
<context context-type="linenumber">145</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">182</context>
<context context-type="linenumber">180</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -262,7 +254,7 @@
<target state="translated">Modifier</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">248</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.html</context>
@ -278,7 +270,7 @@
<target state="translated">Supprimer</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">256</context>
<context context-type="linenumber">254</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.html</context>
@ -470,7 +462,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">79</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -506,7 +498,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">95</context>
<context context-type="linenumber">86</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -722,7 +714,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -1414,7 +1406,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">98</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/register-page.html</context>
@ -1926,7 +1918,7 @@
<target state="translated">Adhésion</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">15</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="f147d0f7f965cccee2e77294cba8e1b88021fa08" datatype="html">
@ -1934,7 +1926,7 @@
<target state="translated">Mettre à niveau</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="218afa01afa0cfc71b1a6507a3387763ecaa9332" datatype="html">
@ -1946,7 +1938,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">57</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="de39d1e0259f376956df2f14bb285f98ad8a1bcc" datatype="html">
@ -1954,7 +1946,7 @@
<target state="translated">Essayer Premium</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">65</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="e34001a9b79e0e3de1491662187e1d6b29c4c04e" datatype="html">
@ -2110,7 +2102,7 @@
<target state="translated">Accès donné</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">291</context>
</context-group>
</trans-unit>
<trans-unit id="5e41f1b4c46ad9e0a9bc83fa36445483aa5cc324" datatype="html">
@ -2160,25 +2152,13 @@
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">171</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
</trans-unit>
<trans-unit id="d1c96243913efd867279d7f58145f5ac7365bda4" datatype="html">
<source>Securities</source>
<target state="translated">Titres</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">16</context>
</context-group>
</trans-unit>
<trans-unit id="bc53583e9b147e117be82c6bbec021d66ea8b549" datatype="html">
<source>Account ID</source>
<target state="translated">ID du compte</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">68</context>
</context-group>
</trans-unit>
<trans-unit id="3229595422546554334" datatype="html">
@ -2302,7 +2282,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">273</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/blog/blog-page.html</context>
@ -2422,7 +2402,7 @@
<target state="translated">Vente</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">34</context>
</context-group>
</trans-unit>
<trans-unit id="5ab4d451ff9ce6d18d53360c51e7cd6e91c69555" datatype="html">
@ -2490,15 +2470,7 @@
<target state="translated">Validation des données...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context>
<context context-type="linenumber">184</context>
</context-group>
</trans-unit>
<trans-unit id="73f8489a3ae4d805787b8350d3d91e03e830115b" datatype="html">
<source>Choose File</source>
<target state="translated">Choisir Fichier</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">79</context>
<context context-type="linenumber">224</context>
</context-group>
</trans-unit>
<trans-unit id="6f9fd3da06dc9000eef0d4dcbb37747b303048e9" datatype="html">
@ -2506,7 +2478,7 @@
<target state="translated">Les formats de fichier suivants sont supportés :</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">
@ -2514,11 +2486,11 @@
<target state="translated">Retour</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">169</context>
<context context-type="linenumber">178</context>
</context-group>
</trans-unit>
<trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
@ -2526,11 +2498,11 @@
<target state="translated">Importer</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">150</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">186</context>
</context-group>
</trans-unit>
<trans-unit id="2666668717343771434" datatype="html">
@ -2702,7 +2674,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="5213771062241898526" datatype="html">
@ -3173,20 +3145,12 @@
<context context-type="linenumber">384</context>
</context-group>
</trans-unit>
<trans-unit id="1803867056160333091" datatype="html">
<source>Securities</source>
<target state="translated">Titres</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="8106025670158480144" datatype="html">
<source>Symbol</source>
<target state="translated">Symbole</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">25</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="1825829511397926879" datatype="html">
@ -3194,7 +3158,7 @@
<target state="translated">Étiquette</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">25</context>
</context-group>
</trans-unit>
<trans-unit id="787798817533231355" datatype="html">
@ -3202,7 +3166,7 @@
<target state="translated">Cash</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">37</context>
</context-group>
</trans-unit>
<trans-unit id="8431989971855844965" datatype="html">
@ -3210,7 +3174,7 @@
<target state="translated">Marchandise</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="1983771552391474467" datatype="html">
@ -3218,7 +3182,7 @@
<target state="translated">Capital</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="6124744839836623630" datatype="html">
@ -3226,7 +3190,7 @@
<target state="translated">Revenu Fixe</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">41</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="8432027249343784512" datatype="html">
@ -3234,7 +3198,7 @@
<target state="translated">Immobilier</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">42</context>
<context context-type="linenumber">41</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -3242,7 +3206,7 @@
<target state="translated">Obligation</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="2893204435511484886" datatype="html">
@ -3250,7 +3214,7 @@
<target state="translated">Cryptomonnaie</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="9071695492820527473" datatype="html">
@ -3258,7 +3222,7 @@
<target state="translated">ETF</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="5734784563242233466" datatype="html">
@ -3266,7 +3230,7 @@
<target state="translated">SICAV</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">47</context>
</context-group>
</trans-unit>
<trans-unit id="1270654249046226808" datatype="html">
@ -3274,7 +3238,7 @@
<target state="translated">Métal Précieux</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">49</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="1346519036036997811" datatype="html">
@ -3282,7 +3246,7 @@
<target state="translated">Capital Propre</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">50</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="4613338085351943838" datatype="html">
@ -3290,7 +3254,7 @@
<target state="translated">Action</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">51</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="1413778527796351850" datatype="html">
@ -3298,7 +3262,7 @@
<target state="translated">Afrique</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="3345512471687795386" datatype="html">
@ -3306,7 +3270,7 @@
<target state="translated">Asie</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">55</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8350109327144196614" datatype="html">
@ -3314,7 +3278,7 @@
<target state="translated">Europe</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="1228771048078164312" datatype="html">
@ -3322,7 +3286,7 @@
<target state="translated">Amérique du Nord</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">57</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="3228811828827738441" datatype="html">
@ -3330,7 +3294,7 @@
<target state="translated">Océanie</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">58</context>
<context context-type="linenumber">57</context>
</context-group>
</trans-unit>
<trans-unit id="5957846001261659229" datatype="html">
@ -3338,7 +3302,7 @@
<target state="translated">Amérique du Sud</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">59</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="c004f99bac91f7dc28e87d458f80e5035ae99884" datatype="html">
@ -3398,7 +3362,7 @@
<target state="translated">Valide jusqu&apos;au</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="7027401708987643293" datatype="html">
@ -3846,7 +3810,7 @@
<target state="translated">Renouveler</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="e5580416a35e85e0ce48cf447c45043386d1027f" datatype="html">
@ -4054,7 +4018,7 @@
<target state="translated">Selectionner les Dividendes</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">105</context>
<context context-type="linenumber">114</context>
</context-group>
</trans-unit>
<trans-unit id="611befbae582027156e3b9e20f9fc65be6bfee0b" datatype="html">
@ -4062,7 +4026,7 @@
<target state="translated">Selectionner les Activités</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">108</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="ed1d0d3031aba025b9bf280c1d7c54f44982ed46" datatype="html">
@ -4134,7 +4098,7 @@
<target state="translated">Années</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">28</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="5403684285319082289" datatype="html">
@ -4150,7 +4114,7 @@
<target state="translated">Année</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="dd9d3c5c9805d423310cdfcae53d61297ca62536" datatype="html">
@ -4306,7 +4270,7 @@
<target state="new">Dette</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="cd29e54c63a296b70ab67022910a2c07c455974e" datatype="html">
@ -7042,7 +7006,7 @@
<target state="new">Buy</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="7025236479211408772" datatype="html">
@ -7050,7 +7014,7 @@
<target state="new">Valuable</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">33</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1806977783783486873" datatype="html">
@ -7718,7 +7682,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.component.ts</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/products/altoo-page.component.ts</context>
@ -8150,7 +8114,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.component.ts</context>
<context context-type="linenumber">33</context>
<context context-type="linenumber">35</context>
</context-group>
</trans-unit>
<trans-unit id="4002166200801232073" datatype="html">
@ -9473,6 +9437,22 @@
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="a15d28b3d437de89853c114295f7b13c26f5a901" datatype="html">
<source> Add Access </source>
<target state="new"> Add Access </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">8,10</context>
</context-group>
</trans-unit>
<trans-unit id="2fc47ae80c47144eb6250979fe927a010da3aee5" datatype="html">
<source>Choose or drop a file here</source>
<target state="new">Choose or drop a file here</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

File diff suppressed because it is too large

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

@ -26,7 +26,7 @@
<target state="translated">Ontvanger</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">10</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">
@ -34,16 +34,12 @@
<target state="translated">Type</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">17</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-jobs/admin-jobs.html</context>
<context context-type="linenumber">20</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">13</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">12</context>
@ -62,7 +58,7 @@
<target state="translated">Details</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="53ea2772322e7d4d21515bb0c6dead283f8e18a5" datatype="html">
@ -70,7 +66,7 @@
<target state="translated">Intrekken</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">66</context>
</context-group>
</trans-unit>
<trans-unit id="8264698726451826067" datatype="html">
@ -78,12 +74,16 @@
<target state="translated">Wil je deze verleende toegang echt intrekken?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.ts</context>
<context context-type="linenumber">49</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="dd3b6c367381ddfa8f317b8e9b31c55368c65136" datatype="html">
<source>Activities</source>
<target state="translated">Activiteiten</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">48</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">58</context>
@ -158,11 +158,11 @@
<target state="translated">Waarde</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">147</context>
<context context-type="linenumber">145</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">182</context>
<context context-type="linenumber">180</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -198,7 +198,7 @@
<target state="translated">Bewerken</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">248</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.html</context>
@ -214,7 +214,7 @@
<target state="translated">Verwijderen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">256</context>
<context context-type="linenumber">254</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.html</context>
@ -406,7 +406,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">79</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -442,7 +442,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">95</context>
<context context-type="linenumber">86</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -1058,7 +1058,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">98</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/register-page.html</context>
@ -1530,7 +1530,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">273</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/blog/blog-page.html</context>
@ -1642,7 +1642,7 @@
<target state="translated">Lidmaatschap</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">15</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="f147d0f7f965cccee2e77294cba8e1b88021fa08" datatype="html">
@ -1650,7 +1650,7 @@
<target state="translated">Uitbreiden</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="218afa01afa0cfc71b1a6507a3387763ecaa9332" datatype="html">
@ -1662,7 +1662,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">57</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="de39d1e0259f376956df2f14bb285f98ad8a1bcc" datatype="html">
@ -1670,7 +1670,7 @@
<target state="translated">Probeer Premium</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">65</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="e34001a9b79e0e3de1491662187e1d6b29c4c04e" datatype="html">
@ -1746,7 +1746,7 @@
<target state="translated">Verleende toegang</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">291</context>
</context-group>
</trans-unit>
<trans-unit id="5e41f1b4c46ad9e0a9bc83fa36445483aa5cc324" datatype="html">
@ -1796,18 +1796,6 @@
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">171</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
</trans-unit>
<trans-unit id="d1c96243913efd867279d7f58145f5ac7365bda4" datatype="html">
<source>Securities</source>
<target state="translated">Effecten</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">16</context>
</context-group>
</trans-unit>
<trans-unit id="32072c7fb0469aaf82d256a59b3e0d6ecce973b9" datatype="html">
<source>Currency</source>
@ -1822,7 +1810,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">22</context>
<context context-type="linenumber">13</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -1842,11 +1830,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">110</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">23</context>
</context-group>
</trans-unit>
<trans-unit id="f53dff66901984e217d461bf10fde4e26612c3d3" datatype="html">
@ -1862,7 +1850,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="bc53583e9b147e117be82c6bbec021d66ea8b549" datatype="html">
@ -1870,7 +1858,7 @@
<target state="translated">Rekening-ID</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">68</context>
</context-group>
</trans-unit>
<trans-unit id="4979019387603946865" datatype="html">
@ -2027,7 +2015,7 @@
</trans-unit>
<trans-unit id="85780db87ac6c9f202615ac63754551c061e7236" datatype="html">
<source>Regions</source>
<target state="translated">Regio's</target>
<target state="translated">Regio&apos;s</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/allocations/allocations-page.html</context>
<context context-type="linenumber">201</context>
@ -2174,7 +2162,7 @@
<target state="translated">Verkopen</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">34</context>
</context-group>
</trans-unit>
<trans-unit id="5ab4d451ff9ce6d18d53360c51e7cd6e91c69555" datatype="html">
@ -2246,7 +2234,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -2838,7 +2826,7 @@
<target state="translated">Alias</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">3</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
@ -2877,14 +2865,6 @@
<context context-type="linenumber">18</context>
</context-group>
</trans-unit>
<trans-unit id="ac598d664f86ba5783915d65f2664a7f38a9d23a" datatype="html">
<source>Account Type</source>
<target state="translated">Accounttype</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="98fc3013bfcbf452b9f37bbfcdb77b9b882866e3" datatype="html">
<source>Excluded from Analysis</source>
<target state="translated">Uitgesloten van analyse</target>
@ -2978,7 +2958,7 @@
<target state="translated">Symbool</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">25</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="1825829511397926879" datatype="html">
@ -2986,7 +2966,7 @@
<target state="translated">Label</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">25</context>
</context-group>
</trans-unit>
<trans-unit id="787798817533231355" datatype="html">
@ -2994,7 +2974,7 @@
<target state="translated">Contant geld</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">37</context>
</context-group>
</trans-unit>
<trans-unit id="8431989971855844965" datatype="html">
@ -3002,7 +2982,7 @@
<target state="translated">Grondstof</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="1983771552391474467" datatype="html">
@ -3010,7 +2990,7 @@
<target state="translated">Equity</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="6124744839836623630" datatype="html">
@ -3018,7 +2998,7 @@
<target state="translated">Vast inkomen</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">41</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="8432027249343784512" datatype="html">
@ -3026,7 +3006,7 @@
<target state="translated">Vastgoed</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">42</context>
<context context-type="linenumber">41</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -3034,7 +3014,7 @@
<target state="translated">Obligatie</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="2893204435511484886" datatype="html">
@ -3042,7 +3022,7 @@
<target state="translated">Cryptovaluta</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="9071695492820527473" datatype="html">
@ -3050,7 +3030,7 @@
<target state="translated">ETF</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="5734784563242233466" datatype="html">
@ -3058,7 +3038,7 @@
<target state="translated">Beleggingsfonds</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">47</context>
</context-group>
</trans-unit>
<trans-unit id="1270654249046226808" datatype="html">
@ -3066,7 +3046,7 @@
<target state="translated">Edelmetaal</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">49</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="1346519036036997811" datatype="html">
@ -3074,7 +3054,7 @@
<target state="translated">Private equity</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">50</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="4613338085351943838" datatype="html">
@ -3082,7 +3062,7 @@
<target state="translated">Aandeel</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">51</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="6268646680388419543" datatype="html">
@ -3122,7 +3102,7 @@
<target state="translated">Noord-Amerika</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">57</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="1413778527796351850" datatype="html">
@ -3130,7 +3110,7 @@
<target state="translated">Afrika</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="3345512471687795386" datatype="html">
@ -3138,7 +3118,7 @@
<target state="translated">Azië</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">55</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8350109327144196614" datatype="html">
@ -3146,7 +3126,7 @@
<target state="translated">Europa</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="3228811828827738441" datatype="html">
@ -3154,7 +3134,7 @@
<target state="translated">Oceanië</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">58</context>
<context context-type="linenumber">57</context>
</context-group>
</trans-unit>
<trans-unit id="5957846001261659229" datatype="html">
@ -3162,15 +3142,7 @@
<target state="translated">Zuid-Amerika</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">59</context>
</context-group>
</trans-unit>
<trans-unit id="73f8489a3ae4d805787b8350d3d91e03e830115b" datatype="html">
<source>Choose File</source>
<target state="translated">Kies bestand</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">79</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="6f9fd3da06dc9000eef0d4dcbb37747b303048e9" datatype="html">
@ -3178,7 +3150,7 @@
<target state="translated">De volgende bestandsformaten worden ondersteund:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">
@ -3186,11 +3158,11 @@
<target state="translated">Terug</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">169</context>
<context context-type="linenumber">178</context>
</context-group>
</trans-unit>
<trans-unit id="ec2d3a89b366d1ca80be056e9e71f0165ae75c7b" datatype="html">
@ -3258,7 +3230,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="6410cffb96159fcff46d91effc26df0e240bc0e3" datatype="html">
@ -3290,7 +3262,7 @@
<target state="translated">Gegevens valideren...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context>
<context context-type="linenumber">184</context>
<context context-type="linenumber">224</context>
</context-group>
</trans-unit>
<trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
@ -3298,19 +3270,11 @@
<target state="translated">Importeren</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">150</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">177</context>
</context-group>
</trans-unit>
<trans-unit id="1803867056160333091" datatype="html">
<source>Securities</source>
<target state="translated">Effecten</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">24</context>
<context context-type="linenumber">186</context>
</context-group>
</trans-unit>
<trans-unit id="3229595422546554334" datatype="html">
@ -3398,7 +3362,7 @@
<target state="translated">Geldig tot</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="7027401708987643293" datatype="html">
@ -3846,7 +3810,7 @@
<target state="translated">Vernieuw</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="e5580416a35e85e0ce48cf447c45043386d1027f" datatype="html">
@ -4054,7 +4018,7 @@
<target state="translated">Selecteer dividenden</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">105</context>
<context context-type="linenumber">114</context>
</context-group>
</trans-unit>
<trans-unit id="611befbae582027156e3b9e20f9fc65be6bfee0b" datatype="html">
@ -4062,7 +4026,7 @@
<target state="translated">Selecteer activiteiten</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">108</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="ed1d0d3031aba025b9bf280c1d7c54f44982ed46" datatype="html">
@ -4134,7 +4098,7 @@
<target state="translated">Jaren</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">28</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="5403684285319082289" datatype="html">
@ -4150,7 +4114,7 @@
<target state="translated">Jaar</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="dd9d3c5c9805d423310cdfcae53d61297ca62536" datatype="html">
@ -4207,7 +4171,7 @@
</trans-unit>
<trans-unit id="3da55a109f8deb0ad08e6ef251d671aedc9cb86d" datatype="html">
<source>ETFs</source>
<target state="translated">ETF's</target>
<target state="translated">ETF&apos;s</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/features/features-page.html</context>
<context context-type="linenumber">25</context>
@ -4306,7 +4270,7 @@
<target state="translated">Verplichtingen</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="cd29e54c63a296b70ab67022910a2c07c455974e" datatype="html">
@ -7011,7 +6975,7 @@
</trans-unit>
<trans-unit id="c2fe62534c65e66f2456e568a8f85ba471e6824b" datatype="html">
<source>Stocks, ETFs, bonds, cryptocurrencies, commodities</source>
<target state="translated">Aandelen, ETF's, obligaties, cryptocurrencies, grondstoffen</target>
<target state="translated">Aandelen, ETF&apos;s, obligaties, cryptocurrencies, grondstoffen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">22</context>
@ -7042,7 +7006,7 @@
<target state="translated">Koop</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="7025236479211408772" datatype="html">
@ -7050,12 +7014,12 @@
<target state="translated">Waardevol</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">33</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1806977783783486873" datatype="html">
<source>ETFs without Countries</source>
<target state="translated">ETF's zonder Landen</target>
<target state="translated">ETF&apos;s zonder Landen</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">70</context>
@ -7063,7 +7027,7 @@
</trans-unit>
<trans-unit id="2346990364415437072" datatype="html">
<source>ETFs without Sectors</source>
<target state="translated">ETF's zonder Sectoren</target>
<target state="translated">ETF&apos;s zonder Sectoren</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.component.ts</context>
<context context-type="linenumber">75</context>
@ -7411,7 +7375,7 @@
</trans-unit>
<trans-unit id="9dd7364c5dcf1b010bfa80e824ba80eb67cc2b57" datatype="html">
<source> Ghostfolio empowers busy people to keep track of stocks, ETFs or cryptocurrencies without being tracked. </source>
<target state="translated"> Ghostfolio stelt drukbezette mensen in staat om aandelen, ETF's of cryptocurrencies bij te houden zonder gevolgd te worden. </target>
<target state="translated"> Ghostfolio stelt drukbezette mensen in staat om aandelen, ETF&apos;s of cryptocurrencies bij te houden zonder gevolgd te worden. </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">225,228</context>
@ -7475,7 +7439,7 @@
</trans-unit>
<trans-unit id="2fe7c768f92932a3a6c9b460dd5d72e53deb9cfe" datatype="html">
<source>trading stocks, ETFs or cryptocurrencies on multiple platforms</source>
<target state="translated">handelt in aandelen, ETF's of cryptocurrencies op meerdere platforms</target>
<target state="translated">handelt in aandelen, ETF&apos;s of cryptocurrencies op meerdere platforms</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/landing/landing-page.html</context>
<context context-type="linenumber">276,277</context>
@ -7718,7 +7682,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.component.ts</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/products/altoo-page.component.ts</context>
@ -8150,7 +8114,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.component.ts</context>
<context context-type="linenumber">33</context>
<context context-type="linenumber">35</context>
</context-group>
</trans-unit>
<trans-unit id="4002166200801232073" datatype="html">
@ -9473,6 +9437,22 @@
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="a15d28b3d437de89853c114295f7b13c26f5a901" datatype="html">
<source> Add Access </source>
<target state="new"> Add Access </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">8,10</context>
</context-group>
</trans-unit>
<trans-unit id="2fc47ae80c47144eb6250979fe927a010da3aee5" datatype="html">
<source>Choose or drop a file here</source>
<target state="new">Choose or drop a file here</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -14,7 +14,7 @@
<target state="translated">Alias</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">3</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
@ -26,7 +26,7 @@
<target state="translated">Beneficiário (a)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">10</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">
@ -34,16 +34,12 @@
<target state="translated">Tipo</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">17</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-jobs/admin-jobs.html</context>
<context context-type="linenumber">20</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">13</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">12</context>
@ -62,7 +58,7 @@
<target state="translated">Detalhes</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="53ea2772322e7d4d21515bb0c6dead283f8e18a5" datatype="html">
@ -70,7 +66,7 @@
<target state="translated">Revogar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">66</context>
</context-group>
</trans-unit>
<trans-unit id="8264698726451826067" datatype="html">
@ -78,15 +74,7 @@
<target state="translated">Pretende realmente revogar este acesso concedido?</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.ts</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="ac598d664f86ba5783915d65f2664a7f38a9d23a" datatype="html">
<source>Account Type</source>
<target state="translated">Tipo de conta</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="f53dff66901984e217d461bf10fde4e26612c3d3" datatype="html">
@ -102,12 +90,16 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="dd3b6c367381ddfa8f317b8e9b31c55368c65136" datatype="html">
<source>Activities</source>
<target state="translated">Atividades</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">48</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">58</context>
@ -190,7 +182,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">22</context>
<context context-type="linenumber">13</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -210,11 +202,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">110</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">23</context>
</context-group>
</trans-unit>
<trans-unit id="5049e204c14c648691ac775a64fb504467aeb549" datatype="html">
@ -222,11 +214,11 @@
<target state="translated">Valor</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">147</context>
<context context-type="linenumber">145</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">182</context>
<context context-type="linenumber">180</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -262,7 +254,7 @@
<target state="translated">Editar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">248</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.html</context>
@ -278,7 +270,7 @@
<target state="translated">Eliminar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">256</context>
<context context-type="linenumber">254</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.html</context>
@ -470,7 +462,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">79</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -506,7 +498,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">95</context>
<context context-type="linenumber">86</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -1310,7 +1302,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">98</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/register-page.html</context>
@ -1910,7 +1902,7 @@
<target state="translated">Filiação</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">15</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="f147d0f7f965cccee2e77294cba8e1b88021fa08" datatype="html">
@ -1918,7 +1910,7 @@
<target state="translated">Atualizar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="218afa01afa0cfc71b1a6507a3387763ecaa9332" datatype="html">
@ -1930,7 +1922,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">57</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="de39d1e0259f376956df2f14bb285f98ad8a1bcc" datatype="html">
@ -1938,7 +1930,7 @@
<target state="translated">Experimentar Premium</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">65</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="e34001a9b79e0e3de1491662187e1d6b29c4c04e" datatype="html">
@ -2074,7 +2066,7 @@
<target state="translated">Acesso Concedido</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">291</context>
</context-group>
</trans-unit>
<trans-unit id="5e41f1b4c46ad9e0a9bc83fa36445483aa5cc324" datatype="html">
@ -2124,25 +2116,13 @@
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">171</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
</trans-unit>
<trans-unit id="d1c96243913efd867279d7f58145f5ac7365bda4" datatype="html">
<source>Securities</source>
<target state="translated">Títulos (Valores Mobiliários)</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">16</context>
</context-group>
</trans-unit>
<trans-unit id="bc53583e9b147e117be82c6bbec021d66ea8b549" datatype="html">
<source>Account ID</source>
<target state="translated">ID da Conta</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">68</context>
</context-group>
</trans-unit>
<trans-unit id="4979019387603946865" datatype="html">
@ -2230,7 +2210,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">273</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/blog/blog-page.html</context>
@ -2346,7 +2326,7 @@
<target state="translated">Venda</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">34</context>
</context-group>
</trans-unit>
<trans-unit id="5ab4d451ff9ce6d18d53360c51e7cd6e91c69555" datatype="html">
@ -2402,7 +2382,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -2425,20 +2405,12 @@
<context context-type="linenumber">121</context>
</context-group>
</trans-unit>
<trans-unit id="73f8489a3ae4d805787b8350d3d91e03e830115b" datatype="html">
<source>Choose File</source>
<target state="translated">Escolher Ficheiro</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">79</context>
</context-group>
</trans-unit>
<trans-unit id="6f9fd3da06dc9000eef0d4dcbb37747b303048e9" datatype="html">
<source>The following file formats are supported:</source>
<target state="translated">Os seguintes formatos de ficheiro são suportados:</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">
@ -2446,11 +2418,11 @@
<target state="translated">Anterior</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">169</context>
<context context-type="linenumber">178</context>
</context-group>
</trans-unit>
<trans-unit id="2666668717343771434" datatype="html">
@ -3042,7 +3014,7 @@
<target state="translated">Símbolo</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">25</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="1825829511397926879" datatype="html">
@ -3050,7 +3022,7 @@
<target state="translated">Marcador</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">25</context>
</context-group>
</trans-unit>
<trans-unit id="787798817533231355" datatype="html">
@ -3058,7 +3030,7 @@
<target state="translated">Dinheiro</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">37</context>
</context-group>
</trans-unit>
<trans-unit id="8431989971855844965" datatype="html">
@ -3066,7 +3038,7 @@
<target state="translated">Matéria-prima</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="1983771552391474467" datatype="html">
@ -3074,7 +3046,7 @@
<target state="translated">Ações</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="6124744839836623630" datatype="html">
@ -3082,7 +3054,7 @@
<target state="translated">Rendimento Fixo</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">41</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="8432027249343784512" datatype="html">
@ -3090,7 +3062,7 @@
<target state="translated">Imobiliário</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">42</context>
<context context-type="linenumber">41</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
@ -3098,7 +3070,7 @@
<target state="translated">Obrigação</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="2893204435511484886" datatype="html">
@ -3106,7 +3078,7 @@
<target state="translated">Criptomoedas</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="9071695492820527473" datatype="html">
@ -3114,7 +3086,7 @@
<target state="translated">ETF</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="5734784563242233466" datatype="html">
@ -3122,7 +3094,7 @@
<target state="translated">Fundo de Investimento</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">47</context>
</context-group>
</trans-unit>
<trans-unit id="1270654249046226808" datatype="html">
@ -3130,7 +3102,7 @@
<target state="translated">Metal Precioso</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">49</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="1346519036036997811" datatype="html">
@ -3138,7 +3110,7 @@
<target state="translated">Private Equity</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">50</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="4613338085351943838" datatype="html">
@ -3146,7 +3118,7 @@
<target state="translated">Ação</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">51</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="1413778527796351850" datatype="html">
@ -3154,7 +3126,7 @@
<target state="translated">África</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="3345512471687795386" datatype="html">
@ -3162,7 +3134,7 @@
<target state="translated">Ásia</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">55</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8350109327144196614" datatype="html">
@ -3170,7 +3142,7 @@
<target state="translated">Europa</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="1228771048078164312" datatype="html">
@ -3178,7 +3150,7 @@
<target state="translated">América do Norte</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">57</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="3228811828827738441" datatype="html">
@ -3186,7 +3158,7 @@
<target state="translated">Oceânia</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">58</context>
<context context-type="linenumber">57</context>
</context-group>
</trans-unit>
<trans-unit id="5957846001261659229" datatype="html">
@ -3194,7 +3166,7 @@
<target state="translated">América do Sul</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">59</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="c004f99bac91f7dc28e87d458f80e5035ae99884" datatype="html">
@ -3310,7 +3282,7 @@
<target state="translated">A validar dados...</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context>
<context context-type="linenumber">184</context>
<context context-type="linenumber">224</context>
</context-group>
</trans-unit>
<trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
@ -3318,11 +3290,11 @@
<target state="translated">Importar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">150</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">186</context>
</context-group>
</trans-unit>
<trans-unit id="7765499580020598783" datatype="html">
@ -3334,7 +3306,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="6410cffb96159fcff46d91effc26df0e240bc0e3" datatype="html">
@ -3353,14 +3325,6 @@
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="1803867056160333091" datatype="html">
<source>Securities</source>
<target state="translated">Títulos</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="0f845001c88b82c18535e6d44f5597061f506e42" datatype="html">
<source>Holding</source>
<target state="translated">Detenção</target>
@ -3398,7 +3362,7 @@
<target state="translated">Válido até</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="7027401708987643293" datatype="html">
@ -3846,7 +3810,7 @@
<target state="translated">Renovar</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="e5580416a35e85e0ce48cf447c45043386d1027f" datatype="html">
@ -4054,7 +4018,7 @@
<target state="translated">Selecionar Dividendos</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">105</context>
<context context-type="linenumber">114</context>
</context-group>
</trans-unit>
<trans-unit id="611befbae582027156e3b9e20f9fc65be6bfee0b" datatype="html">
@ -4062,7 +4026,7 @@
<target state="translated">Selecionar Atividades</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">108</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="ed1d0d3031aba025b9bf280c1d7c54f44982ed46" datatype="html">
@ -4134,7 +4098,7 @@
<target state="translated">Anos</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">28</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="5403684285319082289" datatype="html">
@ -4150,7 +4114,7 @@
<target state="translated">Ano</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="dd9d3c5c9805d423310cdfcae53d61297ca62536" datatype="html">
@ -4306,7 +4270,7 @@
<target state="new">Liability</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="cd29e54c63a296b70ab67022910a2c07c455974e" datatype="html">
@ -7042,7 +7006,7 @@
<target state="new">Buy</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="7025236479211408772" datatype="html">
@ -7050,7 +7014,7 @@
<target state="new">Valuable</target>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">33</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="1806977783783486873" datatype="html">
@ -7718,7 +7682,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.component.ts</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/products/altoo-page.component.ts</context>
@ -8150,7 +8114,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.component.ts</context>
<context context-type="linenumber">33</context>
<context context-type="linenumber">35</context>
</context-group>
</trans-unit>
<trans-unit id="4002166200801232073" datatype="html">
@ -9473,6 +9437,22 @@
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="a15d28b3d437de89853c114295f7b13c26f5a901" datatype="html">
<source> Add Access </source>
<target state="new"> Add Access </target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">8,10</context>
</context-group>
</trans-unit>
<trans-unit id="2fc47ae80c47144eb6250979fe927a010da3aee5" datatype="html">
<source>Choose or drop a file here</source>
<target state="new">Choose or drop a file here</target>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

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

@ -236,7 +236,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.component.ts</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">34</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/resources/personal-finance-tools/products/altoo-page.component.ts</context>
@ -491,7 +491,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/pricing/pricing-page.component.ts</context>
<context context-type="linenumber">33</context>
<context context-type="linenumber">35</context>
</context-group>
</trans-unit>
<trans-unit id="4002166200801232073" datatype="html">
@ -765,7 +765,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.html</context>
<context context-type="linenumber">267</context>
<context context-type="linenumber">273</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/blog/blog-page.html</context>
@ -988,7 +988,7 @@
<source>Alias</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">3</context>
<context context-type="linenumber">15</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/create-or-update-access-dialog/create-or-update-access-dialog.html</context>
@ -999,23 +999,19 @@
<source>Grantee</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">10</context>
<context context-type="linenumber">22</context>
</context-group>
</trans-unit>
<trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc" datatype="html">
<source>Type</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">17</context>
<context context-type="linenumber">29</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-jobs/admin-jobs.html</context>
<context context-type="linenumber">20</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">13</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
<context context-type="linenumber">12</context>
@ -1033,21 +1029,21 @@
<source>Details</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="53ea2772322e7d4d21515bb0c6dead283f8e18a5" datatype="html">
<source>Revoke</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">66</context>
</context-group>
</trans-unit>
<trans-unit id="8264698726451826067" datatype="html">
<source>Do you really want to revoke this granted access?</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.ts</context>
<context context-type="linenumber">49</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="237bd6e6d07f448b7884f05f56a20e30df8622c4" datatype="html">
@ -1058,11 +1054,11 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">112</context>
<context context-type="linenumber">110</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">23</context>
</context-group>
</trans-unit>
<trans-unit id="5289fe3f4bde49c4ee4107d14e4be491f2c4246d" datatype="html">
@ -1072,13 +1068,6 @@
<context context-type="linenumber">43</context>
</context-group>
</trans-unit>
<trans-unit id="ac598d664f86ba5783915d65f2664a7f38a9d23a" datatype="html">
<source>Account Type</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="f53dff66901984e217d461bf10fde4e26612c3d3" datatype="html">
<source>Platform</source>
<context-group purpose="location">
@ -1091,11 +1080,15 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">36</context>
</context-group>
</trans-unit>
<trans-unit id="dd3b6c367381ddfa8f317b8e9b31c55368c65136" datatype="html">
<source>Activities</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">48</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html</context>
<context context-type="linenumber">58</context>
@ -1175,7 +1168,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">22</context>
<context context-type="linenumber">13</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -1190,11 +1183,11 @@
<source>Value</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">147</context>
<context context-type="linenumber">145</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">182</context>
<context context-type="linenumber">180</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -1229,7 +1222,7 @@
<source>Edit</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">248</context>
<context context-type="linenumber">246</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-platform/admin-platform.component.html</context>
@ -1244,7 +1237,7 @@
<source>Delete</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/accounts-table/accounts-table.component.html</context>
<context context-type="linenumber">256</context>
<context context-type="linenumber">254</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/admin-market-data/admin-market-data.html</context>
@ -1419,7 +1412,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">88</context>
<context context-type="linenumber">79</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -1454,7 +1447,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">95</context>
<context context-type="linenumber">86</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -1694,7 +1687,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">47</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html</context>
@ -2302,7 +2295,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">98</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/register/register-page.html</context>
@ -2439,10 +2432,6 @@
<context context-type="sourcefile">apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html</context>
<context context-type="linenumber">171</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">15</context>
</context-group>
</trans-unit>
<trans-unit id="ee8f8008bae6ce3a49840c4e1d39b4af23d4c263" datatype="html">
<source>Assets</source>
@ -2889,18 +2878,11 @@
<context context-type="linenumber">3</context>
</context-group>
</trans-unit>
<trans-unit id="d1c96243913efd867279d7f58145f5ac7365bda4" datatype="html">
<source>Securities</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">16</context>
</context-group>
</trans-unit>
<trans-unit id="bc53583e9b147e117be82c6bbec021d66ea8b549" datatype="html">
<source>Account ID</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">68</context>
</context-group>
</trans-unit>
<trans-unit id="4979019387603946865" datatype="html">
@ -3696,7 +3678,7 @@
<source>Validating data...</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts</context>
<context context-type="linenumber">184</context>
<context context-type="linenumber">224</context>
</context-group>
</trans-unit>
<trans-unit id="4de7b521c9a386fa682d6c995b30f6bc2d6c14b8" datatype="html">
@ -3727,54 +3709,47 @@
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="73f8489a3ae4d805787b8350d3d91e03e830115b" datatype="html">
<source>Choose File</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">79</context>
</context-group>
</trans-unit>
<trans-unit id="6f9fd3da06dc9000eef0d4dcbb37747b303048e9" datatype="html">
<source>The following file formats are supported:</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">83</context>
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="4380e0227db35c1366b943a6413521fff189ee11" datatype="html">
<source>Select Dividends</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">105</context>
<context context-type="linenumber">114</context>
</context-group>
</trans-unit>
<trans-unit id="611befbae582027156e3b9e20f9fc65be6bfee0b" datatype="html">
<source>Select Activities</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">108</context>
<context context-type="linenumber">117</context>
</context-group>
</trans-unit>
<trans-unit id="cda31dbd724cf5f4fa7a4274d9120651490c8a8c" datatype="html">
<source>Back</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">132</context>
<context context-type="linenumber">141</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">169</context>
<context context-type="linenumber">178</context>
</context-group>
</trans-unit>
<trans-unit id="a059709f71aa4c0ac219e160e78a738682ca6a36" datatype="html">
<source>Import</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">150</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">177</context>
<context context-type="linenumber">186</context>
</context-group>
</trans-unit>
<trans-unit id="2666668717343771434" datatype="html">
@ -3961,7 +3936,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">32</context>
<context context-type="linenumber">31</context>
</context-group>
</trans-unit>
<trans-unit id="5213771062241898526" datatype="html">
@ -4255,7 +4230,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">57</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="e5580416a35e85e0ce48cf447c45043386d1027f" datatype="html">
@ -8223,35 +8198,35 @@
<source>Membership</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">15</context>
<context context-type="linenumber">12</context>
</context-group>
</trans-unit>
<trans-unit id="d82473cef3cd2258eab20223ffcdd5af0c0025cc" datatype="html">
<source>Valid until</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="f147d0f7f965cccee2e77294cba8e1b88021fa08" datatype="html">
<source>Upgrade</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="fe5419755f32b91e95d8cb4248958026f25c6033" datatype="html">
<source>Renew</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="de39d1e0259f376956df2f14bb285f98ad8a1bcc" datatype="html">
<source>Try Premium</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">65</context>
<context context-type="linenumber">64</context>
</context-group>
</trans-unit>
<trans-unit id="e34001a9b79e0e3de1491662187e1d6b29c4c04e" datatype="html">
@ -8384,7 +8359,7 @@
<source>Granted Access</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/user-account/user-account-page.html</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">291</context>
</context-group>
</trans-unit>
<trans-unit id="495a0574bd9a3d619a8b16dd5b893c6f617beded" datatype="html">
@ -8722,193 +8697,186 @@
<context context-type="linenumber">23</context>
</context-group>
</trans-unit>
<trans-unit id="1803867056160333091" datatype="html">
<source>Securities</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="8106025670158480144" datatype="html">
<source>Symbol</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">25</context>
<context context-type="linenumber">24</context>
</context-group>
</trans-unit>
<trans-unit id="1825829511397926879" datatype="html">
<source>Tag</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">26</context>
<context context-type="linenumber">25</context>
</context-group>
</trans-unit>
<trans-unit id="1464072562214937907" datatype="html">
<source>Year</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">27</context>
<context context-type="linenumber">26</context>
</context-group>
</trans-unit>
<trans-unit id="953022389548488004" datatype="html">
<source>Years</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">28</context>
<context context-type="linenumber">27</context>
</context-group>
</trans-unit>
<trans-unit id="2149165958319691680" datatype="html">
<source>Buy</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">31</context>
<context context-type="linenumber">30</context>
</context-group>
</trans-unit>
<trans-unit id="7025236479211408772" datatype="html">
<source>Valuable</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">33</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="4230401090765872563" datatype="html">
<source>Liability</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">34</context>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="4881880242577556" datatype="html">
<source>Sell</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">34</context>
</context-group>
</trans-unit>
<trans-unit id="787798817533231355" datatype="html">
<source>Cash</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">38</context>
<context context-type="linenumber">37</context>
</context-group>
</trans-unit>
<trans-unit id="8431989971855844965" datatype="html">
<source>Commodity</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">39</context>
<context context-type="linenumber">38</context>
</context-group>
</trans-unit>
<trans-unit id="1983771552391474467" datatype="html">
<source>Equity</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="6124744839836623630" datatype="html">
<source>Fixed Income</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">41</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="8432027249343784512" datatype="html">
<source>Real Estate</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">42</context>
<context context-type="linenumber">41</context>
</context-group>
</trans-unit>
<trans-unit id="8977365084844053365" datatype="html">
<source>Bond</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">45</context>
<context context-type="linenumber">44</context>
</context-group>
</trans-unit>
<trans-unit id="2893204435511484886" datatype="html">
<source>Cryptocurrency</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="9071695492820527473" datatype="html">
<source>ETF</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">47</context>
<context context-type="linenumber">46</context>
</context-group>
</trans-unit>
<trans-unit id="5734784563242233466" datatype="html">
<source>Mutual Fund</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">48</context>
<context context-type="linenumber">47</context>
</context-group>
</trans-unit>
<trans-unit id="1270654249046226808" datatype="html">
<source>Precious Metal</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">49</context>
<context context-type="linenumber">48</context>
</context-group>
</trans-unit>
<trans-unit id="1346519036036997811" datatype="html">
<source>Private Equity</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">50</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="4613338085351943838" datatype="html">
<source>Stock</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">51</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="1413778527796351850" datatype="html">
<source>Africa</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">54</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="3345512471687795386" datatype="html">
<source>Asia</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">55</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="8350109327144196614" datatype="html">
<source>Europe</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">56</context>
<context context-type="linenumber">55</context>
</context-group>
</trans-unit>
<trans-unit id="1228771048078164312" datatype="html">
<source>North America</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">57</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="3228811828827738441" datatype="html">
<source>Oceania</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">58</context>
<context context-type="linenumber">57</context>
</context-group>
</trans-unit>
<trans-unit id="5957846001261659229" datatype="html">
<source>South America</source>
<context-group purpose="location">
<context context-type="sourcefile">libs/ui/src/lib/i18n.ts</context>
<context context-type="linenumber">59</context>
<context context-type="linenumber">58</context>
</context-group>
</trans-unit>
<trans-unit id="c004f99bac91f7dc28e87d458f80e5035ae99884" datatype="html">
@ -8929,6 +8897,20 @@
<context context-type="linenumber">399</context>
</context-group>
</trans-unit>
<trans-unit id="2fc47ae80c47144eb6250979fe927a010da3aee5" datatype="html">
<source>Choose or drop a file here</source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html</context>
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="a15d28b3d437de89853c114295f7b13c26f5a901" datatype="html">
<source> Add Access </source>
<context-group purpose="location">
<context context-type="sourcefile">apps/client/src/app/components/access-table/access-table.component.html</context>
<context context-type="linenumber">8,10</context>
</context-group>
</trans-unit>
</body>
</file>
</xliff>

55
apps/client/src/styles.scss

@ -274,6 +274,16 @@ body {
}
}
.page {
&.with-tabs {
.mat-mdc-tab-nav-bar {
--mat-tab-header-inactive-label-text-color: rgba(
var(--light-primary-text)
);
}
}
}
.svgMap-tooltip {
background: var(--dark-background);
@ -430,6 +440,11 @@ ngx-skeleton-loader {
}
}
.mat-stepper-vertical,
.mat-stepper-horizontal {
background: transparent !important;
}
.mdc-button {
&.mat-accent,
&.mat-primary {
@ -450,7 +465,45 @@ ngx-skeleton-loader {
}
.page {
padding-bottom: 5rem;
display: flex;
flex-direction: column;
overflow-y: auto;
&:not(.with-tabs) {
padding-bottom: 5rem;
}
&.with-tabs {
height: calc(100vh - 5rem);
padding-bottom: env(safe-area-inset-bottom);
padding-bottom: constant(safe-area-inset-bottom);
.mat-mdc-tab-nav-bar {
--mat-tab-header-active-focus-indicator-color: transparent;
--mat-tab-header-active-hover-indicator-color: transparent;
--mat-tab-header-inactive-label-text-color: rgba(
var(--dark-primary-text)
);
--mdc-tab-indicator-active-indicator-color: transparent;
}
@media (min-width: 576px) {
flex-direction: row-reverse;
.mat-mdc-tab-header {
width: 12rem;
--mdc-secondary-navigation-tab-container-height: 2rem;
.mat-mdc-tab-links {
flex-direction: column;
.mat-mdc-tab-link {
justify-content: flex-start;
}
}
}
}
}
}
.svgMap-tooltip {

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

@ -39,7 +39,7 @@ export const DEFAULT_CURRENCY = 'USD';
export const DEFAULT_DATE_FORMAT_MONTH_YEAR = 'MMM yyyy';
export const DEFAULT_LANGUAGE_CODE = 'en';
export const DEFAULT_PAGE_SIZE = 50;
export const DEFAULT_REQUEST_TIMEOUT = ms('3 seconds');
export const DEFAULT_REQUEST_TIMEOUT = ms('2 seconds');
export const DEFAULT_ROOT_URL = 'http://localhost:4200';
export const EMERGENCY_FUND_TAG_ID = '4452656d-9fa4-4bd0-ba38-70492e31d180';

5
libs/common/src/lib/interfaces/export.interface.ts

@ -5,7 +5,10 @@ export interface Export {
date: string;
version: string;
};
accounts: Omit<Account, 'createdAt' | 'isDefault' | 'updatedAt' | 'userId'>[];
accounts: Omit<
Account,
'accountType' | 'createdAt' | 'isDefault' | 'updatedAt' | 'userId'
>[];
activities: (Omit<
Order,
| 'accountUserId'

1
libs/ui/src/lib/i18n.ts

@ -21,7 +21,6 @@ const locales = {
PRESET_ID: $localize`Preset`,
RETIREMENT_PROVISION: $localize`Retirement Provision`,
SATELLITE: $localize`Satellite`,
SECURITIES: $localize`Securities`,
SYMBOL: $localize`Symbol`,
TAG: $localize`Tag`,
YEAR: $localize`Year`,

2
package.json

@ -1,6 +1,6 @@
{
"name": "ghostfolio",
"version": "2.0.0",
"version": "2.1.0",
"homepage": "https://ghostfol.io",
"license": "AGPL-3.0",
"repository": "https://github.com/ghostfolio/ghostfolio",

3
prisma/migrations/20230915141658_changed_account_type_to_optional_in_account/migration.sql

@ -0,0 +1,3 @@
-- AlterTable
ALTER TABLE "Account" ALTER COLUMN "accountType" DROP NOT NULL,
ALTER COLUMN "accountType" DROP DEFAULT;

2
prisma/schema.prisma

@ -21,7 +21,7 @@ model Access {
}
model Account {
accountType AccountType @default(SECURITIES)
accountType AccountType?
balance Float @default(0)
balances AccountBalance[]
comment String?

3
test/import/ok-500-activities.json

@ -5,7 +5,6 @@
},
"accounts": [
{
"accountType": "SECURITIES",
"balance": 2000,
"currency": "USD",
"id": "b2d3fe1d-d6a8-41a3-be39-07ef5e9480f0",
@ -6016,4 +6015,4 @@
"symbol": "AAPL"
}
]
}
}

1
test/import/ok.json

@ -5,7 +5,6 @@
},
"accounts": [
{
"accountType": "SECURITIES",
"balance": 2000,
"currency": "USD",
"id": "b2d3fe1d-d6a8-41a3-be39-07ef5e9480f0",

Loading…
Cancel
Save