diff --git a/CHANGELOG.md b/CHANGELOG.md index 68406a932..9e9eb0fe4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the date formatting of the dividend timeline grouped by month / year - Improved the date formatting of the investment timeline grouped by month / year +## 1.227.1 - 2023-01-14 + +### Changed + +- Improved the language localization for German (`de`) + +### Fixed + +- Fixed the create or edit activity dialog + +## 1.227.0 - 2023-01-14 + +### Added + +- Added support for assets other than cash in emergency fund (affecting buying power) +- Added support for translated tags + +### Changed + +- Improved the logo alignment + +### Fixed + +- Fixed the grouping by month / year of the dividend and investment timeline + +## 1.226.0 - 2023-01-11 + +### Added + +- Added the language localization for Français (`fr`) +- Extended the landing page by a global heat map of subscribers +- Added support for the thousand separator in the global heat map component + +### Changed + +- Improved the form of the import dividends dialog (disable while loading) +- Removed the deprecated `~` in _Sass_ imports + +### Fixed + +- Fixed an exception in the _X-ray_ section + ## 1.225.0 - 2023-01-07 ### Added diff --git a/README.md b/README.md index 2b26a2335..f09dd7541 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,26 @@
- - Ghostfolio Logo - - -

Ghostfolio

-

- Open Source Wealth Management Software -

-

- Ghostfol.ioLive Demo | Ghostfolio Premium | FAQ | Blog | Slack | Twitter -

-

- - - - - - License: AGPL v3 -

+ +[Ghostfolio logo](https://ghostfol.io) + +# Ghostfolio + +**Open Source Wealth Management Software** + +[**Ghostfol.io**](https://ghostfol.io) | [**Live Demo**](https://ghostfol.io/en/demo) | [**Ghostfolio Premium**](https://ghostfol.io/en/pricing) | [**FAQ**](https://ghostfol.io/en/faq) | +[**Blog**](https://ghostfol.io/en/blog) | [**Slack**](https://join.slack.com/t/ghostfolio/shared_invite/zt-vsaan64h-F_I0fEo5M0P88lP9ibCxFg) | [**Twitter**](https://twitter.com/ghostfolio_) + +[![Shield: Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-Support-yellow?logo=buymeacoffee)](https://www.buymeacoffee.com/ghostfolio) +[![Shield: Contributions Welcome](https://img.shields.io/badge/Contributions-Welcome-orange.svg)](#contributing) +[![Shield: License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) +
**Ghostfolio** is an open source wealth management software built with web technology. The application empowers busy people to keep track of stocks, ETFs or cryptocurrencies and make solid, data-driven investment decisions. The software is designed for personal use in continuous operation. -
- - +
+ +[Preview image of the Ghostfolio video trailer](https://www.youtube.com/watch?v=yY6ObSQVJZk) +
## Ghostfolio Premium @@ -63,8 +55,10 @@ Ghostfolio is for you if you are... - ✅ Zen Mode - ✅ Progressive Web App (PWA) with a mobile-first design -
- +
+ +Image of a phone showing the Ghostfolio app open +
## Technology Stack @@ -84,13 +78,9 @@ The frontend is built with [Angular](https://angular.io) and uses [Angular Mater We provide official container images hosted on [Docker Hub](https://hub.docker.com/r/ghostfolio/ghostfolio) for `linux/amd64` and `linux/arm64`.
- - Buy me a coffee button - + +[Buy me a coffee button](https://www.buymeacoffee.com/ghostfolio) +
### Supported Environment Variables @@ -175,10 +165,13 @@ Please follow the instructions of the Ghostfolio [Unraid Community App](https:// ### Start Server -
    -
  1. Debug: Run yarn watch:server and click "Launch Program" in Visual Studio Code
  2. -
  3. Serve: Run yarn start:server
  4. -
+#### Debug + +Run `yarn watch:server` and click _Launch Program_ in [Visual Studio Code](https://code.visualstudio.com) + +#### Serve + +Run `yarn start:server` ### Start Client @@ -278,7 +271,7 @@ Ghostfolio is **100% free** and **open source**. We encourage and support an act Not sure what to work on? We have got some ideas. Please join the Ghostfolio [Slack channel](https://join.slack.com/t/ghostfolio/shared_invite/zt-vsaan64h-F_I0fEo5M0P88lP9ibCxFg), tweet to [@ghostfolio\_](https://twitter.com/ghostfolio_) or send an e-mail to hi@ghostfol.io. We would love to hear from you. -If you like to support this project, get **[Ghostfolio Premium](https://ghostfol.io/en/pricing)** or **[Buy me a coffee](https://www.buymeacoffee.com/ghostfolio)**. +If you like to support this project, get [**Ghostfolio Premium**](https://ghostfol.io/en/pricing) or [**Buy me a coffee**](https://www.buymeacoffee.com/ghostfolio). ## License diff --git a/apps/api/src/app/info/info.service.ts b/apps/api/src/app/info/info.service.ts index 810611375..911243057 100644 --- a/apps/api/src/app/info/info.service.ts +++ b/apps/api/src/app/info/info.service.ts @@ -7,6 +7,7 @@ import { PropertyService } from '@ghostfolio/api/services/property/property.serv import { TagService } from '@ghostfolio/api/services/tag/tag.service'; import { DEMO_USER_ID, + PROPERTY_COUNTRIES_OF_SUBSCRIBERS, PROPERTY_IS_READ_ONLY_MODE, PROPERTY_SLACK_COMMUNITY_USERS, PROPERTY_STRIPE_CONFIG, @@ -92,6 +93,10 @@ export class InfoService { if (this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) { globalPermissions.push(permissions.enableSubscription); + info.countriesOfSubscribers = + ((await this.propertyService.getByKey( + PROPERTY_COUNTRIES_OF_SUBSCRIBERS + )) as string[]) ?? []; info.stripePublicKey = this.configurationService.get('STRIPE_PUBLIC_KEY'); } diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index 37fae84d7..67941f12b 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -1,5 +1,6 @@ import { AccountService } from '@ghostfolio/api/app/account/account.service'; import { CashDetails } from '@ghostfolio/api/app/account/interfaces/cash-details.interface'; +import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface'; import { OrderService } from '@ghostfolio/api/app/order/order.service'; import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service'; import { PortfolioOrder } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-order.interface'; @@ -597,7 +598,12 @@ export class PortfolioService { const summary = await this.getSummary({ impersonationId, userCurrency, - userId + userId, + balanceInBaseCurrency: cashDetails.balanceInBaseCurrency, + emergencyFundPositionsValueInBaseCurrency: + this.getEmergencyFundPositionsValueInBaseCurrency({ + activities: orders + }) }); return { @@ -910,12 +916,14 @@ export class PortfolioService { const positions = currentPositions.positions.filter( (item) => !item.quantity.eq(0) ); + const dataGatheringItem = positions.map((position) => { return { dataSource: position.dataSource, symbol: position.symbol }; }); + const symbols = positions.map((position) => position.symbol); const [dataProviderResponses, symbolProfiles] = await Promise.all([ @@ -1103,16 +1111,23 @@ export class PortfolioService { portfolioStart ); + const positions = currentPositions.positions.filter( + (item) => !item.quantity.eq(0) + ); + const portfolioItemsNow: { [symbol: string]: TimelinePosition } = {}; - for (const position of currentPositions.positions) { + + for (const position of positions) { portfolioItemsNow[position.symbol] = position; } + const accounts = await this.getValueOfAccounts({ orders, portfolioItemsNow, - userId, - userCurrency + userCurrency, + userId }); + return { rules: { accountClusterRisk: await this.rulesService.evaluate( @@ -1136,19 +1151,19 @@ export class PortfolioService { [ new CurrencyClusterRiskBaseCurrencyInitialInvestment( this.exchangeRateDataService, - currentPositions + positions ), new CurrencyClusterRiskBaseCurrencyCurrentInvestment( this.exchangeRateDataService, - currentPositions + positions ), new CurrencyClusterRiskInitialInvestment( this.exchangeRateDataService, - currentPositions + positions ), new CurrencyClusterRiskCurrentInvestment( this.exchangeRateDataService, - currentPositions + positions ) ], this.request.user.Settings.settings @@ -1158,7 +1173,7 @@ export class PortfolioService { new FeeRatioInitialInvestment( this.exchangeRateDataService, currentPositions.totalInvestment.toNumber(), - this.getFees({ orders, userCurrency }).toNumber() + this.getFees({ userCurrency, activities: orders }).toNumber() ) ], this.request.user.Settings.settings @@ -1245,26 +1260,27 @@ export class PortfolioService { } private getDividend({ + activities, date = new Date(0), - orders, userCurrency }: { + activities: OrderWithAccount[]; date?: Date; - orders: OrderWithAccount[]; + userCurrency: string; }) { - return orders - .filter((order) => { - // Filter out all orders before given date and type dividend + return activities + .filter((activity) => { + // Filter out all activities before given date and type dividend return ( - isBefore(date, new Date(order.date)) && - order.type === TypeOfOrder.DIVIDEND + isBefore(date, new Date(activity.date)) && + activity.type === TypeOfOrder.DIVIDEND ); }) - .map((order) => { + .map(({ quantity, SymbolProfile, unitPrice }) => { return this.exchangeRateDataService.toCurrency( - new Big(order.quantity).mul(order.unitPrice).toNumber(), - order.SymbolProfile.currency, + new Big(quantity).mul(unitPrice).toNumber(), + SymbolProfile.currency, userCurrency ); }) @@ -1336,24 +1352,56 @@ export class PortfolioService { return dividendsByGroup; } + private getEmergencyFundPositionsValueInBaseCurrency({ + activities + }: { + activities: Activity[]; + }) { + const emergencyFundOrders = activities.filter((activity) => { + return ( + activity.tags?.some(({ name }) => { + return name === 'EMERGENCY_FUND'; + }) ?? false + ); + }); + + let valueInBaseCurrencyOfEmergencyFundPositions = new Big(0); + + for (const order of emergencyFundOrders) { + if (order.type === 'BUY') { + valueInBaseCurrencyOfEmergencyFundPositions = + valueInBaseCurrencyOfEmergencyFundPositions.plus( + order.valueInBaseCurrency + ); + } else if (order.type === 'SELL') { + valueInBaseCurrencyOfEmergencyFundPositions = + valueInBaseCurrencyOfEmergencyFundPositions.minus( + order.valueInBaseCurrency + ); + } + } + + return valueInBaseCurrencyOfEmergencyFundPositions.toNumber(); + } + private getFees({ + activities, date = new Date(0), - orders, userCurrency }: { + activities: OrderWithAccount[]; date?: Date; - orders: OrderWithAccount[]; userCurrency: string; }) { - return orders - .filter((order) => { - // Filter out all orders before given date - return isBefore(date, new Date(order.date)); + return activities + .filter((activity) => { + // Filter out all activities before given date + return isBefore(date, new Date(activity.date)); }) - .map((order) => { + .map(({ fee, SymbolProfile }) => { return this.exchangeRateDataService.toCurrency( - order.fee, - order.SymbolProfile.currency, + fee, + SymbolProfile.currency, userCurrency ); }) @@ -1420,26 +1468,42 @@ export class PortfolioService { private getStartDate(aDateRange: DateRange, portfolioStart: Date) { switch (aDateRange) { case '1d': - portfolioStart = max([portfolioStart, subDays(new Date(), 1)]); + portfolioStart = max([ + portfolioStart, + subDays(new Date().setHours(0, 0, 0, 0), 1) + ]); break; case 'ytd': - portfolioStart = max([portfolioStart, setDayOfYear(new Date(), 1)]); + portfolioStart = max([ + portfolioStart, + setDayOfYear(new Date().setHours(0, 0, 0, 0), 1) + ]); break; case '1y': - portfolioStart = max([portfolioStart, subYears(new Date(), 1)]); + portfolioStart = max([ + portfolioStart, + subYears(new Date().setHours(0, 0, 0, 0), 1) + ]); break; case '5y': - portfolioStart = max([portfolioStart, subYears(new Date(), 5)]); + portfolioStart = max([ + portfolioStart, + subYears(new Date().setHours(0, 0, 0, 0), 5) + ]); break; } return portfolioStart; } private async getSummary({ + balanceInBaseCurrency, + emergencyFundPositionsValueInBaseCurrency, impersonationId, userCurrency, userId }: { + balanceInBaseCurrency: number; + emergencyFundPositionsValueInBaseCurrency: number; impersonationId: string; userCurrency: string; userId: string; @@ -1452,11 +1516,7 @@ export class PortfolioService { userId }); - const { balanceInBaseCurrency } = await this.accountService.getCashDetails({ - userId, - currency: userCurrency - }); - const orders = await this.orderService.getOrders({ + const activities = await this.orderService.getOrders({ userCurrency, userId }); @@ -1471,18 +1531,24 @@ export class PortfolioService { return account?.isExcluded ?? false; }); - const dividend = this.getDividend({ orders, userCurrency }).toNumber(); + const dividend = this.getDividend({ + activities, + userCurrency + }).toNumber(); const emergencyFund = new Big( (user.Settings?.settings as UserSettings)?.emergencyFund ?? 0 ); - const fees = this.getFees({ orders, userCurrency }).toNumber(); - const firstOrderDate = orders[0]?.date; - const items = this.getItems(orders).toNumber(); + const fees = this.getFees({ activities, userCurrency }).toNumber(); + const firstOrderDate = activities[0]?.date; + const items = this.getItems(activities).toNumber(); - const totalBuy = this.getTotalByType(orders, userCurrency, 'BUY'); - const totalSell = this.getTotalByType(orders, userCurrency, 'SELL'); + const totalBuy = this.getTotalByType(activities, userCurrency, 'BUY'); + const totalSell = this.getTotalByType(activities, userCurrency, 'SELL'); - const cash = new Big(balanceInBaseCurrency).minus(emergencyFund).toNumber(); + const cash = new Big(balanceInBaseCurrency) + .minus(emergencyFund) + .plus(emergencyFundPositionsValueInBaseCurrency) + .toNumber(); const committedFunds = new Big(totalBuy).minus(totalSell); const totalOfExcludedActivities = new Big( this.getTotalByType(excludedActivities, userCurrency, 'BUY') @@ -1538,8 +1604,8 @@ export class PortfolioService { totalSell, committedFunds: committedFunds.toNumber(), emergencyFund: emergencyFund.toNumber(), - ordersCount: orders.filter((order) => { - return order.type === 'BUY' || order.type === 'SELL'; + ordersCount: activities.filter(({ type }) => { + return type === 'BUY' || type === 'SELL'; }).length }; } @@ -1556,7 +1622,7 @@ export class PortfolioService { withExcludedAccounts?: boolean; }): Promise<{ transactionPoints: TransactionPoint[]; - orders: OrderWithAccount[]; + orders: Activity[]; portfolioOrders: PortfolioOrder[]; }> { const userCurrency = @@ -1682,7 +1748,7 @@ export class PortfolioService { for (const order of ordersByAccount) { let currentValueOfSymbolInBaseCurrency = order.quantity * - portfolioItemsNow[order.SymbolProfile.symbol].marketPrice; + portfolioItemsNow[order.SymbolProfile.symbol]?.marketPrice ?? 0; let originalValueOfSymbolInBaseCurrency = this.exchangeRateDataService.toCurrency( order.quantity * order.unitPrice, diff --git a/apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts b/apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts index 5f1f4cf93..1d584b04f 100644 --- a/apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts +++ b/apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts @@ -1,14 +1,13 @@ -import { CurrentPositions } from '@ghostfolio/api/app/portfolio/interfaces/current-positions.interface'; import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service'; -import { UserSettings } from '@ghostfolio/common/interfaces'; +import { TimelinePosition, UserSettings } from '@ghostfolio/common/interfaces'; import { Rule } from '../../rule'; export class CurrencyClusterRiskBaseCurrencyCurrentInvestment extends Rule { public constructor( protected exchangeRateDataService: ExchangeRateDataService, - private currentPositions: CurrentPositions + private positions: TimelinePosition[] ) { super(exchangeRateDataService, { name: 'Current Investment: Base Currency' @@ -17,7 +16,7 @@ export class CurrencyClusterRiskBaseCurrencyCurrentInvestment extends Rule { public constructor( protected exchangeRateDataService: ExchangeRateDataService, - private currentPositions: CurrentPositions + private positions: TimelinePosition[] ) { super(exchangeRateDataService, { name: 'Initial Investment: Base Currency' @@ -17,7 +16,7 @@ export class CurrencyClusterRiskBaseCurrencyInitialInvestment extends Rule { public constructor( - public exchangeRateDataService: ExchangeRateDataService, - private currentPositions: CurrentPositions + protected exchangeRateDataService: ExchangeRateDataService, + private positions: TimelinePosition[] ) { super(exchangeRateDataService, { name: 'Current Investment' @@ -17,7 +16,7 @@ export class CurrencyClusterRiskCurrentInvestment extends Rule { public evaluate(ruleSettings: Settings) { const positionsGroupedByCurrency = this.groupCurrentPositionsByAttribute( - this.currentPositions.positions, + this.positions, 'currency', ruleSettings.baseCurrency ); diff --git a/apps/api/src/models/rules/currency-cluster-risk/initial-investment.ts b/apps/api/src/models/rules/currency-cluster-risk/initial-investment.ts index 331074f16..18477f6f7 100644 --- a/apps/api/src/models/rules/currency-cluster-risk/initial-investment.ts +++ b/apps/api/src/models/rules/currency-cluster-risk/initial-investment.ts @@ -1,14 +1,13 @@ -import { CurrentPositions } from '@ghostfolio/api/app/portfolio/interfaces/current-positions.interface'; import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service'; -import { UserSettings } from '@ghostfolio/common/interfaces'; +import { TimelinePosition, UserSettings } from '@ghostfolio/common/interfaces'; import { Rule } from '../../rule'; export class CurrencyClusterRiskInitialInvestment extends Rule { public constructor( protected exchangeRateDataService: ExchangeRateDataService, - private currentPositions: CurrentPositions + private positions: TimelinePosition[] ) { super(exchangeRateDataService, { name: 'Initial Investment' @@ -17,7 +16,7 @@ export class CurrencyClusterRiskInitialInvestment extends Rule { public evaluate(ruleSettings: Settings) { const positionsGroupedByCurrency = this.groupCurrentPositionsByAttribute( - this.currentPositions.positions, + this.positions, 'currency', ruleSettings.baseCurrency ); diff --git a/apps/client/src/app/app.component.scss b/apps/client/src/app/app.component.scss index ab7878d73..6d6ac0639 100644 --- a/apps/client/src/app/app.component.scss +++ b/apps/client/src/app/app.component.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/access-table/access-table.component.scss b/apps/client/src/app/components/access-table/access-table.component.scss index ad5f401f6..f506edfc6 100644 --- a/apps/client/src/app/components/access-table/access-table.component.scss +++ b/apps/client/src/app/components/access-table/access-table.component.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/accounts-table/accounts-table.component.scss b/apps/client/src/app/components/accounts-table/accounts-table.component.scss index cd8d01321..ccb23a20e 100644 --- a/apps/client/src/app/components/accounts-table/accounts-table.component.scss +++ b/apps/client/src/app/components/accounts-table/accounts-table.component.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/admin-jobs/admin-jobs.scss b/apps/client/src/app/components/admin-jobs/admin-jobs.scss index b97d286cc..b5b58f67e 100644 --- a/apps/client/src/app/components/admin-jobs/admin-jobs.scss +++ b/apps/client/src/app/components/admin-jobs/admin-jobs.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.scss b/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.scss index 13db0835b..a922b5d69 100644 --- a/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.scss +++ b/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.scss b/apps/client/src/app/components/admin-market-data/admin-market-data.scss index b97d286cc..b5b58f67e 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.scss +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/admin-overview/admin-overview.scss b/apps/client/src/app/components/admin-overview/admin-overview.scss index f44df0eba..0481f246f 100644 --- a/apps/client/src/app/components/admin-overview/admin-overview.scss +++ b/apps/client/src/app/components/admin-overview/admin-overview.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/admin-users/admin-users.scss b/apps/client/src/app/components/admin-users/admin-users.scss index a3916f727..8dce735ff 100644 --- a/apps/client/src/app/components/admin-users/admin-users.scss +++ b/apps/client/src/app/components/admin-users/admin-users.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/header/header.component.scss b/apps/client/src/app/components/header/header.component.scss index 32d125703..b78df5e63 100644 --- a/apps/client/src/app/components/header/header.component.scss +++ b/apps/client/src/app/components/header/header.component.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/home-holdings/home-holdings.scss b/apps/client/src/app/components/home-holdings/home-holdings.scss index b97d286cc..b5b58f67e 100644 --- a/apps/client/src/app/components/home-holdings/home-holdings.scss +++ b/apps/client/src/app/components/home-holdings/home-holdings.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/home-market/home-market.scss b/apps/client/src/app/components/home-market/home-market.scss index 2d7ffa0dd..f9e5e6275 100644 --- a/apps/client/src/app/components/home-market/home-market.scss +++ b/apps/client/src/app/components/home-market/home-market.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/home-overview/home-overview.scss b/apps/client/src/app/components/home-overview/home-overview.scss index ac86f6909..ab13a3ee2 100644 --- a/apps/client/src/app/components/home-overview/home-overview.scss +++ b/apps/client/src/app/components/home-overview/home-overview.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/home-summary/home-summary.scss b/apps/client/src/app/components/home-summary/home-summary.scss index b97d286cc..b5b58f67e 100644 --- a/apps/client/src/app/components/home-summary/home-summary.scss +++ b/apps/client/src/app/components/home-summary/home-summary.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/investment-chart/investment-chart.component.ts b/apps/client/src/app/components/investment-chart/investment-chart.component.ts index bd4d7ceeb..65ecbabb8 100644 --- a/apps/client/src/app/components/investment-chart/investment-chart.component.ts +++ b/apps/client/src/app/components/investment-chart/investment-chart.component.ts @@ -199,7 +199,10 @@ export class InvestmentChartComponent implements OnChanges, OnDestroy { this.getTooltipPluginConfiguration() ); this.chart.options.scales.x.min = this.daysInMarket - ? subDays(new Date(), this.daysInMarket).toISOString() + ? subDays( + new Date().setHours(0, 0, 0, 0), + this.daysInMarket + ).toISOString() : undefined; if ( diff --git a/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts b/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts index 8d19b846e..870971cbc 100644 --- a/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts +++ b/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts @@ -125,7 +125,12 @@ export class PositionDetailDialog implements OnDestroy, OnInit { this.quantity = quantity; this.sectors = {}; this.SymbolProfile = SymbolProfile; - this.tags = tags; + this.tags = tags.map(({ id, name }) => { + return { + id, + name: translate(name) + }; + }); this.transactionCount = transactionCount; this.value = value; diff --git a/apps/client/src/app/components/positions/positions.component.scss b/apps/client/src/app/components/positions/positions.component.scss index 1f1d20bcc..90eff65ea 100644 --- a/apps/client/src/app/components/positions/positions.component.scss +++ b/apps/client/src/app/components/positions/positions.component.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/apps/client/src/app/components/world-map-chart/world-map-chart.component.ts b/apps/client/src/app/components/world-map-chart/world-map-chart.component.ts index 22e4adc66..9d7c61d62 100644 --- a/apps/client/src/app/components/world-map-chart/world-map-chart.component.ts +++ b/apps/client/src/app/components/world-map-chart/world-map-chart.component.ts @@ -7,6 +7,7 @@ import { OnDestroy, OnInit } from '@angular/core'; +import { getNumberFormatGroup } from '@ghostfolio/common/helper'; import svgMap from 'svgmap'; @Component({ @@ -16,9 +17,10 @@ import svgMap from 'svgmap'; styleUrls: ['./world-map-chart.component.scss'] }) export class WorldMapChartComponent implements OnChanges, OnDestroy, OnInit { - @Input() baseCurrency: string; - @Input() countries: { [code: string]: { name: string; value: number } }; + @Input() countries: { [code: string]: { name?: string; value: number } }; + @Input() format: string; @Input() isInPercent = false; + @Input() locale: string; public isLoading = true; public svgMapElement; @@ -71,7 +73,8 @@ export class WorldMapChartComponent implements OnChanges, OnDestroy, OnInit { applyData: 'value', data: { value: { - format: this.isInPercent ? `{0}%` : `{0} ${this.baseCurrency}` + format: this.format, + thousandSeparator: getNumberFormatGroup(this.locale) } }, values: this.countries diff --git a/apps/client/src/app/pages/account/account-page.html b/apps/client/src/app/pages/account/account-page.html index 7746ba902..a3f69f2c5 100644 --- a/apps/client/src/app/pages/account/account-page.html +++ b/apps/client/src/app/pages/account/account-page.html @@ -24,8 +24,8 @@ >
- Valid until {{ user?.subscription?.expiresAt | date: - defaultDateFormat }} + Valid until {{ + user?.subscription?.expiresAt | date: defaultDateFormat }}
@@ -135,10 +135,10 @@ >Español (Community) - + > Italiano (Community)

Multi-Language

- Use Ghostfolio in multiple languages: English, - Dutch, Français, + Use Ghostfolio in multiple languages: English, Dutch, French, German, Italian, Portuguese diff --git a/apps/client/src/app/pages/home/home-page.scss b/apps/client/src/app/pages/home/home-page.scss index ecb03cf29..dbb6dd2d6 100644 --- a/apps/client/src/app/pages/home/home-page.scss +++ b/apps/client/src/app/pages/home/home-page.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { color: rgb(var(--dark-primary-text)); diff --git a/apps/client/src/app/pages/landing/landing-page.component.ts b/apps/client/src/app/pages/landing/landing-page.component.ts index f8c2c6a23..f4a80c652 100644 --- a/apps/client/src/app/pages/landing/landing-page.component.ts +++ b/apps/client/src/app/pages/landing/landing-page.component.ts @@ -13,10 +13,14 @@ import { Subject } from 'rxjs'; templateUrl: './landing-page.html' }) export class LandingPageComponent implements OnDestroy, OnInit { + public countriesOfSubscribersMap: { + [code: string]: { value: number }; + } = {}; public currentYear = format(new Date(), 'yyyy'); public demoAuthToken: string; public deviceType: string; public hasPermissionForStatistics: boolean; + public hasPermissionForSubscription: boolean; public hasPermissionToCreateUser: boolean; public statistics: Statistics; public testimonials = [ @@ -48,13 +52,25 @@ export class LandingPageComponent implements OnDestroy, OnInit { private dataService: DataService, private deviceService: DeviceDetectorService ) { - const { globalPermissions, statistics } = this.dataService.fetchInfo(); + const { countriesOfSubscribers, globalPermissions, statistics } = + this.dataService.fetchInfo(); + + for (const country of countriesOfSubscribers) { + this.countriesOfSubscribersMap[country] = { + value: 1 + }; + } this.hasPermissionForStatistics = hasPermission( globalPermissions, permissions.enableStatistics ); + this.hasPermissionForSubscription = hasPermission( + globalPermissions, + permissions.enableSubscription + ); + this.hasPermissionToCreateUser = hasPermission( globalPermissions, permissions.createUserAccount diff --git a/apps/client/src/app/pages/landing/landing-page.html b/apps/client/src/app/pages/landing/landing-page.html index 0c8f20bce..64f943f3c 100644 --- a/apps/client/src/app/pages/landing/landing-page.html +++ b/apps/client/src/app/pages/landing/landing-page.html @@ -269,6 +269,21 @@

+
+
+

+ Members from around the globe are using + Ghostfolio Premium +

+
+
+ +
+
+

diff --git a/apps/client/src/app/pages/landing/landing-page.module.ts b/apps/client/src/app/pages/landing/landing-page.module.ts index 37c67f270..9a3f02cce 100644 --- a/apps/client/src/app/pages/landing/landing-page.module.ts +++ b/apps/client/src/app/pages/landing/landing-page.module.ts @@ -3,6 +3,7 @@ import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; import { RouterModule } from '@angular/router'; +import { GfWorldMapChartModule } from '@ghostfolio/client/components/world-map-chart/world-map-chart.module'; import { GfLogoModule } from '@ghostfolio/ui/logo'; import { GfValueModule } from '@ghostfolio/ui/value'; @@ -15,6 +16,7 @@ import { LandingPageComponent } from './landing-page.component'; CommonModule, GfLogoModule, GfValueModule, + GfWorldMapChartModule, LandingPageRoutingModule, MatButtonModule, MatCardModule, diff --git a/apps/client/src/app/pages/landing/landing-page.scss b/apps/client/src/app/pages/landing/landing-page.scss index bb0b66394..bbc3c587a 100644 --- a/apps/client/src/app/pages/landing/landing-page.scss +++ b/apps/client/src/app/pages/landing/landing-page.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; @@ -9,6 +9,10 @@ } } + .customer-map-container { + aspect-ratio: 16 / 9; + } + .downloads { img { height: 2.5rem; diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts index d4a876bc7..8b967ab0e 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts @@ -83,7 +83,12 @@ export class CreateOrUpdateActivityDialog implements OnDestroy { this.currencies = currencies; this.platforms = platforms; - this.tags = tags; + this.tags = tags.map(({ id, name }) => { + return { + id, + name: translate(name) + }; + }); this.activityForm = this.formBuilder.group({ accountId: [this.data.activity?.accountId, Validators.required], @@ -114,7 +119,14 @@ export class CreateOrUpdateActivityDialog implements OnDestroy { }, Validators.required ], - tags: [this.data.activity?.tags], + tags: [ + this.data.activity?.tags?.map(({ id, name }) => { + return { + id, + name: translate(name) + }; + }) + ], type: [undefined, Validators.required], // Set after value changes subscription unitPrice: [this.data.activity?.unitPrice, Validators.required] }); diff --git a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts index 77ef8dfe8..e72b7cde3 100644 --- a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -56,6 +56,7 @@ export class ImportActivitiesDialog implements OnDestroy { this.data?.activityTypes?.[0] === 'DIVIDEND' ) { this.mode = 'DIVIDEND'; + this.uniqueAssetForm.controls['uniqueAsset'].disable(); this.dataService .fetchPositions({ @@ -72,6 +73,7 @@ export class ImportActivitiesDialog implements OnDestroy { this.holdings = sortBy(positions, ({ name }) => { return name.toLowerCase(); }); + this.uniqueAssetForm.controls['uniqueAsset'].enable(); this.changeDetectorRef.markForCheck(); }); @@ -111,6 +113,8 @@ export class ImportActivitiesDialog implements OnDestroy { } public onLoadDividends() { + this.uniqueAssetForm.controls['uniqueAsset'].disable(); + const { dataSource, symbol } = this.uniqueAssetForm.controls['uniqueAsset'].value; diff --git a/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts b/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts index ea0f65ac0..6a5a57c82 100644 --- a/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts +++ b/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts @@ -84,6 +84,7 @@ export class AllocationsPageComponent implements OnDestroy, OnInit { }; public user: User; + public worldMapChartFormat: string; private unsubscribeSubject = new Subject(); @@ -182,7 +183,7 @@ export class AllocationsPageComponent implements OnDestroy, OnInit { const tagFilters: Filter[] = this.user.tags.map(({ id, name }) => { return { id, - label: name, + label: translate(name), type: 'TAG' }; }); @@ -193,6 +194,11 @@ export class AllocationsPageComponent implements OnDestroy, OnInit { ...tagFilters ]; + this.worldMapChartFormat = + this.hasImpersonationId || this.user.settings.isRestrictedView + ? `{0}%` + : `{0} ${this.user?.settings?.baseCurrency}`; + this.changeDetectorRef.markForCheck(); } }); diff --git a/apps/client/src/app/pages/portfolio/allocations/allocations-page.html b/apps/client/src/app/pages/portfolio/allocations/allocations-page.html index 43d838808..78d86d182 100644 --- a/apps/client/src/app/pages/portfolio/allocations/allocations-page.html +++ b/apps/client/src/app/pages/portfolio/allocations/allocations-page.html @@ -257,9 +257,10 @@
diff --git a/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts b/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts index 84a0be896..e91c13a11 100644 --- a/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts +++ b/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts @@ -159,7 +159,7 @@ export class AnalysisPageComponent implements OnDestroy, OnInit { const tagFilters: Filter[] = this.user.tags.map(({ id, name }) => { return { id, - label: name, + label: translate(name), type: 'TAG' }; }); diff --git a/apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts b/apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts index 16f96a700..64fe3d7c5 100644 --- a/apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts +++ b/apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts @@ -138,7 +138,7 @@ export class HoldingsPageComponent implements OnDestroy, OnInit { const tagFilters: Filter[] = this.user.tags.map(({ id, name }) => { return { id, - label: name, + label: translate(name), type: 'TAG' }; }); diff --git a/apps/client/src/app/pages/portfolio/portfolio-page.scss b/apps/client/src/app/pages/portfolio/portfolio-page.scss index b5471d5ce..535b5af50 100644 --- a/apps/client/src/app/pages/portfolio/portfolio-page.scss +++ b/apps/client/src/app/pages/portfolio/portfolio-page.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { color: rgb(var(--dark-primary-text)); diff --git a/apps/client/src/app/pages/zen/zen-page.scss b/apps/client/src/app/pages/zen/zen-page.scss index 73e482c91..4a0154291 100644 --- a/apps/client/src/app/pages/zen/zen-page.scss +++ b/apps/client/src/app/pages/zen/zen-page.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { color: rgb(var(--dark-primary-text)); diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf index 3bbf3db34..2d4a87fb7 100644 --- a/apps/client/src/locales/messages.de.xlf +++ b/apps/client/src/locales/messages.de.xlf @@ -182,7 +182,7 @@ libs/ui/src/lib/activities-table/activities-table.component.html - 426 + 434 @@ -202,7 +202,7 @@ libs/ui/src/lib/activities-table/activities-table.component.html - 442 + 450 @@ -386,7 +386,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 87,91 + 116,120 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -894,7 +894,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 27,29 + 54,56 apps/client/src/app/pages/register/register-page.html @@ -1262,7 +1262,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 66,62 + 107,103 @@ -1974,7 +1974,7 @@ Daten importieren... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 48 + 89 @@ -1982,7 +1982,7 @@ Der Import wurde abgeschlossen apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 55,54 + 96,95 @@ -2130,7 +2130,7 @@ Aktivitäten exportieren libs/ui/src/lib/activities-table/activities-table.component.html - 399 + 407 @@ -2138,7 +2138,7 @@ Geplante Aktivitäten als ICS exportieren libs/ui/src/lib/activities-table/activities-table.component.html - 409 + 417 @@ -2146,7 +2146,7 @@ Kopieren libs/ui/src/lib/activities-table/activities-table.component.html - 430 + 438 @@ -2154,7 +2154,7 @@ Geplante Aktivität als ICS exportieren libs/ui/src/lib/activities-table/activities-table.component.html - 438 + 446 @@ -2162,7 +2162,7 @@ Möchtest du diese Aktivität wirklich löschen? libs/ui/src/lib/activities-table/activities-table.component.ts - 196 + 198 @@ -2274,7 +2274,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 65,62 + 106,103 @@ -2286,7 +2286,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 63 + 104 @@ -2378,7 +2378,7 @@ Entwickelte Länder apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 271 + 272 apps/client/src/app/pages/public/public-page.html @@ -2390,7 +2390,7 @@ Schwellenländer apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 280 + 281 apps/client/src/app/pages/public/public-page.html @@ -2402,7 +2402,7 @@ Andere Länder apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 289 + 290 apps/client/src/app/pages/public/public-page.html @@ -2458,7 +2458,7 @@ apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 59 + 60 libs/ui/src/lib/fire-calculator/fire-calculator.component.ts @@ -2526,11 +2526,11 @@ Filtern nach Konto oder Tag... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 136 + 137 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 111 + 123 apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts @@ -2542,7 +2542,7 @@ Filtern nach Konto, Währung, Symbol oder Typ... libs/ui/src/lib/activities-table/activities-table.component.ts - 376 + 387 @@ -2690,7 +2690,7 @@ Sparrate apps/client/src/app/components/investment-chart/investment-chart.component.ts - 230 + 242 @@ -2714,7 +2714,7 @@ Symbol libs/ui/src/lib/i18n.ts - 10 + 16 @@ -2722,7 +2722,7 @@ Tag libs/ui/src/lib/i18n.ts - 11 + 17 @@ -2730,7 +2730,7 @@ Bargeld libs/ui/src/lib/i18n.ts - 14 + 20 @@ -2738,7 +2738,7 @@ Rohstoff libs/ui/src/lib/i18n.ts - 15 + 21 @@ -2746,7 +2746,7 @@ Anteilskapital libs/ui/src/lib/i18n.ts - 16 + 22 @@ -2754,7 +2754,7 @@ Feste Einkünfte libs/ui/src/lib/i18n.ts - 17 + 23 @@ -2762,7 +2762,7 @@ Immobilien libs/ui/src/lib/i18n.ts - 18 + 24 @@ -2770,7 +2770,7 @@ Anleihe libs/ui/src/lib/i18n.ts - 21 + 27 @@ -2778,7 +2778,7 @@ Kryptowährung libs/ui/src/lib/i18n.ts - 22 + 28 @@ -2786,7 +2786,7 @@ ETF libs/ui/src/lib/i18n.ts - 23 + 29 @@ -2794,7 +2794,7 @@ Investmentfonds libs/ui/src/lib/i18n.ts - 24 + 30 @@ -2802,7 +2802,7 @@ Edelmetall libs/ui/src/lib/i18n.ts - 25 + 31 @@ -2810,7 +2810,7 @@ Privates Beteiligungskapital libs/ui/src/lib/i18n.ts - 26 + 32 @@ -2818,7 +2818,7 @@ Aktie libs/ui/src/lib/i18n.ts - 27 + 33 @@ -2826,7 +2826,7 @@ Notfallfonds libs/ui/src/lib/i18n.ts - 7 + 8 @@ -2834,7 +2834,7 @@ Andere libs/ui/src/lib/i18n.ts - 8 + 12 libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts @@ -2858,7 +2858,7 @@ Nordamerika libs/ui/src/lib/i18n.ts - 33 + 39 @@ -2866,7 +2866,7 @@ Afrika libs/ui/src/lib/i18n.ts - 30 + 36 @@ -2874,7 +2874,7 @@ Asien libs/ui/src/lib/i18n.ts - 31 + 37 @@ -2882,7 +2882,7 @@ Europa libs/ui/src/lib/i18n.ts - 32 + 38 @@ -2890,7 +2890,7 @@ Ozeanien libs/ui/src/lib/i18n.ts - 34 + 40 @@ -2898,7 +2898,7 @@ Südamerika libs/ui/src/lib/i18n.ts - 35 + 41 @@ -2906,7 +2906,7 @@ Datei auswählen apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 18,21 + 43,46 @@ -2914,7 +2914,7 @@ Folgende Dateiformate werden unterstützt: apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 21,23 + 47,50 @@ -2922,7 +2922,7 @@ Zurück apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 79,83 + 108,112 @@ -2932,6 +2932,10 @@ apps/client/src/app/pages/account/account-page.html 135 + + apps/client/src/app/pages/account/account-page.html + 139 + apps/client/src/app/pages/account/account-page.html 143 @@ -3002,7 +3006,7 @@ Daten validieren... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 86 + 147 @@ -3010,7 +3014,7 @@ Importieren apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 94,99 + 123,128 @@ -3018,7 +3022,7 @@ Wertschriften libs/ui/src/lib/i18n.ts - 9 + 15 @@ -3053,6 +3057,94 @@ 28 + + Holding + Position + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 13,15 + + + + Load Dividends + Dividenden laden + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 29,33 + + + + Yearly + Jährlich + + apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts + 55 + + + + Import Dividends + Dividenden importieren + + libs/ui/src/lib/activities-table/activities-table.component.html + 397 + + + + Valid until + Gültig bis + + apps/client/src/app/pages/account/account-page.html + 27 + + + + Core + Kern + + libs/ui/src/lib/i18n.ts + 7 + + + + Grant + Zuwendung + + libs/ui/src/lib/i18n.ts + 9 + + + + Higher Risk + Höheres Risiko + + libs/ui/src/lib/i18n.ts + 10 + + + + Lower Risk + Geringeres Risiko + + libs/ui/src/lib/i18n.ts + 11 + + + + Retirement Provision + Altersvorsorge + + libs/ui/src/lib/i18n.ts + 13 + + + + Satellite + Satellit + + libs/ui/src/lib/i18n.ts + 14 + + diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf index 1edda8478..10c99138e 100644 --- a/apps/client/src/locales/messages.es.xlf +++ b/apps/client/src/locales/messages.es.xlf @@ -183,7 +183,7 @@ libs/ui/src/lib/activities-table/activities-table.component.html - 426 + 434 @@ -203,7 +203,7 @@ libs/ui/src/lib/activities-table/activities-table.component.html - 442 + 450 @@ -387,7 +387,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 87,91 + 116,120 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -895,7 +895,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 27,29 + 54,56 apps/client/src/app/pages/register/register-page.html @@ -1263,7 +1263,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 66,62 + 107,103 @@ -1975,7 +1975,7 @@ Importando datos... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 48 + 89 @@ -1983,7 +1983,7 @@ La importación se ha completado apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 55,54 + 96,95 @@ -2131,7 +2131,7 @@ Exportar operaciones libs/ui/src/lib/activities-table/activities-table.component.html - 399 + 407 @@ -2139,7 +2139,7 @@ Exportar borrador como ICS libs/ui/src/lib/activities-table/activities-table.component.html - 409 + 417 @@ -2147,7 +2147,7 @@ Clonar libs/ui/src/lib/activities-table/activities-table.component.html - 430 + 438 @@ -2155,7 +2155,7 @@ Exportar borrador como ICS libs/ui/src/lib/activities-table/activities-table.component.html - 438 + 446 @@ -2163,7 +2163,7 @@ ¿Estás seguro de eliminar esta operación? libs/ui/src/lib/activities-table/activities-table.component.ts - 196 + 198 @@ -2271,7 +2271,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 63 + 104 @@ -2287,7 +2287,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 65,62 + 106,103 @@ -2303,7 +2303,7 @@ Mercados desarrollados apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 271 + 272 apps/client/src/app/pages/public/public-page.html @@ -2351,7 +2351,7 @@ Otros mercados apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 289 + 290 apps/client/src/app/pages/public/public-page.html @@ -2363,7 +2363,7 @@ Mercados emergentes apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 280 + 281 apps/client/src/app/pages/public/public-page.html @@ -2459,7 +2459,7 @@ apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 59 + 60 libs/ui/src/lib/fire-calculator/fire-calculator.component.ts @@ -2519,11 +2519,11 @@ Filtrar por cuenta o etiqueta... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 136 + 137 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 111 + 123 apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts @@ -2543,7 +2543,7 @@ Filtrar por cuenta, divisa, símbolo o tipo... libs/ui/src/lib/activities-table/activities-table.component.ts - 376 + 387 @@ -2691,7 +2691,7 @@ Tasa de ahorro apps/client/src/app/components/investment-chart/investment-chart.component.ts - 230 + 242 @@ -2715,7 +2715,7 @@ Símbolo libs/ui/src/lib/i18n.ts - 10 + 16 @@ -2723,7 +2723,7 @@ Etiqueta libs/ui/src/lib/i18n.ts - 11 + 17 @@ -2731,7 +2731,7 @@ Efectivo libs/ui/src/lib/i18n.ts - 14 + 20 @@ -2739,7 +2739,7 @@ Bien libs/ui/src/lib/i18n.ts - 15 + 21 @@ -2747,7 +2747,7 @@ Capital libs/ui/src/lib/i18n.ts - 16 + 22 @@ -2755,7 +2755,7 @@ Renta fija libs/ui/src/lib/i18n.ts - 17 + 23 @@ -2763,7 +2763,7 @@ Propiedad inmobiliaria libs/ui/src/lib/i18n.ts - 18 + 24 @@ -2771,7 +2771,7 @@ Bono libs/ui/src/lib/i18n.ts - 21 + 27 @@ -2779,7 +2779,7 @@ Criptomoneda libs/ui/src/lib/i18n.ts - 22 + 28 @@ -2787,7 +2787,7 @@ ETF libs/ui/src/lib/i18n.ts - 23 + 29 @@ -2795,7 +2795,7 @@ Fondo de inversión libs/ui/src/lib/i18n.ts - 24 + 30 @@ -2803,7 +2803,7 @@ Metal precioso libs/ui/src/lib/i18n.ts - 25 + 31 @@ -2811,7 +2811,7 @@ Capital riesgo libs/ui/src/lib/i18n.ts - 26 + 32 @@ -2819,7 +2819,7 @@ Acción libs/ui/src/lib/i18n.ts - 27 + 33 @@ -2827,7 +2827,7 @@ Fondo de emergencia libs/ui/src/lib/i18n.ts - 7 + 8 @@ -2835,7 +2835,7 @@ Otros libs/ui/src/lib/i18n.ts - 8 + 12 libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts @@ -2859,7 +2859,7 @@ América del Norte libs/ui/src/lib/i18n.ts - 33 + 39 @@ -2867,7 +2867,7 @@ África libs/ui/src/lib/i18n.ts - 30 + 36 @@ -2875,7 +2875,7 @@ Asia libs/ui/src/lib/i18n.ts - 31 + 37 @@ -2883,7 +2883,7 @@ Europa libs/ui/src/lib/i18n.ts - 32 + 38 @@ -2891,7 +2891,7 @@ Oceanía libs/ui/src/lib/i18n.ts - 34 + 40 @@ -2899,7 +2899,7 @@ América del Sur libs/ui/src/lib/i18n.ts - 35 + 41 @@ -2907,7 +2907,7 @@ Elegir archivo apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 18,21 + 43,46 @@ -2915,7 +2915,7 @@ Los siguientes formatos de archivo están soportados: apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 21,23 + 47,50 @@ -2923,7 +2923,7 @@ Volver apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 79,83 + 108,112 @@ -2933,6 +2933,10 @@ apps/client/src/app/pages/account/account-page.html 135 + + apps/client/src/app/pages/account/account-page.html + 139 + apps/client/src/app/pages/account/account-page.html 143 @@ -3003,7 +3007,7 @@ Validating data... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 86 + 147 @@ -3011,7 +3015,7 @@ Import apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 94,99 + 123,128 @@ -3019,7 +3023,7 @@ Securities libs/ui/src/lib/i18n.ts - 9 + 15 @@ -3054,6 +3058,94 @@ 28 + + Holding + Holding + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 13,15 + + + + Load Dividends + Load Dividends + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 29,33 + + + + Yearly + Yearly + + apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts + 55 + + + + Import Dividends + Import Dividends + + libs/ui/src/lib/activities-table/activities-table.component.html + 397 + + + + Valid until + Valid until + + apps/client/src/app/pages/account/account-page.html + 27 + + + + Core + Core + + libs/ui/src/lib/i18n.ts + 7 + + + + Grant + Grant + + libs/ui/src/lib/i18n.ts + 9 + + + + Higher Risk + Higher Risk + + libs/ui/src/lib/i18n.ts + 10 + + + + Lower Risk + Lower Risk + + libs/ui/src/lib/i18n.ts + 11 + + + + Retirement Provision + Retirement Provision + + libs/ui/src/lib/i18n.ts + 13 + + + + Satellite + Satellite + + libs/ui/src/lib/i18n.ts + 14 + + diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf index bba7af614..400b0bddc 100644 --- a/apps/client/src/locales/messages.fr.xlf +++ b/apps/client/src/locales/messages.fr.xlf @@ -3,7 +3,7 @@ The risk of loss in trading can be substantial. It is not advisable to invest money you may need in the short term. - The risk of loss in trading can be substantial. It is not advisable to invest money you may need in the short term. + Le risque de perte en investissant peut être important. Il est déconseillé d'investir de l'argent dont vous pourriez avoir besoin à court terme. apps/client/src/app/app.component.html 56,57 @@ -11,7 +11,7 @@ Alias - Alias + Alias apps/client/src/app/components/access-table/access-table.component.html 3 @@ -23,7 +23,7 @@ Grantee - Grantee + Bénéficiaire apps/client/src/app/components/access-table/access-table.component.html 10 @@ -31,7 +31,7 @@ Type - Type + Type apps/client/src/app/components/access-table/access-table.component.html 17 @@ -59,7 +59,7 @@ Details - Details + Détails apps/client/src/app/components/access-table/access-table.component.html 27 @@ -67,7 +67,7 @@ Revoke - Revoke + Révoquer apps/client/src/app/components/access-table/access-table.component.html 54 @@ -75,7 +75,7 @@ Do you really want to revoke this granted access? - Do you really want to revoke this granted access? + Voulez-vous vraiment révoquer cet accès ? apps/client/src/app/components/access-table/access-table.component.ts 49 @@ -83,7 +83,7 @@ Account Type - Account Type + Type de Compte apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html 25 @@ -91,7 +91,7 @@ Platform - Platform + Plateforme apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html 29 @@ -107,7 +107,7 @@ Activities - Activities + Activités apps/client/src/app/components/account-detail-dialog/account-detail-dialog.html 35 @@ -135,7 +135,7 @@ Name - Name + Nom apps/client/src/app/components/accounts-table/accounts-table.component.html 22 @@ -159,7 +159,7 @@ Total - Total + Total apps/client/src/app/components/accounts-table/accounts-table.component.html 38 @@ -171,7 +171,7 @@ Currency - Currency + Devise apps/client/src/app/components/accounts-table/accounts-table.component.html 48 @@ -195,7 +195,7 @@ Cash Balance - Cash Balance + Balance Cash apps/client/src/app/components/accounts-table/accounts-table.component.html 112 @@ -207,7 +207,7 @@ Value - Value + Valeur apps/client/src/app/components/accounts-table/accounts-table.component.html 147 @@ -235,19 +235,19 @@ Edit - Edit + Modifier apps/client/src/app/components/accounts-table/accounts-table.component.html 224 libs/ui/src/lib/activities-table/activities-table.component.html - 426 + 434 Delete - Delete + Supprimer apps/client/src/app/components/accounts-table/accounts-table.component.html 232 @@ -262,12 +262,12 @@ libs/ui/src/lib/activities-table/activities-table.component.html - 442 + 450 Do you really want to delete this account? - Do you really want to delete this account? + Voulez-vous vraiment supprimer ce compte ? apps/client/src/app/components/accounts-table/accounts-table.component.ts 81 @@ -275,7 +275,7 @@ Symbol - Symbol + Symbole apps/client/src/app/components/admin-jobs/admin-jobs.html 24 @@ -291,7 +291,7 @@ Data Source - Data Source + Source Données apps/client/src/app/components/admin-jobs/admin-jobs.html 25 @@ -307,7 +307,7 @@ Attempts - Attempts + Tentatives apps/client/src/app/components/admin-jobs/admin-jobs.html 26 @@ -315,7 +315,7 @@ Created - Created + Créé apps/client/src/app/components/admin-jobs/admin-jobs.html 27 @@ -323,7 +323,7 @@ Finished - Finished + Terminé apps/client/src/app/components/admin-jobs/admin-jobs.html 28 @@ -331,7 +331,7 @@ Status - Status + Statut apps/client/src/app/components/admin-jobs/admin-jobs.html 29 @@ -339,7 +339,7 @@ Delete Jobs - Delete Jobs + Supprimer Tâches apps/client/src/app/components/admin-jobs/admin-jobs.html 41 @@ -347,7 +347,7 @@ Asset Profile - Asset Profile + Profil d'Actifs apps/client/src/app/components/admin-jobs/admin-jobs.html 58 @@ -355,7 +355,7 @@ Historical Market Data - Historical Market Data + Données de Marché Historiques apps/client/src/app/components/admin-jobs/admin-jobs.html 63 @@ -363,7 +363,7 @@ View Data - View Data + Voir Données apps/client/src/app/components/admin-jobs/admin-jobs.html 118 @@ -371,7 +371,7 @@ View Stacktrace - View Stacktrace + Voir la Stacktrace apps/client/src/app/components/admin-jobs/admin-jobs.html 125 @@ -379,7 +379,7 @@ Delete Job - Delete Job + Supprimer Tâche apps/client/src/app/components/admin-jobs/admin-jobs.html 128 @@ -387,7 +387,7 @@ Details for - Details for + Détails pour apps/client/src/app/components/admin-market-data-detail/market-data-detail-dialog/market-data-detail-dialog.html 2 @@ -395,7 +395,7 @@ Date - Date + Date apps/client/src/app/components/admin-market-data-detail/market-data-detail-dialog/market-data-detail-dialog.html 6 @@ -411,7 +411,7 @@ Market Price - Market Price + Prix du Marché apps/client/src/app/components/admin-market-data-detail/market-data-detail-dialog/market-data-detail-dialog.html 26 @@ -423,7 +423,7 @@ Cancel - Cancel + Annuler apps/client/src/app/components/admin-market-data-detail/market-data-detail-dialog/market-data-detail-dialog.html 46 @@ -446,7 +446,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 87,91 + 116,120 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -455,7 +455,7 @@ Save - Save + Sauvegarder apps/client/src/app/components/admin-market-data-detail/market-data-detail-dialog/market-data-detail-dialog.html 48 @@ -479,7 +479,7 @@ Filter by... - Filter by... + Filtrer par... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts 128 @@ -487,7 +487,7 @@ Asset Class - Asset Class + Classe d'Actifs apps/client/src/app/components/admin-market-data/admin-market-data.html 42 @@ -507,7 +507,7 @@ Asset Sub Class - Asset Sub Class + Sous-classe d'Actifs apps/client/src/app/components/admin-market-data/admin-market-data.html 51 @@ -527,7 +527,7 @@ First Activity - First Activity + Première Activité apps/client/src/app/components/admin-market-data/admin-market-data.html 60 @@ -543,7 +543,7 @@ Activities Count - Activities Count + Nombre d'Activités apps/client/src/app/components/admin-market-data/admin-market-data.html 69 @@ -551,7 +551,7 @@ Historical Data - Historical Data + Données Historiques apps/client/src/app/components/admin-market-data/admin-market-data.html 78 @@ -559,7 +559,7 @@ Sectors Count - Sectors Count + Nombre de Secteurs apps/client/src/app/components/admin-market-data/admin-market-data.html 87 @@ -567,7 +567,7 @@ Countries Count - Countries Count + Nombre de Pays apps/client/src/app/components/admin-market-data/admin-market-data.html 96 @@ -575,7 +575,7 @@ Gather Recent Data - Gather Recent Data + Obtenir les Données Récentes apps/client/src/app/components/admin-market-data/admin-market-data.html 131 @@ -583,7 +583,7 @@ Gather All Data - Gather All Data + Obtenir toutes les Données apps/client/src/app/components/admin-market-data/admin-market-data.html 134 @@ -591,7 +591,7 @@ Gather Profile Data - Gather Profile Data + Obtenir les Données du Profil apps/client/src/app/components/admin-market-data/admin-market-data.html 137 @@ -607,7 +607,7 @@ Gather Data - Gather Data + Obtenir les Données apps/client/src/app/components/admin-market-data/admin-market-data.html 155 @@ -619,7 +619,7 @@ Refresh - Refresh + Rafraîchir apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 22 @@ -627,7 +627,7 @@ Sector - Sector + Secteur apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 110 @@ -639,7 +639,7 @@ Country - Country + Pays apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 119 @@ -651,7 +651,7 @@ Sectors - Sectors + Secteurs apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 125 @@ -667,7 +667,7 @@ Countries - Countries + Pays apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 135 @@ -679,7 +679,7 @@ Symbol Mapping - Symbol Mapping + Équivalence de Symboles apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 149 @@ -687,7 +687,7 @@ Note - Note + Note apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html 160 @@ -699,7 +699,7 @@ Please add a currency: - Please add a currency: + Veuillez ajouter une devise : apps/client/src/app/components/admin-overview/admin-overview.component.ts 110 @@ -707,7 +707,7 @@ Do you really want to delete this coupon? - Do you really want to delete this coupon? + Voulez-vous vraiment supprimer ce code promotionnel ? apps/client/src/app/components/admin-overview/admin-overview.component.ts 124 @@ -715,7 +715,7 @@ Do you really want to delete this currency? - Do you really want to delete this currency? + Voulez-vous vraiment supprimer cette devise ? apps/client/src/app/components/admin-overview/admin-overview.component.ts 137 @@ -723,7 +723,7 @@ Do you really want to flush the cache? - Do you really want to flush the cache? + Voulez-vous vraiment vider le cache ? apps/client/src/app/components/admin-overview/admin-overview.component.ts 154 @@ -731,7 +731,7 @@ Please set your system message: - Please set your system message: + Veuillez définir votre message système : apps/client/src/app/components/admin-overview/admin-overview.component.ts 184 @@ -739,7 +739,7 @@ User Count - User Count + Nombre d'Utilisateurs apps/client/src/app/components/admin-overview/admin-overview.html 7 @@ -747,7 +747,7 @@ Activity Count - Activity Count + Nombre d'Activités apps/client/src/app/components/admin-overview/admin-overview.html 17 @@ -755,7 +755,7 @@ per User - per User + par Utilisateur apps/client/src/app/components/admin-overview/admin-overview.html 26 @@ -763,7 +763,7 @@ Exchange Rates - Exchange Rates + Taux de Conversion apps/client/src/app/components/admin-overview/admin-overview.html 31 @@ -771,7 +771,7 @@ Add Currency - Add Currency + Ajouter Devise apps/client/src/app/components/admin-overview/admin-overview.html 70 @@ -779,7 +779,7 @@ Benchmarks - Benchmarks + Références apps/client/src/app/components/admin-overview/admin-overview.html 79 @@ -787,7 +787,7 @@ Tags - Tags + Étiquettes apps/client/src/app/components/admin-overview/admin-overview.html 92 @@ -803,7 +803,7 @@ User Signup - User Signup + Inscription de Nouveaux Utilisateurs apps/client/src/app/components/admin-overview/admin-overview.html 102 @@ -811,7 +811,7 @@ Read-only Mode - Read-only Mode + Mode Lecture Seule apps/client/src/app/components/admin-overview/admin-overview.html 112 @@ -819,7 +819,7 @@ System Message - System Message + Message Système apps/client/src/app/components/admin-overview/admin-overview.html 122 @@ -827,7 +827,7 @@ Set Message - Set Message + Définir Message apps/client/src/app/components/admin-overview/admin-overview.html 144 @@ -835,7 +835,7 @@ Coupons - Coupons + Codes promotionnels apps/client/src/app/components/admin-overview/admin-overview.html 152 @@ -843,7 +843,7 @@ Add - Add + Ajouter apps/client/src/app/components/admin-overview/admin-overview.html 187 @@ -851,7 +851,7 @@ Housekeeping - Housekeeping + Maintenance apps/client/src/app/components/admin-overview/admin-overview.html 194 @@ -859,7 +859,7 @@ Flush Cache - Flush Cache + Vider le Cache apps/client/src/app/components/admin-overview/admin-overview.html 198 @@ -867,7 +867,7 @@ Do you really want to delete this user? - Do you really want to delete this user? + Voulez-vous vraiment supprimer cet·te utilisateur·rice ? apps/client/src/app/components/admin-users/admin-users.component.ts 59 @@ -875,7 +875,7 @@ User - User + Utilisateur apps/client/src/app/components/admin-users/admin-users.html 9 @@ -887,7 +887,7 @@ Registration - Registration + Inscription apps/client/src/app/components/admin-users/admin-users.html 11 @@ -895,7 +895,7 @@ Accounts - Accounts + Comptes apps/client/src/app/components/admin-users/admin-users.html 14 @@ -915,7 +915,7 @@ Engagement per Day - Engagement per Day + Engagement par Jour apps/client/src/app/components/admin-users/admin-users.html 20 @@ -923,7 +923,7 @@ Last Request - Last Request + Dernière Requête apps/client/src/app/components/admin-users/admin-users.html 22 @@ -931,7 +931,7 @@ Performance - Performance + Performance apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.html 4 @@ -947,7 +947,7 @@ Compare with... - Compare with... + Comparer avec... apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.html 18 @@ -955,7 +955,7 @@ Portfolio - Portfolio + Portefeuille apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts 101 @@ -967,7 +967,7 @@ Benchmark - Benchmark + Référence apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts 110 @@ -975,7 +975,7 @@ Current Market Mood - Current Market Mood + Sentiment Actuel du Marché apps/client/src/app/components/fear-and-greed-index/fear-and-greed-index.component.html 12 @@ -983,7 +983,7 @@ Overview - Overview + Aperçu apps/client/src/app/components/header/header.component.html 21 @@ -995,7 +995,7 @@ Portfolio - Portfolio + Portefeuille apps/client/src/app/components/header/header.component.html 32 @@ -1007,7 +1007,7 @@ Admin Control - Admin Control + Contrôle Administrateur apps/client/src/app/components/header/header.component.html 55 @@ -1019,7 +1019,7 @@ Resources - Resources + Ressources apps/client/src/app/components/header/header.component.html 66 @@ -1035,7 +1035,7 @@ Pricing - Pricing + Prix apps/client/src/app/components/header/header.component.html 80 @@ -1051,7 +1051,7 @@ About - About + À propos apps/client/src/app/components/header/header.component.html 91 @@ -1063,7 +1063,7 @@ Me - Me + Moi apps/client/src/app/components/header/header.component.html 127 @@ -1071,7 +1071,7 @@ My Ghostfolio - My Ghostfolio + Mon Ghostfolio apps/client/src/app/components/header/header.component.html 183 @@ -1079,7 +1079,7 @@ About Ghostfolio - About Ghostfolio + À propos de Ghostfolio apps/client/src/app/components/header/header.component.html 222 @@ -1087,7 +1087,7 @@ Features - Features + Fonctionnalités apps/client/src/app/components/header/header.component.html 249 @@ -1095,7 +1095,7 @@ Markets - Markets + Marchés apps/client/src/app/components/header/header.component.html 283 @@ -1107,7 +1107,7 @@ Sign in - Sign in + Se connecter apps/client/src/app/components/header/header.component.html 292 @@ -1119,7 +1119,7 @@ Get started - Get started + Démarrer apps/client/src/app/components/header/header.component.html 300 @@ -1127,7 +1127,7 @@ Sign in - Sign in + Se connecter apps/client/src/app/components/header/header.component.ts 119 @@ -1139,7 +1139,7 @@ Oops! Incorrect Security Token. - Oops! Incorrect Security Token. + Oups! Jeton de Sécurité Incorrect. apps/client/src/app/components/header/header.component.ts 133 @@ -1147,7 +1147,7 @@ Manage Activities - Manage Activities + Gérer les Activités apps/client/src/app/components/home-holdings/home-holdings.html 30 @@ -1159,7 +1159,7 @@ Fear - Fear + Peur apps/client/src/app/components/home-market/home-market.component.ts 24 @@ -1167,7 +1167,7 @@ Greed - Greed + Avidité apps/client/src/app/components/home-market/home-market.component.ts 25 @@ -1175,7 +1175,7 @@ Last Days - Last Days + derniers jours apps/client/src/app/components/home-market/home-market.html 6 @@ -1183,7 +1183,7 @@ This feature requires a subscription. - This feature requires a subscription. + Cette fonctionnalité requiert un Abonnement. apps/client/src/app/components/home-summary/home-summary.component.ts 112 @@ -1195,7 +1195,7 @@ Upgrade Plan - Upgrade Plan + Mettre à Niveau l'Abonnement apps/client/src/app/components/home-summary/home-summary.component.ts 114 @@ -1207,7 +1207,7 @@ Summary - Summary + Résumé apps/client/src/app/components/home-summary/home-summary.html 2 @@ -1215,7 +1215,7 @@ Total Amount - Total Amount + Montant Total apps/client/src/app/components/investment-chart/investment-chart.component.ts 178 @@ -1223,15 +1223,15 @@ Savings Rate - Savings Rate + Taux d'Épargne apps/client/src/app/components/investment-chart/investment-chart.component.ts - 230 + 242 Security Token - Security Token + Jeton de Sécurité apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html 10,14 @@ -1243,14 +1243,14 @@ or - or + ou apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html 20,22 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 27,29 + 54,56 apps/client/src/app/pages/register/register-page.html @@ -1263,7 +1263,7 @@ Sign in with Internet Identity - Sign in with Internet Identity + Se connecter avec Internet Identity apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html 30,34 @@ -1271,7 +1271,7 @@ Sign in with Google - Sign in with Google + Se connecter avec Google apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html 40,46 @@ -1279,7 +1279,7 @@ Stay signed in - Stay signed in + Rester connecté apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html 49,55 @@ -1287,7 +1287,7 @@ Time in Market - Time in Market + Temps sur le Marché apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 3 @@ -1295,7 +1295,7 @@ Buy - Buy + Achat apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 12 @@ -1307,7 +1307,7 @@ Sell - Sell + Vente apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 23 @@ -1319,7 +1319,7 @@ Investment - Investment + Investissement apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 37 @@ -1331,7 +1331,7 @@ Absolute Gross Performance - Absolute Gross Performance + Performance Absolue Brute apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 48 @@ -1339,7 +1339,7 @@ Gross Performance (TWR) - Gross Performance (TWR) + Performance Brute (TWR) apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 59 @@ -1347,7 +1347,7 @@ Fees for - Fees for + Frais pour apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 74,77 @@ -1355,7 +1355,7 @@ {VAR_PLURAL, plural, =1 {transaction} other {transactions}} - {VAR_PLURAL, plural, =1 {transaction} other {transactions}} + {VAR_PLURAL, plural, =1 {transaction} autres {transactions}} apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 75,76 @@ -1363,7 +1363,7 @@ Absolute Net Performance - Absolute Net Performance + Performance Absolue Nette apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 92 @@ -1371,7 +1371,7 @@ Net Performance (TWR) - Net Performance (TWR) + Performance nette (TWR) apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 103 @@ -1379,7 +1379,7 @@ Total Assets - Total Assets + Actifs Totaux apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 119 @@ -1387,7 +1387,7 @@ Valuables - Valuables + Biens apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 131 @@ -1395,7 +1395,7 @@ Emergency Fund - Emergency Fund + Fonds d'Urgence apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 142 @@ -1403,7 +1403,7 @@ Buying Power - Buying Power + Pouvoir d'Achat apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 162 @@ -1411,7 +1411,7 @@ Excluded from Analysis - Excluded from Analysis + Exclus de l'Analyse apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 173 @@ -1419,7 +1419,7 @@ Net Worth - Net Worth + Fortune apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 187 @@ -1427,7 +1427,7 @@ Annualized Performance - Annualized Performance + Performance annualisée apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 198 @@ -1435,7 +1435,7 @@ Dividend - Dividend + Dividende apps/client/src/app/components/portfolio-summary/portfolio-summary.component.html 214 @@ -1451,7 +1451,7 @@ Please enter the amount of your emergency fund: - Please enter the amount of your emergency fund: + Veuillez entrer le montant de votre fonds d'urgence : apps/client/src/app/components/portfolio-summary/portfolio-summary.component.ts 52 @@ -1459,7 +1459,7 @@ Change - Change + Différence apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html 46 @@ -1467,7 +1467,7 @@ Average Unit Price - Average Unit Price + Prix Unitaire Moyen apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html 67 @@ -1475,7 +1475,7 @@ Minimum Price - Minimum Price + Prix Minimum apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html 88 @@ -1483,7 +1483,7 @@ Maximum Price - Maximum Price + Prix Maximum apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html 99 @@ -1491,7 +1491,7 @@ Quantity - Quantity + Quantité apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html 109 @@ -1507,7 +1507,7 @@ First Buy Date - First Buy Date + Date du Premier Achat apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html 129 @@ -1515,7 +1515,7 @@ Transactions - Transactions + Transactions apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html 138 @@ -1523,7 +1523,7 @@ Report Data Glitch - Report Data Glitch + Signaler une Erreur de Données apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html 249 @@ -1531,7 +1531,7 @@ Today - Today + Aujourd'hui apps/client/src/app/components/toggle/toggle.component.ts 21 @@ -1539,7 +1539,7 @@ YTD - YTD + CDA apps/client/src/app/components/toggle/toggle.component.ts 22 @@ -1547,7 +1547,7 @@ 1Y - 1Y + 1A apps/client/src/app/components/toggle/toggle.component.ts 23 @@ -1555,7 +1555,7 @@ 5Y - 5Y + 5A apps/client/src/app/components/toggle/toggle.component.ts 24 @@ -1563,7 +1563,7 @@ Max - Max + Max apps/client/src/app/components/toggle/toggle.component.ts 25 @@ -1571,7 +1571,7 @@ This feature is currently unavailable. - This feature is currently unavailable. + Cette fonctionnalité est momentanément indisponible. apps/client/src/app/core/http-response.interceptor.ts 59 @@ -1579,7 +1579,7 @@ Please try again later. - Please try again later. + Veuillez réessayer plus tard. apps/client/src/app/core/http-response.interceptor.ts 61 @@ -1590,36 +1590,36 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 65,62 + 106,103 Oops! Something went wrong. - Oops! Something went wrong. + Oups! Quelque chose s'est mal passé. apps/client/src/app/core/http-response.interceptor.ts 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 63 + 104 Okay - Okay + D'accord apps/client/src/app/core/http-response.interceptor.ts 89 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 66,62 + 107,103 About - About + À propos apps/client/src/app/pages/about/about-page-routing.module.ts 12 @@ -1627,7 +1627,7 @@ Changelog & License - Changelog & License + Historique des modifications & License apps/client/src/app/pages/about/changelog/changelog-page-routing.module.ts 12 @@ -1635,7 +1635,7 @@ Changelog - Changelog + Historique des modifications apps/client/src/app/pages/about/changelog/changelog-page.html 4 @@ -1643,7 +1643,7 @@ License - License + License apps/client/src/app/pages/about/changelog/changelog-page.html 15 @@ -1651,7 +1651,7 @@ Privacy Policy - Privacy Policy + Politique de Vie Privée apps/client/src/app/pages/about/privacy-policy/privacy-policy-page-routing.module.ts 12 @@ -1659,7 +1659,7 @@ Privacy Policy - Privacy Policy + Politique de Vie Privée apps/client/src/app/pages/about/privacy-policy/privacy-policy-page.html 4 @@ -1667,7 +1667,7 @@ My Ghostfolio - My Ghostfolio + Mon Ghostfolio apps/client/src/app/pages/account/account-page-routing.module.ts 12 @@ -1675,7 +1675,7 @@ Auto - Auto + Auto apps/client/src/app/pages/account/account-page.component.ts 45 @@ -1683,7 +1683,7 @@ Please enter your coupon code: - Please enter your coupon code: + Veuillez entrer votre code promotionnel : apps/client/src/app/pages/account/account-page.component.ts 236 @@ -1691,7 +1691,7 @@ Could not redeem coupon code - Could not redeem coupon code + Le code promotionnel n'a pas pu être appliqué apps/client/src/app/pages/account/account-page.component.ts 246 @@ -1699,7 +1699,7 @@ Coupon code has been redeemed - Coupon code has been redeemed + Le code promotionnel a été appliqué apps/client/src/app/pages/account/account-page.component.ts 258 @@ -1707,7 +1707,7 @@ Reload - Reload + Rafraîchir apps/client/src/app/pages/account/account-page.component.ts 259 @@ -1715,7 +1715,7 @@ Do you really want to remove this sign in method? - Do you really want to remove this sign in method? + Voulez-vous vraiment supprimer cette méthode de connexion ? apps/client/src/app/pages/account/account-page.component.ts 305 @@ -1723,7 +1723,7 @@ Account - Account + Compte apps/client/src/app/pages/account/account-page.html 4 @@ -1739,7 +1739,7 @@ Membership - Membership + Adhésion apps/client/src/app/pages/account/account-page.html 15 @@ -1747,7 +1747,7 @@ Upgrade - Upgrade + Mettre à niveau apps/client/src/app/pages/account/account-page.html 37 @@ -1755,7 +1755,7 @@ per year - per year + par an apps/client/src/app/pages/account/account-page.html 48 @@ -1763,7 +1763,7 @@ Try Premium - Try Premium + Essayer Premium apps/client/src/app/pages/account/account-page.html 56 @@ -1771,7 +1771,7 @@ Redeem Coupon - Redeem Coupon + Utiliser un Code Promotionnel apps/client/src/app/pages/account/account-page.html 68 @@ -1779,7 +1779,7 @@ Presenter View - Presenter View + Vue de Présentation apps/client/src/app/pages/account/account-page.html 75 @@ -1787,7 +1787,7 @@ Hides sensitive values such as absolute performances and quantities. - Hides sensitive values such as absolute performances and quantities. + Masque les données sensibles telles que la performance absolue et les quantités. apps/client/src/app/pages/account/account-page.html 76,79 @@ -1795,7 +1795,7 @@ Base Currency - Base Currency + Devise de Base apps/client/src/app/pages/account/account-page.html 94 @@ -1803,7 +1803,7 @@ Language - Language + Langue apps/client/src/app/pages/account/account-page.html 118 @@ -1811,11 +1811,15 @@ Community - Community + Communauté apps/client/src/app/pages/account/account-page.html 135 + + apps/client/src/app/pages/account/account-page.html + 139 + apps/client/src/app/pages/account/account-page.html 143 @@ -1827,7 +1831,7 @@ Locale - Locale + Paramètres régionaux apps/client/src/app/pages/account/account-page.html 160 @@ -1835,7 +1839,7 @@ Date and number format - Date and number format + Format de date et d'heure apps/client/src/app/pages/account/account-page.html 162 @@ -1843,7 +1847,7 @@ Appearance - Appearance + Apparence apps/client/src/app/pages/account/account-page.html 188 @@ -1851,7 +1855,7 @@ Auto - Auto + Auto apps/client/src/app/pages/account/account-page.html 203 @@ -1859,7 +1863,7 @@ Light - Light + Clair apps/client/src/app/pages/account/account-page.html 204 @@ -1867,7 +1871,7 @@ Dark - Dark + Sombre apps/client/src/app/pages/account/account-page.html 205 @@ -1875,7 +1879,7 @@ Zen Mode - Zen Mode + Mode Zen apps/client/src/app/pages/account/account-page.html 214 @@ -1883,7 +1887,7 @@ Sign in with fingerprint - Sign in with fingerprint + Se connecter avec empreinte apps/client/src/app/pages/account/account-page.html 226 @@ -1891,7 +1895,7 @@ Experimental Features - Experimental Features + Fonctionnalités expérimentales apps/client/src/app/pages/account/account-page.html 241 @@ -1899,7 +1903,7 @@ User ID - User ID + ID d'utilisateur apps/client/src/app/pages/account/account-page.html 253 @@ -1907,7 +1911,7 @@ Granted Access - Granted Access + Accès donné apps/client/src/app/pages/account/account-page.html 262 @@ -1915,7 +1919,7 @@ Grant access - Grant access + Donner accès apps/client/src/app/pages/account/create-or-update-access-dialog/create-or-update-access-dialog.html 2 @@ -1923,7 +1927,7 @@ Public - Public + Public apps/client/src/app/pages/account/create-or-update-access-dialog/create-or-update-access-dialog.html 19 @@ -1931,7 +1935,7 @@ Accounts - Accounts + Comptes apps/client/src/app/pages/accounts/accounts-page-routing.module.ts 12 @@ -1939,7 +1943,7 @@ Update account - Update account + Mettre à jour compte apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html 2 @@ -1947,7 +1951,7 @@ Add account - Add account + Ajouter compte apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html 3 @@ -1955,7 +1959,7 @@ Cash - Cash + Cash apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html 15 @@ -1963,7 +1967,7 @@ Securities - Securities + Titres apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html 16 @@ -1971,7 +1975,7 @@ Account ID - Account ID + ID du compte apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html 63 @@ -1979,7 +1983,7 @@ Jobs - Jobs + Tâches apps/client/src/app/pages/admin/admin-page-routing.module.ts 16 @@ -1987,7 +1991,7 @@ Market Data - Market Data + Données de Marché apps/client/src/app/pages/admin/admin-page-routing.module.ts 20 @@ -1995,7 +1999,7 @@ Admin Control - Admin Control + Contrôle Admin apps/client/src/app/pages/admin/admin-page-routing.module.ts 25 @@ -2003,7 +2007,7 @@ Users - Users + Utilisateurs apps/client/src/app/pages/admin/admin-page-routing.module.ts 27 @@ -2011,7 +2015,7 @@ Blog - Blog + Blog apps/client/src/app/pages/blog/blog-page-routing.module.ts 12 @@ -2019,7 +2023,7 @@ Blog - Blog + Blog apps/client/src/app/pages/blog/blog-page.html 4 @@ -2027,7 +2031,7 @@ As you are already logged in, you cannot access the demo account. - As you are already logged in, you cannot access the demo account. + Puisque vous êtes déjà connecté·e, vous ne pouvez pas accéder au compte de démonstration. apps/client/src/app/pages/demo/demo-page.component.ts 31 @@ -2035,7 +2039,7 @@ FAQ - FAQ + FAQ apps/client/src/app/pages/faq/faq-page-routing.module.ts 12 @@ -2043,7 +2047,7 @@ Features - Features + Fonctionnalités apps/client/src/app/pages/features/features-page-routing.module.ts 12 @@ -2051,7 +2055,7 @@ Holdings - Holdings + Positions apps/client/src/app/pages/home/home-page-routing.module.ts 23 @@ -2063,7 +2067,7 @@ Summary - Summary + Résumé apps/client/src/app/pages/home/home-page-routing.module.ts 28 @@ -2071,7 +2075,7 @@ Markets - Markets + Marchés apps/client/src/app/pages/home/home-page-routing.module.ts 33 @@ -2083,7 +2087,7 @@ Activities - Activities + Activités apps/client/src/app/pages/portfolio/activities/activities-page-routing.module.ts 12 @@ -2091,7 +2095,7 @@ Update activity - Update activity + Mettre à jour activité apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 7,8 @@ -2099,7 +2103,7 @@ Add activity - Add activity + Ajouter activité apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 8,11 @@ -2107,7 +2111,7 @@ Item - Item + Bien apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 16,18 @@ -2115,7 +2119,7 @@ Name, symbol or ISIN - Name, symbol or ISIN + Nom, symbole, ou ISIN apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 37,40 @@ -2123,7 +2127,7 @@ Unit Price - Unit Price + Prix Unitaire apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 118,121 @@ -2135,7 +2139,7 @@ Fee - Fee + Frais apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html 139,140 @@ -2151,63 +2155,63 @@ Importing data... - Importing data... + Import des données... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 48 + 89 Import has been completed - Import has been completed + L'import est terminé apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 55,54 + 96,95 Validating data... - Validating data... + Validation des données... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 86 + 147 Choose File - Choose File + Choisir Fichier apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 18,21 + 43,46 The following file formats are supported: - The following file formats are supported: + Les formats de fichier suivants sont supportés : apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 21,23 + 47,50 Back - Back + Retour apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 79,83 + 108,112 Import - Import + Importer apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 94,99 + 123,128 Allocations - Allocations + Répartitions apps/client/src/app/pages/portfolio/allocations/allocations-page-routing.module.ts 12 @@ -2215,7 +2219,7 @@ Initial - Initial + Initial apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts 58 @@ -2223,7 +2227,7 @@ Current - Current + Actuel apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts 59 @@ -2231,14 +2235,14 @@ Filter by account or tag... - Filter by account or tag... + Filtrer par compte ou étiquette... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 136 + 137 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 111 + 123 apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts @@ -2247,7 +2251,7 @@ Allocations - Allocations + Répartitions apps/client/src/app/pages/portfolio/allocations/allocations-page.html 4 @@ -2255,7 +2259,7 @@ Proportion of Net Worth - Proportion of Net Worth + Proportion de votre Fortune apps/client/src/app/pages/portfolio/allocations/allocations-page.html 18 @@ -2263,7 +2267,7 @@ By Account - By Account + Par Compte apps/client/src/app/pages/portfolio/allocations/allocations-page.html 41 @@ -2271,7 +2275,7 @@ By Currency - By Currency + Par Devise apps/client/src/app/pages/portfolio/allocations/allocations-page.html 67 @@ -2279,7 +2283,7 @@ By Asset Class - By Asset Class + Par Classe d'Actifs apps/client/src/app/pages/portfolio/allocations/allocations-page.html 96 @@ -2287,7 +2291,7 @@ By Holding - By Holding + Par Position apps/client/src/app/pages/portfolio/allocations/allocations-page.html 125 @@ -2295,7 +2299,7 @@ By Sector - By Sector + Par Secteur apps/client/src/app/pages/portfolio/allocations/allocations-page.html 154 @@ -2303,7 +2307,7 @@ By Continent - By Continent + Par Continent apps/client/src/app/pages/portfolio/allocations/allocations-page.html 184 @@ -2311,7 +2315,7 @@ By Country - By Country + Par Pays apps/client/src/app/pages/portfolio/allocations/allocations-page.html 213 @@ -2319,7 +2323,7 @@ Regions - Regions + Régions apps/client/src/app/pages/portfolio/allocations/allocations-page.html 245 @@ -2331,10 +2335,10 @@ Developed Markets - Developed Markets + Marchés Développés apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 271 + 272 apps/client/src/app/pages/public/public-page.html @@ -2343,10 +2347,10 @@ Emerging Markets - Emerging Markets + Marchés Émergents apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 280 + 281 apps/client/src/app/pages/public/public-page.html @@ -2355,10 +2359,10 @@ Other Markets - Other Markets + Autres marchés apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 289 + 290 apps/client/src/app/pages/public/public-page.html @@ -2367,7 +2371,7 @@ Analysis - Analysis + Analyse apps/client/src/app/pages/portfolio/analysis/analysis-page-routing.module.ts 12 @@ -2375,7 +2379,7 @@ Dividend - Dividend + Dividende apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts 43 @@ -2383,14 +2387,14 @@ Deposit - Deposit + Dépôt apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts 48 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 59 + 60 libs/ui/src/lib/fire-calculator/fire-calculator.component.ts @@ -2399,7 +2403,7 @@ Monthly - Monthly + Mensuel apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts 54 @@ -2407,7 +2411,7 @@ Analysis - Analysis + Analyse apps/client/src/app/pages/portfolio/analysis/analysis-page.html 2 @@ -2415,7 +2419,7 @@ Top - Top + Haut apps/client/src/app/pages/portfolio/analysis/analysis-page.html 40 @@ -2423,7 +2427,7 @@ Bottom - Bottom + Bas apps/client/src/app/pages/portfolio/analysis/analysis-page.html 86 @@ -2431,7 +2435,7 @@ Portfolio Evolution - Portfolio Evolution + Évolution du Portefeuille apps/client/src/app/pages/portfolio/analysis/analysis-page.html 136 @@ -2439,7 +2443,7 @@ Investment Timeline - Investment Timeline + Historique des Investissements apps/client/src/app/pages/portfolio/analysis/analysis-page.html 166 @@ -2447,7 +2451,7 @@ Dividend Timeline - Dividend Timeline + Historique des Dividendes apps/client/src/app/pages/portfolio/analysis/analysis-page.html 203 @@ -2455,7 +2459,7 @@ FIRE - FIRE + FIRE apps/client/src/app/pages/portfolio/fire/fire-page-routing.module.ts 12 @@ -2463,7 +2467,7 @@ FIRE - FIRE + FIRE apps/client/src/app/pages/portfolio/fire/fire-page.html 4 @@ -2471,7 +2475,7 @@ Calculator - Calculator + Calculatrice apps/client/src/app/pages/portfolio/fire/fire-page.html 7 @@ -2479,7 +2483,7 @@ 4% Rule - 4% Rule + Règle des 4% apps/client/src/app/pages/portfolio/fire/fire-page.html 28 @@ -2487,7 +2491,7 @@ If you retire today, you would be able to withdraw per year or per month, based on your total assets of and a withdrawal rate of 4%. - If you retire today, you would be able to withdraw per year or per month, based on your total assets of and a withdrawal rate of 4%. + Si vous prenez votre retraite aujourd'hui, vous pourriez retirer par an ou par mois, sur base de vos actifs totaux de et un taux de retrait de 4%. apps/client/src/app/pages/portfolio/fire/fire-page.html 51,79 @@ -2495,7 +2499,7 @@ Holdings - Holdings + Positions apps/client/src/app/pages/portfolio/holdings/holdings-page.html 4 @@ -2507,7 +2511,7 @@ Pricing - Pricing + Prix apps/client/src/app/pages/pricing/pricing-page-routing.module.ts 12 @@ -2515,7 +2519,7 @@ Hello, has shared a Portfolio with you! - Hello, has shared a Portfolio with you! + Bonjour, a partagé un Portefeuille avec vous ! apps/client/src/app/pages/public/public-page.html 4,7 @@ -2523,7 +2527,7 @@ Currencies - Currencies + Devises apps/client/src/app/pages/public/public-page.html 30 @@ -2531,7 +2535,7 @@ Continents - Continents + Continents apps/client/src/app/pages/public/public-page.html 60 @@ -2539,7 +2543,7 @@ Ghostfolio empowers you to keep track of your wealth. - Ghostfolio empowers you to keep track of your wealth. + Ghostfolio vous aide à garder un aperçu de votre patrimoine. apps/client/src/app/pages/public/public-page.html 132,134 @@ -2547,7 +2551,7 @@ Get Started - Get Started + Démarrer apps/client/src/app/pages/public/public-page.html 137 @@ -2555,7 +2559,7 @@ Registration - Registration + Enregistrement apps/client/src/app/pages/register/register-page-routing.module.ts 12 @@ -2563,7 +2567,7 @@ Create Account - Create Account + Creér Compte apps/client/src/app/pages/register/register-page.html 27,29 @@ -2575,7 +2579,7 @@ Continue with Internet Identity - Continue with Internet Identity + Continue avec Internet Identity apps/client/src/app/pages/register/register-page.html 41,44 @@ -2583,7 +2587,7 @@ Continue with Google - Continue with Google + Continuer avec Google apps/client/src/app/pages/register/register-page.html 51,56 @@ -2591,7 +2595,7 @@ Copy to clipboard - Copy to clipboard + Copier vers le presse-papier apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 26 @@ -2599,7 +2603,7 @@ I agree to have stored my Security Token from above in a secure place. If I lose it, I cannot get my account back. - I agree to have stored my Security Token from above in a secure place. If I lose it, I cannot get my account back. + Je certifie avoir sauvé mon Jeton de Sécurité ci-dessus dans un endroit sûr. Si je le perds, je ne pourrai pas récupérer mon compte. apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 31,34 @@ -2607,7 +2611,7 @@ Agree and continue - Agree and continue + Accepter et continuer apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html 44 @@ -2615,7 +2619,7 @@ Resources - Resources + Ressources apps/client/src/app/pages/resources/resources-page-routing.module.ts 12 @@ -2623,7 +2627,7 @@ Oops, authentication has failed. - Oops, authentication has failed. + Oups, l'identification a échoué. apps/client/src/app/pages/webauthn/webauthn-page.html 18 @@ -2631,7 +2635,7 @@ Try again - Try again + Essayer à nouveau apps/client/src/app/pages/webauthn/webauthn-page.html 26 @@ -2639,7 +2643,7 @@ Go back to Home Page - Go back to Home Page + Retour à la Page d'Accueil apps/client/src/app/pages/webauthn/webauthn-page.html 30 @@ -2647,7 +2651,7 @@ Overview - Overview + Aperçu apps/client/src/app/pages/zen/zen-page-routing.module.ts 19 @@ -2655,7 +2659,7 @@ Draft - Draft + Brouillon libs/ui/src/lib/activities-table/activities-table.component.html 125 @@ -2663,7 +2667,7 @@ Import Activities - Import Activities + Importer Activités libs/ui/src/lib/activities-table/activities-table.component.html 389 @@ -2671,55 +2675,55 @@ Export Activities - Export Activities + Exporter Activités libs/ui/src/lib/activities-table/activities-table.component.html - 399 + 407 Export Drafts as ICS - Export Drafts as ICS + Exporter Brouillons sous ICS libs/ui/src/lib/activities-table/activities-table.component.html - 409 + 417 Clone - Clone + Dupliquer libs/ui/src/lib/activities-table/activities-table.component.html - 430 + 438 Export Draft as ICS - Export Draft as ICS + Exporter Brouillon sous ICS libs/ui/src/lib/activities-table/activities-table.component.html - 438 + 446 Do you really want to delete this activity? - Do you really want to delete this activity? + Voulez-vous vraiment supprimer cette activité ? libs/ui/src/lib/activities-table/activities-table.component.ts - 196 + 198 Filter by account, currency, symbol or type... - Filter by account, currency, symbol or type... + Filtrer par compte, devise, symbole, ou type... libs/ui/src/lib/activities-table/activities-table.component.ts - 376 + 387 Index - Index + Indice libs/ui/src/lib/benchmark/benchmark.component.html 3 @@ -2727,7 +2731,7 @@ Change from All Time High - Change from All Time High + Différence avec le Record Historique libs/ui/src/lib/benchmark/benchmark.component.html 12 @@ -2735,7 +2739,7 @@ from ATH - from ATH + par rapport au record historique libs/ui/src/lib/benchmark/benchmark.component.html 14 @@ -2743,7 +2747,7 @@ Savings Rate - Savings Rate + Taux d'Épargne libs/ui/src/lib/fire-calculator/fire-calculator.component.html 10 @@ -2751,7 +2755,7 @@ per month - per month + par mois libs/ui/src/lib/fire-calculator/fire-calculator.component.html 17 @@ -2759,7 +2763,7 @@ Investment Horizon - Investment Horizon + Horizon d'Investissement libs/ui/src/lib/fire-calculator/fire-calculator.component.html 21 @@ -2767,7 +2771,7 @@ years - years + années libs/ui/src/lib/fire-calculator/fire-calculator.component.html 23 @@ -2775,7 +2779,7 @@ Annual Interest Rate - Annual Interest Rate + Taux d'Intérêt Annuel libs/ui/src/lib/fire-calculator/fire-calculator.component.html 27 @@ -2783,7 +2787,7 @@ Projected Total Amount - Projected Total Amount + Montant Total Prévu libs/ui/src/lib/fire-calculator/fire-calculator.component.html 44 @@ -2791,7 +2795,7 @@ Interest - Interest + Intérêt libs/ui/src/lib/fire-calculator/fire-calculator.component.ts 291 @@ -2799,7 +2803,7 @@ Savings - Savings + Épargne libs/ui/src/lib/fire-calculator/fire-calculator.component.ts 301 @@ -2807,7 +2811,7 @@ Allocation - Allocation + Part libs/ui/src/lib/holdings-table/holdings-table.component.html 95 @@ -2815,7 +2819,7 @@ Show all - Show all + Montrer tout libs/ui/src/lib/holdings-table/holdings-table.component.html 171 @@ -2823,7 +2827,7 @@ Account - Account + Compte libs/ui/src/lib/i18n.ts 4 @@ -2831,7 +2835,7 @@ Asset Class - Asset Class + Classe d'Actifs libs/ui/src/lib/i18n.ts 5 @@ -2839,7 +2843,7 @@ Asset Sub Class - Asset Sub Class + Sous-classe d'Actifs libs/ui/src/lib/i18n.ts 6 @@ -2847,18 +2851,17 @@ Emergency Fund - Emergency Fund libs/ui/src/lib/i18n.ts - 7 + 8 Other - Other + Autre libs/ui/src/lib/i18n.ts - 8 + 12 libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts @@ -2867,175 +2870,175 @@ Securities - Securities + Titres libs/ui/src/lib/i18n.ts - 9 + 15 Symbol - Symbol + Symbole libs/ui/src/lib/i18n.ts - 10 + 16 Tag - Tag + Étiquette libs/ui/src/lib/i18n.ts - 11 + 17 Cash - Cash + Cash libs/ui/src/lib/i18n.ts - 14 + 20 Commodity - Commodity + Marchandise libs/ui/src/lib/i18n.ts - 15 + 21 Equity - Equity + Capital libs/ui/src/lib/i18n.ts - 16 + 22 Fixed Income - Fixed Income + Revenu Fixe libs/ui/src/lib/i18n.ts - 17 + 23 Real Estate - Real Estate + Immobilier libs/ui/src/lib/i18n.ts - 18 + 24 Bond - Bond + Obligation libs/ui/src/lib/i18n.ts - 21 + 27 Cryptocurrency - Cryptocurrency + Cryptomonnaie libs/ui/src/lib/i18n.ts - 22 + 28 ETF - ETF + ETF libs/ui/src/lib/i18n.ts - 23 + 29 Mutual Fund - Mutual Fund + SICAV libs/ui/src/lib/i18n.ts - 24 + 30 Precious Metal - Precious Metal + Métal Précieux libs/ui/src/lib/i18n.ts - 25 + 31 Private Equity - Private Equity + Capital Propre libs/ui/src/lib/i18n.ts - 26 + 32 Stock - Stock + Action libs/ui/src/lib/i18n.ts - 27 + 33 Africa - Africa + Afrique libs/ui/src/lib/i18n.ts - 30 + 36 Asia - Asia + Asie libs/ui/src/lib/i18n.ts - 31 + 37 Europe - Europe + Europe libs/ui/src/lib/i18n.ts - 32 + 38 North America - North America + Amérique du Nord libs/ui/src/lib/i18n.ts - 33 + 39 Oceania - Oceania + Océanie libs/ui/src/lib/i18n.ts - 34 + 40 South America - South America + Amérique du Sud libs/ui/src/lib/i18n.ts - 35 + 41 Time to add your first activity. - Time to add your first activity. + Il est temps d'ajouter votre première activité. libs/ui/src/lib/no-transactions-info/no-transactions-info.component.html 12 @@ -3043,7 +3046,7 @@ No data available - No data available + Pas de données disponibles libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts 371 @@ -3053,6 +3056,94 @@ 384 + + Holding + Position + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 13,15 + + + + Load Dividends + Charger Dividendes + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 29,33 + + + + Yearly + Annuel + + apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts + 55 + + + + Import Dividends + Importer Dividendes + + libs/ui/src/lib/activities-table/activities-table.component.html + 397 + + + + Valid until + Valid until + + apps/client/src/app/pages/account/account-page.html + 27 + + + + Core + Core + + libs/ui/src/lib/i18n.ts + 7 + + + + Grant + Grant + + libs/ui/src/lib/i18n.ts + 9 + + + + Higher Risk + Higher Risk + + libs/ui/src/lib/i18n.ts + 10 + + + + Lower Risk + Lower Risk + + libs/ui/src/lib/i18n.ts + 11 + + + + Retirement Provision + Retirement Provision + + libs/ui/src/lib/i18n.ts + 13 + + + + Satellite + Satellite + + libs/ui/src/lib/i18n.ts + 14 + + diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf index 6d47d7681..037d75672 100644 --- a/apps/client/src/locales/messages.it.xlf +++ b/apps/client/src/locales/messages.it.xlf @@ -183,7 +183,7 @@ libs/ui/src/lib/activities-table/activities-table.component.html - 426 + 434 @@ -203,7 +203,7 @@ libs/ui/src/lib/activities-table/activities-table.component.html - 442 + 450 @@ -387,7 +387,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 87,91 + 116,120 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -895,7 +895,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 27,29 + 54,56 apps/client/src/app/pages/register/register-page.html @@ -1263,7 +1263,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 66,62 + 107,103 @@ -1975,7 +1975,7 @@ Importazione dei dati... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 48 + 89 @@ -1983,7 +1983,7 @@ L'importazione è stata completata apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 55,54 + 96,95 @@ -2131,7 +2131,7 @@ Esporta le attività libs/ui/src/lib/activities-table/activities-table.component.html - 399 + 407 @@ -2139,7 +2139,7 @@ Esporta le bozze come ICS libs/ui/src/lib/activities-table/activities-table.component.html - 409 + 417 @@ -2147,7 +2147,7 @@ Clona libs/ui/src/lib/activities-table/activities-table.component.html - 430 + 438 @@ -2155,7 +2155,7 @@ Esporta la bozza come ICS libs/ui/src/lib/activities-table/activities-table.component.html - 438 + 446 @@ -2163,7 +2163,7 @@ Vuoi davvero eliminare questa attività? libs/ui/src/lib/activities-table/activities-table.component.ts - 196 + 198 @@ -2271,7 +2271,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 63 + 104 @@ -2287,7 +2287,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 65,62 + 106,103 @@ -2303,7 +2303,7 @@ Mercati sviluppati apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 271 + 272 apps/client/src/app/pages/public/public-page.html @@ -2351,7 +2351,7 @@ Altri mercati apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 289 + 290 apps/client/src/app/pages/public/public-page.html @@ -2363,7 +2363,7 @@ Mercati emergenti apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 280 + 281 apps/client/src/app/pages/public/public-page.html @@ -2459,7 +2459,7 @@ apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 59 + 60 libs/ui/src/lib/fire-calculator/fire-calculator.component.ts @@ -2519,11 +2519,11 @@ Filtra per account o tag... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 136 + 137 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 111 + 123 apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts @@ -2543,7 +2543,7 @@ Filtra per account, valuta, simbolo o tipo... libs/ui/src/lib/activities-table/activities-table.component.ts - 376 + 387 @@ -2691,7 +2691,7 @@ Tasso di risparmio apps/client/src/app/components/investment-chart/investment-chart.component.ts - 230 + 242 @@ -2715,7 +2715,7 @@ Symbol libs/ui/src/lib/i18n.ts - 10 + 16 @@ -2723,7 +2723,7 @@ Tag libs/ui/src/lib/i18n.ts - 11 + 17 @@ -2731,7 +2731,7 @@ Cash libs/ui/src/lib/i18n.ts - 14 + 20 @@ -2739,7 +2739,7 @@ Commodity libs/ui/src/lib/i18n.ts - 15 + 21 @@ -2747,7 +2747,7 @@ Equity libs/ui/src/lib/i18n.ts - 16 + 22 @@ -2755,7 +2755,7 @@ Fixed Income libs/ui/src/lib/i18n.ts - 17 + 23 @@ -2763,7 +2763,7 @@ Real Estate libs/ui/src/lib/i18n.ts - 18 + 24 @@ -2771,7 +2771,7 @@ Bond libs/ui/src/lib/i18n.ts - 21 + 27 @@ -2779,7 +2779,7 @@ Cryptocurrency libs/ui/src/lib/i18n.ts - 22 + 28 @@ -2787,7 +2787,7 @@ ETF libs/ui/src/lib/i18n.ts - 23 + 29 @@ -2795,7 +2795,7 @@ Mutual Fund libs/ui/src/lib/i18n.ts - 24 + 30 @@ -2803,7 +2803,7 @@ Precious Metal libs/ui/src/lib/i18n.ts - 25 + 31 @@ -2811,7 +2811,7 @@ Private Equity libs/ui/src/lib/i18n.ts - 26 + 32 @@ -2819,7 +2819,7 @@ Stock libs/ui/src/lib/i18n.ts - 27 + 33 @@ -2827,7 +2827,7 @@ Emergency Fund libs/ui/src/lib/i18n.ts - 7 + 8 @@ -2835,7 +2835,7 @@ Other libs/ui/src/lib/i18n.ts - 8 + 12 libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts @@ -2859,7 +2859,7 @@ North America libs/ui/src/lib/i18n.ts - 33 + 39 @@ -2867,7 +2867,7 @@ Africa libs/ui/src/lib/i18n.ts - 30 + 36 @@ -2875,7 +2875,7 @@ Asia libs/ui/src/lib/i18n.ts - 31 + 37 @@ -2883,7 +2883,7 @@ Europe libs/ui/src/lib/i18n.ts - 32 + 38 @@ -2891,7 +2891,7 @@ Oceania libs/ui/src/lib/i18n.ts - 34 + 40 @@ -2899,7 +2899,7 @@ South America libs/ui/src/lib/i18n.ts - 35 + 41 @@ -2907,7 +2907,7 @@ Choose File apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 18,21 + 43,46 @@ -2915,7 +2915,7 @@ The following file formats are supported: apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 21,23 + 47,50 @@ -2923,7 +2923,7 @@ Back apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 79,83 + 108,112 @@ -2933,6 +2933,10 @@ apps/client/src/app/pages/account/account-page.html 135 + + apps/client/src/app/pages/account/account-page.html + 139 + apps/client/src/app/pages/account/account-page.html 143 @@ -3003,7 +3007,7 @@ Validating data... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 86 + 147 @@ -3011,7 +3015,7 @@ Import apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 94,99 + 123,128 @@ -3019,7 +3023,7 @@ Securities libs/ui/src/lib/i18n.ts - 9 + 15 @@ -3054,6 +3058,94 @@ 28 + + Holding + Holding + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 13,15 + + + + Load Dividends + Load Dividends + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 29,33 + + + + Yearly + Yearly + + apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts + 55 + + + + Import Dividends + Import Dividends + + libs/ui/src/lib/activities-table/activities-table.component.html + 397 + + + + Valid until + Valid until + + apps/client/src/app/pages/account/account-page.html + 27 + + + + Core + Core + + libs/ui/src/lib/i18n.ts + 7 + + + + Grant + Grant + + libs/ui/src/lib/i18n.ts + 9 + + + + Higher Risk + Higher Risk + + libs/ui/src/lib/i18n.ts + 10 + + + + Lower Risk + Lower Risk + + libs/ui/src/lib/i18n.ts + 11 + + + + Retirement Provision + Retirement Provision + + libs/ui/src/lib/i18n.ts + 13 + + + + Satellite + Satellite + + libs/ui/src/lib/i18n.ts + 14 + + diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index 770e826c0..6184da982 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -182,7 +182,7 @@ libs/ui/src/lib/activities-table/activities-table.component.html - 426 + 434 @@ -202,7 +202,7 @@ libs/ui/src/lib/activities-table/activities-table.component.html - 442 + 450 @@ -386,7 +386,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 87,91 + 116,120 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -894,7 +894,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 27,29 + 54,56 apps/client/src/app/pages/register/register-page.html @@ -1262,7 +1262,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 66,62 + 107,103 @@ -1974,7 +1974,7 @@ Gegevens importeren... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 48 + 89 @@ -1982,7 +1982,7 @@ Import is voltooid apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 55,54 + 96,95 @@ -2130,7 +2130,7 @@ Activiteiten exporteren libs/ui/src/lib/activities-table/activities-table.component.html - 399 + 407 @@ -2138,7 +2138,7 @@ Concepten exporteren als ICS libs/ui/src/lib/activities-table/activities-table.component.html - 409 + 417 @@ -2146,7 +2146,7 @@ Kloon libs/ui/src/lib/activities-table/activities-table.component.html - 430 + 438 @@ -2154,7 +2154,7 @@ Concepten exporteren als ICS libs/ui/src/lib/activities-table/activities-table.component.html - 438 + 446 @@ -2162,7 +2162,7 @@ Wilt u deze activiteit echt verwijderen? libs/ui/src/lib/activities-table/activities-table.component.ts - 196 + 198 @@ -2270,7 +2270,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 63 + 104 @@ -2286,7 +2286,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 65,62 + 106,103 @@ -2302,7 +2302,7 @@ Ontwikkelde markten apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 271 + 272 apps/client/src/app/pages/public/public-page.html @@ -2350,7 +2350,7 @@ Andere markten apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 289 + 290 apps/client/src/app/pages/public/public-page.html @@ -2362,7 +2362,7 @@ Opkomende markten apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 280 + 281 apps/client/src/app/pages/public/public-page.html @@ -2458,7 +2458,7 @@ apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 59 + 60 libs/ui/src/lib/fire-calculator/fire-calculator.component.ts @@ -2518,11 +2518,11 @@ Filter op account of tag... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 136 + 137 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 111 + 123 apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts @@ -2542,7 +2542,7 @@ Filter op rekening, valuta, symbool of type... libs/ui/src/lib/activities-table/activities-table.component.ts - 376 + 387 @@ -2690,7 +2690,7 @@ Spaarquote apps/client/src/app/components/investment-chart/investment-chart.component.ts - 230 + 242 @@ -2714,7 +2714,7 @@ Symbool libs/ui/src/lib/i18n.ts - 10 + 16 @@ -2722,7 +2722,7 @@ Label libs/ui/src/lib/i18n.ts - 11 + 17 @@ -2730,7 +2730,7 @@ Contant geld libs/ui/src/lib/i18n.ts - 14 + 20 @@ -2738,7 +2738,7 @@ Commodity libs/ui/src/lib/i18n.ts - 15 + 21 @@ -2746,7 +2746,7 @@ Equity libs/ui/src/lib/i18n.ts - 16 + 22 @@ -2754,7 +2754,7 @@ Vast inkomen libs/ui/src/lib/i18n.ts - 17 + 23 @@ -2762,7 +2762,7 @@ Vastgoed libs/ui/src/lib/i18n.ts - 18 + 24 @@ -2770,7 +2770,7 @@ Obligatie libs/ui/src/lib/i18n.ts - 21 + 27 @@ -2778,7 +2778,7 @@ Cryptovaluta libs/ui/src/lib/i18n.ts - 22 + 28 @@ -2786,7 +2786,7 @@ ETF libs/ui/src/lib/i18n.ts - 23 + 29 @@ -2794,7 +2794,7 @@ Beleggingsfonds libs/ui/src/lib/i18n.ts - 24 + 30 @@ -2802,7 +2802,7 @@ Edel metaal libs/ui/src/lib/i18n.ts - 25 + 31 @@ -2810,7 +2810,7 @@ Private equity libs/ui/src/lib/i18n.ts - 26 + 32 @@ -2818,7 +2818,7 @@ Aandeel libs/ui/src/lib/i18n.ts - 27 + 33 @@ -2826,7 +2826,7 @@ Noodfonds libs/ui/src/lib/i18n.ts - 7 + 8 @@ -2834,7 +2834,7 @@ Anders libs/ui/src/lib/i18n.ts - 8 + 12 libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts @@ -2858,7 +2858,7 @@ Noord Amerika libs/ui/src/lib/i18n.ts - 33 + 39 @@ -2866,7 +2866,7 @@ Afrika libs/ui/src/lib/i18n.ts - 30 + 36 @@ -2874,7 +2874,7 @@ Azië libs/ui/src/lib/i18n.ts - 31 + 37 @@ -2882,7 +2882,7 @@ Europa libs/ui/src/lib/i18n.ts - 32 + 38 @@ -2890,7 +2890,7 @@ Oceanië libs/ui/src/lib/i18n.ts - 34 + 40 @@ -2898,7 +2898,7 @@ Zuid Amerika libs/ui/src/lib/i18n.ts - 35 + 41 @@ -2906,7 +2906,7 @@ Kies bestand apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 18,21 + 43,46 @@ -2914,7 +2914,7 @@ The volgende bestandsformaten worden ondersteund: apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 21,23 + 47,50 @@ -2922,7 +2922,7 @@ Terug apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 79,83 + 108,112 @@ -2932,6 +2932,10 @@ apps/client/src/app/pages/account/account-page.html 135 + + apps/client/src/app/pages/account/account-page.html + 139 + apps/client/src/app/pages/account/account-page.html 143 @@ -3002,7 +3006,7 @@ Gegevens valideren... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 86 + 147 @@ -3010,7 +3014,7 @@ Importeren apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 94,99 + 123,128 @@ -3018,7 +3022,7 @@ Effecten libs/ui/src/lib/i18n.ts - 9 + 15 @@ -3053,6 +3057,94 @@ 28 + + Holding + Participatie + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 13,15 + + + + Load Dividends + Load Dividends + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 29,33 + + + + Yearly + Jaarlijks + + apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts + 55 + + + + Import Dividends + Import Dividends + + libs/ui/src/lib/activities-table/activities-table.component.html + 397 + + + + Valid until + Valid until + + apps/client/src/app/pages/account/account-page.html + 27 + + + + Core + Core + + libs/ui/src/lib/i18n.ts + 7 + + + + Grant + Grant + + libs/ui/src/lib/i18n.ts + 9 + + + + Higher Risk + Higher Risk + + libs/ui/src/lib/i18n.ts + 10 + + + + Lower Risk + Lower Risk + + libs/ui/src/lib/i18n.ts + 11 + + + + Retirement Provision + Retirement Provision + + libs/ui/src/lib/i18n.ts + 13 + + + + Satellite + Satellite + + libs/ui/src/lib/i18n.ts + 14 + + diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf index 2424ae513..ea97026b2 100644 --- a/apps/client/src/locales/messages.pt.xlf +++ b/apps/client/src/locales/messages.pt.xlf @@ -242,7 +242,7 @@ libs/ui/src/lib/activities-table/activities-table.component.html - 426 + 434 @@ -262,7 +262,7 @@ libs/ui/src/lib/activities-table/activities-table.component.html - 442 + 450 @@ -446,7 +446,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 87,91 + 116,120 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -1110,7 +1110,7 @@ apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 59 + 60 libs/ui/src/lib/fire-calculator/fire-calculator.component.ts @@ -1130,7 +1130,7 @@ Savings Rate apps/client/src/app/components/investment-chart/investment-chart.component.ts - 230 + 242 @@ -1154,7 +1154,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 27,29 + 54,56 apps/client/src/app/pages/register/register-page.html @@ -1578,7 +1578,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 65,62 + 106,103 @@ -1590,7 +1590,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 63 + 104 @@ -1602,7 +1602,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 66,62 + 107,103 @@ -2118,7 +2118,7 @@ Importing data... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 48 + 89 @@ -2126,7 +2126,7 @@ Import has been completed apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 55,54 + 96,95 @@ -2134,7 +2134,7 @@ Choose File apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 18,21 + 43,46 @@ -2142,7 +2142,7 @@ The following file formats are supported: apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 21,23 + 47,50 @@ -2150,7 +2150,7 @@ Back apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 79,83 + 108,112 @@ -2182,11 +2182,11 @@ Filter by account or tag... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 136 + 137 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 111 + 123 apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts @@ -2282,7 +2282,7 @@ Developed Markets apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 271 + 272 apps/client/src/app/pages/public/public-page.html @@ -2294,7 +2294,7 @@ Emerging Markets apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 280 + 281 apps/client/src/app/pages/public/public-page.html @@ -2306,7 +2306,7 @@ Other Markets apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 289 + 290 apps/client/src/app/pages/public/public-page.html @@ -2594,7 +2594,7 @@ Export Activities libs/ui/src/lib/activities-table/activities-table.component.html - 399 + 407 @@ -2602,7 +2602,7 @@ Export Drafts as ICS libs/ui/src/lib/activities-table/activities-table.component.html - 409 + 417 @@ -2610,7 +2610,7 @@ Clone libs/ui/src/lib/activities-table/activities-table.component.html - 430 + 438 @@ -2618,7 +2618,7 @@ Export Draft as ICS libs/ui/src/lib/activities-table/activities-table.component.html - 438 + 446 @@ -2626,7 +2626,7 @@ Do you really want to delete this activity? libs/ui/src/lib/activities-table/activities-table.component.ts - 196 + 198 @@ -2634,7 +2634,7 @@ Filter by account, currency, symbol or type... libs/ui/src/lib/activities-table/activities-table.component.ts - 376 + 387 @@ -2746,7 +2746,7 @@ Emergency Fund libs/ui/src/lib/i18n.ts - 7 + 8 @@ -2754,7 +2754,7 @@ Other libs/ui/src/lib/i18n.ts - 8 + 12 libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts @@ -2766,7 +2766,7 @@ Symbol libs/ui/src/lib/i18n.ts - 10 + 16 @@ -2774,7 +2774,7 @@ Tag libs/ui/src/lib/i18n.ts - 11 + 17 @@ -2782,7 +2782,7 @@ Cash libs/ui/src/lib/i18n.ts - 14 + 20 @@ -2790,7 +2790,7 @@ Commodity libs/ui/src/lib/i18n.ts - 15 + 21 @@ -2798,7 +2798,7 @@ Equity libs/ui/src/lib/i18n.ts - 16 + 22 @@ -2806,7 +2806,7 @@ Fixed Income libs/ui/src/lib/i18n.ts - 17 + 23 @@ -2814,7 +2814,7 @@ Real Estate libs/ui/src/lib/i18n.ts - 18 + 24 @@ -2822,7 +2822,7 @@ Bond libs/ui/src/lib/i18n.ts - 21 + 27 @@ -2830,7 +2830,7 @@ Cryptocurrency libs/ui/src/lib/i18n.ts - 22 + 28 @@ -2838,7 +2838,7 @@ ETF libs/ui/src/lib/i18n.ts - 23 + 29 @@ -2846,7 +2846,7 @@ Mutual Fund libs/ui/src/lib/i18n.ts - 24 + 30 @@ -2854,7 +2854,7 @@ Precious Metal libs/ui/src/lib/i18n.ts - 25 + 31 @@ -2862,7 +2862,7 @@ Private Equity libs/ui/src/lib/i18n.ts - 26 + 32 @@ -2870,7 +2870,7 @@ Stock libs/ui/src/lib/i18n.ts - 27 + 33 @@ -2878,7 +2878,7 @@ Africa libs/ui/src/lib/i18n.ts - 30 + 36 @@ -2886,7 +2886,7 @@ Asia libs/ui/src/lib/i18n.ts - 31 + 37 @@ -2894,7 +2894,7 @@ Europe libs/ui/src/lib/i18n.ts - 32 + 38 @@ -2902,7 +2902,7 @@ North America libs/ui/src/lib/i18n.ts - 33 + 39 @@ -2910,7 +2910,7 @@ Oceania libs/ui/src/lib/i18n.ts - 34 + 40 @@ -2918,7 +2918,7 @@ South America libs/ui/src/lib/i18n.ts - 35 + 41 @@ -2980,6 +2980,10 @@ apps/client/src/app/pages/account/account-page.html 135 + + apps/client/src/app/pages/account/account-page.html + 139 + apps/client/src/app/pages/account/account-page.html 143 @@ -3010,7 +3014,7 @@ Validating data... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 86 + 147 @@ -3018,7 +3022,7 @@ Import apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 94,99 + 123,128 @@ -3048,11 +3052,99 @@ Securities Securities + + libs/ui/src/lib/i18n.ts + 15 + + + + Holding + Holding + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 13,15 + + + + Load Dividends + Load Dividends + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 29,33 + + + + Yearly + Yearly + + apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts + 55 + + + + Import Dividends + Import Dividends + + libs/ui/src/lib/activities-table/activities-table.component.html + 397 + + + + Valid until + Valid until + + apps/client/src/app/pages/account/account-page.html + 27 + + + + Core + Core + + libs/ui/src/lib/i18n.ts + 7 + + + + Grant + Grant libs/ui/src/lib/i18n.ts 9 + + Higher Risk + Higher Risk + + libs/ui/src/lib/i18n.ts + 10 + + + + Lower Risk + Lower Risk + + libs/ui/src/lib/i18n.ts + 11 + + + + Retirement Provision + Retirement Provision + + libs/ui/src/lib/i18n.ts + 13 + + + + Satellite + Satellite + + libs/ui/src/lib/i18n.ts + 14 + + diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf index cd0594acf..0c0ed549a 100644 --- a/apps/client/src/locales/messages.xlf +++ b/apps/client/src/locales/messages.xlf @@ -171,7 +171,7 @@ libs/ui/src/lib/activities-table/activities-table.component.html - 426 + 434 @@ -190,7 +190,7 @@ libs/ui/src/lib/activities-table/activities-table.component.html - 442 + 450 @@ -357,7 +357,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 87,91 + 116,120 apps/client/src/app/pages/register/show-access-token-dialog/show-access-token-dialog.html @@ -815,7 +815,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 27,29 + 54,56 apps/client/src/app/pages/register/register-page.html @@ -1146,7 +1146,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 66,62 + 107,103 @@ -1780,14 +1780,14 @@ Importing data... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 48 + 89 Import has been completed apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 55,54 + 96,95 @@ -1917,35 +1917,35 @@ Export Activities libs/ui/src/lib/activities-table/activities-table.component.html - 399 + 407 Export Drafts as ICS libs/ui/src/lib/activities-table/activities-table.component.html - 409 + 417 Clone libs/ui/src/lib/activities-table/activities-table.component.html - 430 + 438 Export Draft as ICS libs/ui/src/lib/activities-table/activities-table.component.html - 438 + 446 Do you really want to delete this activity? libs/ui/src/lib/activities-table/activities-table.component.ts - 196 + 198 @@ -2040,7 +2040,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 63 + 104 @@ -2055,7 +2055,7 @@ apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 65,62 + 106,103 @@ -2069,7 +2069,7 @@ Developed Markets apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 271 + 272 apps/client/src/app/pages/public/public-page.html @@ -2113,7 +2113,7 @@ Other Markets apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 289 + 290 apps/client/src/app/pages/public/public-page.html @@ -2124,7 +2124,7 @@ Emerging Markets apps/client/src/app/pages/portfolio/allocations/allocations-page.html - 280 + 281 apps/client/src/app/pages/public/public-page.html @@ -2210,7 +2210,7 @@ apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 59 + 60 libs/ui/src/lib/fire-calculator/fire-calculator.component.ts @@ -2263,11 +2263,11 @@ Filter by account or tag... apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts - 136 + 137 apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts - 111 + 123 apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts @@ -2285,7 +2285,7 @@ Filter by account, currency, symbol or type... libs/ui/src/lib/activities-table/activities-table.component.ts - 376 + 387 @@ -2415,42 +2415,42 @@ Savings Rate apps/client/src/app/components/investment-chart/investment-chart.component.ts - 230 + 242 Precious Metal libs/ui/src/lib/i18n.ts - 25 + 31 Tag libs/ui/src/lib/i18n.ts - 11 + 17 Equity libs/ui/src/lib/i18n.ts - 16 + 22 Real Estate libs/ui/src/lib/i18n.ts - 18 + 24 Cryptocurrency libs/ui/src/lib/i18n.ts - 22 + 28 @@ -2464,14 +2464,14 @@ Stock libs/ui/src/lib/i18n.ts - 27 + 33 Private Equity libs/ui/src/lib/i18n.ts - 26 + 32 @@ -2485,49 +2485,49 @@ Mutual Fund libs/ui/src/lib/i18n.ts - 24 + 30 Cash libs/ui/src/lib/i18n.ts - 14 + 20 Symbol libs/ui/src/lib/i18n.ts - 10 + 16 Commodity libs/ui/src/lib/i18n.ts - 15 + 21 Bond libs/ui/src/lib/i18n.ts - 21 + 27 ETF libs/ui/src/lib/i18n.ts - 23 + 29 Fixed Income libs/ui/src/lib/i18n.ts - 17 + 23 @@ -2545,14 +2545,14 @@ Emergency Fund libs/ui/src/lib/i18n.ts - 7 + 8 Other libs/ui/src/lib/i18n.ts - 8 + 12 libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts @@ -2563,63 +2563,63 @@ North America libs/ui/src/lib/i18n.ts - 33 + 39 Africa libs/ui/src/lib/i18n.ts - 30 + 36 Oceania libs/ui/src/lib/i18n.ts - 34 + 40 Asia libs/ui/src/lib/i18n.ts - 31 + 37 South America libs/ui/src/lib/i18n.ts - 35 + 41 Europe libs/ui/src/lib/i18n.ts - 32 + 38 The following file formats are supported: apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 21,23 + 47,50 Choose File apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 18,21 + 43,46 Back apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 79,83 + 108,112 @@ -2628,6 +2628,10 @@ apps/client/src/app/pages/account/account-page.html 135 + + apps/client/src/app/pages/account/account-page.html + 139 + apps/client/src/app/pages/account/account-page.html 143 @@ -2690,21 +2694,21 @@ Securities libs/ui/src/lib/i18n.ts - 9 + 15 Validating data... apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts - 86 + 147 Import apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html - 94,99 + 123,128 @@ -2735,6 +2739,83 @@ 20 + + Load Dividends + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 29,33 + + + + Holding + + apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html + 13,15 + + + + Yearly + + apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts + 55 + + + + Import Dividends + + libs/ui/src/lib/activities-table/activities-table.component.html + 397 + + + + Higher Risk + + libs/ui/src/lib/i18n.ts + 10 + + + + Lower Risk + + libs/ui/src/lib/i18n.ts + 11 + + + + Grant + + libs/ui/src/lib/i18n.ts + 9 + + + + Core + + libs/ui/src/lib/i18n.ts + 7 + + + + Satellite + + libs/ui/src/lib/i18n.ts + 14 + + + + Retirement Provision + + libs/ui/src/lib/i18n.ts + 13 + + + + Valid until + + apps/client/src/app/pages/account/account-page.html + 27 + + diff --git a/apps/client/src/styles.scss b/apps/client/src/styles.scss index 83d4367e4..bb3e1ccd6 100644 --- a/apps/client/src/styles.scss +++ b/apps/client/src/styles.scss @@ -3,9 +3,9 @@ @import './styles/bootstrap'; @import './styles/table'; -@import '~angular-material-css-vars/src/lib/main'; +@import 'node_modules/angular-material-css-vars/src/lib/main'; -@import '~svgmap/dist/svgMap'; +@import 'node_modules/svgmap/dist/svgMap'; $mat-css-dark-theme-selector: '.is-dark-theme'; $mat-css-light-theme-selector: '.is-light-theme'; diff --git a/apps/client/src/styles/bootstrap.scss b/apps/client/src/styles/bootstrap.scss index 49b9bf057..4c13e7978 100644 --- a/apps/client/src/styles/bootstrap.scss +++ b/apps/client/src/styles/bootstrap.scss @@ -5,40 +5,40 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ -@import '~bootstrap/scss/functions'; -@import '~bootstrap/scss/variables'; -@import '~bootstrap/scss/mixins'; -@import '~bootstrap/scss/root'; -@import '~bootstrap/scss/reboot'; -@import '~bootstrap/scss/type'; -@import '~bootstrap/scss/images'; -// @import '~bootstrap/scss/code'; -@import '~bootstrap/scss/grid'; -// @import '~bootstrap/scss/tables'; -// @import '~bootstrap/scss/forms'; -// @import '~bootstrap/scss/buttons'; -// @import '~bootstrap/scss/transitions'; -// @import '~bootstrap/scss/dropdown'; -// @import '~bootstrap/scss/button-group'; -// @import '~bootstrap/scss/input-group'; -// @import '~bootstrap/scss/custom-forms'; -// @import '~bootstrap/scss/nav'; -// @import '~bootstrap/scss/navbar'; -// @import '~bootstrap/scss/card'; -// @import '~bootstrap/scss/breadcrumb'; -// @import '~bootstrap/scss/pagination'; -@import '~bootstrap/scss/badge'; -// @import '~bootstrap/scss/jumbotron'; -// @import '~bootstrap/scss/alert'; -// @import '~bootstrap/scss/progress'; -// @import '~bootstrap/scss/media'; -// @import '~bootstrap/scss/list-group'; -// @import '~bootstrap/scss/close'; -// @import '~bootstrap/scss/toasts'; -// @import '~bootstrap/scss/modal'; -// @import '~bootstrap/scss/tooltip'; -// @import '~bootstrap/scss/popover'; -// @import '~bootstrap/scss/carousel'; -// @import '~bootstrap/scss/spinners'; -@import '~bootstrap/scss/utilities'; -// @import '~bootstrap/scss/print'; +@import 'node_modules/bootstrap/scss/functions'; +@import 'node_modules/bootstrap/scss/variables'; +@import 'node_modules/bootstrap/scss/mixins'; +@import 'node_modules/bootstrap/scss/root'; +@import 'node_modules/bootstrap/scss/reboot'; +@import 'node_modules/bootstrap/scss/type'; +@import 'node_modules/bootstrap/scss/images'; +// @import 'node_modules/bootstrap/scss/code'; +@import 'node_modules/bootstrap/scss/grid'; +// @import 'node_modules/bootstrap/scss/tables'; +// @import 'node_modules/bootstrap/scss/forms'; +// @import 'node_modules/bootstrap/scss/buttons'; +// @import 'node_modules/bootstrap/scss/transitions'; +// @import 'node_modules/bootstrap/scss/dropdown'; +// @import 'node_modules/bootstrap/scss/button-group'; +// @import 'node_modules/bootstrap/scss/input-group'; +// @import 'node_modules/bootstrap/scss/custom-forms'; +// @import 'node_modules/bootstrap/scss/nav'; +// @import 'node_modules/bootstrap/scss/navbar'; +// @import 'node_modules/bootstrap/scss/card'; +// @import 'node_modules/bootstrap/scss/breadcrumb'; +// @import 'node_modules/bootstrap/scss/pagination'; +@import 'node_modules/bootstrap/scss/badge'; +// @import 'node_modules/bootstrap/scss/jumbotron'; +// @import 'node_modules/bootstrap/scss/alert'; +// @import 'node_modules/bootstrap/scss/progress'; +// @import 'node_modules/bootstrap/scss/media'; +// @import 'node_modules/bootstrap/scss/list-group'; +// @import 'node_modules/bootstrap/scss/close'; +// @import 'node_modules/bootstrap/scss/toasts'; +// @import 'node_modules/bootstrap/scss/modal'; +// @import 'node_modules/bootstrap/scss/tooltip'; +// @import 'node_modules/bootstrap/scss/popover'; +// @import 'node_modules/bootstrap/scss/carousel'; +// @import 'node_modules/bootstrap/scss/spinners'; +@import 'node_modules/bootstrap/scss/utilities'; +// @import 'node_modules/bootstrap/scss/print'; diff --git a/apps/client/src/styles/ghostfolio-style.scss b/apps/client/src/styles/ghostfolio-style.scss index 9556c6b5b..51ceeb884 100644 --- a/apps/client/src/styles/ghostfolio-style.scss +++ b/apps/client/src/styles/ghostfolio-style.scss @@ -1,6 +1,6 @@ $mat-css-dark-theme-selector: '.is-dark-theme'; -@import '~angular-material-css-vars/src/lib/public-util'; +@import 'node_modules/angular-material-css-vars/src/lib/public-util'; $alpha-disabled-text: 0.38; $alpha-hover: 0.04; diff --git a/libs/common/src/lib/config.ts b/libs/common/src/lib/config.ts index 5c8529231..91e83e2e0 100644 --- a/libs/common/src/lib/config.ts +++ b/libs/common/src/lib/config.ts @@ -72,6 +72,7 @@ export const GATHER_HISTORICAL_MARKET_DATA_PROCESS_OPTIONS: JobOptions = { export const MAX_CHART_ITEMS = 365; export const PROPERTY_BENCHMARKS = 'BENCHMARKS'; +export const PROPERTY_COUNTRIES_OF_SUBSCRIBERS = 'COUNTRIES_OF_SUBSCRIBERS'; export const PROPERTY_COUPONS = 'COUPONS'; export const PROPERTY_CURRENCIES = 'CURRENCIES'; export const PROPERTY_IS_READ_ONLY_MODE = 'IS_READ_ONLY_MODE'; diff --git a/libs/common/src/lib/interfaces/info-item.interface.ts b/libs/common/src/lib/interfaces/info-item.interface.ts index 3751c6405..bcb28402c 100644 --- a/libs/common/src/lib/interfaces/info-item.interface.ts +++ b/libs/common/src/lib/interfaces/info-item.interface.ts @@ -6,12 +6,12 @@ import { Subscription } from './subscription.interface'; export interface InfoItem { baseCurrency: string; benchmarks: Partial[]; + countriesOfSubscribers?: string[]; currencies: string[]; demoAuthToken: string; fearAndGreedDataSource?: string; globalPermissions: string[]; isReadOnlyMode?: boolean; - lastDataGathering?: Date; platforms: { id: string; name: string }[]; statistics: Statistics; stripePublicKey?: string; diff --git a/libs/ui/src/lib/activities-filter/activities-filter.component.scss b/libs/ui/src/lib/activities-filter/activities-filter.component.scss index d859ac16d..c0d474724 100644 --- a/libs/ui/src/lib/activities-filter/activities-filter.component.scss +++ b/libs/ui/src/lib/activities-filter/activities-filter.component.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/libs/ui/src/lib/activities-table/activities-table.component.scss b/libs/ui/src/lib/activities-table/activities-table.component.scss index 42af383e4..6321a26c4 100644 --- a/libs/ui/src/lib/activities-table/activities-table.component.scss +++ b/libs/ui/src/lib/activities-table/activities-table.component.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/libs/ui/src/lib/holdings-table/holdings-table.component.scss b/libs/ui/src/lib/holdings-table/holdings-table.component.scss index f0da6525f..d7c678476 100644 --- a/libs/ui/src/lib/holdings-table/holdings-table.component.scss +++ b/libs/ui/src/lib/holdings-table/holdings-table.component.scss @@ -1,4 +1,4 @@ -@import '~apps/client/src/styles/ghostfolio-style'; +@import 'apps/client/src/styles/ghostfolio-style'; :host { display: block; diff --git a/libs/ui/src/lib/i18n.ts b/libs/ui/src/lib/i18n.ts index 58021d194..d0f913abc 100644 --- a/libs/ui/src/lib/i18n.ts +++ b/libs/ui/src/lib/i18n.ts @@ -4,8 +4,14 @@ const locales = { ACCOUNT: $localize`Account`, ASSET_CLASS: $localize`Asset Class`, ASSET_SUB_CLASS: $localize`Asset Sub Class`, + CORE: $localize`Core`, EMERGENCY_FUND: $localize`Emergency Fund`, + GRANT: $localize`Grant`, + HIGHER_RISK: $localize`Higher Risk`, + LOWER_RISK: $localize`Lower Risk`, OTHER: $localize`Other`, + RETIREMENT_PROVISION: $localize`Retirement Provision`, + SATELLITE: $localize`Satellite`, SECURITIES: $localize`Securities`, SYMBOL: $localize`Symbol`, TAG: $localize`Tag`, diff --git a/libs/ui/src/lib/logo/logo.component.scss b/libs/ui/src/lib/logo/logo.component.scss index 176f46126..27fb1b311 100644 --- a/libs/ui/src/lib/logo/logo.component.scss +++ b/libs/ui/src/lib/logo/logo.component.scss @@ -5,6 +5,7 @@ .logo { background-color: rgba(var(--dark-primary-text)); + margin-top: -2px; mask: url('/assets/ghost.svg') no-repeat center; } } diff --git a/package.json b/package.json index 20cea4d7c..f20160abc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "1.225.0", + "version": "1.227.1", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "scripts": { diff --git a/prisma/seed.js b/prisma/seed.js index 72a87259f..b94c11316 100644 --- a/prisma/seed.js +++ b/prisma/seed.js @@ -288,6 +288,16 @@ async function main() { skipDuplicates: true }); + await prisma.tag.createMany({ + data: [ + { + id: '4452656d-9fa4-4bd0-ba38-70492e31d180', + name: 'EMERGENCY_FUND' + } + ], + skipDuplicates: true + }); + console.log({ platformBitcoinSuisse, platformBitpanda,