diff --git a/CHANGELOG.md b/CHANGELOG.md index e4844ffa1..d9425e443 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,13 +5,61 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 2.174.0 - 2025-06-24 -### Changelog +### Added + +- Set up the language localization for the static portfolio analysis rule: _Account Cluster Risks_ (Current Investment) +- Extended the data providers management of the admin control panel by the online status + +### Changed + +- Migrated the `@ghostfolio/ui/value` component to control flow +- Renamed `Platform` to `platform` in the `Account` database schema +- Refactored the health check endpoint for data enhancers +- Refactored the health check endpoint for data providers +- Improved the language localization for French (`fr`) +- Improved the language localization for German (`de`) +- Refreshed the cryptocurrencies list + +## 2.173.0 - 2025-06-21 + +### Added +- Set up `open-color` for CSS variable usage + +### Changed + +- Simplified the data providers management of the admin control panel +- Migrated the `@ghostfolio/ui/assistant` component to control flow +- Migrated the `@ghostfolio/ui/value` component to control flow +- Renamed `GranteeUser` to `granteeUser` in the `Access` database schema +- Improved the language localization for French (`fr`) +- Improved the language localization for German (`de`) +- Upgraded `class-validator` from version `0.14.1` to `0.14.2` +- Upgraded `prisma` from version `6.9.0` to `6.10.1` + +### Fixed + +- Fixed an issue in the `HtmlTemplateMiddleware` related to incorrect variable resolution +- Eliminated the _Unsupported route path_ warning of the `LegacyRouteConverter` on startup + +## 2.172.0 - 2025-06-19 + +### Added + +- Set up the language localization for the static portfolio analysis rule: _Account Cluster Risks_ (Single Account) +- Included the admin control panel in the quick links of the assistant + +### Changed + +- Adapted the options of the date range selector in the assistant dynamically based on the user’s first activity +- Switched the data provider service to `OnModuleInit`, ensuring (currency) quotes are fetched only once - Migrated the `@ghostfolio/ui/assistant` component to control flow - Migrated the `@ghostfolio/ui/value` component to control flow - Improved the language localization for Chinese (`zh`) +- Improved the language localization for Español (`es`) +- Improved the language localization for German (`de`) - Improved the language localization for Portuguese (`pt`) ## 2.171.0 - 2025-06-15 diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 51de2ad25..31b0507bb 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -30,7 +30,13 @@ Run `npm run start:server` ### Start Client -Run `npm run start:client` and open https://localhost:4200/en in your browser +#### English (Default) + +Run `npm run start:client` and open https://localhost:4200/en in your browser. + +#### Other Languages + +To start the client in a different language, such as German (`de`), adapt the `start:client` script in the `package.json` file by changing `--configuration=development-en` to `--configuration=development-de`. Then, run `npm run start:client` and open https://localhost:4200/de in your browser. ### Start _Storybook_ diff --git a/apps/api/src/app/access/access.controller.ts b/apps/api/src/app/access/access.controller.ts index 9913a5c1b..bc2d22e51 100644 --- a/apps/api/src/app/access/access.controller.ts +++ b/apps/api/src/app/access/access.controller.ts @@ -37,20 +37,20 @@ export class AccessController { public async getAllAccesses(): Promise { const accessesWithGranteeUser = await this.accessService.accesses({ include: { - GranteeUser: true + granteeUser: true }, orderBy: { granteeUserId: 'asc' }, where: { userId: this.request.user.id } }); return accessesWithGranteeUser.map( - ({ alias, GranteeUser, id, permissions }) => { - if (GranteeUser) { + ({ alias, granteeUser, id, permissions }) => { + if (granteeUser) { return { alias, id, permissions, - grantee: GranteeUser?.id, + grantee: granteeUser?.id, type: 'PRIVATE' }; } @@ -85,7 +85,7 @@ export class AccessController { try { return this.accessService.createAccess({ alias: data.alias || undefined, - GranteeUser: data.granteeUserId + granteeUser: data.granteeUserId ? { connect: { id: data.granteeUserId } } : undefined, permissions: data.permissions, diff --git a/apps/api/src/app/access/access.service.ts b/apps/api/src/app/access/access.service.ts index ccba595e3..8403cdc09 100644 --- a/apps/api/src/app/access/access.service.ts +++ b/apps/api/src/app/access/access.service.ts @@ -13,7 +13,7 @@ export class AccessService { ): Promise { return this.prismaService.access.findFirst({ include: { - GranteeUser: true + granteeUser: true }, where: accessWhereInput }); diff --git a/apps/api/src/app/account/account.controller.ts b/apps/api/src/app/account/account.controller.ts index 8780a830e..635570f8f 100644 --- a/apps/api/src/app/account/account.controller.ts +++ b/apps/api/src/app/account/account.controller.ts @@ -152,7 +152,7 @@ export class AccountController { return this.accountService.createAccount( { ...data, - Platform: { connect: { id: platformId } }, + platform: { connect: { id: platformId } }, user: { connect: { id: this.request.user.id } } }, this.request.user.id @@ -250,7 +250,7 @@ export class AccountController { { data: { ...data, - Platform: { connect: { id: platformId } }, + platform: { connect: { id: platformId } }, user: { connect: { id: this.request.user.id } } }, where: { @@ -270,7 +270,7 @@ export class AccountController { { data: { ...data, - Platform: originalAccount.platformId + platform: originalAccount.platformId ? { disconnect: true } : undefined, user: { connect: { id: this.request.user.id } } diff --git a/apps/api/src/app/account/account.service.ts b/apps/api/src/app/account/account.service.ts index 56186b1be..6281db1b4 100644 --- a/apps/api/src/app/account/account.service.ts +++ b/apps/api/src/app/account/account.service.ts @@ -65,7 +65,7 @@ export class AccountService { (Account & { activities?: Order[]; balances?: AccountBalance[]; - Platform?: Platform; + platform?: Platform; })[] > { const { include = {}, skip, take, cursor, where, orderBy } = params; @@ -141,7 +141,10 @@ export class AccountService { public async getAccounts(aUserId: string): Promise { const accounts = await this.accounts({ - include: { activities: true, Platform: true }, + include: { + activities: true, + platform: true + }, orderBy: { name: 'asc' }, where: { userId: aUserId } }); diff --git a/apps/api/src/app/app.module.ts b/apps/api/src/app/app.module.ts index 8f342eb43..1c48b9702 100644 --- a/apps/api/src/app/app.module.ts +++ b/apps/api/src/app/app.module.ts @@ -38,6 +38,7 @@ import { BenchmarksModule } from './endpoints/benchmarks/benchmarks.module'; import { GhostfolioModule } from './endpoints/data-providers/ghostfolio/ghostfolio.module'; import { MarketDataModule } from './endpoints/market-data/market-data.module'; import { PublicModule } from './endpoints/public/public.module'; +import { SitemapModule } from './endpoints/sitemap/sitemap.module'; import { TagsModule } from './endpoints/tags/tags.module'; import { WatchlistModule } from './endpoints/watchlist/watchlist.module'; import { ExchangeRateModule } from './exchange-rate/exchange-rate.module'; @@ -50,7 +51,6 @@ import { OrderModule } from './order/order.module'; import { PlatformModule } from './platform/platform.module'; import { PortfolioModule } from './portfolio/portfolio.module'; import { RedisCacheModule } from './redis-cache/redis-cache.module'; -import { SitemapModule } from './sitemap/sitemap.module'; import { SubscriptionModule } from './subscription/subscription.module'; import { SymbolModule } from './symbol/symbol.module'; import { UserModule } from './user/user.module'; @@ -141,6 +141,6 @@ import { UserModule } from './user/user.module'; }) export class AppModule implements NestModule { public configure(consumer: MiddlewareConsumer) { - consumer.apply(HtmlTemplateMiddleware).forRoutes('*'); + consumer.apply(HtmlTemplateMiddleware).forRoutes('*wildcard'); } } diff --git a/apps/api/src/app/endpoints/ai/ai.service.ts b/apps/api/src/app/endpoints/ai/ai.service.ts index 8807e67bf..df6b7749a 100644 --- a/apps/api/src/app/endpoints/ai/ai.service.ts +++ b/apps/api/src/app/endpoints/ai/ai.service.ts @@ -30,7 +30,7 @@ export class AiService { }); const holdingsTable = [ - '| Name | Symbol | Currency | Asset Class | Asset Sub Class | Allocation in Percentage |', + '| Name | Symbol | Currency | Asset Class | Asset Sub Class | Allocation in Percentage |', '| --- | --- | --- | --- | --- | --- |', ...Object.values(holdings) .sort((a, b) => { diff --git a/apps/api/src/app/endpoints/sitemap/sitemap.controller.ts b/apps/api/src/app/endpoints/sitemap/sitemap.controller.ts new file mode 100644 index 000000000..4d6dfb5ea --- /dev/null +++ b/apps/api/src/app/endpoints/sitemap/sitemap.controller.ts @@ -0,0 +1,49 @@ +import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; +import { + DATE_FORMAT, + getYesterday, + interpolate +} from '@ghostfolio/common/helper'; + +import { Controller, Get, Res, VERSION_NEUTRAL, Version } from '@nestjs/common'; +import { format } from 'date-fns'; +import { Response } from 'express'; +import { readFileSync } from 'fs'; +import { join } from 'path'; + +import { SitemapService } from './sitemap.service'; + +@Controller('sitemap.xml') +export class SitemapController { + public sitemapXml = ''; + + public constructor( + private readonly configurationService: ConfigurationService, + private readonly sitemapService: SitemapService + ) { + try { + this.sitemapXml = readFileSync( + join(__dirname, 'assets', 'sitemap.xml'), + 'utf8' + ); + } catch {} + } + + @Get() + @Version(VERSION_NEUTRAL) + public getSitemapXml(@Res() response: Response) { + const currentDate = format(getYesterday(), DATE_FORMAT); + + response.setHeader('content-type', 'application/xml'); + response.send( + interpolate(this.sitemapXml, { + currentDate, + personalFinanceTools: this.configurationService.get( + 'ENABLE_FEATURE_SUBSCRIPTION' + ) + ? this.sitemapService.getPersonalFinanceTools({ currentDate }) + : '' + }) + ); + } +} diff --git a/apps/api/src/app/sitemap/sitemap.module.ts b/apps/api/src/app/endpoints/sitemap/sitemap.module.ts similarity index 58% rename from apps/api/src/app/sitemap/sitemap.module.ts rename to apps/api/src/app/endpoints/sitemap/sitemap.module.ts index d1059d408..73b5d78b0 100644 --- a/apps/api/src/app/sitemap/sitemap.module.ts +++ b/apps/api/src/app/endpoints/sitemap/sitemap.module.ts @@ -1,11 +1,14 @@ import { ConfigurationModule } from '@ghostfolio/api/services/configuration/configuration.module'; +import { I18nModule } from '@ghostfolio/api/services/i18n/i18n.module'; import { Module } from '@nestjs/common'; import { SitemapController } from './sitemap.controller'; +import { SitemapService } from './sitemap.service'; @Module({ controllers: [SitemapController], - imports: [ConfigurationModule] + imports: [ConfigurationModule, I18nModule], + providers: [SitemapService] }) export class SitemapModule {} diff --git a/apps/api/src/app/endpoints/sitemap/sitemap.service.ts b/apps/api/src/app/endpoints/sitemap/sitemap.service.ts new file mode 100644 index 000000000..ea8a7c8c2 --- /dev/null +++ b/apps/api/src/app/endpoints/sitemap/sitemap.service.ts @@ -0,0 +1,47 @@ +import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; +import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import { SUPPORTED_LANGUAGE_CODES } from '@ghostfolio/common/config'; +import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; + +import { Injectable } from '@nestjs/common'; + +@Injectable() +export class SitemapService { + public constructor( + private readonly configurationService: ConfigurationService, + private readonly i18nService: I18nService + ) {} + + public getPersonalFinanceTools({ currentDate }: { currentDate: string }) { + const rootUrl = this.configurationService.get('ROOT_URL'); + + return personalFinanceTools + .map(({ alias, key }) => { + return SUPPORTED_LANGUAGE_CODES.map((languageCode) => { + const resourcesPath = this.i18nService.getTranslation({ + languageCode, + id: 'routes.resources' + }); + + const personalFinanceToolsPath = this.i18nService.getTranslation({ + languageCode, + id: 'routes.resources.personalFinanceTools' + }); + + const openSourceAlternativeToPath = this.i18nService.getTranslation({ + languageCode, + id: 'routes.resources.personalFinanceTools.openSourceAlternativeTo' + }); + + return [ + ' ', + ` ${rootUrl}/${languageCode}/${resourcesPath}/${personalFinanceToolsPath}/${openSourceAlternativeToPath}-${alias ?? key}`, + ` ${currentDate}T00:00:00+00:00`, + ' ' + ].join('\n'); + }); + }) + .flat() + .join('\n'); + } +} diff --git a/apps/api/src/app/export/export.service.ts b/apps/api/src/app/export/export.service.ts index 5efa429c7..d3c520e3b 100644 --- a/apps/api/src/app/export/export.service.ts +++ b/apps/api/src/app/export/export.service.ts @@ -48,7 +48,7 @@ export class ExportService { await this.accountService.accounts({ include: { balances: true, - Platform: true + platform: true }, orderBy: { name: 'asc' @@ -72,7 +72,7 @@ export class ExportService { id, isExcluded, name, - Platform: platform, + platform, platformId }) => { if (platformId) { diff --git a/apps/api/src/app/health/health.controller.ts b/apps/api/src/app/health/health.controller.ts index 6ff09825b..5542ae933 100644 --- a/apps/api/src/app/health/health.controller.ts +++ b/apps/api/src/app/health/health.controller.ts @@ -1,4 +1,8 @@ import { TransformDataSourceInRequestInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.interceptor'; +import { + DataEnhancerHealthResponse, + DataProviderHealthResponse +} from '@ghostfolio/common/interfaces'; import { Controller, @@ -37,23 +41,30 @@ export class HealthController { } @Get('data-enhancer/:name') - public async getHealthOfDataEnhancer(@Param('name') name: string) { + public async getHealthOfDataEnhancer( + @Param('name') name: string, + @Res() response: Response + ): Promise> { const hasResponse = await this.healthService.hasResponseFromDataEnhancer(name); - if (hasResponse !== true) { - throw new HttpException( - getReasonPhrase(StatusCodes.SERVICE_UNAVAILABLE), - StatusCodes.SERVICE_UNAVAILABLE - ); + if (hasResponse) { + return response.status(HttpStatus.OK).json({ + status: getReasonPhrase(StatusCodes.OK) + }); + } else { + return response + .status(HttpStatus.SERVICE_UNAVAILABLE) + .json({ status: getReasonPhrase(StatusCodes.SERVICE_UNAVAILABLE) }); } } @Get('data-provider/:dataSource') @UseInterceptors(TransformDataSourceInRequestInterceptor) public async getHealthOfDataProvider( - @Param('dataSource') dataSource: DataSource - ) { + @Param('dataSource') dataSource: DataSource, + @Res() response: Response + ): Promise> { if (!DataSource[dataSource]) { throw new HttpException( getReasonPhrase(StatusCodes.NOT_FOUND), @@ -64,11 +75,14 @@ export class HealthController { const hasResponse = await this.healthService.hasResponseFromDataProvider(dataSource); - if (hasResponse !== true) { - throw new HttpException( - getReasonPhrase(StatusCodes.SERVICE_UNAVAILABLE), - StatusCodes.SERVICE_UNAVAILABLE - ); + if (hasResponse) { + return response + .status(HttpStatus.OK) + .json({ status: getReasonPhrase(StatusCodes.OK) }); + } else { + return response + .status(HttpStatus.SERVICE_UNAVAILABLE) + .json({ status: getReasonPhrase(StatusCodes.SERVICE_UNAVAILABLE) }); } } } diff --git a/apps/api/src/app/import/import.service.ts b/apps/api/src/app/import/import.service.ts index 200881de7..3d1168238 100644 --- a/apps/api/src/app/import/import.service.ts +++ b/apps/api/src/app/import/import.service.ts @@ -207,7 +207,7 @@ export class ImportService { ) { accountObject = { ...accountObject, - Platform: { connect: { id: platformId } } + platform: { connect: { id: platformId } } }; } diff --git a/apps/api/src/app/order/order.service.ts b/apps/api/src/app/order/order.service.ts index b322e82ab..fe3dcb885 100644 --- a/apps/api/src/app/order/order.service.ts +++ b/apps/api/src/app/order/order.service.ts @@ -536,7 +536,7 @@ export class OrderService { // eslint-disable-next-line @typescript-eslint/naming-convention Account: { include: { - Platform: true + platform: true } }, // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index f37949870..39e0a7ba6 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -160,7 +160,10 @@ export class PortfolioService { const [accounts, details] = await Promise.all([ this.accountService.accounts({ where, - include: { activities: true, Platform: true }, + include: { + activities: true, + platform: true + }, orderBy: { name: 'asc' } }), this.getDetails({ @@ -1272,10 +1275,14 @@ export class PortfolioService { [ new AccountClusterRiskCurrentInvestment( this.exchangeRateDataService, + this.i18nService, + userSettings.language, accounts ), new AccountClusterRiskSingleAccount( this.exchangeRateDataService, + this.i18nService, + userSettings.language, accounts ) ], @@ -1876,14 +1883,14 @@ export class PortfolioService { let currentAccounts: (Account & { Order?: Order[]; - Platform?: Platform; + platform?: Platform; })[] = []; if (filters.length === 0) { currentAccounts = await this.accountService.getAccounts(userId); } else if (filters.length === 1 && filters[0].type === 'ACCOUNT') { currentAccounts = await this.accountService.accounts({ - include: { Platform: true }, + include: { platform: true }, where: { id: filters[0].id } }); } else { @@ -1900,7 +1907,7 @@ export class PortfolioService { ); currentAccounts = await this.accountService.accounts({ - include: { Platform: true }, + include: { platform: true }, where: { id: { in: accountIds } } }); } @@ -1925,18 +1932,18 @@ export class PortfolioService { ) }; - if (platforms[account.Platform?.id || UNKNOWN_KEY]?.valueInBaseCurrency) { - platforms[account.Platform?.id || UNKNOWN_KEY].valueInBaseCurrency += + if (platforms[account.platformId || UNKNOWN_KEY]?.valueInBaseCurrency) { + platforms[account.platformId || UNKNOWN_KEY].valueInBaseCurrency += this.exchangeRateDataService.toCurrency( account.balance, account.currency, userCurrency ); } else { - platforms[account.Platform?.id || UNKNOWN_KEY] = { + platforms[account.platformId || UNKNOWN_KEY] = { balance: account.balance, currency: account.currency, - name: account.Platform?.name, + name: account.platform?.name, valueInBaseCurrency: this.exchangeRateDataService.toCurrency( account.balance, account.currency, @@ -1970,15 +1977,15 @@ export class PortfolioService { } if ( - platforms[Account?.Platform?.id || UNKNOWN_KEY]?.valueInBaseCurrency + platforms[Account?.platformId || UNKNOWN_KEY]?.valueInBaseCurrency ) { - platforms[Account?.Platform?.id || UNKNOWN_KEY].valueInBaseCurrency += + platforms[Account?.platformId || UNKNOWN_KEY].valueInBaseCurrency += currentValueOfSymbolInBaseCurrency; } else { - platforms[Account?.Platform?.id || UNKNOWN_KEY] = { + platforms[Account?.platformId || UNKNOWN_KEY] = { balance: 0, currency: Account?.currency, - name: account.Platform?.name, + name: account.platform?.name, valueInBaseCurrency: currentValueOfSymbolInBaseCurrency }; } diff --git a/apps/api/src/app/sitemap/sitemap.controller.ts b/apps/api/src/app/sitemap/sitemap.controller.ts deleted file mode 100644 index aad5e39a1..000000000 --- a/apps/api/src/app/sitemap/sitemap.controller.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; -import { - DATE_FORMAT, - getYesterday, - interpolate -} from '@ghostfolio/common/helper'; -import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; - -import { Controller, Get, Res, VERSION_NEUTRAL, Version } from '@nestjs/common'; -import { format } from 'date-fns'; -import { Response } from 'express'; -import { readFileSync } from 'fs'; -import { join } from 'path'; - -@Controller('sitemap.xml') -export class SitemapController { - public sitemapXml = ''; - - public constructor( - private readonly configurationService: ConfigurationService - ) { - try { - this.sitemapXml = readFileSync( - join(__dirname, 'assets', 'sitemap.xml'), - 'utf8' - ); - } catch {} - } - - @Get() - @Version(VERSION_NEUTRAL) - public async getSitemapXml(@Res() response: Response): Promise { - const currentDate = format(getYesterday(), DATE_FORMAT); - - response.setHeader('content-type', 'application/xml'); - response.send( - interpolate(this.sitemapXml, { - currentDate, - personalFinanceTools: this.configurationService.get( - 'ENABLE_FEATURE_SUBSCRIPTION' - ) - ? personalFinanceTools - .map(({ alias, key }) => { - return [ - '', - ` https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-${alias ?? key}`, - ` ${currentDate}T00:00:00+00:00`, - '', - '', - ` https://ghostfol.io/en/resources/personal-finance-tools/open-source-alternative-to-${alias ?? key}`, - ` ${currentDate}T00:00:00+00:00`, - '', - '', - ` https://ghostfol.io/es/recursos/personal-finance-tools/alternativa-de-software-libre-a-${alias ?? key}`, - ` ${currentDate}T00:00:00+00:00`, - '', - '', - ` https://ghostfol.io/fr/ressources/personal-finance-tools/alternative-open-source-a-${alias ?? key}`, - ` ${currentDate}T00:00:00+00:00`, - '', - '', - ` https://ghostfol.io/it/risorse/personal-finance-tools/alternativa-open-source-a-${alias ?? key}`, - ` ${currentDate}T00:00:00+00:00`, - '', - '', - ` https://ghostfol.io/nl/bronnen/personal-finance-tools/open-source-alternatief-voor-${alias ?? key}`, - ` ${currentDate}T00:00:00+00:00`, - '', - '', - ` https://ghostfol.io/pt/recursos/personal-finance-tools/alternativa-de-software-livre-ao-${alias ?? key}`, - ` ${currentDate}T00:00:00+00:00`, - '' - ].join('\n'); - }) - .join('\n') - : '' - }) - ); - } -} diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index 7a6f08710..46b46bce2 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -104,7 +104,7 @@ export class UserService { user: true }, orderBy: { alias: 'asc' }, - where: { GranteeUser: { id } } + where: { granteeUserId: id } }), this.prismaService.order.count({ where: { userId: id } @@ -196,7 +196,7 @@ export class UserService { include: { Access: true, accounts: { - include: { Platform: true } + include: { platform: true } }, Analytics: true, Settings: true, @@ -259,10 +259,15 @@ export class UserService { (user.Settings.settings as UserSettings).xRayRules = { AccountClusterRiskCurrentInvestment: - new AccountClusterRiskCurrentInvestment(undefined, {}).getSettings( - user.Settings.settings - ), + new AccountClusterRiskCurrentInvestment( + undefined, + undefined, + undefined, + {} + ).getSettings(user.Settings.settings), AccountClusterRiskSingleAccount: new AccountClusterRiskSingleAccount( + undefined, + undefined, undefined, {} ).getSettings(user.Settings.settings), diff --git a/apps/api/src/assets/cryptocurrencies/cryptocurrencies.json b/apps/api/src/assets/cryptocurrencies/cryptocurrencies.json index d7dce485a..4c591365d 100644 --- a/apps/api/src/assets/cryptocurrencies/cryptocurrencies.json +++ b/apps/api/src/assets/cryptocurrencies/cryptocurrencies.json @@ -68,6 +68,7 @@ "1ON8": "Little Dragon", "1OZT": "Tala", "1PECO": "1peco", + "1R0R": "R0AR TOKEN", "1SG": "1SG", "1SOL": "1Sol", "1ST": "FirstBlood", @@ -151,6 +152,7 @@ "A4M": "AlienForm", "A51": "A51 Finance", "A5T": "Alpha5", + "A7A5": "A7A5", "A8": "Ancient8", "AA": "Alva", "AAA": "Moon Rabbit", @@ -320,6 +322,8 @@ "AETHC": "Ankr Reward-Bearing Staked ETH", "AETHERV2": "AetherV2", "AETHRA": "Aethra AI", + "AETHUSDT": "Aave Ethereum USDT", + "AETHWETH": "Aave Ethereum WETH", "AEUR": "Anchored Coins AEUR", "AEVO": "Aevo", "AEVUM": "Aevum", @@ -388,7 +392,7 @@ "AHOO": "Ahoolee", "AHT": "AhaToken", "AI": "Sleepless", - "AI16Z": "ai16z", + "AI16Z": "ElizaOS", "AI21X": "ai21x", "AI23T": "23 Turtles", "AI69SAKURA": "Sakura", @@ -430,6 +434,7 @@ "AIFLOKI": "AI Floki", "AIFUN": "AI Agent Layer", "AIG": "A.I Genesis", + "AIGA": "Aigang", "AIGPU": "AIGPU Token", "AII": "Artificial Idiot", "AIINU": "AI INU", @@ -470,6 +475,7 @@ "AIRBTC": "AIRBTC", "AIRDROP": "AIRDROP2049", "AIRE": "Tokenaire", + "AIRENA": "AI AGENT ARENA", "AIRENE": "AIRENE by Virtuals", "AIREVOLUTION": "AI Revolution Coin", "AIRI": "aiRight", @@ -500,7 +506,7 @@ "AIVIA": "AI Virtual Agents", "AIWALLET": "AiWallet Token", "AIWS": "AIWS", - "AIX": "Aigang", + "AIX": "ALIENX", "AIX9": "AthenaX9", "AIXBT": "aixbt by Virtuals", "AIXERC": "AI-X", @@ -727,10 +733,12 @@ "ANML": "Animal Concerts", "ANN": "Annex Finance", "ANNE": "ANNE", - "ANON": "ANON", + "ANON": "HeyAnon", "ANONCOIN": "Anoncoin", + "ANONCRYPTO": "ANON", "ANRX": "AnRKey X", - "ANS": "ANS Crypto Coin", + "ANS": "Apollo Name Service", + "ANSCRYPTO": "ANS Crypto Coin", "ANSOM": "Ansom", "ANSR": "Answerly", "ANT": "Aragon", @@ -858,6 +866,7 @@ "ARCINTEL": "Arc", "ARCO": "AquariusCoin", "ARCONA": "Arcona", + "ARCOS": "ArcadiaOS", "ARCT": "ArbitrageCT", "ARCTICCOIN": "ArcticCoin", "ARCX": "ARC Governance", @@ -903,6 +912,7 @@ "ARO": "Arionum", "ARON": "Astronaut Aron", "AROR": "Arora", + "AROS": "Aros", "ARPA": "ARPA Chain", "ARPAC": "ArpaCoin", "ARQ": "ArQmA", @@ -976,6 +986,7 @@ "ASPO": "ASPO Shards", "ASQT": "ASQ Protocol", "ASR": "AS Roma Fan Token", + "ASRR": "Assisterr AI", "ASS": "Australian Safe Shepherd", "ASSA": "AssaPlay", "ASSARA": "ASSARA", @@ -1151,6 +1162,7 @@ "AWARE": "ChainAware.ai", "AWAX": "AWAX", "AWC": "Atomic Wallet Coin", + "AWE": "AWE Network", "AWK": "Awkward Monkey Base", "AWM": "Another World", "AWNEX": "AWNEX token", @@ -1158,7 +1170,7 @@ "AWORK": "Aworker", "AWP": "Ansem Wif Photographer", "AWR": "All Will Retire", - "AWS": "AurusSILVER", + "AWS": "Agentwood Studios", "AWT": "Abyss World", "AWX": "AurusX", "AX": "AlphaX", @@ -1203,7 +1215,7 @@ "AZUR": "Azuro Protocol", "AZURE": "Azure Wallet", "AZY": "Amazy", - "B": "BankCoin", + "B": "BUILDon", "B01": "b0rder1ess", "B1P": "B ONE PAYMENT", "B2": "B² Network", @@ -1392,6 +1404,7 @@ "BANKER": "BankerCoinAda", "BANKETH": "BankEth", "BANKSY": "BANKSY", + "BANNED": "BANNED", "BANNER": "BannerCoin", "BANUS": "Banus.Finance", "BANX": "Banx.gg", @@ -1480,6 +1493,7 @@ "BBL": "beoble", "BBN": "BBNCOIN", "BBO": "Bigbom", + "BBOB": "BabyBuilder", "BBONK": "BitBonk", "BBOS": "Blackbox Foundation", "BBP": "BiblePay", @@ -1530,9 +1544,10 @@ "BCOIN": "Bombcrypto", "BCOINM": "Bomb Crypto (MATIC)", "BCOQ": "BLACK COQINU", - "BCP": "BitcashPay", + "BCP": "BlockChainPeople", "BCPAY": "Bitcashpay", "BCPT": "BlockMason Credit Protocol", + "BCPV1": "BitcashPay", "BCR": "BitCredit", "BCRO": "Bonded Cronos", "BCS": "Business Credit Substitute", @@ -1568,6 +1583,7 @@ "BDSM": "BTC DOGE SOL MOON", "BDTC": "BDTCOIN", "BDX": "Beldex", + "BDXN": "Bondex Token", "BDY": "Buddy DAO", "BEA": "Beagle Inu", "BEACH": "BeachCoin", @@ -1588,6 +1604,7 @@ "BEBEV1": "BEBE v1", "BEC": "Betherchip", "BECH": "Beauty Chain", + "BECKOS": "Beckos", "BECN": "Beacon", "BECO": "BecoSwap Token", "BECX": "BETHEL", @@ -1600,6 +1617,7 @@ "BEEP": "BEEP", "BEEPBOOP": "Boop", "BEER": "BEERCOIN", + "BEER2": "Beercoin 2", "BEERUSCAT": "BeerusCat", "BEES": "BEEs", "BEET": "BEETroot", @@ -1754,6 +1772,7 @@ "BIGBALLS": "Edward Coristine", "BIGBANGCORE": "BigBang Core", "BIGCOIN": "BigCoin", + "BIGDOG": "Big Dog", "BIGFACTS": "BIGFACTS", "BIGFOOT": "BigFoot Town", "BIGHAN": "BighanCoin", @@ -1803,6 +1822,7 @@ "BIRDCHAIN": "Birdchain", "BIRDD": "BIRD DOG", "BIRDDOG": "Bird Dog", + "BIRDEI": "Birdei", "BIRDMONEY": "Bird.Money", "BIRDO": "Bird Dog", "BIS": "Bismuth", @@ -1834,6 +1854,7 @@ "BITCOINP": "Bitcoin Private", "BITCOINV": "BitcoinV", "BITCONNECT": "BitConnect Coin", + "BITCORE": "BitCore", "BITCRATIC": "Bitcratic Token", "BITDEGREE": "BitDegree", "BITE": "Bitether", @@ -2039,6 +2060,7 @@ "BMX": "BitMart Token", "BMXT": "Bitmxittz", "BMXX": "Multiplier", + "BN": "TNA Protocol", "BNA": "BananaTok", "BNANA": "Chimpion", "BNB": "Binance Coin", @@ -2065,6 +2087,7 @@ "BNBSNAKE": "BNB SNAKE", "BNBSONGOKU": "BNBsongoku", "BNBTC": "BNbitcoin", + "BNBULL": "BNBULL", "BNBVEGETA": "BNB VEGETA", "BNBWHALES": "BNB Whales", "BNBX": "Stader BNBx", @@ -2208,6 +2231,7 @@ "BONUSCAKE": "Bonus Cake", "BOO": "Spookyswap", "BOOB": "BooBank", + "BOOCHIE": "Boochie by Matt Furie", "BOOE": "Book of Ethereum", "BOOF": "Boofus by Virtuals", "BOOFI": "Boo Finance", @@ -2223,6 +2247,7 @@ "BOOMER": "Boomer", "BOONS": "BOONSCoin", "BOOP": "BOOP", + "BOOPA": "Boopa", "BOOS": "Boost Trump Campaign", "BOOST": "PodFast", "BOOSTCO": "Boost", @@ -2234,6 +2259,7 @@ "BOPPY": "BOPPY", "BOR": "BoringDAO", "BORA": "BORA", + "BORAV1": "BORA v1", "BORED": "Bored Museum", "BORG": "SwissBorg", "BORGY": "BORGY", @@ -2250,6 +2276,7 @@ "BOSONC": "BosonCoin", "BOSS": "BitBoss", "BOSSBABY": "BossBaby", + "BOSSBURGER": "Boss Burger", "BOSSCOQ": "THE COQFATHER", "BOST": "BoostCoin", "BOSU": "Bosu Inu", @@ -2268,6 +2295,7 @@ "BOWSC": "BowsCoin", "BOWSER": "Bowser", "BOX": "DeBoxToken", + "BOXCAT": "BOXCAT", "BOXETH": "Cat-in-a-Box Ether", "BOXT": "BOX Token", "BOXX": "Blockparty", @@ -2325,6 +2353,7 @@ "BRAM": "Defibox bRAM", "BRANA": "Branaverse", "BRAND": "BrandProtect", + "BRANDY": "BRANDY", "BRAT": "Peak Brat", "BRATT": "Son of Brett", "BRAWL": "BitBrawl", @@ -2360,6 +2389,7 @@ "BRIC": "BrightCoin", "BRICK": "Brickchain FInance", "BRICKS": "MyBricks", + "BRICS": "BRICS Chain", "BRIDGE": "Bridge Bot", "BRIGHT": "Bright Token", "BRIGHTU": "Bright Union", @@ -2379,6 +2409,7 @@ "BRNK": "Brank", "BRNX": "Bronix", "BRO": "Bro the cat", + "BROAK": "Broak on Base", "BROC": "Broccoli (broc.wtf)", "BROCC": "Broccoli", "BROCCO": "Broccoli (firstbroccoli.com)", @@ -2508,8 +2539,10 @@ "BTCMT": "Minto", "BTCN": "Bitcorn", "BTCNOW": "Blockchain Technology Co.", + "BTCONETH": "bitcoin on Ethereum", "BTCP": "Bitcoin Palladium", "BTCPAY": "Bitcoin Pay", + "BTCPT": "Bitcoin Platinum", "BTCPX": "BTC Proxy", "BTCR": "BitCurrency", "BTCRED": "Bitcoin Red", @@ -2573,7 +2606,7 @@ "BTU": "BTU Protocol", "BTV": "Bitvote", "BTW": "BitWhite", - "BTX": "BitCore", + "BTX": "Bitradex Token", "BTXC": "Bettex coin", "BTY": "Bityuan", "BTYC": "BigTycoon", @@ -2590,7 +2623,7 @@ "BUBU": "BUBU", "BUBV1": "BUBCAT v1", "BUC": "Beau Cat", - "BUCK": "Coinbuck", + "BUCK": "GME Mascot", "BUCKAZOIDS": "Buckazoids", "BUCKS": "SwagBucks", "BUCKY": "Bucky", @@ -2621,6 +2654,7 @@ "BULDAK": "Buldak", "BULEI": "Bulei", "BULL": "Tron Bull", + "BULLA": "BULLA", "BULLBEAR": "BullBear AI", "BULLC": "BuySell", "BULLF": "BULL FINANCE", @@ -2662,6 +2696,7 @@ "BURNZ": "BURNZ", "BURP": "CoinBurp", "BURRRD": "BURRRD", + "BURT": "BURT", "BUSD": "Binance USD", "BUSDC": "BUSD", "BUSY": "Busy DAO", @@ -2674,6 +2709,7 @@ "BUY": "Burency", "BUYI": "Buying.com", "BUYT": "Buy the DIP", + "BUZ": "BUZ", "BUZZ": "Hive AI", "BUZZCOIN": "BuzzCoin", "BV3A": "Buccaneer V3 Arbitrum", @@ -2761,6 +2797,7 @@ "CAH": "Moon Tropica", "CAI": "Chasm", "CAID": "ClearAid", + "CAILA": "Caila", "CAIR": "Crypto-AI-Robo.com", "CAITOKEN": "Cai Token", "CAIV": "CARVIS", @@ -2810,11 +2847,13 @@ "CAPTAINPLANET": "Captain Planet", "CAPY": "Capybara", "CAPYBARA": "Capybara", + "CAPYBARA1995": "Capybara", "CAR": "Central African Republic Meme", "CARAT": "Carats Token", "CARBLOCK": "CarBlock", "CARBO": "CleanCarbon", - "CARBON": "Carboncoin", + "CARBON": "Carbon", + "CARBONCOIN": "Carboncoin", "CARBONGEMS": "Carbon GEMS", "CARD": "Cardstack", "CARDS": "Cardstarter", @@ -2833,6 +2872,7 @@ "CART": "CryptoArt.Ai", "CARTAXI": "CarTaxi", "CARTERCOIN": "CarterCoin", + "CARTIER": "Cartier", "CARV": "CARV", "CAS": "Cashaa", "CASH": "CashCoin", @@ -2905,6 +2945,8 @@ "CATX": "CAT.trade Protocol", "CATZ": "CatzCoin", "CAU": "Canxium", + "CAUSE": "Causecoin", + "CAV1": "Coupon Assets v1", "CAVA": "Cavapoo", "CAVADA": "Cavada", "CAVE": "Deepcave", @@ -2957,6 +2999,7 @@ "CCC": "CCCoin", "CCCX": "Clipper Coin Capital", "CCD": "Concordium", + "CCDOG": "Courage The Dog", "CCDS": "CCDS INTERNATIONAL", "CCE": "CloudCoin", "CCGDS": "CCGDS", @@ -3035,7 +3078,7 @@ "CFD": "Confido", "CFF": "Coffe", "CFG": "Centrifuge", - "CFI": "Cofound.it", + "CFI": "CyberFi Token", "CFL365": "CFL365 Finance", "CFLASH": "Flash", "CFLO": "Chain Flowers", @@ -3054,7 +3097,7 @@ "CGLD": "Celo Gold", "CGO": "Comtech Gold", "CGPT": "ChainGPT", - "CGPU": "CloudGPU", + "CGPU": "ChainGPU", "CGS": "Crypto Gladiator Shards", "CGT": "Coin Gabbar Token", "CGTV1": "Curio Governance", @@ -3077,6 +3120,7 @@ "CHAMPZ": "Champz", "CHAN": "ChanCoin", "CHANCE": "Ante Casino", + "CHANEL": "Chanel", "CHANG": "Chang", "CHANGE": "ChangeX", "CHAO": "23 Skidoo", @@ -3149,6 +3193,7 @@ "CHILL": "ChillPill", "CHILLAX": "Chillax", "CHILLGUY": "Chill Guy", + "CHILLHOUSE": "Chill House", "CHIM": "Chimera", "CHINA": "China Coin", "CHINAU": "Chinau", @@ -3159,7 +3204,8 @@ "CHIPI": "chipi", "CHIPPY": "Chippy", "CHIPS": "CHIPS", - "CHIRP": "Chirp", + "CHIRP": "Chirp Token", + "CHIRPFI": "Chirp", "CHIRPY": "Chirpy Boy", "CHITAN": "Chitan", "CHITCAT": "ChitCAT", @@ -3258,7 +3304,8 @@ "CLAS": "Classic USDC", "CLASH": "Clashub", "CLASS": "Class Coin", - "CLAY": "Clay Nation", + "CLAY": "Clayton", + "CLAYN": "Clay Nation", "CLB": "Cloudbric", "CLBR": "Colibri Protocol", "CLBTC": "clBTC", @@ -3296,6 +3343,7 @@ "CLOKI": "CATLOKI", "CLORE": "Clore.ai", "CLOUD": "Cloud", + "CLOUDGPU": "CloudGPU", "CLOUT": "BitClout", "CLOUTIO": "Clout", "CLOW": "Clown Pepe", @@ -3336,6 +3384,7 @@ "CMP": "Caduceus", "CMPCO": "CampusCoin", "CMPT": "Spatial Computing", + "CMPV2": "Caduceus Protocol", "CMQ": "Communique", "CMS": "COMSA", "CMSN": "The Commission", @@ -3402,6 +3451,7 @@ "COFFEECOIN": "CoffeeCoin", "COFI": "CoinFi", "COFIX": "CoFIX", + "COFOUNDIT": "Cofound.it", "COG": "Cognitio", "COGE": "Cogecoin", "COGEN": "Cogenero", @@ -3411,6 +3461,7 @@ "COINAI": "Coinbase AI Agent", "COINB": "Coinbidex", "COINBT": "CoinBot", + "COINBUCK": "Coinbuck", "COINDEFI": "Coin", "COING": "Coingrid", "COINH": "Coinhound", @@ -3427,6 +3478,7 @@ "COKEONS": "Coke on Sol", "COL": "Clash of Lilliput", "COLA": "Cola", + "COLISEUM": "Coliseum", "COLL": "Collateral Pay", "COLLAR": "PolyPup Finance", "COLLAT": "Collaterize", @@ -3439,7 +3491,7 @@ "COLS": "Cointel", "COLT": "Collateral Network", "COLX": "ColossusCoinXT", - "COM": "Coliseum", + "COM": ".com", "COMAI": "Commune AI", "COMB": "Combo", "COMBO": "COMBO", @@ -3472,11 +3524,13 @@ "CONV": "Convergence", "CONVO": "Prefrontal Cortex Convo Agent by Virtuals", "CONX": "Connex", + "CONY": "Cony", "COO": "Cool Cats MILK", "COOCHIE": "Cucci", "COOHA": "CoolHash", - "COOK": "Cook", + "COOK": "COOK", "COOKIE": "Cookie", + "COOKTOKEN": "Cook", "COOL": "CoolCoin", "COOP": "Coop Network", "COPA": "COCO PARK", @@ -3484,6 +3538,7 @@ "COPI": "Cornucopias", "COPIO": "Copiosa Coin", "COPIUM": "Copium", + "COPPER": "COPPER", "COPS": "Cops Finance", "COPYCAT": "Copycat Finance", "COQ": "Coq Inu", @@ -3491,6 +3546,7 @@ "CORA": "Cora by Virtuals", "CORAL": "Coral Protocol", "CORALPAY": "CoralPay", + "CORALSWAP": "Coral Swap", "CORE": "Core", "COREC": "CoreConnect", "COREDAO": "coreDAO", @@ -3587,6 +3643,7 @@ "CRAIG": "CraigsCoin", "CRAMER": "Cramer Coin", "CRANEPAY": "Cranepay", + "CRAPPY": "CrappyBird", "CRASH": "Solana Crash", "CRASHBOYS": "CRASHBOYS", "CRAVE": "CraveCoin", @@ -3698,6 +3755,7 @@ "CRWNY": "Crowny Token", "CRX": "ChronosCoin", "CRY": "Crypto News Flash AI", + "CRYBB": "CryBaby", "CRYN": "CRYN", "CRYO": "CryoDAO", "CRYP": "CrypticCoin", @@ -3755,6 +3813,7 @@ "CSR": "Cashera", "CSS": "CoinSwap Token", "CST": "Crypto Samurai", + "CSTAR": "COINSTAR", "CSTC": "CryptosTribe", "CSTL": "Castle", "CSTR": "CoreStarter", @@ -3800,6 +3859,7 @@ "CTX": "Cryptex", "CTXC": "Cortex", "CTY": "Connecty", + "CTYN": "Canyont", "CU": "Crypto Unicorns", "CUAN": "CuanSwap.com", "CUB": "Cub Finance", @@ -4005,9 +4065,10 @@ "DAOSOL": "MonkeDAO", "DAOVC": "DAO.VC", "DAOX": "Daox", - "DAPP": "LiquidApps", + "DAPP": "Pencils Protocol", "DAPPSY": "Dappsy", "DAPPT": "Dapp Token", + "DAPPTOKEN": "LiquidApps", "DAPPX": "dAppstore", "DAPS": "DAPS Coin", "DAR": "Mines of Dalarnia", @@ -4020,9 +4081,10 @@ "DARED": "Daredevil Dog", "DARICO": "Darico", "DARIK": "Darik", - "DARK": "Dark Frontiers", + "DARK": "Dark Eclipse", "DARKCOIN": "Dark", "DARKEN": "Dark Energy Crystals", + "DARKF": "Dark Frontiers", "DARKMAGACOIN": "DARK MAGA", "DARKT": "Dark Trump", "DARKTOKEN": "DarkToken", @@ -4052,6 +4114,7 @@ "DAVIS": "Davis Cup Fan Token", "DAVP": "Davion", "DAW": "DAWKOINS", + "DAWAE": "DaWae", "DAWCURRENCY": "Daw Currency", "DAWG": "Dawg Coin", "DAWGS": "SpaceDawgs", @@ -4389,6 +4452,7 @@ "DINEROBET": "Dinerobet", "DINGER": "Dinger Token", "DINGO": "Dingocoin", + "DINNER": "Trump Dinner", "DINO": "DinoLFG", "DINOS": "Dinosaur Inu", "DINOSWAP": "DinoSwap", @@ -4529,6 +4593,7 @@ "DOGE20": "Doge 2.0", "DOGEAI": "DOGEai", "DOGEB": "DogeBonk", + "DOGEBASE": "Doge Base", "DOGEBNB": "DogeBNB", "DOGEC": "DogeCash", "DOGECAST": "Dogecast", @@ -4679,6 +4744,7 @@ "DP": "DigitalPrice", "DPAD": "Dpad Finance", "DPAY": "Devour", + "DPCORE": "DeepCore AI", "DPDBC": "PDBC Defichain", "DPET": "My DeFi Pet", "DPEX": "DPEX", @@ -4698,11 +4764,12 @@ "DPX": "Dopex", "DPY": "Delphy", "DQQQ": "Invesco QQQ Trust Defichain", - "DRA": "DraculaCoin", + "DRA": "Decentralized Retirement Account", "DRAC": "DRAC Network", "DRACE": "DeathRoad", "DRACO": "DT Token", "DRACOO": "DracooMaster", + "DRACULA": "Dracula", "DRAFTC": "Draftcoin", "DRAGGY": "Draggy", "DRAGON": "Dragon", @@ -4729,7 +4796,8 @@ "DRG": "Dragon Coin", "DRGN": "Dragonchain", "DRIFT": "Drift protocol", - "DRINK": "DrinkChain", + "DRINK": "DRINK", + "DRINKCHAIN": "DrinkChain", "DRIP": "Metadrip", "DRIPNET": "Drip Network", "DRIV": "DRIVEZ", @@ -4840,6 +4908,7 @@ "DUO": "ParallelCoin", "DUOLINGOAI": "DUOLINGO AI", "DUOT": "DUO Network", + "DUPE": "Dupe", "DUREV": "Povel Durev", "DUROV": "FREE DUROV", "DURTH": "iShares MSCI World ETF Tokenized Stock Defichain", @@ -4993,6 +5062,7 @@ "ECOFI": "EcoFi", "ECOIN": "Ecoin", "ECOM": "Omnitude", + "ECOR": "Ecorpay token", "ECOREAL": "Ecoreal Estate", "ECOTERRA": "ecoterra", "ECOX": "ECOx", @@ -5015,6 +5085,7 @@ "EDFI": "EdFi", "EDG": "Edgeless", "EDGE": "Definitive", + "EDGEN": "LayerEdge", "EDGENET": "EDGE", "EDGESOL": "Edgevana Staked SOL", "EDGEW": "Edgeware", @@ -5068,6 +5139,7 @@ "EGGY": "EGGY", "EGI": "eGame", "EGL": "The Eagle Of Truth", + "EGL1": "EGL1", "EGLD": "eGold", "EGO": "Paysenger EGO", "EGOCOIN": "EGOcoin", @@ -5111,6 +5183,7 @@ "ELCASH": "Electric Cash", "ELD": "Electrum Dark", "ELDA": "Eldarune", + "ELDE": "Elderglade", "ELE": "Elementrem", "ELEC": "Electrify.Asia", "ELECTRON": "Electron (Atomicals)", @@ -5610,6 +5683,8 @@ "FANC": "fanC", "FAND": "Fandomdao", "FANG": "FANG Token", + "FANS": "Fantasy Cash", + "FANTOM": "Fantom Maker", "FANV": "FanVerse", "FANX": "FrontFanz", "FANZ": "FanChain", @@ -5679,6 +5754,7 @@ "FDM": "Fandom", "FDO": "Firdaos", "FDR": "French Digital Reserve", + "FDS": "Foodie Squirrel", "FDT": "Frutti Dino", "FDUSD": "First Digital USD", "FDX": "fidentiaX", @@ -5744,6 +5820,7 @@ "FIELD": "Fieldcoin", "FIERO": "Fieres", "FIF": "flokiwifhat", + "FIFA": "FIFA", "FIFTY": "FIFTYONEFIFTY", "FIG": "FlowCom", "FIGH": "FIGHT FIGHT FIGHT", @@ -5798,6 +5875,7 @@ "FISTBUMP": "FistBump", "FIT": "Financial Investment Token", "FITC": "Fitcoin", + "FITCOIN": "FITCOIN", "FITFI": "Step App", "FITT": "Fitmint", "FIU": "beFITTER", @@ -5959,6 +6037,8 @@ "FOIN": "Foin", "FOL": "Folder Protocol", "FOLD": "Manifold Finance", + "FOLGORYUSD": "FolgoryUSD", + "FOLGORYUSDV1": "FolgoryUSD", "FOLO": "Alpha Impact", "FOM": "FOMO BULL CLUB", "FOMO": "Fomo", @@ -6018,7 +6098,7 @@ "FOXV2": "FoxFinanceV2", "FOXXY": "FOXXY", "FOXY": "Foxy", - "FP": "Fren Pet", + "FP": "Forgotten Playland", "FPAD": "FantomPAD", "FPC": "Futurepia", "FPEPE": "Based Father Pepe", @@ -6031,6 +6111,7 @@ "FR": "Freedom Reserve", "FRA": "Findora", "FRAC": "FractalCoin", + "FRANK": "Frank", "FRATT": "Frogg and Ratt", "FRAX": "Frax", "FRAZ": "FrazCoin", @@ -6058,6 +6139,7 @@ "FREN": "FREN", "FRENC": "Frencoin", "FRENCH": "French On Base", + "FRENPET": "Fren Pet", "FRENS": "Farmer Friends", "FRESCO": "Fresco", "FRF": "France REV Finance", @@ -6081,6 +6163,7 @@ "FROGCEO": "Frog Ceo", "FROGE": "Froge Finance", "FROGEX": "FrogeX", + "FROGGER": "FROGGER", "FROGGY": "Froggy", "FROGLIC": "Pink Hood Froglicker", "FROGO": "Frogo", @@ -6180,6 +6263,7 @@ "FUNK": "Cypherfunks Coin", "FUR": "Furio", "FURIE": "Matt Furie", + "FURM": "Furmula", "FURU": "Furucombo", "FURUKURU": "Furukuru", "FURY": "Engines of Fury", @@ -6188,6 +6272,7 @@ "FUSD": "Fantom USD", "FUSDC": "Fluidity", "FUSE": "Fuse Network Token", + "FUSIO": "FUSIO", "FUSION": "FusionBot", "FUSO": "Fusotao", "FUT": "FuturesAI", @@ -6311,8 +6396,10 @@ "GASG": "Gasgains", "GASP": "GASP", "GASPCOIN": "gAsp", + "GASS": "Gasspas", "GASTRO": "GastroCoin", - "GAT": "GATCOIN", + "GAT": "Gather", + "GATCOIN": "GATCOIN", "GATE": "GATENet", "GATEWAY": "Gateway Protocol", "GATHER": "Gather", @@ -6425,6 +6512,7 @@ "GEOJ": "Geojam", "GEOL": "GeoLeaf", "GEON": "Geon", + "GEORGE": "GEORGE", "GEP": "Gaia", "GER": "GermanCoin", "GERA": "Gera Coin", @@ -6537,6 +6625,7 @@ "GIV": "Giveth", "GIVE": "GiveCoin", "GIZ": "GIZMOcoin", + "GIZA": "Giza", "GIZMO": "GIZMO•IMAGINARY• KITTEN (Runes)", "GJC": "Global Jobcoin", "GKAPPA": "Golden Kappa", @@ -6641,6 +6730,7 @@ "GNX": "Genaro Network", "GNY": "GNY", "GO": "GoChain", + "GO4": "GameonForge", "GOA": "GoaCoin", "GOAL": "TopGoal Token", "GOALBON": "Goal Bonanza", @@ -6659,7 +6749,8 @@ "GODCAT": "GodcatExplodingKittens", "GODE": "Gode Chain", "GODEX": "GUARD OF DECENT", - "GODL": "GODL", + "GODL": "RoOLZ", + "GODLAPP": "GODL", "GODS": "Gods Unchained", "GODZ": "Cryptogodz", "GOETH": "Algomint", @@ -6718,6 +6809,7 @@ "GOOGLY": "Googly Cat", "GOOMPY": "Goompy by Matt Furie", "GOON": "Goonies", + "GOONC": "gooncoin", "GOP": "The Republican Party", "GOPX": "GOPX Token", "GOR": "@gork", @@ -6750,6 +6842,7 @@ "GPAWS": "Golden Paws", "GPBP": "Genius Playboy Billionaire Philanthropist", "GPCX": "Good Person Coin", + "GPECTRA": "Pectra Giraffe", "GPKR": "Gold Poker", "GPL": "Gold Pressed Latinum", "GPLX": "Gplx", @@ -6958,6 +7051,7 @@ "GWGW": "GoWrap", "GWT": "Galaxy War", "GX": "GameX", + "GX3": "GX3ai", "GXA": "Galaxia", "GXC": "GXChain", "GXE": "XENO Governance", @@ -7010,6 +7104,7 @@ "HALO": "Halo Coin", "HALOPLATFORM": "Halo Platform", "HAM": "Hamster", + "HAMBURG": "Hamburg Eyes", "HAMI": "Hamachi Finance", "HAMMY": "SAD HAMSTER", "HAMS": "HamsterCoin", @@ -7017,7 +7112,8 @@ "HAMSTERB": "HamsterBase", "HAMSTR": "Hamster Coin", "HAN": "HanChain", - "HANA": "Hanacoin", + "HANA": "Hana", + "HANACOIN": "Hanacoin", "HANAETHCTO": "HANA", "HAND": "ShowHand", "HANDY": "Handy", @@ -7027,6 +7123,7 @@ "HAP": "Happy Train", "HAPI": "HAPI", "HAPPY": "Happy Cat", + "HAPPYC": "HappyCoin", "HAR": "Harambe Coin", "HARAM": "HARAM", "HARAMBE": "Harambe on Solana", @@ -7201,6 +7298,7 @@ "HIGAZERS": "hiGAZERS", "HIGH": "Highstreet", "HIGHER": "Higher", + "HIGHKEY": "HighKey", "HIH": "HiHealth", "HIKARI": "Hikari Protocol", "HILL": "President Clinton", @@ -7235,6 +7333,7 @@ "HITOP": "Hitop", "HIUNDEAD": "hiUNDEAD", "HIVE": "Hive", + "HIVP": "HiveSwap", "HIX": "HELIX Orange", "HK": "Hongkong", "HKB": "HongKong BTC bank", @@ -7316,7 +7415,7 @@ "HOLDS": "Holdstation", "HOLY": "Holy Trinity", "HOM": "Homeety", - "HOME": "OtterHome", + "HOME": "Home", "HOMEBREW": "Homebrew Robotics Club", "HOMER": "Homer Simpson", "HOMERB": "Homer BSC", @@ -7367,10 +7466,11 @@ "HPAD": "HarmonyPad", "HPAY": "HedgePay", "HPB": "High Performance Blockchain", - "HPC": "HappyCoin", + "HPC": "Helal Para Coin", "HPL": "HappyLand (HPL)", "HPN": "HyperonChain", "HPO": "Hippocrat", + "HPOWSB10I": "HarryPotterObamaWallStreetBets10Inu", "HPT": "Huobi Pool Token", "HPX": "HUPAYX", "HPY": "Hyper Pay", @@ -7433,6 +7533,7 @@ "HUHCAT": "huhcat", "HULEZHI": "HU LE ZHI", "HUM": "Humanscape", + "HUMA": "Huma Finance", "HUMAI": "Humanoid AI", "HUMP": "Hump", "HUMV1": "Humanscape v1", @@ -7579,7 +7680,9 @@ "IDM": "IDM", "IDNA": "Idena", "IDO": "Idexo", - "IDOL": "IDOLINU", + "IDOL": "MEET48 Token", + "IDOLINU": "IDOLINU", + "IDOODLES": "IDOODLES", "IDORU": "Vip2Fan", "IDRISS": "IDRISS", "IDRT": "Rupiah Token", @@ -7629,6 +7732,7 @@ "ILLUMINAT": "Illuminat", "ILT": "iOlite", "ILV": "Illuvium", + "IMAGE": "Imagen AI", "IMARO": "IMARO", "IMAYC": "IMAYC", "IMBREX": "Imbrex", @@ -7899,6 +8003,7 @@ "J8T": "JET8", "J9BC": "J9CASINO", "JACK": "Jack Token", + "JACKPOT": "Solana Jackpot", "JACS": "JACS", "JACY": "JACY", "JADE": "Jade Protocol", @@ -7915,6 +8020,7 @@ "JANE": "JaneCoin", "JANET": "Janet", "JANI": "JANI", + "JANITOR": "Janitor", "JANRO": "Janro The Rat", "JAPAN": "Japan Open Chain", "JAR": "Jarvis+", @@ -8054,6 +8160,7 @@ "JPD": "JackpotDoge", "JPEG": "JPEG'd", "JPGC": "JPGold Coin", + "JPMORGAN": "JPMorgan", "JPYC": "JPYC", "JPYX": "eToro Japanese Yen", "JRIT": "JERITEX", @@ -8159,6 +8266,7 @@ "KANG3N": "Kang3n", "KANGAL": "Kangal", "KANGO": "KANGO", + "KAON": "Kaon", "KAP": "KAP Games", "KAPPA": "Kappa", "KAPPY": "Kappy", @@ -8190,7 +8298,9 @@ "KAU": "Kinesis Gold", "KAVA": "Kava", "KAWA": "Kawakami Inu", + "KAWS": "Kaws", "KAYI": "Kayı", + "KBBB": "KILL BIG BEAUTIFUL BILL", "KBC": "Karatgold coin", "KBD": "Kyberdyne", "KBOND": "Klondike Bond", @@ -8202,7 +8312,8 @@ "KBX": "KuBitX", "KC": "Kernalcoin", "KCAKE": "KittyCake", - "KCAL": "Phantasma Energy", + "KCAL": "KCAL Token", + "KCALV2": "Phantasma Energy", "KCASH": "Kcash", "KCAT": "KING OF CATS", "KCATS": "KASPA CATS", @@ -8225,6 +8336,7 @@ "KEEMJONG": "KEEM JONG UNN", "KEEP": "Keep Network", "KEES": "Korea Entertainment Education & Shopping", + "KEETARD": "Keetard", "KEI": "Keisuke Inu", "KEIRA": "Keira", "KEK": "KekCoin", @@ -8303,7 +8415,7 @@ "KIND": "Kind Ads", "KINE": "Kine Protocol", "KINET": "KinetixFi", - "KING": "KING", + "KING": "LRT Squared", "KING93": "King93", "KINGB": "King Bean", "KINGBONK": "King Bonk", @@ -8311,6 +8423,7 @@ "KINGCOIN": "KING", "KINGD": "Kingdom of Ants", "KINGDOG": "King Dog Inu", + "KINGDOM": "KING", "KINGDOMQUEST": "Kingdom Quest", "KINGF": "King Finance", "KINGGROK": "King Grok", @@ -8409,6 +8522,7 @@ "KNUT": "Knut From Zoo", "KNW": "Knowledge", "KOAI": "KOI", + "KOBAN": "KOBAN", "KOBE": "Shabu Shabu", "KOBO": "KoboCoin", "KODA": "Koda Cryptocurrency", @@ -8425,6 +8539,7 @@ "KOJI": "Koji", "KOK": "KOK Coin", "KOKO": "KOALA AI", + "KOKOK": "KoKoK The Roach", "KOKOSWAP": "KokoSwap", "KOL": "Kollect", "KOLANA": "KOLANA", @@ -8444,6 +8559,7 @@ "KORC": "King of Referral Coin", "KORE": "KORE Vault", "KOREC": "Kore", + "KORI": "Kori The Pom", "KORRA": "KORRA", "KOS": "KONTOS", "KOSS": "Koss", @@ -8616,6 +8732,7 @@ "LANDWOLFETH": "Landwolf", "LANDWU": "LandWu", "LANE": "LaneAxis", + "LANLAN": "LanLan Cat", "LAO": "LC Token", "LAOS": "LAOS Network", "LAPI": "Lapis Inu", @@ -8635,6 +8752,7 @@ "LAUGHCOIN": "Laughcoin", "LAUNCH": "Launchblock.com", "LAUNCHCOIN": "Launch Coin on Believe", + "LAUNCHMOBY": "Moby", "LAVA": "Lava Network", "LAVASWAP": "Lavaswap", "LAVAX": "LavaX Labs", @@ -8650,6 +8768,7 @@ "LAZYCAT": "LAZYCAT", "LB": "LoveBit", "LBA": "Cred", + "LBAI": "Lemmy The Bat", "LBC": "LBRY Credits", "LBK": "LBK", "LBL": "LABEL Foundation", @@ -8786,6 +8905,7 @@ "LIBERA": "Libera Financial", "LIBERO": "Libero Financial", "LIBERTA": "The Libertarian Dog", + "LIBERTY": "Torch of Liberty", "LIBFX": "Libfx", "LIBRA": "Libra", "LIBRAP": "Libra Protocol", @@ -8793,6 +8913,7 @@ "LIC": "Ligercoin", "LICK": "PetLFG", "LICKER": "LICKER", + "LICKO": "LICKO", "LICO": "Liquid Collectibles", "LID": "Liquidity Dividends Protocol", "LIDER": "Lider Token", @@ -8869,6 +8990,7 @@ "LITT": "LitLab Games", "LIV": "LiviaCoin", "LIVE": "TRONbetLive", + "LIVENCOIN": "LivenPay", "LIVESEY": "Dr. Livesey", "LIVESTARS": "Live Stars", "LIXX": "Libra Incentix", @@ -8903,7 +9025,7 @@ "LMF": "Lamas Finance", "LMQ": "Lightning McQueen", "LMR": "Lumerin", - "LMT": "Lympo Market Token", + "LMT": "LIMITUS", "LMTOKEN": "LM Token", "LMWR": "LimeWire Token", "LMXC": "LimonX", @@ -8918,7 +9040,8 @@ "LNKC": "Linker Coin", "LNL": "LunarLink", "LNQ": "LinqAI", - "LNR": "Lunar", + "LNR": "LNR", + "LNRV2": "Lunar", "LNT": "Lottonation", "LNX": "Lunox Token", "LOA": "League of Ancients", @@ -9010,6 +9133,7 @@ "LPNT": "Luxurious Pro Network Token", "LPOOL": "Launchpool", "LPT": "Livepeer", + "LPTV1": "Livepeer v1", "LPV": "Lego Pepe Vision", "LPY": "LeisurePay", "LQ": "Liqwid Finance", @@ -9027,7 +9151,6 @@ "LRG": "Largo Coin", "LRN": "Loopring [NEO]", "LRT": "LandRocker", - "LRT2": "LRT Squared", "LSC": "LS Coin", "LSD": "Pontem Liquidswap", "LSDOGE": "LSDoge", @@ -9095,7 +9218,9 @@ "LUCKYSLP": "LuckysLeprecoin", "LUCRE": "Lucre", "LUCY": "Lucy", + "LUCYAI": "Pitch Lucy AI", "LUDO": "Ludo", + "LUDUS": "Ludus", "LUFC": "Leeds United Fan Token", "LUFFY": "Luffy", "LUFFYG": "Luffy G5", @@ -9131,6 +9256,7 @@ "LUT": "Cinemadrom", "LUTETIUM": "Lutetium Coin", "LUX": "Lux Token", + "LUXAI": "Lux Token", "LUXCOIN": "LUXCoin", "LUXO": "Luxo", "LUXU": "Luxury Travel Token", @@ -9141,7 +9267,7 @@ "LVLUSD": "Level USD", "LVLY": "LyvelyToken", "LVM": "LakeViewMeta", - "LVN": "LivenPay", + "LVN": "Levana Protocol", "LVVA": "Levva Protocol Token", "LVX": "Level01", "LWA": "LUMIWAVE", @@ -9161,9 +9287,11 @@ "LYK": "Loyakk Vega", "LYL": "LoyalCoin", "LYM": "Lympo", + "LYMPO": "Lympo Market Token", "LYN": "LYNCHPIN Token", "LYNK": "Lynked.World", - "LYNX": "Lynx", + "LYNX": "Lynex", + "LYNXCOIN": "Lynx", "LYO": "LYO Credit", "LYP": "Lympid Token", "LYQD": "eLYQD", @@ -9241,6 +9369,7 @@ "MAID": "MaidSafe Coin", "MAIL": "CHAINMAIL", "MAINSTON": "Ston", + "MAIV": "MAIV", "MAJ": "Major Frog", "MAJO": "Majo", "MAJOR": "Major", @@ -9255,6 +9384,8 @@ "MALOU": "MALOU Token", "MAMAI": "MammothAI", "MAMBA": "Mamba", + "MAMBO": "Mambo", + "MAMO": "Mamo", "MAN": "Matrix AI Network", "MANA": "Decentraland", "MANA3": "MANA3", @@ -9302,9 +9433,10 @@ "MARMAJ": "marmaj", "MARO": "Maro", "MAROV1": "TTC PROTOCOL", - "MARS": "MarsCoin", + "MARS": "Mars", "MARS4": "MARS4", "MARSC": "MarsCoin", + "MARSCOIN": "MarsCoin", "MARSH": "Unmarshal", "MARSO": "Marso.Tech", "MARSRISE": "MarsRise", @@ -9323,6 +9455,7 @@ "MARYJ": "MaryJane Coin", "MAS": "Midas Protocol", "MASA": "Masa", + "MASHA": "Masha", "MASK": "Mask Network", "MASP": "Market.space", "MASQ": "MASQ", @@ -9535,6 +9668,7 @@ "MEME": "Memecoin", "MEMEA": "MEME AI", "MEMEAI": "Meme Ai", + "MEMEBRC": "MEME", "MEMECUP": "Meme Cup", "MEMEETF": "Meme ETF", "MEMEFI": "MemeFi", @@ -9616,9 +9750,10 @@ "METATI": "Metatime Coin", "METATR": "MetaTrace Utility Token", "METAUFO": "MetaUFO", - "METAV": "MetaVPad", + "METAV": "METAVERSE", "METAVE": "Metaverse Convergence", "METAVIE": "Metavie", + "METAVPAD": "MetaVPad", "METAW": "MetaWorth", "METAX": "MetaverseX", "METEOR": "Meteorite Network", @@ -9711,7 +9846,9 @@ "MIGGLEI": "Migglei", "MIGGLES": "Mr Miggles", "MIGMIG": "MigMig Swap", + "MIH": "MINE COIN", "MIHARU": "Smiling Dolphin", + "MIHV1": "MINE COIN v1", "MIIDAS": "Miidas NFT", "MIININGNFT": "MiningNFT", "MIKE": "Mike", @@ -9773,7 +9910,7 @@ "MINO": "MINO INU", "MINOCOINCTO": "MINO", "MINS": "Minswap", - "MINT": "Mint Club", + "MINT": "Mintify", "MINTCHAIN": "Mint", "MINTCOIN": "MintCoin", "MINTE": "Minter HUB", @@ -9789,6 +9926,7 @@ "MIR": "Mirror Protocol", "MIRA": "Chains of War", "MIRACLE": "MIRACLE", + "MIRACLETELE": "Miracle Tele", "MIRAI": "Project MIRAI", "MIRAIBUILD": "MIRAI", "MIRC": "MIR COIN", @@ -9819,6 +9957,7 @@ "MIXAI": "Mixcash AI", "MIXCOIN": "Mixaverse", "MIXER": "TON Mixer", + "MIXIE": "Mixie", "MIY": "Icel Idman Yurdu Token", "MIZ": "Mizar", "MJT": "MojitoSwap", @@ -9925,7 +10064,7 @@ "MOBIU": "Mobius Money", "MOBU": "MOBU", "MOBX": "MOBIX", - "MOBY": "Moby", + "MOBY": "Moby AI", "MOBYONBASE": "Moby", "MOBYONBASEV1": "Moby v1", "MOC": "Mossland", @@ -9990,11 +10129,13 @@ "MONAV": "Monavale", "MONB": "MonbaseCoin", "MONDO": "mondo", + "MONEROCHAN": "Monerochan", "MONET": "Claude Monet Memeory Coin", "MONETA": "Moneta", "MONEY": "MoneyCoin", "MONEYBEE": "MONEYBEE", "MONEYBYTE": "MoneyByte", + "MONEYGOD": "Money God One", "MONEYIMT": "MoneyToken", "MONF": "Monfter", "MONG": "MongCoin", @@ -10032,6 +10173,7 @@ "MOODENGWIF": "MOODENGWIF", "MOOI": "Moonai", "MOOLA": "Degen Forest", + "MOOLAH": "Moolah", "MOOLYA": "moolyacoin", "MOON": "r/CryptoCurrency Moons", "MOONARCH": "Moonarch", @@ -10200,6 +10342,7 @@ "MTL": "Metal", "MTLM3": "Metal Music v3", "MTLS": "eMetals", + "MTLV1": "Metal v1", "MTLX": "Mettalex", "MTMS": "MTMS Network", "MTN": "TrackNetToken", @@ -10219,6 +10362,7 @@ "MTT": "MulTra", "MTTCOIN": "Money of Tommorow, Today", "MTV": "MultiVAC", + "MTV1": "Mint Club", "MTVT": "Metaverser", "MTW": "Meta Space 2045", "MTX": "Matryx", @@ -10282,6 +10426,7 @@ "MVG": "Mad Viking Games", "MVI": "Metaverse Index", "MVL": "MVL", + "MVOYA": "VOYA (Merlin Bridge)", "MVP": "MAGA VP", "MVPC": "MVP Coin", "MVRS": "Meta MVRS", @@ -10358,7 +10503,9 @@ "NAFT": "Nafter", "NAH": "Strayacoin", "NAI": "Nuklai", + "NAIIVE": "Naiive", "NAILONG": "Nailong", + "NAIT": "Node AI Token", "NAKA": "Nakamoto Games", "NAKAV1": "Nakamoto Games v1", "NALA": "Not a lion, a...", @@ -10604,6 +10751,7 @@ "NFTY": "NFTY Token", "NFTYP": "NFTY DeFi Protocol", "NFUP": "Natural Farm Union Protocol", + "NFX": "Nova Fox", "NFXC": "NFX Coin", "NFY": "Non-Fungible Yearn", "NGA": "NGA Tiger", @@ -10616,6 +10764,7 @@ "NHCT": "Nano Healthcare Token", "NHI": "Non Human Intelligence", "NHT": "Neighbourhoods", + "NIANNIAN": "NianNian", "NIAO": "NIAO", "NIBBLES": "Nibbles", "NIBI": "Nibiru Chain", @@ -10637,6 +10786,7 @@ "NIK": "NIKPLACE", "NIKO": "NikolAI", "NIL": "Nillion", + "NILA": "MindWave", "NILE": "Nile", "NIM": "Nimiq", "NIMBUS": "Nimbus AI", @@ -10674,7 +10824,7 @@ "NKN": "NKN", "NKT": "NakomotoDark", "NKYC": "NKYC Token", - "NLC": "NoLimitCoin", + "NLC": "Nelore Coin", "NLC2": "NoLimitCoin", "NLG": "Gulden", "NLINK": "Neuralink", @@ -10702,6 +10852,7 @@ "NOA": "NOA PLAY", "NOAH": "NOAHCOIN", "NOBL": "NobleCoin", + "NOBODY": "Nobody Sausage", "NOBS": "No BS Crypto", "NOCHILL": "AVAX HAS NO CHILL", "NODE": "NodelyAI", @@ -10815,6 +10966,7 @@ "NTR": "Nether", "NTRN": "Neutron", "NTS": "Notarised", + "NTV": "NativToken", "NTVRK": "Netvrk", "NTWK": "Network Token", "NTX": "NuNet", @@ -10834,6 +10986,7 @@ "NUMI": "NUMINE Token", "NUMITOR": "Numitor", "NUR": "Nurcoin", + "NURA": "Nura Labs", "NUSA": "Nusa", "NUSD": "Nomin USD", "NUT": "Native Utility Token", @@ -10879,7 +11032,8 @@ "NXTT": "Next Earth", "NXTTY": "NXTTY", "NYA": "Nya", - "NYAN": "NyanCoin", + "NYAN": "NYAN", + "NYANCOIN": "NyanCoin", "NYANDOGE": "NyanDOGE International", "NYANTE": "Nyantereum International", "NYBBLE": "Nybble", @@ -10926,6 +11080,7 @@ "OBSUSHI": "Sushi (OmniBridge)", "OBT": "Oobit", "OBTC": "Obitan Chain", + "OBVIOUS": "OBVIOUS COIN", "OBX": "OpenBlox", "OC": "OrangeCoin", "OCADA": "OCADA.AI", @@ -11041,6 +11196,7 @@ "OLEA": "Olea Token", "OLEV1": "OpenLeverage v1", "OLIVE": "Olive", + "OLIVIA": "AIGOV", "OLOID": "OLOID", "OLT": "OneLedger", "OLV": "OldV", @@ -11052,6 +11208,7 @@ "OLYN": "Olyn by Virtuals", "OM": "MANTRA", "OMA": "OmegaCoin", + "OMALLEY": "O'Malley", "OMAX": "Omax", "OMAXV1": "Omax v1", "OMC": "Omchain", @@ -11088,6 +11245,7 @@ "ONDO": "Ondo", "ONDOAI": "Ondo DeFAI", "ONE": "Harmony", + "ONEROOT": "OneRoot Network", "ONES": "OneSwap DAO", "ONET": "ONE Token", "ONEX": "ONE TECH", @@ -11165,6 +11323,7 @@ "OPTIG": "Catgirl Optimus", "OPTIM": "Optimus X", "OPTIMOUSE": "Optimouse", + "OPTIMUS": "Optimus", "OPTIO": "Optio", "OPTION": "OptionCoin", "OPU": "Opu Coin", @@ -11191,9 +11350,11 @@ "ORBK": "Ordibank", "ORBR": "Orbler", "ORBS": "Orbs", - "ORBT": "Orbitt Pro", + "ORBT": "Orbitt Token", + "ORBTV1": "Orbitt Pro", "ORC": "Orbit Chain", "ORCA": "Orca", + "ORCAI": "ORCA", "ORD": "ordinex", "ORDER": "Orderly Network", "ORDI": "Ordinals ", @@ -11261,6 +11422,7 @@ "OTO": "OTOCASH", "OTSEA": "OTSea", "OTT": "Coost", + "OTTERHOME": "OtterHome", "OTTERSPACE": "Otter Space", "OTX": "Octanox", "OUCHI": "OUCHI", @@ -11311,6 +11473,7 @@ "P": "PUPS•WORLD•PEACE", "P202": "Project 202", "P2PS": "P2P Solutions Foundation", + "P33L": "THE P33L", "P3D": "3DPass", "P404": "Potion 404", "PAAL": "PAAL AI", @@ -11418,6 +11581,7 @@ "PAW": "PAWSWAP", "PAWPAW": "PawPaw", "PAWS": "PAWS", + "PAWSE": "PAWSE", "PAWSTA": "dogeatingpasta", "PAWSTARS": "PawStars", "PAWTH": "Pawthereum", @@ -11656,6 +11820,7 @@ "PETOSHI": "Petoshi", "PETS": "PolkaPets", "PETT": "Pett Network", + "PETUNIA": "Petunia", "PEUSD": "peg-eUSD", "PEW": "pepe in a memes world", "PEX": "Pexcoin", @@ -11664,6 +11829,7 @@ "PFL": "Professional Fighters League Fan Token", "PFR": "PayFair", "PFT": "PolarFighters", + "PFVS": "Puffverse Token", "PFY": "Portify", "PG": "Pepe Grow", "PGALA": "pGALA", @@ -12018,6 +12184,7 @@ "POPG": "POPG", "POPGOAT": "Goatseus Poppimus", "POPK": "POPKON", + "POPMART": "POP MART", "POPO": "popo", "POPOETH": "POPO", "POPSICLE": "Popsicle Finance", @@ -12288,7 +12455,8 @@ "PUX": "pukkamex", "PVC": "PVC Meta", "PVFYBO": "JRVGCUPVSC", - "PVP": "PVPChain", + "PVP": "PvP", + "PVPCHAIN": "PVPChain", "PVT": "Pivot Token", "PVU": "Plant vs Undead Token", "PWAR": "PolkaWar", @@ -12394,6 +12562,7 @@ "QRP": "Cryptics", "QRT": "Qrkita Token", "QRX": "QuiverX", + "QSHX": "Queen Sherex", "QSLV": "Quicksilver coin", "QSP": "Quantstamp", "QSR": "Quasar", @@ -12409,6 +12578,7 @@ "QTO": "QToken", "QTUM": "QTUM", "QTZ": "Quartz", + "QU3": "QU3ai", "QUA": "Quantum Tech", "QUAC": "QUACK", "QUACK": "Rich Quack", @@ -12515,6 +12685,7 @@ "RATECOIN": "Ratecoin", "RATING": "DPRating", "RATIO": "Ratio Governance Token", + "RATO": "Rato The Rat", "RATS": "Rats", "RATWIF": "RatWifHat", "RAVE": "Ravendex", @@ -12573,10 +12744,11 @@ "RDEX": "Orders.Exchange", "RDF": "ReadFi", "RDGX": "R-DEE Protocol", + "RDMP": "Roadmap Coin", "RDN": "Raiden Network Token", "RDNT": "Radiant Capital", "RDNTV1": "Radiant Capital v1", - "RDO": "Rodeo Finance", + "RDO": "RDO Token", "RDOG": "Repost Dog", "RDPX": "Dopex Rebate Token", "RDR": "Rise of Defenders", @@ -12693,11 +12865,13 @@ "REQ": "Request Network", "RES": "Resistance", "RESCUE": "Rescue", + "RESOLV": "Resolv", "REST": "Restore", "RET": "Renewable Energy", "RETA": "Realital Metaverse", "RETAIL": "Retail.Global", "RETAR": "Retard Finder Coin", + "RETARD": "retardcoin", "RETARDIA": "RETARDIA", "RETARDIO": "RETARDIO", "RETH": "Rocket Pool ETH", @@ -12803,6 +12977,7 @@ "RISEP": "Rise Protocol", "RISEVISION": "Rise", "RISITA": "Risitas", + "RITA": "Rita Elite Order", "RITE": "ritestream", "RITO": "Ritocoin", "RITZ": "Ritz.Game", @@ -12850,7 +13025,7 @@ "RNDX": "Round X", "RNEAR": "Near (Rainbow Bridge)", "RNS": "RenosCoin", - "RNT": "OneRoot Network", + "RNT": "REAL NIGGER TATE", "RNTB": "BitRent", "RNX": "ROONEX", "ROAD": "ROAD", @@ -12878,6 +13053,7 @@ "ROCKYCOIN": "ROCKY", "ROCO": "ROCO FINANCE", "RODAI": "ROD.AI", + "RODEO": "Rodeo Finance", "ROE": "Rover Coin", "ROG": "ROGin AI", "ROGER": "ROGER", @@ -12885,6 +13061,7 @@ "ROK": "Rockchain", "ROKM": "Rocket Ma", "ROKO": "Roko", + "ROLLSROYCE": "RollsRoyce", "ROLS": "RollerSwap", "ROM": "ROMCOIN", "ROME": "Rome", @@ -12925,6 +13102,7 @@ "ROUTEV1": "Router Protocol v1", "ROUTINE": "Morning Routine", "ROVI": "ROVI", + "ROVR": "ROVR Network", "ROW": "Rage On Wheels", "ROWAN": "Sifchain", "ROX": "Robotina", @@ -12961,6 +13139,7 @@ "RSG": "RSG TOKEN", "RSIC": "RSIC•GENESIS•RUNE", "RSIN": "Roketsin", + "RSO": "Real Sociedad Fan Token", "RSPN": "Respan", "RSR": "Reserve Rights", "RSRV": "Reserve", @@ -13049,6 +13228,7 @@ "RXCG": "RXCGames", "RXD": "Radiant", "RXO": "RocketXRP Official", + "RXR": "RXR Coin", "RXT": "RIMAUNANGIS", "RYAN": "OFFICIAL RYAN", "RYC": "RoyalCoin", @@ -13130,7 +13310,7 @@ "SAMMY": "Samoyed", "SAMO": "Samoyedcoin", "SAMS": "Samsara.Build", - "SAN": "Santiment", + "SAN": "San Chan", "SANA": "Storage Area Network Anywhere", "SANCHO": "Sancho", "SAND": "The Sandbox", @@ -13144,6 +13324,7 @@ "SANTA": "SANTA CHRISTMAS INU", "SANTAGROK": "Santa Grok", "SANTAHAT": "SANTA HAT", + "SANTI": "Santiment", "SANTOS": "Santos FC Fan Token", "SAO": "Sator", "SAP": "SwapAll", @@ -13161,15 +13342,17 @@ "SATA": "Signata", "SATAN": "MrBeast's Cat", "SATO": "Atsuko Sato", + "SATOEXCHANGE": "SatoExchange Token", "SATOPAY": "SatoPay", "SATORI": "Satori Network", "SATOSHINAKAMOTO": "Satoshi Nakamoto", + "SATOTHEDOG": "Sato The Dog", "SATOX": "Satoxcoin", "SATOZ": "Satozhi", "SATS": "SATS (Ordinals)", "SATSALL": "ALL BEST ICO SATOSHI", "SATT": "SaTT", - "SATX": "SatoExchange Token", + "SATX": "SATX", "SAUBER": "Alfa Romeo Racing ORLEN Fan Token", "SAUCE": "SaucerSwap", "SAUCEINU": "SAUCEINU", @@ -13182,11 +13365,13 @@ "SAVEOCEAN": "Save The Ocean", "SAVG": "SAVAGE", "SAVM": "SatoshiVM", + "SAVVA": "SAVVA", "SAY": "SAY Coin", "SB": "DragonSB", "SBA": "simplyBrand", "SBABE": "SNOOPYBABE", "SBAE": "Salt Bae For The People", + "SBB": "Slim Beautiful Bill", "SBC": "StableCoin", "SBCC": "Smart Block Chain City", "SBCH": "Smart Bitcoin Cash", @@ -13298,12 +13483,14 @@ "SDX": "SwapDEX", "SEAGULL": "SEAGULL SAM", "SEAIO": "Second Exchange Alliance", - "SEAL": "Seal Finance", + "SEAL": "Seal", + "SEALFINANCE": "Seal Finance", "SEALN": "Seal Network", "SEAM": "Seamless Protocol", "SEAMLESS": "SeamlessSwap", "SEAN": "Starfish Finance", - "SEAT": "SeatlabNFT", + "SEAT": "Seamans Token", + "SEATLABNFT": "SeatlabNFT", "SEBA": "Seba", "SEC": "SecureCryptoPayments", "SECO": "Serum Ecosystem Token", @@ -13660,6 +13847,7 @@ "SJCX": "StorjCoin", "SKAI": "Skillful AI", "SKAIN": "SKAINET", + "SKATE": "Skate", "SKB": "SkullBuzz", "SKBDI": "Skibidi Toilet", "SKC": "Skeincoin", @@ -13702,6 +13890,7 @@ "SKYCOIN": "Skycoin", "SKYFT": "SKYFchain", "SKYM": "SkyMap", + "SKYOPS": "Skyops", "SKYRIM": "Skyrim Finance", "SKYX": "SKUYX", "SLA": "SUPERLAUNCH", @@ -13845,7 +14034,8 @@ "SNG": "SINERGIA", "SNGLS": "SingularDTV", "SNGT": "SNG Token", - "SNIBBU": "Snibbu The Crab", + "SNIBBU": "Snibbu", + "SNIBBUTHEC": "Snibbu The Crab", "SNIFT": "StarryNift", "SNIP": "LyrnAI", "SNIPPEPE": "SNIPING PEPE", @@ -13934,6 +14124,7 @@ "SOLAV": "SOLAV TOKEN", "SOLBET": "SOL STREET BETS", "SOLBO": "SolBoss", + "SOLBOX": "SolBox", "SOLBULL": "SOLBULL", "SOLC": "SolCard", "SOLCASH": "SOLCash", @@ -14000,12 +14191,14 @@ "SONNE": "Sonne Finance", "SONOF": "Son of Solana", "SONOR": "SonorusToken", - "SOON": "SOON", + "SOON": "SOON Token", "SOONAVERSE": "Soonaverse", "SOONCOIN": "SoonCoin", + "SOONTOKEN": "SOON", "SOOTCASE": "I like my sootcase", "SOP": "SoPay", "SOPH": "Sophon", + "SOPHIA": "SophiaVerse", "SOPHON": "Sophon (Atomicals)", "SOR": "Sorcery", "SORA": "Sora Validator Token", @@ -14173,6 +14366,7 @@ "SQUIDGROWV1": "SquidGrow v1", "SQUIDV1": "Squid Game v1", "SQUIDW": "Squidward Coin", + "SQUIRT": "SQUIRTLE", "SQUOGE": "DogeSquatch", "SR30": "SatsRush", "SRBP": "Super Rare Ball Potion", @@ -14348,7 +14542,7 @@ "STONE": "Stone Token", "STONEDE": "Stone DeFi", "STONK": "STONK", - "STONKS": "HarryPotterObamaWallStreetBets10Inu", + "STONKS": "STONKS", "STOP": "LETSTOP", "STOR": "Self Storage Coin", "STORE": "Bit Store", @@ -14427,6 +14621,7 @@ "SUDO": "sudoswap", "SUEDE": "Johnny Suede", "SUGAR": "Sugar Exchange", + "SUGARB": "SugarBlock", "SUI": "Sui", "SUIA": "SUIA", "SUIAGENT": "aiSUI", @@ -14483,6 +14678,7 @@ "SUPEROETHB": "Super OETH", "SUPERT": "Super Trump", "SUPERTX": "SuperTX", + "SUPFRIEND": "SuperFriend", "SUPR": "SuperDapp", "SUPRA": "Supra", "SUPREMEFINANCE": "Hype", @@ -14497,6 +14693,7 @@ "SUSDX": "Staked USDX", "SUSHI": "Sushi", "SUSX": "Savings USX", + "SUT": "SuperTrust", "SUTEKU": "Suteku", "SUTER": "Suterusu", "SUWI": "suwi", @@ -14618,12 +14815,14 @@ "SYS": "Syscoin", "SZCB": "Zugacoin", "T": "Threshold Network Token", + "T1": "Trump Mobile", "T23": "T23", "T99": "Tethereum", "TAAS": "Token as a Service", "TAB": "MollyCoin", "TABOO": "Taboo Token", "TAC": "Traceability Chain", + "TACC": "TACC", "TACHYON": "Tachyon Protocol", "TAD": "Tadpole", "TADA": "Ta-da", @@ -14664,6 +14863,7 @@ "TAOTOOLS": "TAOTools", "TAP": "TAP FANTASY", "TAPC": "Tap Coin", + "TAPCOIN": "TAP FANTASY", "TAPPINGCOIN": "TappingCoin", "TAPROOT": "Taproot Exchange", "TAPS": "TapSwap", @@ -14672,17 +14872,20 @@ "TARAL": "TARALITY", "TARD": "Tard", "TARDI": "Tardi", + "TARGETCOIN": "TargetCoin", "TARI": "Tari World", "TAROT": "Tarot", "TAROTV1": "Tarot v1", "TARP": "Totally A Rug Pull", "TAS": "TARUSH", "TASH": "Smart Trip Platform", + "TASSHUB": "TASS HUB", "TASTE": "TasteNFT", "TAT": "Tatcoin", "TATA": "TATA Coin", - "TATE": "Tate", + "TATE": "Tate Terminal", "TATES": "Tate Stop", + "TATETOKENETH": "Tate", "TATSU": "Taτsu", "TAU": "Lamden Tau", "TAUC": "Taurus Coin", @@ -14763,7 +14966,7 @@ "TEITEI": "TeiTei", "TEK": "TekCoin", "TEL": "Telcoin", - "TELE": "Miracle Tele", + "TELE": "Tele", "TELEBTC": "teleBTC", "TELEPORT": "Teleport System Token", "TELL": "Tellurion", @@ -14824,6 +15027,7 @@ "TFI": "TrustFi Network Token", "TFL": "True Flip Lottery", "TFLOW": "TradeFlow", + "TFNY": "TFNY", "TFS": "TFS Token", "TFT": "The Famous Token", "TFUEL": "Theta Fuel", @@ -14833,7 +15037,7 @@ "TGPT": "Trading GPT", "TGRAM": "TG20 TGram", "TGRASS": "Top Grass Club", - "TGT": "TargetCoin", + "TGT": "Tokyo Games Token", "TGW": "The Green World", "TH": "Team Heretics Fan Token", "THALES": "Thales", @@ -14898,6 +15102,7 @@ "TI": "Titanium22", "TIA": "Celestia", "TIANHE": "Tianhe", + "TIBBIR": "Ribbita", "TIC": "TrueInvestmentCoin", "TICO": "Tico", "TIDAL": "Tidal Finance", @@ -14911,6 +15116,7 @@ "TIGER": "TIGER", "TIGERC": "TigerCash", "TIGERMOON": "TigerMoon", + "TIGERSHARK": "Tiger Shark", "TIGRA": "Tigra", "TIGRES": "Tigres Fan Token", "TIIM": "TriipMiles", @@ -14938,8 +15144,9 @@ "TIPSY": "TipsyCoin", "TIT": "TittieCoin", "TITA": "Titan Hunters", - "TITAN": "TitanSwap", + "TITAN": "SATOSHI•RUNE•TITAN (Runes)", "TITANO": "Titano", + "TITANSWAP": "TitanSwap", "TITANX": "TitanX", "TITC": "TitCoin", "TITCOIN": "titcoin", @@ -15022,8 +15229,9 @@ "TOLO": "Tolo Yacoloco", "TOLYCAT": "Toly's Cat", "TOM": "TOM Finance", - "TOMA": "TomaInfo", + "TOMA": "Tomarket", "TOMAHAWKCOIN": "Tomahawkcoin", + "TOMAINFO": "TomaInfo", "TOMAN": "IRR", "TOMB": "Tomb", "TOMC": "TOM CAT", @@ -15105,6 +15313,7 @@ "TPU": "TensorSpace", "TPV": "TravGoPV", "TPY": "Thrupenny", + "TQ": "TonQuestion", "TQRT": "TokoQrt", "TR3": "Tr3zor", "TRA": "Trabzonspor Fan Token", @@ -15149,6 +15358,7 @@ "TREE": "Tree", "TREEB": "Retreeb", "TREMP": "Doland Tremp", + "TRENCHER": "Trencher", "TRESTLE": "TRESTLE", "TRET": "Tourist Review", "TRG": "The Rug Game", @@ -15164,9 +15374,11 @@ "TRICKLE": "Trickle", "TRIG": "Trigger", "TRINI": "Trinity Network Credit", - "TRIO": "Tripio", + "TRIO": "TRIO", "TRIPAD": "TripAdvisor, Inc.", + "TRIPIO": "Tripio", "TRIPPKI": "Trippki", + "TRISIG": "TRI SIGMA", "TRITON": "Triton", "TRIVIA": "Trivians", "TRIX": "TriumphX", @@ -15183,6 +15395,7 @@ "TROLLHEIM": "Trollheim", "TROLLICTO": "TROLLI CTO", "TROLLMODE": "TROLL MODE", + "TROLLRUN": "TROLL", "TROLLS": "trolls in a memes world", "TRONDOG": "TronDog", "TRONI": "Tron Inu", @@ -15317,6 +15530,7 @@ "TUDA": "Tutor's Diary", "TUF": "TUF Token", "TUGOU": "TuGou", + "TUKI": "Tuki", "TULIP": "Tulip Protocol", "TUNA": "TUNACOIN", "TUNE": "Bitune", @@ -15365,6 +15579,7 @@ "TX20": "Trex20", "TXA": "TXA", "TXAG": "tSILVER", + "TXAGV1": "AurusSILVER", "TXAI": "TrumpX Ai", "TXAU": "tGOLD", "TXBIT": "Txbit Token", @@ -15390,10 +15605,12 @@ "TYT": "Tianya Token", "TZC": "TrezarCoin", "TZKI": "Tsuzuki Inu", + "TZPEPE": "Tezos Pepe", "TZU": "Sun Tzu", "U": "Unidef", "U2U": "U2U Network", "U8D": "Universal Dollar", + "UA1": "UA1", "UAEC": "United Arab Emirates Coin", "UAHG": "UAHg", "UAT": "UltrAlpha", @@ -15624,6 +15841,7 @@ "USDE": "Ethena USDe", "USDEBT": "USDEBT", "USDEX": "eToro US Dollar", + "USDF": "Falcon USD", "USDFL": "USDFreeLiquidity", "USDG": "Global Dollar", "USDGLOBI": "Globiance USD Stablecoin", @@ -15653,6 +15871,7 @@ "USDTV": "TetherTV", "USDTZ": "USDtez", "USDU": "Upper Dollar", + "USDUC": "Unstable Coin", "USDV": "Verified USD", "USDW": "USD DWIN", "USDX": "USDX Stablecoin", @@ -15660,6 +15879,7 @@ "USDZ": "Zedxion USDZ", "USE": "Usechain Token", "USEDCAR": "A Gently Used 2001 Honda", + "USELESS": "USELESS COIN", "USETH": "USETH", "USG": "USGold", "USH": "unshETHing_Token", @@ -15810,6 +16030,7 @@ "VELAR": "Velar", "VELO": "Velo", "VELOD": "Velodrome Finance", + "VELODV1": "Velodrome v1", "VELOX": "Velox", "VELOXPROJECT": "Velox", "VEMP": "vEmpire DDAO", @@ -15831,7 +16052,8 @@ "VERO": "VEROPAD", "VERSA": "Versa Token", "VERSACE": "VERSACE", - "VERSE": "Verse", + "VERSE": "Verse World", + "VERSEBIT": "Verse", "VERT": "VERT", "VERTAI": "Vertical AI", "VERTEX": "Vertex", @@ -15990,7 +16212,7 @@ "VOX": "Vox.Finance", "VOXEL": "Voxies", "VOY": "enVoy DeFi", - "VOYA": "Voyacoin", + "VOYACOIN": "Voyacoin", "VP": "Torah Network", "VPAD": "VLaunch", "VPK": "Vulture Peak", @@ -16032,7 +16254,8 @@ "VSTA": "Vesta Finance", "VSTR": "Vestra DAO", "VSUI": "Volo Staked SUI", - "VSX": "Vsync", + "VSX": "Versus-X", + "VSYNC": "Vsync", "VSYS": "V Systems", "VT": "Virtual Tourist", "VTC": "Vertcoin", @@ -16087,6 +16310,7 @@ "W3S": "Web3Shot", "W3W": "Web3 Whales", "W8BIT": "8Bit Chain", + "WA7A5": "Wrapped A7A5", "WAAC": "Wrapped AyeAyeCoin", "WAB": "WABnetwork", "WABI": "WABI", @@ -16148,7 +16372,8 @@ "WAT0X63": "Wat", "WATC": "WATCoin", "WATCH": "Yieldwatch", - "WATER": "WATER", + "WATER": "Waterfall", + "WATERCOIN": "WATER", "WATT": "WATTTON", "WAVAX": "Wrapped AVAX", "WAVES": "Waves", @@ -16314,7 +16539,8 @@ "WHIRL": "Whirl Finance", "WHISK": "Whiskers", "WHISKEY": "WHISKEY", - "WHITE": "Whiteheart", + "WHITE": "WhiteRock", + "WHITEHEART": "Whiteheart", "WHL": "WhaleCoin", "WHO": "Truwho", "WHOLE": "Whole Network", @@ -16394,6 +16620,7 @@ "WKC": "Wiki Cat", "WKD": "Wakanda Inu", "WKEYDAO": "WebKey DAO", + "WLAI": "Weblume AI", "WLD": "Worldcoin", "WLF": "Wolfs Group", "WLFI": "World Liberty Financial", @@ -16474,6 +16701,7 @@ "WOOF": "WoofWork.io", "WOOFY": "Woofy", "WOOL": "Wolf Game Wool", + "WOOLLY": "Miniature Woolly Mammoth", "WOONK": "Woonkly", "WOOO": "wooonen", "WOOOOO": "Wooooo! Coin", @@ -16519,6 +16747,7 @@ "WRTCOIN": "WRTcoin", "WRX": "WazirX", "WRZ": "Weriz", + "WS": "Wrapped Sonic", "WSB": "WallStreetBets DApp", "WSBABY": "Wall Street Baby", "WSBC": "WSB Coin", @@ -16601,6 +16830,8 @@ "X": "X Empire", "X2": "X2Coin", "X2Y2": "X2Y2", + "X314": "X314", + "X314V1": "X314 v1", "X33": "Shadow Liquid Staking Token", "X42": "X42 Protocol", "X7": "X7", @@ -16628,6 +16859,7 @@ "XAUR": "Xaurum", "XAUT": "Tether Gold", "XAVA": "Avalaunch", + "XAVIER": "Xavier: Renegade Angel", "XAYA": "XAYA", "XB": "XBANKING", "XBASE": "ETERBASE", @@ -16664,6 +16896,7 @@ "XCFX": "Nucleon", "XCG": "Xchange", "XCH": "Chia", + "XCHAT": "XChat", "XCHF": "CryptoFranc", "XCHNG": "Chainge Finance", "XCI": "Cannabis Industry Coin", @@ -16723,8 +16956,8 @@ "XFINANCE": "Xfinance", "XFIT": "Xfit", "XFLOKI": "XFLOKI", - "XFT": "Fantasy Cash", - "XFTC": "Offshift", + "XFT": "Offshift", + "XFTV1": "Offshift v1", "XFUEL": "XFUEL", "XFUND": "xFund", "XFYI": "XCredit", @@ -16810,6 +17043,7 @@ "XNO": "Xeno Token", "XNODE": "XNODE", "XNP": "ExenPay Token", + "XNPCS": "NPCS AI", "XNS": "Insolar", "XNT": "Exenium", "XNV": "Nerva", @@ -16824,6 +17058,7 @@ "XOXO": "XO Protocol", "XP": "Xphere", "XPA": "XPA", + "XPARTY": "X Party", "XPAT": "Bitnation Pangea", "XPAY": "Wallet Pay", "XPB": "Pebble Coin", @@ -16880,6 +17115,7 @@ "XRPAYNET": "XRPayNet", "XRPC": "Xrp Classic", "XRPCHAIN": "Ripple Chain", + "XRPCV1": "XRP Classic v1", "XRPEPE": "XRPEPE", "XRPH": "XRP Healthcare", "XRS": "Xrius", @@ -16987,6 +17223,7 @@ "YAY": "YAY Games", "YAYCOIN": "YAYcoin", "YBC": "YbCoin", + "YBDBD": "YBDBD", "YBO": "Young Boys Fan Token", "YBR": "YieldBricks", "YCC": "Yuan Chain Coin", @@ -17062,6 +17299,7 @@ "YOD": "Year of the Dragon", "YODA": "YODA", "YODE": "YodeSwap", + "YOEX": "YO EXCHANGE", "YOLO": "YoloNolo", "YOM": "YOM", "YONNY": "YONNY", @@ -17134,9 +17372,10 @@ "ZAMZAM": "ZAMZAM", "ZANO": "Zano", "ZAO": "zkTAO", - "ZAP": "Zap", + "ZAP": "ZAP", "ZAPI": "Zapicorn", "ZAPO": "Zapo AI", + "ZAPTOKEN": "Zap", "ZARP": "ZARP Stablecoin", "ZARX": "eToro South African Rand", "ZASH": "ZIMBOCASH", @@ -17187,6 +17426,7 @@ "ZELIX": "ZELIX", "ZEN": "Horizen", "ZENAD": "Zenad", + "ZENAI": "Zen AI", "ZENC": "Zenc Coin", "ZEND": "zkLend", "ZENF": "Zenland", @@ -17200,6 +17440,7 @@ "ZEP": "Zeppelin Dao", "ZEPH": "Zephyr Protocol", "ZER": "Zero", + "ZERC": "zkRace Coin", "ZEREBRO": "Zerebro", "ZERO": "ZeroLend", "ZEROB": "ZeroBank", diff --git a/apps/api/src/main.ts b/apps/api/src/main.ts index bf14ebb90..41f156cbf 100644 --- a/apps/api/src/main.ts +++ b/apps/api/src/main.ts @@ -48,7 +48,8 @@ async function bootstrap() { exclude: [ 'sitemap.xml', ...SUPPORTED_LANGUAGE_CODES.map((languageCode) => { - return `/${languageCode}/*wildcard`; + // Exclude language-specific routes with an optional wildcard + return `/${languageCode}{/*wildcard}`; }) ] }); diff --git a/apps/api/src/models/rules/account-cluster-risk/current-investment.ts b/apps/api/src/models/rules/account-cluster-risk/current-investment.ts index 76b7e2f94..501c9b803 100644 --- a/apps/api/src/models/rules/account-cluster-risk/current-investment.ts +++ b/apps/api/src/models/rules/account-cluster-risk/current-investment.ts @@ -1,20 +1,22 @@ import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface'; import { Rule } from '@ghostfolio/api/models/rule'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; -import { - PortfolioDetails, - PortfolioPosition, - UserSettings -} from '@ghostfolio/common/interfaces'; +import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; +import { PortfolioDetails, UserSettings } from '@ghostfolio/common/interfaces'; + +import { Account } from '@prisma/client'; export class AccountClusterRiskCurrentInvestment extends Rule { private accounts: PortfolioDetails['accounts']; public constructor( protected exchangeRateDataService: ExchangeRateDataService, + private i18nService: I18nService, + languageCode: string, accounts: PortfolioDetails['accounts'] ) { super(exchangeRateDataService, { + languageCode, key: AccountClusterRiskCurrentInvestment.name }); @@ -23,54 +25,62 @@ export class AccountClusterRiskCurrentInvestment extends Rule { public evaluate(ruleSettings: Settings) { const accounts: { - [symbol: string]: Pick & { + [symbol: string]: Pick & { investment: number; }; } = {}; for (const [accountId, account] of Object.entries(this.accounts)) { accounts[accountId] = { - name: account.name, - investment: account.valueInBaseCurrency + investment: account.valueInBaseCurrency, + name: account.name }; } - let maxItem: (typeof accounts)[0]; + let maxAccount: (typeof accounts)[0]; let totalInvestment = 0; for (const account of Object.values(accounts)) { - if (!maxItem) { - maxItem = account; + if (!maxAccount) { + maxAccount = account; } // Calculate total investment totalInvestment += account.investment; // Find maximum - if (account.investment > maxItem?.investment) { - maxItem = account; + if (account.investment > maxAccount?.investment) { + maxAccount = account; } } - const maxInvestmentRatio = maxItem?.investment / totalInvestment || 0; + const maxInvestmentRatio = maxAccount?.investment / totalInvestment || 0; if (maxInvestmentRatio > ruleSettings.thresholdMax) { return { - evaluation: `Over ${ - ruleSettings.thresholdMax * 100 - }% of your current investment is at ${maxItem.name} (${( - maxInvestmentRatio * 100 - ).toPrecision(3)}%)`, + evaluation: this.i18nService.getTranslation({ + id: 'rule.accountClusterRiskCurrentInvestment.false', + languageCode: this.getLanguageCode(), + placeholders: { + maxAccountName: maxAccount.name, + maxInvestmentRatio: (maxInvestmentRatio * 100).toPrecision(3), + thresholdMax: ruleSettings.thresholdMax * 100 + } + }), value: false }; } return { - evaluation: `The major part of your current investment is at ${ - maxItem.name - } (${(maxInvestmentRatio * 100).toPrecision(3)}%) and does not exceed ${ - ruleSettings.thresholdMax * 100 - }%`, + evaluation: this.i18nService.getTranslation({ + id: 'rule.accountClusterRiskCurrentInvestment.true', + languageCode: this.getLanguageCode(), + placeholders: { + maxAccountName: maxAccount.name, + maxInvestmentRatio: (maxInvestmentRatio * 100).toPrecision(3), + thresholdMax: ruleSettings.thresholdMax * 100 + } + }), value: true }; } @@ -88,7 +98,10 @@ export class AccountClusterRiskCurrentInvestment extends Rule { } public getName() { - return 'Investment'; + return this.i18nService.getTranslation({ + id: 'rule.accountClusterRiskCurrentInvestment', + languageCode: this.getLanguageCode() + }); } public getSettings({ baseCurrency, xRayRules }: UserSettings): Settings { diff --git a/apps/api/src/models/rules/account-cluster-risk/single-account.ts b/apps/api/src/models/rules/account-cluster-risk/single-account.ts index 50f49efab..c35cabd9a 100644 --- a/apps/api/src/models/rules/account-cluster-risk/single-account.ts +++ b/apps/api/src/models/rules/account-cluster-risk/single-account.ts @@ -1,6 +1,7 @@ import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface'; import { Rule } from '@ghostfolio/api/models/rule'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; +import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; import { PortfolioDetails, UserSettings } from '@ghostfolio/common/interfaces'; export class AccountClusterRiskSingleAccount extends Rule { @@ -8,9 +9,12 @@ export class AccountClusterRiskSingleAccount extends Rule { public constructor( protected exchangeRateDataService: ExchangeRateDataService, + private i18nService: I18nService, + languageCode: string, accounts: PortfolioDetails['accounts'] ) { super(exchangeRateDataService, { + languageCode, key: AccountClusterRiskSingleAccount.name }); @@ -22,13 +26,22 @@ export class AccountClusterRiskSingleAccount extends Rule { if (accounts.length === 1) { return { - evaluation: `Your net worth is managed by a single account`, + evaluation: this.i18nService.getTranslation({ + id: 'rule.accountClusterRiskSingleAccount.false', + languageCode: this.getLanguageCode() + }), value: false }; } return { - evaluation: `Your net worth is managed by ${accounts.length} accounts`, + evaluation: this.i18nService.getTranslation({ + id: 'rule.accountClusterRiskSingleAccount.true', + languageCode: this.getLanguageCode(), + placeholders: { + accountsLength: accounts.length + } + }), value: true }; } @@ -38,6 +51,10 @@ export class AccountClusterRiskSingleAccount extends Rule { } public getName() { + return this.i18nService.getTranslation({ + id: 'rule.accountClusterRiskSingleAccount', + languageCode: this.getLanguageCode() + }); return 'Single Account'; } diff --git a/apps/api/src/services/data-provider/data-provider.service.ts b/apps/api/src/services/data-provider/data-provider.service.ts index b66ff342b..b8738cb76 100644 --- a/apps/api/src/services/data-provider/data-provider.service.ts +++ b/apps/api/src/services/data-provider/data-provider.service.ts @@ -30,7 +30,7 @@ import { import { hasRole } from '@ghostfolio/common/permissions'; import type { Granularity, UserWithSettings } from '@ghostfolio/common/types'; -import { Inject, Injectable, Logger } from '@nestjs/common'; +import { Inject, Injectable, Logger, OnModuleInit } from '@nestjs/common'; import { DataSource, MarketData, SymbolProfile } from '@prisma/client'; import { Big } from 'big.js'; import { eachDayOfInterval, format, isBefore, isValid } from 'date-fns'; @@ -38,7 +38,7 @@ import { groupBy, isEmpty, isNumber, uniqWith } from 'lodash'; import ms from 'ms'; @Injectable() -export class DataProviderService { +export class DataProviderService implements OnModuleInit { private dataProviderMapping: { [dataProviderName: string]: string }; public constructor( @@ -49,11 +49,9 @@ export class DataProviderService { private readonly prismaService: PrismaService, private readonly propertyService: PropertyService, private readonly redisCacheService: RedisCacheService - ) { - this.initialize(); - } + ) {} - public async initialize() { + public async onModuleInit() { this.dataProviderMapping = ((await this.propertyService.getByKey(PROPERTY_DATA_SOURCE_MAPPING)) as { [dataProviderName: string]: string; diff --git a/apps/api/src/services/impersonation/impersonation.service.ts b/apps/api/src/services/impersonation/impersonation.service.ts index 4bf23576a..71c543a43 100644 --- a/apps/api/src/services/impersonation/impersonation.service.ts +++ b/apps/api/src/services/impersonation/impersonation.service.ts @@ -16,7 +16,7 @@ export class ImpersonationService { if (this.request.user) { const accessObject = await this.prismaService.access.findFirst({ where: { - GranteeUser: { id: this.request.user.id }, + granteeUserId: this.request.user.id, id: aId } }); @@ -35,7 +35,7 @@ export class ImpersonationService { // Public access const accessObject = await this.prismaService.access.findFirst({ where: { - GranteeUser: null, + granteeUserId: null, user: { id: aId } } }); diff --git a/apps/client/project.json b/apps/client/project.json index 4bb7fe296..215c5dae1 100644 --- a/apps/client/project.json +++ b/apps/client/project.json @@ -73,7 +73,8 @@ "styles": [ "apps/client/src/assets/fonts/inter.css", "apps/client/src/styles/theme.scss", - "apps/client/src/styles.scss" + "apps/client/src/styles.scss", + "node_modules/open-color/open-color.css" ], "scripts": ["node_modules/marked/marked.min.js"], "vendorChunk": true, diff --git a/apps/client/src/app/app-routing.module.ts b/apps/client/src/app/app-routing.module.ts index 63eef7250..7eac28c87 100644 --- a/apps/client/src/app/app-routing.module.ts +++ b/apps/client/src/app/app-routing.module.ts @@ -1,10 +1,6 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { PageTitleStrategy } from '@ghostfolio/client/services/page-title.strategy'; -import { - publicRoutes, - routes as ghostfolioRoutes, - internalRoutes -} from '@ghostfolio/common/routes/routes'; +import { publicRoutes, internalRoutes } from '@ghostfolio/common/routes/routes'; import { NgModule } from '@angular/core'; import { RouterModule, Routes, TitleStrategy } from '@angular/router'; @@ -42,8 +38,8 @@ const routes: Routes = [ import('./pages/api/api-page.component').then( (c) => c.GfApiPageComponent ), - path: ghostfolioRoutes.api, - title: 'Ghostfolio API' + path: internalRoutes.api.path, + title: internalRoutes.api.title }, { path: internalRoutes.auth.path, @@ -89,8 +85,8 @@ const routes: Routes = [ import('./pages/i18n/i18n-page.component').then( (c) => c.GfI18nPageComponent ), - path: ghostfolioRoutes.i18n, - title: $localize`Internationalization` + path: internalRoutes.i18n.path, + title: internalRoutes.i18n.title }, { path: publicRoutes.markets.path, @@ -119,7 +115,7 @@ const routes: Routes = [ ) }, { - path: ghostfolioRoutes.public, + path: publicRoutes.public.path, loadChildren: () => import('./pages/public/public-page.module').then( (m) => m.PublicPageModule diff --git a/apps/client/src/app/app.component.ts b/apps/client/src/app/app.component.ts index 72e8b84d8..fb39028fc 100644 --- a/apps/client/src/app/app.component.ts +++ b/apps/client/src/app/app.component.ts @@ -3,11 +3,7 @@ import { HoldingDetailDialogParams } from '@ghostfolio/client/components/holding import { getCssVariable } from '@ghostfolio/common/helper'; import { InfoItem, User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; -import { - internalRoutes, - publicRoutes, - routes -} from '@ghostfolio/common/routes/routes'; +import { internalRoutes, publicRoutes } from '@ghostfolio/common/routes/routes'; import { ColorScheme } from '@ghostfolio/common/types'; import { DOCUMENT } from '@angular/common'; @@ -213,7 +209,7 @@ export class AppComponent implements OnDestroy, OnInit { this.currentRoute === publicRoutes.features.path || this.currentRoute === publicRoutes.markets.path || this.currentRoute === publicRoutes.openStartup.path || - this.currentRoute === routes.public || + this.currentRoute === publicRoutes.public.path || this.currentRoute === publicRoutes.pricing.path || this.currentRoute === publicRoutes.register.path || this.currentRoute === publicRoutes.start.path) && diff --git a/apps/client/src/app/components/access-table/access-table.component.ts b/apps/client/src/app/components/access-table/access-table.component.ts index 50d823def..641156f5b 100644 --- a/apps/client/src/app/components/access-table/access-table.component.ts +++ b/apps/client/src/app/components/access-table/access-table.component.ts @@ -1,7 +1,7 @@ import { ConfirmationDialogType } from '@ghostfolio/client/core/notification/confirmation-dialog/confirmation-dialog.type'; import { NotificationService } from '@ghostfolio/client/core/notification/notification.service'; import { Access, User } from '@ghostfolio/common/interfaces'; -import { routes } from '@ghostfolio/common/routes/routes'; +import { publicRoutes } from '@ghostfolio/common/routes/routes'; import { Clipboard } from '@angular/cdk/clipboard'; import { @@ -55,7 +55,7 @@ export class AccessTableComponent implements OnChanges { public getPublicUrl(aId: string): string { const languageCode = this.user.settings.language; - return `${this.baseUrl}/${languageCode}/${routes.public}/${aId}`; + return `${this.baseUrl}/${languageCode}/${publicRoutes.public.path}/${aId}`; } public onCopyUrlToClipboard(aId: string): void { diff --git a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts index 493d6324d..209b4a28f 100644 --- a/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts +++ b/apps/client/src/app/components/account-detail-dialog/account-detail-dialog.component.ts @@ -174,7 +174,7 @@ export class AccountDetailDialog implements OnDestroy, OnInit { balance, currency, name, - Platform, + platform, transactionCount, value, valueInBaseCurrency @@ -189,7 +189,7 @@ export class AccountDetailDialog implements OnDestroy, OnInit { } this.name = name; - this.platformName = Platform?.name ?? '-'; + this.platformName = platform?.name ?? '-'; this.transactionCount = transactionCount; this.valueInBaseCurrency = valueInBaseCurrency; diff --git a/apps/client/src/app/components/accounts-table/accounts-table.component.html b/apps/client/src/app/components/accounts-table/accounts-table.component.html index 41ae74bec..7e2ac92db 100644 --- a/apps/client/src/app/components/accounts-table/accounts-table.component.html +++ b/apps/client/src/app/components/accounts-table/accounts-table.component.html @@ -43,11 +43,11 @@ Name - @if (element.Platform?.url) { + @if (element.platform?.url) { } {{ element.name }} @@ -81,7 +81,7 @@ *matHeaderCellDef class="d-none d-lg-table-cell px-1" mat-header-cell - mat-sort-header="Platform.name" + mat-sort-header="platform.name" > Platform @@ -91,14 +91,14 @@ mat-cell >
- @if (element.Platform?.url) { + @if (element.platform?.url) { } - {{ element.Platform?.name }} + {{ element.platform?.name }}

Data Providers

+ @if (isGhostfolioApiKeyValid === false) { + + + Ghostfolio Premium + + + + Fuel your self-hosted Ghostfolio with a + powerful data provider to access + 80,000+ tickers from over + 50 exchanges worldwide. + + + + Get Access + +
+ or +
+ + Learn more + +
+
+ } - - + + + + + - - - + - + -
+ Name +
@@ -23,8 +61,10 @@ [enableLink]="false" /> @if (isGhostfolioApiKeyValid === false) { - Early Accessnew } @@ -47,11 +87,25 @@
+ Status + + @if ( + !isGhostfolioDataProvider(element) || + isGhostfolioApiKeyValid === true + ) { + + } + + Asset Profiles + - - - @if (isGhostfolioDataProvider(element)) { - @if (isGhostfolioApiKeyValid === true) { - - - {{ ghostfolioApiStatus.dailyRequests }} - of - {{ ghostfolioApiStatus.dailyRequestsMax }} - daily requests - - } + + + @if ( + isGhostfolioDataProvider(element) && + isGhostfolioApiKeyValid === true + ) { + + + {{ ghostfolioApiStatus.dailyRequests }} + of + {{ ghostfolioApiStatus.dailyRequestsMax }} + daily requests + } + @if (isGhostfolioDataProvider(element)) { @if (isGhostfolioApiKeyValid === true) { - - - - diff --git a/apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.scss b/apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.scss deleted file mode 100644 index dc9093b45..000000000 --- a/apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.scss +++ /dev/null @@ -1,2 +0,0 @@ -:host { -} diff --git a/apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/interfaces/interfaces.ts b/apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/interfaces/interfaces.ts deleted file mode 100644 index 0c629599e..000000000 --- a/apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/interfaces/interfaces.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface GhostfolioPremiumApiDialogParams { - deviceType: string; - pricingUrl: string; -} diff --git a/apps/client/src/app/components/data-provider-status/data-provider-status.component.html b/apps/client/src/app/components/data-provider-status/data-provider-status.component.html new file mode 100644 index 000000000..4f57cb8ee --- /dev/null +++ b/apps/client/src/app/components/data-provider-status/data-provider-status.component.html @@ -0,0 +1,15 @@ +@if (status$ | async; as status) { + @if (status.isHealthy) { + Available + } @else { + Unavailable + } +} @else { + +} diff --git a/apps/client/src/app/components/data-provider-status/data-provider-status.component.ts b/apps/client/src/app/components/data-provider-status/data-provider-status.component.ts new file mode 100644 index 000000000..ddd505591 --- /dev/null +++ b/apps/client/src/app/components/data-provider-status/data-provider-status.component.ts @@ -0,0 +1,51 @@ +import { DataService } from '@ghostfolio/client/services/data.service'; + +import { CommonModule } from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, + Input, + OnDestroy, + OnInit +} from '@angular/core'; +import type { DataSource } from '@prisma/client'; +import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; +import { catchError, map, type Observable, of, Subject, takeUntil } from 'rxjs'; + +import { DataProviderStatus } from './interfaces/interfaces'; + +@Component({ + changeDetection: ChangeDetectionStrategy.OnPush, + imports: [CommonModule, NgxSkeletonLoaderModule], + selector: 'gf-data-provider-status', + standalone: true, + templateUrl: './data-provider-status.component.html' +}) +export class GfDataProviderStatusComponent implements OnDestroy, OnInit { + @Input() dataSource: DataSource; + + public status$: Observable; + + private unsubscribeSubject = new Subject(); + + public constructor(private dataService: DataService) {} + + public ngOnInit() { + this.status$ = this.dataService + .fetchDataProviderHealth(this.dataSource) + .pipe( + catchError(() => { + return of({ isHealthy: false }); + }), + map(() => { + return { isHealthy: true }; + }), + takeUntil(this.unsubscribeSubject) + ); + } + + public ngOnDestroy() { + this.unsubscribeSubject.next(); + this.unsubscribeSubject.complete(); + } +} diff --git a/apps/client/src/app/components/data-provider-status/interfaces/interfaces.ts b/apps/client/src/app/components/data-provider-status/interfaces/interfaces.ts new file mode 100644 index 000000000..2c8071899 --- /dev/null +++ b/apps/client/src/app/components/data-provider-status/interfaces/interfaces.ts @@ -0,0 +1,3 @@ +export interface DataProviderStatus { + isHealthy: boolean; +} diff --git a/apps/client/src/app/components/header/header.component.html b/apps/client/src/app/components/header/header.component.html index c1475d549..3f443dfea 100644 --- a/apps/client/src/app/components/header/header.component.html +++ b/apps/client/src/app/components/header/header.component.html @@ -65,8 +65,10 @@ i18n mat-flat-button [ngClass]="{ - 'font-weight-bold': currentRoute === routes.adminControl, - 'text-decoration-underline': currentRoute === routes.adminControl + 'font-weight-bold': + currentRoute === internalRoutes.adminControl.path, + 'text-decoration-underline': + currentRoute === internalRoutes.adminControl.path }" [routerLink]="routerLinkAdminControl" >Admin ControlMy Ghostfolio @@ -278,7 +282,8 @@ i18n mat-menu-item [ngClass]="{ - 'font-weight-bold': currentRoute === routes.adminControl + 'font-weight-bold': + currentRoute === internalRoutes.adminControl.path }" [routerLink]="routerLinkAdminControl" >Admin Control(); diff --git a/apps/client/src/app/core/auth.guard.ts b/apps/client/src/app/core/auth.guard.ts index ef6a8f4a7..69280af6a 100644 --- a/apps/client/src/app/core/auth.guard.ts +++ b/apps/client/src/app/core/auth.guard.ts @@ -1,11 +1,7 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { SettingsStorageService } from '@ghostfolio/client/services/settings-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; -import { - internalRoutes, - publicRoutes, - routes -} from '@ghostfolio/common/routes/routes'; +import { internalRoutes, publicRoutes } from '@ghostfolio/common/routes/routes'; import { Injectable } from '@angular/core'; import { @@ -27,7 +23,7 @@ export class AuthGuard { `/${publicRoutes.markets.path}`, `/${publicRoutes.openStartup.path}`, `/${publicRoutes.pricing.path}`, - `/${routes.public}`, + `/${publicRoutes.public.path}`, `/${publicRoutes.register.path}`, `/${publicRoutes.resources.path}` ]; diff --git a/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html b/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html index 6ccf7c42a..50c96be86 100644 --- a/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html +++ b/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.html @@ -13,11 +13,11 @@ @for (account of accounts; track account) {
- @if (account.Platform?.url) { + @if (account.platform?.url) { } {{ account.name }} @@ -34,11 +34,11 @@ @for (account of accounts; track account) {
- @if (account.Platform?.url) { + @if (account.platform?.url) { } {{ account.name }} diff --git a/apps/client/src/app/pages/admin/admin-page.component.ts b/apps/client/src/app/pages/admin/admin-page.component.ts index 02aa8ba18..7c8ebfdae 100644 --- a/apps/client/src/app/pages/admin/admin-page.component.ts +++ b/apps/client/src/app/pages/admin/admin-page.component.ts @@ -31,7 +31,11 @@ export class AdminPageComponent implements OnDestroy, OnInit { }, { iconName: 'settings-outline', - label: internalRoutes.adminControl.subRoutes.settings.title, + label: + internalRoutes.adminControl.subRoutes.settings.title + + '' + + $localize`new` + + '', routerLink: internalRoutes.adminControl.subRoutes.settings.routerLink }, { diff --git a/apps/client/src/app/pages/admin/admin-page.html b/apps/client/src/app/pages/admin/admin-page.html index af3b24b0a..43509a9ad 100644 --- a/apps/client/src/app/pages/admin/admin-page.html +++ b/apps/client/src/app/pages/admin/admin-page.html @@ -23,7 +23,7 @@ [name]="tab.iconName" [size]="deviceType === 'mobile' ? 'large' : 'small'" /> -
{{ tab.label }}
+
} } diff --git a/apps/client/src/app/pages/home/home-page-routing.module.ts b/apps/client/src/app/pages/home/home-page-routing.module.ts index 68432c17d..6fa7f1c27 100644 --- a/apps/client/src/app/pages/home/home-page-routing.module.ts +++ b/apps/client/src/app/pages/home/home-page-routing.module.ts @@ -4,10 +4,7 @@ import { HomeOverviewComponent } from '@ghostfolio/client/components/home-overvi import { HomeSummaryComponent } from '@ghostfolio/client/components/home-summary/home-summary.component'; import { HomeWatchlistComponent } from '@ghostfolio/client/components/home-watchlist/home-watchlist.component'; import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { - routes as ghostfolioRoutes, - internalRoutes -} from '@ghostfolio/common/routes/routes'; +import { internalRoutes } from '@ghostfolio/common/routes/routes'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -33,9 +30,9 @@ const routes: Routes = [ title: internalRoutes.home.subRoutes.summary.title }, { - path: ghostfolioRoutes.market, + path: internalRoutes.home.subRoutes.markets.path, component: HomeMarketComponent, - title: $localize`Markets` + title: internalRoutes.home.subRoutes.markets.title }, { path: internalRoutes.home.subRoutes.watchlist.path, diff --git a/apps/client/src/app/pages/home/home-page.component.ts b/apps/client/src/app/pages/home/home-page.component.ts index 68d93520a..ad9a65a4c 100644 --- a/apps/client/src/app/pages/home/home-page.component.ts +++ b/apps/client/src/app/pages/home/home-page.component.ts @@ -1,7 +1,7 @@ import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; import { TabConfiguration, User } from '@ghostfolio/common/interfaces'; -import { internalRoutes, routes } from '@ghostfolio/common/routes/routes'; +import { internalRoutes } from '@ghostfolio/common/routes/routes'; import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { DeviceDetectorService } from 'ngx-device-detector'; @@ -56,8 +56,8 @@ export class HomePageComponent implements OnDestroy, OnInit { }, { iconName: 'newspaper-outline', - label: $localize`Markets`, - routerLink: ['/' + internalRoutes.home.path, routes.market] + label: internalRoutes.home.subRoutes.markets.title, + routerLink: internalRoutes.home.subRoutes.markets.routerLink } ]; diff --git a/apps/client/src/app/pages/i18n/i18n-page.html b/apps/client/src/app/pages/i18n/i18n-page.html index 565d5b68f..20fa23f9a 100644 --- a/apps/client/src/app/pages/i18n/i18n-page.html +++ b/apps/client/src/app/pages/i18n/i18n-page.html @@ -11,6 +11,23 @@ performance, portfolio, software, stock, trading, wealth, web3
  • My Account
  • +
  • Investment
  • +
  • + Over ${thresholdMax}% of your current investment is at + ${maxAccountName} (${maxInvestmentRatio}%) +
  • +
  • + The major part of your current investment is at + ${maxAccountName} (${maxInvestmentRatio}%) and does + not exceed ${thresholdMax}% +
  • +
  • Single Account
  • +
  • + Your net worth is managed by a single account +
  • +
  • + Your net worth is managed by ${accountsLength} accounts +
  • Emergency Fund: Set up
  • No emergency fund has been set up diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html index 3b8526840..7c6f27d1b 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -101,11 +101,11 @@ @for (account of data.accounts; track account) {
    - @if (account.Platform?.url) { + @if (account.platform?.url) { } {{ account.name }} diff --git a/apps/client/src/app/pages/pricing/pricing-page.html b/apps/client/src/app/pages/pricing/pricing-page.html index 91d2331c2..c13766b75 100644 --- a/apps/client/src/app/pages/pricing/pricing-page.html +++ b/apps/client/src/app/pages/pricing/pricing-page.html @@ -305,9 +305,13 @@ } @if (durationExtension) {
    -
    - Limited Offer! Get - {{ durationExtension }} extra +
    + Limited Offer! + Get {{ durationExtension }} extra
    } diff --git a/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts b/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts index c9d94d8ed..81ae00fe1 100644 --- a/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts +++ b/apps/client/src/app/pages/resources/glossary/resources-glossary.component.ts @@ -1,7 +1,7 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { InfoItem } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; -import { publicRoutes, routes } from '@ghostfolio/common/routes/routes'; +import { publicRoutes } from '@ghostfolio/common/routes/routes'; import { Component, OnInit } from '@angular/core'; @@ -14,10 +14,8 @@ import { Component, OnInit } from '@angular/core'; export class ResourcesGlossaryPageComponent implements OnInit { public hasPermissionForSubscription: boolean; public info: InfoItem; - public routerLinkResourcesPersonalFinanceTools = [ - '/' + publicRoutes.resources.path, - routes.personalFinanceTools - ]; + public routerLinkResourcesPersonalFinanceTools = + publicRoutes.resources.subRoutes.personalFinanceTools.routerLink; public constructor(private dataService: DataService) { this.info = this.dataService.fetchInfo(); diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts index e8c256c0d..13b6cfbaf 100644 --- a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts +++ b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts @@ -1,6 +1,6 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; -import { routes as ghostfolioRoutes } from '@ghostfolio/common/routes/routes'; +import { publicRoutes } from '@ghostfolio/common/routes/routes'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -12,7 +12,7 @@ const routes: Routes = [ canActivate: [AuthGuard], component: PersonalFinanceToolsPageComponent, path: '', - title: $localize`Personal Finance Tools` + title: publicRoutes.resources.subRoutes.personalFinanceTools.title }, ...personalFinanceTools.map(({ alias, key, name }) => { return { @@ -24,8 +24,8 @@ const routes: Routes = [ return GfProductPageComponent; } ), - path: `${ghostfolioRoutes.openSourceAlternativeTo}-${alias ?? key}`, - title: $localize`Open Source Alternative to ${name}` + path: `${publicRoutes.resources.subRoutes.personalFinanceTools.subRoutes.product.path}-${alias ?? key}`, + title: `${publicRoutes.resources.subRoutes.personalFinanceTools.subRoutes.product.title} ${name}` }; }) ]; diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts index 59b4c80bf..e450aa65e 100644 --- a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts +++ b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.component.ts @@ -1,5 +1,5 @@ import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; -import { publicRoutes, routes } from '@ghostfolio/common/routes/routes'; +import { publicRoutes } from '@ghostfolio/common/routes/routes'; import { Component, OnDestroy } from '@angular/core'; import { Subject } from 'rxjs'; @@ -12,8 +12,12 @@ import { Subject } from 'rxjs'; standalone: false }) export class PersonalFinanceToolsPageComponent implements OnDestroy { - public pathAlternativeTo = routes.openSourceAlternativeTo + '-'; + public pathAlternativeTo = + publicRoutes.resources.subRoutes.personalFinanceTools.subRoutes.product + .path + '-'; public pathResources = publicRoutes.resources.path; + public pathPersonalFinanceTools = + publicRoutes.resources.subRoutes.personalFinanceTools.path; public personalFinanceTools = personalFinanceTools.sort((a, b) => { return a.name.localeCompare(b.name, undefined, { sensitivity: 'base' }); }); diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html index f3c128433..3e4784307 100644 --- a/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html +++ b/apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page.html @@ -32,8 +32,8 @@ personalFinanceTool.name }} - {{ personalFinanceTool.slogan }}" [routerLink]="[ - pathResources, - 'personal-finance-tools', + '/' + pathResources, + pathPersonalFinanceTools, pathAlternativeTo + (personalFinanceTool.alias ?? personalFinanceTool.key) ]" diff --git a/apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts b/apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts index 3694fc227..caf29e7a0 100644 --- a/apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts +++ b/apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts @@ -1,7 +1,7 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { Product } from '@ghostfolio/common/interfaces'; import { personalFinanceTools } from '@ghostfolio/common/personal-finance-tools'; -import { publicRoutes, routes } from '@ghostfolio/common/routes/routes'; +import { publicRoutes } from '@ghostfolio/common/routes/routes'; import { translate } from '@ghostfolio/ui/i18n'; import { Component, OnInit } from '@angular/core'; @@ -22,10 +22,8 @@ export class GfProductPageComponent implements OnInit { public product2: Product; public routerLinkAbout = publicRoutes.about.routerLink; public routerLinkFeatures = publicRoutes.features.routerLink; - public routerLinkResourcesPersonalFinanceTools = [ - '/' + publicRoutes.resources.path, - routes.personalFinanceTools - ]; + public routerLinkResourcesPersonalFinanceTools = + publicRoutes.resources.subRoutes.personalFinanceTools.routerLink; public tags: string[]; public constructor( diff --git a/apps/client/src/app/pages/resources/resources-page-routing.module.ts b/apps/client/src/app/pages/resources/resources-page-routing.module.ts index 19a08ba1d..51d9e2c73 100644 --- a/apps/client/src/app/pages/resources/resources-page-routing.module.ts +++ b/apps/client/src/app/pages/resources/resources-page-routing.module.ts @@ -1,8 +1,5 @@ import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; -import { - routes as ghostfolioRoutes, - publicRoutes -} from '@ghostfolio/common/routes/routes'; +import { publicRoutes } from '@ghostfolio/common/routes/routes'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; @@ -42,13 +39,13 @@ const routes: Routes = [ (m) => m.ResourcesMarketsModule ) }, - ...[ghostfolioRoutes.personalFinanceTools].map((path) => ({ - path, + { + path: publicRoutes.resources.subRoutes.personalFinanceTools.path, loadChildren: () => import( './personal-finance-tools/personal-finance-tools-page.module' ).then((m) => m.PersonalFinanceToolsPageModule) - })) + } ], path: '', title: publicRoutes.resources.title diff --git a/apps/client/src/app/pages/user-account/user-account-page-routing.module.ts b/apps/client/src/app/pages/user-account/user-account-page-routing.module.ts index 2d40309c1..598381cc2 100644 --- a/apps/client/src/app/pages/user-account/user-account-page-routing.module.ts +++ b/apps/client/src/app/pages/user-account/user-account-page-routing.module.ts @@ -16,17 +16,17 @@ const routes: Routes = [ { path: '', component: UserAccountSettingsComponent, - title: internalRoutes.userAccount.title + title: internalRoutes.account.title }, { - path: internalRoutes.userAccount.subRoutes.membership.path, + path: internalRoutes.account.subRoutes.membership.path, component: UserAccountMembershipComponent, - title: internalRoutes.userAccount.subRoutes.membership.title + title: internalRoutes.account.subRoutes.membership.title }, { - path: internalRoutes.userAccount.subRoutes.access.path, + path: internalRoutes.account.subRoutes.access.path, component: UserAccountAccessComponent, - title: internalRoutes.userAccount.subRoutes.access.title + title: internalRoutes.account.subRoutes.access.title } ], component: UserAccountPageComponent, diff --git a/apps/client/src/app/services/data.service.ts b/apps/client/src/app/services/data.service.ts index b42ccdbe7..21bb7bbb6 100644 --- a/apps/client/src/app/services/data.service.ts +++ b/apps/client/src/app/services/data.service.ts @@ -30,6 +30,7 @@ import { AssetProfileIdentifier, BenchmarkMarketDataDetails, BenchmarkResponse, + DataProviderHealthResponse, Export, Filter, ImportResponse, @@ -380,6 +381,12 @@ export class DataService { return this.http.get('/api/v1/benchmarks'); } + public fetchDataProviderHealth(dataSource: DataSource) { + return this.http.get( + `/api/v1/health/data-provider/${dataSource}` + ); + } + public fetchExport({ activityIds, filters diff --git a/apps/client/src/locales/messages.ca.xlf b/apps/client/src/locales/messages.ca.xlf index 80579001e..6914f5f80 100644 --- a/apps/client/src/locales/messages.ca.xlf +++ b/apps/client/src/locales/messages.ca.xlf @@ -6,27 +6,31 @@ Característiques libs/common/src/lib/routes/routes.ts - 180 + 241 Internationalization Internacionalització - apps/client/src/app/app-routing.module.ts - 92 + libs/common/src/lib/routes/routes.ts + 104 Sign in Iniciar sessió - apps/client/src/app/app-routing.module.ts - 154 + apps/client/src/app/components/header/header.component.ts + 237 - apps/client/src/app/components/header/header.component.ts - 242 + libs/common/src/lib/routes/routes.ts + 71 + + + libs/common/src/lib/routes/routes.ts + 142 @@ -74,7 +78,7 @@ apps/client/src/app/components/header/header.component.html - 403 + 408 apps/client/src/app/components/home-market/home-market.html @@ -94,11 +98,11 @@ apps/client/src/app/components/header/header.component.html - 86 + 88 apps/client/src/app/components/header/header.component.html - 296 + 301 apps/client/src/app/pages/resources/overview/resources-overview.component.html @@ -114,11 +118,11 @@ apps/client/src/app/components/header/header.component.html - 121 + 123 apps/client/src/app/components/header/header.component.html - 369 + 374 @@ -238,7 +242,7 @@ apps/client/src/app/components/header/header.component.html - 356 + 361 apps/client/src/app/pages/features/features-page.html @@ -278,15 +282,15 @@ apps/client/src/app/components/header/header.component.html - 103 + 105 apps/client/src/app/components/header/header.component.html - 308 + 313 apps/client/src/app/components/header/header.component.html - 384 + 389 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -365,169 +369,165 @@ 221 - + about sobre kebab-case libs/common/src/lib/routes/routes.ts - 109 + 161 libs/common/src/lib/routes/routes.ts - 110 + 162 libs/common/src/lib/routes/routes.ts - 115 + 167 libs/common/src/lib/routes/routes.ts - 123 + 175 libs/common/src/lib/routes/routes.ts - 130 + 183 libs/common/src/lib/routes/routes.ts - 136 + 191 libs/common/src/lib/routes/routes.ts - 144 + 199 - + license llicències kebab-case libs/common/src/lib/routes/routes.ts - 121 + 173 libs/common/src/lib/routes/routes.ts - 124 + 176 - + privacy-policy política de privacitat kebab-case libs/common/src/lib/routes/routes.ts - 134 + 189 libs/common/src/lib/routes/routes.ts - 137 + 192 - + faq faq kebab-case libs/common/src/lib/routes/routes.ts - 158 + 219 libs/common/src/lib/routes/routes.ts - 159 + 220 libs/common/src/lib/routes/routes.ts - 163 + 224 libs/common/src/lib/routes/routes.ts - 169 + 230 - + features característiques kebab-case libs/common/src/lib/routes/routes.ts - 178 + 239 libs/common/src/lib/routes/routes.ts - 179 + 240 - + markets mercats kebab-case libs/common/src/lib/routes/routes.ts - 183 + 244 libs/common/src/lib/routes/routes.ts - 184 - - - libs/common/src/lib/routes/routes.ts - 223 - - - libs/common/src/lib/routes/routes.ts - 226 + 245 - + pricing preu kebab-case libs/common/src/lib/routes/routes.ts - 193 + 254 libs/common/src/lib/routes/routes.ts - 194 + 255 - + register registrar-se kebab-case libs/common/src/lib/routes/routes.ts - 198 + 264 libs/common/src/lib/routes/routes.ts - 199 + 265 - + resources recursos kebab-case libs/common/src/lib/routes/routes.ts - 203 + 269 libs/common/src/lib/routes/routes.ts - 204 + 270 libs/common/src/lib/routes/routes.ts - 209 + 275 libs/common/src/lib/routes/routes.ts - 217 + 283 libs/common/src/lib/routes/routes.ts - 225 + 291 + + + libs/common/src/lib/routes/routes.ts + 299 @@ -705,10 +705,6 @@ apps/client/src/app/pages/public/public-page.html 70 - - libs/ui/src/lib/assistant/assistant.html - 70 - Cash Balances @@ -755,7 +751,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 8 + 46 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -1077,6 +1073,10 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html 110 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 92 + Delete Jobs @@ -1323,7 +1323,7 @@ libs/ui/src/lib/assistant/assistant.html - 204 + 207 @@ -1843,7 +1843,7 @@ apps/client/src/app/components/header/header.component.html - 266 + 268 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1883,7 +1883,7 @@ Plataformes apps/client/src/app/components/admin-settings/admin-settings.component.html - 140 + 195 @@ -1891,7 +1891,7 @@ Etiquetes apps/client/src/app/components/admin-settings/admin-settings.component.html - 146 + 201 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -2023,15 +2023,15 @@ Portfolio apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 122 + 120 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 92 libs/common/src/lib/routes/routes.ts - 90 + 136 @@ -2039,7 +2039,7 @@ Punt de Referència apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 134 + 132 @@ -2059,7 +2059,7 @@ apps/client/src/app/components/header/header.component.html - 246 + 248 @@ -2071,7 +2071,7 @@ apps/client/src/app/components/header/header.component.html - 256 + 258 @@ -2079,11 +2079,11 @@ Panell d’Administració apps/client/src/app/components/header/header.component.html - 72 + 74 apps/client/src/app/components/header/header.component.html - 284 + 289 @@ -2091,7 +2091,7 @@ Millora la teva Subscripció apps/client/src/app/components/header/header.component.html - 191 + 193 apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html @@ -2111,7 +2111,7 @@ Renova la teva Subscripció apps/client/src/app/components/header/header.component.html - 189 + 191 apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -2127,7 +2127,7 @@ Tu apps/client/src/app/components/header/header.component.html - 211 + 213 @@ -2139,7 +2139,7 @@ apps/client/src/app/components/header/header.component.html - 229 + 231 @@ -2147,7 +2147,7 @@ El meu Ghostfolio apps/client/src/app/components/header/header.component.html - 273 + 277 @@ -2155,7 +2155,7 @@ Sobre Ghostfolio apps/client/src/app/components/header/header.component.html - 321 + 326 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -2167,7 +2167,7 @@ Iniciar Sessió apps/client/src/app/components/header/header.component.html - 417 + 422 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -2179,7 +2179,7 @@ Primers Passos apps/client/src/app/components/header/header.component.html - 427 + 432 @@ -2187,7 +2187,7 @@ Oooh! El testimoni de seguretat és incorrecte. apps/client/src/app/components/header/header.component.ts - 257 + 252 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -2518,8 +2518,8 @@ or o - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 32 + apps/client/src/app/components/admin-settings/admin-settings.component.html + 30 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -2891,7 +2891,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 336 + 339 @@ -2903,7 +2903,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -2915,7 +2915,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -2927,7 +2927,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -2939,7 +2939,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 375 + 392 @@ -3279,7 +3279,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 86 + 88 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3291,7 +3291,7 @@ Aquesta acció no està permesa. apps/client/src/app/core/http-response.interceptor.ts - 65 + 67 @@ -3299,7 +3299,7 @@ Vaja! Alguna cosa va fallar. apps/client/src/app/core/http-response.interceptor.ts - 84 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3315,7 +3315,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 87 + 89 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3327,7 +3327,7 @@ Ups! Sembla que esteu fent massa sol·licituds. Si us plau, aneu una mica més lent. apps/client/src/app/core/http-response.interceptor.ts - 104 + 106 @@ -3339,7 +3339,7 @@ libs/common/src/lib/routes/routes.ts - 150 + 205 @@ -3347,7 +3347,7 @@ Registre de canvis libs/common/src/lib/routes/routes.ts - 118 + 170 @@ -3355,7 +3355,7 @@ llicència libs/common/src/lib/routes/routes.ts - 126 + 178 @@ -3363,7 +3363,7 @@ Política de privadesa libs/common/src/lib/routes/routes.ts - 139 + 194 @@ -3395,7 +3395,7 @@ Comptes libs/common/src/lib/routes/routes.ts - 36 + 59 @@ -3458,64 +3458,44 @@ Admin Control Control d’administració - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 21 + libs/common/src/lib/routes/routes.ts + 54 Job Queue Cua de treball - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 26 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 44 + libs/common/src/lib/routes/routes.ts + 36 Market Data Dades de mercat - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 31 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 39 + libs/common/src/lib/routes/routes.ts + 41 Settings Configuració - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 36 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 34 - - - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 19 + libs/common/src/lib/routes/routes.ts + 24 libs/common/src/lib/routes/routes.ts - 31 + 46 Users Usuaris - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 41 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 49 + libs/common/src/lib/routes/routes.ts + 51 @@ -3531,11 +3511,11 @@ libs/common/src/lib/routes/routes.ts - 58 + 98 libs/common/src/lib/routes/routes.ts - 103 + 155 @@ -3543,7 +3523,7 @@ Bloc libs/common/src/lib/routes/routes.ts - 155 + 210 @@ -3571,7 +3551,7 @@ libs/common/src/lib/routes/routes.ts - 175 + 236 @@ -3591,7 +3571,7 @@ libs/common/src/lib/routes/routes.ts - 164 + 225 @@ -3603,20 +3583,20 @@ libs/common/src/lib/routes/routes.ts - 172 + 233 - + self-hosting autoallotjament kebab-case libs/common/src/lib/routes/routes.ts - 167 + 228 libs/common/src/lib/routes/routes.ts - 170 + 231 @@ -3764,11 +3744,11 @@ Explotacions libs/common/src/lib/routes/routes.ts - 45 + 80 libs/common/src/lib/routes/routes.ts - 100 + 152 @@ -3776,31 +3756,27 @@ Resum libs/common/src/lib/routes/routes.ts - 50 + 90 Markets Mercats - - apps/client/src/app/pages/home/home-page-routing.module.ts - 38 - - - apps/client/src/app/pages/home/home-page.component.ts - 59 - apps/client/src/app/pages/resources/resources-page.component.ts 30 libs/common/src/lib/routes/routes.ts - 185 + 85 libs/common/src/lib/routes/routes.ts - 228 + 246 + + + libs/common/src/lib/routes/routes.ts + 294 @@ -3832,7 +3808,7 @@ Programari de gestió patrimonial de codi obert apps/client/src/app/pages/i18n/i18n-page.html - 30 + 47 @@ -3860,7 +3836,7 @@ apps/client/src/app/pages/pricing/pricing-page.html - 345 + 349 @@ -4248,7 +4224,7 @@ Activitats libs/common/src/lib/routes/routes.ts - 67 + 113 @@ -4324,7 +4300,7 @@ libs/ui/src/lib/assistant/assistant.html - 143 + 146 @@ -4424,7 +4400,7 @@ libs/ui/src/lib/assistant/assistant.html - 165 + 168 @@ -4488,7 +4464,7 @@ libs/common/src/lib/routes/routes.ts - 72 + 118 @@ -4676,7 +4652,7 @@ Anàlisi libs/common/src/lib/routes/routes.ts - 77 + 123 @@ -4704,7 +4680,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 86 @@ -4892,7 +4868,7 @@ libs/common/src/lib/routes/routes.ts - 195 + 256 @@ -5068,7 +5044,7 @@ It’s free. apps/client/src/app/pages/pricing/pricing-page.html - 348 + 352 @@ -5116,7 +5092,7 @@ Registration libs/common/src/lib/routes/routes.ts - 200 + 266 @@ -5147,25 +5123,17 @@ Personal Finance Tools Personal Finance Tools - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 15 + libs/common/src/lib/routes/routes.ts + 309 - + open-source-alternative-to open-source-alternative-to kebab-case libs/common/src/lib/routes/routes.ts - 24 - - - - Open Source Alternative to - Open Source Alternative to - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 28 + 305 @@ -5205,7 +5173,7 @@ Switzerland apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 57 libs/ui/src/lib/i18n.ts @@ -5217,7 +5185,7 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 60 + 58 libs/ui/src/lib/i18n.ts @@ -5469,7 +5437,7 @@ Resources libs/common/src/lib/routes/routes.ts - 231 + 312 @@ -5492,24 +5460,16 @@ Membership Membership - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 24 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 42 + libs/common/src/lib/routes/routes.ts + 21 Access Access - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 29 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 51 + libs/common/src/lib/routes/routes.ts + 16 @@ -5653,7 +5613,7 @@ Week to date libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5661,7 +5621,7 @@ WTD libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5669,7 +5629,7 @@ Month to date libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5677,7 +5637,7 @@ MTD libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5685,7 +5645,7 @@ Year to date libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -5693,7 +5653,7 @@ year libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -5701,7 +5661,7 @@ years libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -5713,7 +5673,7 @@ libs/ui/src/lib/assistant/assistant.html - 119 + 120 @@ -5721,7 +5681,7 @@ Asset Profiles apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 106 @@ -5729,7 +5689,7 @@ Date Range libs/ui/src/lib/assistant/assistant.html - 129 + 132 @@ -5737,7 +5697,7 @@ Reset Filters libs/ui/src/lib/assistant/assistant.html - 223 + 226 @@ -5745,7 +5705,7 @@ Apply Filters libs/ui/src/lib/assistant/assistant.html - 233 + 236 @@ -6313,7 +6273,7 @@ Valid until apps/client/src/app/components/admin-settings/admin-settings.component.html - 34 + 74 libs/ui/src/lib/membership-card/membership-card.component.html @@ -6353,7 +6313,7 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 80 @@ -6361,7 +6321,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 81 @@ -6369,7 +6329,7 @@ Budgeting apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 82 @@ -6377,7 +6337,7 @@ Community apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 83 @@ -6385,7 +6345,7 @@ Family Office apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 86 + 84 @@ -6393,7 +6353,7 @@ Investor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 87 @@ -6401,7 +6361,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 90 + 88 @@ -6409,7 +6369,7 @@ Personal Finance apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 90 @@ -6417,7 +6377,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 91 @@ -6425,7 +6385,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 93 @@ -6433,7 +6393,7 @@ Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 94 @@ -6441,7 +6401,7 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 95 @@ -6449,7 +6409,7 @@ Wealth apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 96 @@ -6457,7 +6417,7 @@ Wealth Management apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 99 + 97 @@ -6921,7 +6881,7 @@ Set API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 116 + 171 @@ -6957,7 +6917,7 @@ libs/common/src/lib/routes/routes.ts - 212 + 278 @@ -6969,33 +6929,33 @@ libs/common/src/lib/routes/routes.ts - 220 + 286 - + guides guides kebab-case libs/common/src/lib/routes/routes.ts - 215 + 281 libs/common/src/lib/routes/routes.ts - 218 + 284 - + glossary glossary kebab-case libs/common/src/lib/routes/routes.ts - 207 + 273 libs/common/src/lib/routes/routes.ts - 210 + 276 @@ -7027,7 +6987,7 @@ of apps/client/src/app/components/admin-settings/admin-settings.component.html - 79 + 135 @@ -7035,7 +6995,7 @@ daily requests apps/client/src/app/components/admin-settings/admin-settings.component.html - 81 + 137 @@ -7043,7 +7003,7 @@ Remove API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 106 + 161 @@ -7051,7 +7011,7 @@ Do you really want to delete the API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 98 + 94 @@ -7062,14 +7022,6 @@ 41 - - I have an API key - I have an API key - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 39 - - API Requests Today API Requests Today @@ -7115,7 +7067,7 @@ Tag libs/ui/src/lib/assistant/assistant.html - 193 + 196 @@ -7186,8 +7138,8 @@ Please enter your Ghostfolio API key. Please enter your Ghostfolio API key. - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts - 57 + apps/client/src/app/components/admin-settings/admin-settings.component.ts + 113 @@ -7206,14 +7158,6 @@ 65 - - Early Access - Early Access - - apps/client/src/app/components/admin-settings/admin-settings.component.html - 27 - - Regional Market Cluster Risks Regional Market Cluster Risks @@ -7450,17 +7394,17 @@ 112 - + terms-of-service terms-of-service kebab-case libs/common/src/lib/routes/routes.ts - 142 + 197 libs/common/src/lib/routes/routes.ts - 145 + 200 @@ -7468,7 +7412,7 @@ Terms of Service libs/common/src/lib/routes/routes.ts - 147 + 202 @@ -7592,15 +7536,7 @@ Watchlist libs/common/src/lib/routes/routes.ts - 55 - - - - Get Early Access - Get Early Access - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 29 + 95 @@ -7616,7 +7552,7 @@ Log out apps/client/src/app/components/header/header.component.html - 324 + 329 @@ -7627,17 +7563,17 @@ 43 - + changelog changelog kebab-case libs/common/src/lib/routes/routes.ts - 113 + 165 libs/common/src/lib/routes/routes.ts - 116 + 168 @@ -7661,7 +7597,7 @@ Emergency Fund: Set up apps/client/src/app/pages/i18n/i18n-page.html - 14 + 31 @@ -7669,7 +7605,7 @@ No emergency fund has been set up apps/client/src/app/pages/i18n/i18n-page.html - 15 + 32 @@ -7677,7 +7613,7 @@ An emergency fund has been set up apps/client/src/app/pages/i18n/i18n-page.html - 18 + 35 @@ -7685,7 +7621,7 @@ Fee Ratio apps/client/src/app/pages/i18n/i18n-page.html - 21 + 38 @@ -7693,7 +7629,7 @@ The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 22 + 39 @@ -7701,7 +7637,7 @@ The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 26 + 43 @@ -7717,23 +7653,193 @@ Find holding or page... libs/ui/src/lib/assistant/assistant.component.ts - 152 + 154 - + Quick Links Quick Links libs/ui/src/lib/assistant/assistant.html - 45 + 43 - + Asset Profiles Asset Profiles libs/ui/src/lib/assistant/assistant.html - 96 + 97 + + + + Live Demo + Live Demo + + libs/common/src/lib/routes/routes.ts + 216 + + + + Open Source Alternative to + Open Source Alternative to + + libs/common/src/lib/routes/routes.ts + 306 + + + + Single Account + Single Account + + apps/client/src/app/pages/i18n/i18n-page.html + 24 + + + + Your net worth is managed by a single account + Your net worth is managed by a single account + + apps/client/src/app/pages/i18n/i18n-page.html + 25 + + + + Your net worth is managed by ${accountsLength} accounts + Your net worth is managed by ${accountsLength} accounts + + apps/client/src/app/pages/i18n/i18n-page.html + 28 + + + + Holdings + Holdings + + libs/ui/src/lib/assistant/assistant.html + 68 + + + + personal-finance-tools + personal-finance-tools + kebab-case + + libs/common/src/lib/routes/routes.ts + 297 + + + libs/common/src/lib/routes/routes.ts + 300 + + + + markets + markets + kebab-case + + libs/common/src/lib/routes/routes.ts + 289 + + + libs/common/src/lib/routes/routes.ts + 292 + + + + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 15 + + + + Get Access + Get Access + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 27 + + + + Learn more + Learn more + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 38 + + + + new + new + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 67 + + + + Limited Offer! + Limited Offer! + + apps/client/src/app/pages/pricing/pricing-page.html + 311 + + + + Get extra + Get extra + + apps/client/src/app/pages/pricing/pricing-page.html + 313 + + + + Available + Available + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 3 + + + + Unavailable + Unavailable + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 5 + + + + new + new + + apps/client/src/app/pages/admin/admin-page.component.ts + 37 + + + + Investment + Investment + + apps/client/src/app/pages/i18n/i18n-page.html + 14 + + + + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + + apps/client/src/app/pages/i18n/i18n-page.html + 15 + + + + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + + apps/client/src/app/pages/i18n/i18n-page.html + 19 diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf index 77ea74198..01cfda12a 100644 --- a/apps/client/src/locales/messages.de.xlf +++ b/apps/client/src/locales/messages.de.xlf @@ -146,7 +146,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 8 + 46 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -396,13 +396,17 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html 110 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 92 + Asset Profiles Anlageprofile apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 106 @@ -774,7 +778,7 @@ apps/client/src/app/components/header/header.component.html - 229 + 231 @@ -818,7 +822,7 @@ apps/client/src/app/components/header/header.component.html - 246 + 248 @@ -830,7 +834,7 @@ apps/client/src/app/components/header/header.component.html - 256 + 258 @@ -850,7 +854,7 @@ apps/client/src/app/components/header/header.component.html - 266 + 268 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -866,11 +870,11 @@ Administration apps/client/src/app/components/header/header.component.html - 72 + 74 apps/client/src/app/components/header/header.component.html - 284 + 289 @@ -882,11 +886,11 @@ apps/client/src/app/components/header/header.component.html - 86 + 88 apps/client/src/app/components/header/header.component.html - 296 + 301 apps/client/src/app/pages/resources/overview/resources-overview.component.html @@ -902,15 +906,15 @@ apps/client/src/app/components/header/header.component.html - 103 + 105 apps/client/src/app/components/header/header.component.html - 308 + 313 apps/client/src/app/components/header/header.component.html - 384 + 389 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -926,11 +930,11 @@ apps/client/src/app/components/header/header.component.html - 121 + 123 apps/client/src/app/components/header/header.component.html - 369 + 374 @@ -938,7 +942,7 @@ Ich apps/client/src/app/components/header/header.component.html - 211 + 213 @@ -946,7 +950,7 @@ Mein Ghostfolio apps/client/src/app/components/header/header.component.html - 273 + 277 @@ -954,7 +958,7 @@ Über Ghostfolio apps/client/src/app/components/header/header.component.html - 321 + 326 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -970,7 +974,7 @@ apps/client/src/app/components/header/header.component.html - 356 + 361 apps/client/src/app/pages/features/features-page.html @@ -986,7 +990,7 @@ apps/client/src/app/components/header/header.component.html - 403 + 408 apps/client/src/app/components/home-market/home-market.html @@ -1013,12 +1017,16 @@ Sign in Einloggen - apps/client/src/app/app-routing.module.ts - 154 + apps/client/src/app/components/header/header.component.ts + 237 - apps/client/src/app/components/header/header.component.ts - 242 + libs/common/src/lib/routes/routes.ts + 71 + + + libs/common/src/lib/routes/routes.ts + 142 @@ -1026,7 +1034,7 @@ Ups! Falsches Sicherheits-Token. apps/client/src/app/components/header/header.component.ts - 257 + 252 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -1081,8 +1089,8 @@ or oder - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 32 + apps/client/src/app/components/admin-settings/admin-settings.component.html + 30 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1138,7 +1146,7 @@ Einloggen apps/client/src/app/components/header/header.component.html - 417 + 422 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1171,7 +1179,7 @@ Investment - Einlage + Investition apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 152 @@ -1330,7 +1338,7 @@ Tags apps/client/src/app/components/admin-settings/admin-settings.component.html - 146 + 201 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -1394,7 +1402,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 336 + 339 @@ -1406,7 +1414,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -1418,7 +1426,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -1430,7 +1438,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -1442,7 +1450,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 375 + 392 @@ -1454,7 +1462,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 87 + 89 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1470,7 +1478,7 @@ libs/common/src/lib/routes/routes.ts - 150 + 205 @@ -1610,7 +1618,7 @@ Datenschutzbestimmungen libs/common/src/lib/routes/routes.ts - 139 + 194 @@ -1674,7 +1682,7 @@ libs/ui/src/lib/assistant/assistant.html - 143 + 146 @@ -1810,7 +1818,7 @@ Konten libs/common/src/lib/routes/routes.ts - 36 + 59 @@ -1913,8 +1921,8 @@ Admin Control Administration - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 21 + libs/common/src/lib/routes/routes.ts + 54 @@ -1922,7 +1930,7 @@ Blog libs/common/src/lib/routes/routes.ts - 155 + 210 @@ -1942,7 +1950,7 @@ libs/common/src/lib/routes/routes.ts - 175 + 236 @@ -1950,7 +1958,7 @@ Features libs/common/src/lib/routes/routes.ts - 180 + 241 @@ -1966,35 +1974,31 @@ libs/common/src/lib/routes/routes.ts - 58 + 98 libs/common/src/lib/routes/routes.ts - 103 + 155 Markets Märkte - - apps/client/src/app/pages/home/home-page-routing.module.ts - 38 - - - apps/client/src/app/pages/home/home-page.component.ts - 59 - apps/client/src/app/pages/resources/resources-page.component.ts 30 libs/common/src/lib/routes/routes.ts - 185 + 85 libs/common/src/lib/routes/routes.ts - 228 + 246 + + + libs/common/src/lib/routes/routes.ts + 294 @@ -2006,7 +2010,7 @@ libs/common/src/lib/routes/routes.ts - 72 + 118 @@ -2090,7 +2094,7 @@ Analyse libs/common/src/lib/routes/routes.ts - 77 + 123 @@ -2154,11 +2158,11 @@ Positionen libs/common/src/lib/routes/routes.ts - 45 + 80 libs/common/src/lib/routes/routes.ts - 100 + 152 @@ -2176,10 +2180,6 @@ apps/client/src/app/pages/public/public-page.html 70 - - libs/ui/src/lib/assistant/assistant.html - 70 - Update activity @@ -2310,7 +2310,7 @@ libs/ui/src/lib/assistant/assistant.html - 204 + 207 @@ -2318,7 +2318,7 @@ Aktivitäten libs/common/src/lib/routes/routes.ts - 67 + 113 @@ -2346,7 +2346,7 @@ libs/common/src/lib/routes/routes.ts - 195 + 256 @@ -2354,15 +2354,15 @@ Portfolio apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 122 + 120 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 92 libs/common/src/lib/routes/routes.ts - 90 + 136 @@ -2394,7 +2394,7 @@ Registrierung libs/common/src/lib/routes/routes.ts - 200 + 266 @@ -2426,7 +2426,7 @@ Ressourcen libs/common/src/lib/routes/routes.ts - 231 + 312 @@ -2562,7 +2562,7 @@ Registrieren apps/client/src/app/components/header/header.component.html - 427 + 432 @@ -2582,7 +2582,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 86 + 88 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2594,7 +2594,7 @@ Ups! Es ist etwas schief gelaufen. apps/client/src/app/core/http-response.interceptor.ts - 84 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2854,7 +2854,7 @@ Benchmark apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 134 + 132 @@ -3305,24 +3305,16 @@ Market Data Marktdaten - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 31 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 39 + libs/common/src/lib/routes/routes.ts + 41 Users Benutzer - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 41 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 49 + libs/common/src/lib/routes/routes.ts + 51 @@ -3330,7 +3322,7 @@ Zusammenfassung libs/common/src/lib/routes/routes.ts - 50 + 90 @@ -3342,7 +3334,7 @@ libs/ui/src/lib/assistant/assistant.html - 165 + 168 @@ -3374,7 +3366,7 @@ Gültig bis apps/client/src/app/components/admin-settings/admin-settings.component.html - 34 + 74 libs/ui/src/lib/membership-card/membership-card.component.html @@ -3542,7 +3534,7 @@ Abonnement abschliessen apps/client/src/app/components/header/header.component.html - 191 + 193 apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html @@ -3682,7 +3674,7 @@ Es ist kostenlos. apps/client/src/app/pages/pricing/pricing-page.html - 348 + 352 @@ -3834,7 +3826,7 @@ Abonnement erneuern apps/client/src/app/components/header/header.component.html - 189 + 191 apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -3934,7 +3926,7 @@ Plattformen apps/client/src/app/components/admin-settings/admin-settings.component.html - 140 + 195 @@ -3981,20 +3973,12 @@ Settings Einstellungen - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 36 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 34 - - - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 19 + libs/common/src/lib/routes/routes.ts + 24 libs/common/src/lib/routes/routes.ts - 31 + 46 @@ -4162,7 +4146,7 @@ Changelog libs/common/src/lib/routes/routes.ts - 118 + 170 @@ -4170,7 +4154,7 @@ Lizenz libs/common/src/lib/routes/routes.ts - 126 + 178 @@ -4305,8 +4289,8 @@ Personal Finance Tools Tools für persönliche Finanzen - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 15 + libs/common/src/lib/routes/routes.ts + 309 @@ -4851,7 +4835,7 @@ Ghostfolio is a privacy-first, open source dashboard for your personal finances. Break down your asset allocation, know your net worth and make solid, data-driven investment decisions. - Ghostfolio ist ein Open Source Dashboard für deine persönlichen Finanzen mit Fokus auf Datenschutz. Analysiere deine Vermögensverteilung, ermittle dein Nettovermögen und treffe fundierte, datengestützte Investitionsentscheidungen. + Ghostfolio ist ein Open Source Dashboard für deine persönlichen Finanzen mit Fokus auf Datenschutz. Analysiere deine Vermögensverteilung, ermittle dein Gesamtvermögen und treffe fundierte, datengestützte Investitionsentscheidungen. apps/client/src/app/pages/landing/landing-page.html 9 @@ -4866,7 +4850,7 @@ apps/client/src/app/pages/pricing/pricing-page.html - 345 + 349 @@ -5129,169 +5113,165 @@ 386 - + faq haeufig-gestellte-fragen kebab-case libs/common/src/lib/routes/routes.ts - 158 + 219 libs/common/src/lib/routes/routes.ts - 159 + 220 libs/common/src/lib/routes/routes.ts - 163 + 224 libs/common/src/lib/routes/routes.ts - 169 + 230 - + features features kebab-case libs/common/src/lib/routes/routes.ts - 178 + 239 libs/common/src/lib/routes/routes.ts - 179 + 240 - + about ueber-uns kebab-case libs/common/src/lib/routes/routes.ts - 109 + 161 libs/common/src/lib/routes/routes.ts - 110 + 162 libs/common/src/lib/routes/routes.ts - 115 + 167 libs/common/src/lib/routes/routes.ts - 123 + 175 libs/common/src/lib/routes/routes.ts - 130 + 183 libs/common/src/lib/routes/routes.ts - 136 + 191 libs/common/src/lib/routes/routes.ts - 144 + 199 - + privacy-policy datenschutzbestimmungen kebab-case libs/common/src/lib/routes/routes.ts - 134 + 189 libs/common/src/lib/routes/routes.ts - 137 + 192 - + license lizenz kebab-case libs/common/src/lib/routes/routes.ts - 121 + 173 libs/common/src/lib/routes/routes.ts - 124 + 176 - + markets maerkte kebab-case libs/common/src/lib/routes/routes.ts - 183 + 244 libs/common/src/lib/routes/routes.ts - 184 - - - libs/common/src/lib/routes/routes.ts - 223 - - - libs/common/src/lib/routes/routes.ts - 226 + 245 - + pricing preise kebab-case libs/common/src/lib/routes/routes.ts - 193 + 254 libs/common/src/lib/routes/routes.ts - 194 + 255 - + register registrierung kebab-case libs/common/src/lib/routes/routes.ts - 198 + 264 libs/common/src/lib/routes/routes.ts - 199 + 265 - + resources ressourcen kebab-case libs/common/src/lib/routes/routes.ts - 203 + 269 libs/common/src/lib/routes/routes.ts - 204 + 270 libs/common/src/lib/routes/routes.ts - 209 + 275 libs/common/src/lib/routes/routes.ts - 217 + 283 libs/common/src/lib/routes/routes.ts - 225 + 291 + + + libs/common/src/lib/routes/routes.ts + 299 @@ -5318,14 +5298,6 @@ 42 - - Open Source Alternative to - Open Source Alternative zu - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 28 - - The Open Source Alternative to Die Open Source Alternative zu @@ -5358,13 +5330,13 @@ 43 - + open-source-alternative-to open-source-alternative-zu kebab-case libs/common/src/lib/routes/routes.ts - 24 + 305 @@ -5396,7 +5368,7 @@ Schweiz apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 57 libs/ui/src/lib/i18n.ts @@ -5408,7 +5380,7 @@ Weltweit apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 60 + 58 libs/ui/src/lib/i18n.ts @@ -5611,24 +5583,16 @@ Membership Mitgliedschaft - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 24 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 42 + libs/common/src/lib/routes/routes.ts + 21 Access Zugang - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 29 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 51 + libs/common/src/lib/routes/routes.ts + 16 @@ -5640,7 +5604,7 @@ libs/ui/src/lib/assistant/assistant.html - 119 + 120 @@ -5712,7 +5676,7 @@ Open Source Software für die Vermögensverwaltung apps/client/src/app/pages/i18n/i18n-page.html - 30 + 47 @@ -5856,7 +5820,7 @@ Zeitraum libs/ui/src/lib/assistant/assistant.html - 129 + 132 @@ -5903,12 +5867,8 @@ Job Queue Job Warteschlange - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 26 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 44 + libs/common/src/lib/routes/routes.ts + 36 @@ -5921,7 +5881,7 @@ Investment - Einlage + Investition apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts 56 @@ -5932,7 +5892,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 86 @@ -5988,7 +5948,7 @@ Seit Wochenbeginn libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5996,7 +5956,7 @@ WTD libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -6004,7 +5964,7 @@ Seit Monatsbeginn libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -6012,7 +5972,7 @@ MTD libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -6020,7 +5980,7 @@ Seit Jahresbeginn libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -6056,7 +6016,7 @@ Filter zurücksetzen libs/ui/src/lib/assistant/assistant.html - 223 + 226 @@ -6064,7 +6024,7 @@ Jahr libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -6072,7 +6032,7 @@ Jahre libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -6080,7 +6040,7 @@ Filter anwenden libs/ui/src/lib/assistant/assistant.html - 233 + 236 @@ -6112,7 +6072,7 @@ libs/common/src/lib/routes/routes.ts - 164 + 225 @@ -6124,20 +6084,20 @@ libs/common/src/lib/routes/routes.ts - 172 + 233 - + self-hosting self-hosting kebab-case libs/common/src/lib/routes/routes.ts - 167 + 228 libs/common/src/lib/routes/routes.ts - 170 + 231 @@ -6145,7 +6105,7 @@ Ups! Es sieht so aus, als würdest du zu viele Anfragen senden. Bitte geh es ein bisschen langsamer an. apps/client/src/app/core/http-response.interceptor.ts - 104 + 106 @@ -6209,7 +6169,7 @@ Diese Aktion ist nicht zulässig. apps/client/src/app/core/http-response.interceptor.ts - 65 + 67 @@ -6248,8 +6208,8 @@ Internationalization Internationalisierung - apps/client/src/app/app-routing.module.ts - 92 + libs/common/src/lib/routes/routes.ts + 104 @@ -6377,7 +6337,7 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 80 @@ -6385,7 +6345,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 81 @@ -6393,7 +6353,7 @@ Budgetierung apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 82 @@ -6401,7 +6361,7 @@ Community apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 83 @@ -6409,7 +6369,7 @@ Family Office apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 86 + 84 @@ -6417,7 +6377,7 @@ Investor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 87 @@ -6425,7 +6385,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 90 + 88 @@ -6433,7 +6393,7 @@ Persönliche Finanzen apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 90 @@ -6441,7 +6401,7 @@ Datenschutz apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 91 @@ -6449,7 +6409,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 93 @@ -6457,7 +6417,7 @@ Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 94 @@ -6465,7 +6425,7 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 95 @@ -6473,7 +6433,7 @@ Vermögen apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 96 @@ -6481,7 +6441,7 @@ Vermögensverwaltung apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 99 + 97 @@ -6945,7 +6905,7 @@ API-Schlüssel setzen apps/client/src/app/components/admin-settings/admin-settings.component.html - 116 + 171 @@ -6981,7 +6941,7 @@ libs/common/src/lib/routes/routes.ts - 212 + 278 @@ -6993,33 +6953,33 @@ libs/common/src/lib/routes/routes.ts - 220 + 286 - + guides ratgeber kebab-case libs/common/src/lib/routes/routes.ts - 215 + 281 libs/common/src/lib/routes/routes.ts - 218 + 284 - + glossary lexikon kebab-case libs/common/src/lib/routes/routes.ts - 207 + 273 libs/common/src/lib/routes/routes.ts - 210 + 276 @@ -7051,7 +7011,7 @@ von apps/client/src/app/components/admin-settings/admin-settings.component.html - 79 + 135 @@ -7059,7 +7019,7 @@ täglichen Anfragen apps/client/src/app/components/admin-settings/admin-settings.component.html - 81 + 137 @@ -7067,7 +7027,7 @@ API-Schlüssel löschen apps/client/src/app/components/admin-settings/admin-settings.component.html - 106 + 161 @@ -7075,7 +7035,7 @@ Möchtest du den API-Schlüssel wirklich löschen? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 98 + 94 @@ -7086,14 +7046,6 @@ 41 - - I have an API key - Ich habe einen API-Schlüssel - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 39 - - API Requests Today Heutige API Anfragen @@ -7139,7 +7091,7 @@ Tag libs/ui/src/lib/assistant/assistant.html - 193 + 196 @@ -7210,8 +7162,8 @@ Please enter your Ghostfolio API key. Bitte gebe deinen Ghostfolio API-Schlüssel ein. - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts - 57 + apps/client/src/app/components/admin-settings/admin-settings.component.ts + 113 @@ -7230,14 +7182,6 @@ 65 - - Early Access - Early Access - - apps/client/src/app/components/admin-settings/admin-settings.component.html - 27 - - Regional Market Cluster Risks Regionale Marktklumpenrisiken @@ -7474,17 +7418,17 @@ 112 - + terms-of-service allgemeine-geschaeftsbedingungen kebab-case libs/common/src/lib/routes/routes.ts - 142 + 197 libs/common/src/lib/routes/routes.ts - 145 + 200 @@ -7492,7 +7436,7 @@ Allgemeine Geschäftsbedingungen libs/common/src/lib/routes/routes.ts - 147 + 202 @@ -7592,15 +7536,7 @@ Beobachtungsliste libs/common/src/lib/routes/routes.ts - 55 - - - - Get Early Access - Early Access erhalten - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 29 + 95 @@ -7616,7 +7552,7 @@ Ausloggen apps/client/src/app/components/header/header.component.html - 324 + 329 @@ -7627,17 +7563,17 @@ 43 - + changelog changelog kebab-case libs/common/src/lib/routes/routes.ts - 113 + 165 libs/common/src/lib/routes/routes.ts - 116 + 168 @@ -7661,7 +7597,7 @@ Notfallfonds: Einrichtung apps/client/src/app/pages/i18n/i18n-page.html - 14 + 31 @@ -7669,7 +7605,7 @@ Es wurde kein Notfallfonds eingerichtet apps/client/src/app/pages/i18n/i18n-page.html - 15 + 32 @@ -7677,7 +7613,7 @@ Ein Notfallfonds wurde eingerichtet apps/client/src/app/pages/i18n/i18n-page.html - 18 + 35 @@ -7685,7 +7621,7 @@ Gebührenverhältnis apps/client/src/app/pages/i18n/i18n-page.html - 21 + 38 @@ -7693,7 +7629,7 @@ Die Gebühren übersteigen ${thresholdMax}% deiner ursprünglichen Investition (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 22 + 39 @@ -7701,7 +7637,7 @@ Die Gebühren übersteigen ${thresholdMax}% deiner ursprünglichen Investition (${feeRatio}%) nicht apps/client/src/app/pages/i18n/i18n-page.html - 26 + 43 @@ -7717,23 +7653,193 @@ Position oder Seite finden... libs/ui/src/lib/assistant/assistant.component.ts - 152 + 154 - + Quick Links Schnellzugriff libs/ui/src/lib/assistant/assistant.html - 45 + 43 - + Asset Profiles Anlageprofile libs/ui/src/lib/assistant/assistant.html - 96 + 97 + + + + Live Demo + Live Demo + + libs/common/src/lib/routes/routes.ts + 216 + + + + Open Source Alternative to + Open Source Alternative zu + + libs/common/src/lib/routes/routes.ts + 306 + + + + Single Account + Einzelkonto + + apps/client/src/app/pages/i18n/i18n-page.html + 24 + + + + Your net worth is managed by a single account + Dein Gesamtvermögen wird von einem einzigen Konto verwaltet + + apps/client/src/app/pages/i18n/i18n-page.html + 25 + + + + Your net worth is managed by ${accountsLength} accounts + Dein Gesamtvermögen wird von ${accountsLength} Konten verwaltet + + apps/client/src/app/pages/i18n/i18n-page.html + 28 + + + + Holdings + Positionen + + libs/ui/src/lib/assistant/assistant.html + 68 + + + + personal-finance-tools + tools-fuer-persoenliche-finanzen + kebab-case + + libs/common/src/lib/routes/routes.ts + 297 + + + libs/common/src/lib/routes/routes.ts + 300 + + + + markets + maerkte + kebab-case + + libs/common/src/lib/routes/routes.ts + 289 + + + libs/common/src/lib/routes/routes.ts + 292 + + + + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + Erweitere dein selbst gehostetes Ghostfolio durch einen leistungsstarken Datenanbieter mit Zugriff auf über 80’000 Ticker von mehr als 50 Börsen weltweit. + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 15 + + + + Get Access + Zugang erhalten + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 27 + + + + Learn more + Mehr erfahren + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 38 + + + + new + neu + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 67 + + + + Limited Offer! + Begrenztes Angebot! + + apps/client/src/app/pages/pricing/pricing-page.html + 311 + + + + Get extra + Erhalte extra + + apps/client/src/app/pages/pricing/pricing-page.html + 313 + + + + Available + Verfügbar + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 3 + + + + Unavailable + Nicht verfügbar + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 5 + + + + new + neu + + apps/client/src/app/pages/admin/admin-page.component.ts + 37 + + + + Investment + Investition + + apps/client/src/app/pages/i18n/i18n-page.html + 14 + + + + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + Über ${thresholdMax}% deiner aktuellen Investition ist bei ${maxAccountName} (${maxInvestmentRatio}%) + + apps/client/src/app/pages/i18n/i18n-page.html + 15 + + + + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + Der Hauptteil deiner aktuellen Investition ist bei ${maxAccountName} (${maxInvestmentRatio}%) und übersteigt ${thresholdMax}% nicht + + apps/client/src/app/pages/i18n/i18n-page.html + 19 diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf index 40afc1090..6a442e524 100644 --- a/apps/client/src/locales/messages.es.xlf +++ b/apps/client/src/locales/messages.es.xlf @@ -147,7 +147,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 8 + 46 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -397,13 +397,17 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html 110 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 92 + Asset Profiles Perfiles de activos. apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 106 @@ -759,7 +763,7 @@ apps/client/src/app/components/header/header.component.html - 229 + 231 @@ -803,7 +807,7 @@ apps/client/src/app/components/header/header.component.html - 246 + 248 @@ -815,7 +819,7 @@ apps/client/src/app/components/header/header.component.html - 256 + 258 @@ -835,7 +839,7 @@ apps/client/src/app/components/header/header.component.html - 266 + 268 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -851,11 +855,11 @@ Control de administrador apps/client/src/app/components/header/header.component.html - 72 + 74 apps/client/src/app/components/header/header.component.html - 284 + 289 @@ -867,11 +871,11 @@ apps/client/src/app/components/header/header.component.html - 86 + 88 apps/client/src/app/components/header/header.component.html - 296 + 301 apps/client/src/app/pages/resources/overview/resources-overview.component.html @@ -887,15 +891,15 @@ apps/client/src/app/components/header/header.component.html - 103 + 105 apps/client/src/app/components/header/header.component.html - 308 + 313 apps/client/src/app/components/header/header.component.html - 384 + 389 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -911,11 +915,11 @@ apps/client/src/app/components/header/header.component.html - 121 + 123 apps/client/src/app/components/header/header.component.html - 369 + 374 @@ -923,7 +927,7 @@ apps/client/src/app/components/header/header.component.html - 211 + 213 @@ -931,7 +935,7 @@ Mi Ghostfolio apps/client/src/app/components/header/header.component.html - 273 + 277 @@ -939,7 +943,7 @@ Sobre Ghostfolio apps/client/src/app/components/header/header.component.html - 321 + 326 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -955,7 +959,7 @@ apps/client/src/app/components/header/header.component.html - 356 + 361 apps/client/src/app/pages/features/features-page.html @@ -971,7 +975,7 @@ apps/client/src/app/components/header/header.component.html - 403 + 408 apps/client/src/app/components/home-market/home-market.html @@ -998,12 +1002,16 @@ Sign in Iniciar sesión - apps/client/src/app/app-routing.module.ts - 154 + apps/client/src/app/components/header/header.component.ts + 237 - apps/client/src/app/components/header/header.component.ts - 242 + libs/common/src/lib/routes/routes.ts + 71 + + + libs/common/src/lib/routes/routes.ts + 142 @@ -1011,7 +1019,7 @@ Vaya! Token de seguridad incorrecto. apps/client/src/app/components/header/header.component.ts - 257 + 252 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -1066,8 +1074,8 @@ or o - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 32 + apps/client/src/app/components/admin-settings/admin-settings.component.html + 30 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1123,7 +1131,7 @@ Iniciar sesión apps/client/src/app/components/header/header.component.html - 417 + 422 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1315,7 +1323,7 @@ Etiquetas apps/client/src/app/components/admin-settings/admin-settings.component.html - 146 + 201 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -1379,7 +1387,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 336 + 339 @@ -1391,7 +1399,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -1403,7 +1411,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -1415,7 +1423,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -1427,7 +1435,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 375 + 392 @@ -1439,7 +1447,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 87 + 89 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1455,7 +1463,7 @@ libs/common/src/lib/routes/routes.ts - 150 + 205 @@ -1595,7 +1603,7 @@ Política de privacidad libs/common/src/lib/routes/routes.ts - 139 + 194 @@ -1659,7 +1667,7 @@ libs/ui/src/lib/assistant/assistant.html - 143 + 146 @@ -1795,7 +1803,7 @@ Cuentas libs/common/src/lib/routes/routes.ts - 36 + 59 @@ -1898,8 +1906,8 @@ Admin Control Control de administrador - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 21 + libs/common/src/lib/routes/routes.ts + 54 @@ -1907,7 +1915,7 @@ Blog libs/common/src/lib/routes/routes.ts - 155 + 210 @@ -1927,7 +1935,7 @@ libs/common/src/lib/routes/routes.ts - 175 + 236 @@ -1935,7 +1943,7 @@ Funcionalidades libs/common/src/lib/routes/routes.ts - 180 + 241 @@ -1951,35 +1959,31 @@ libs/common/src/lib/routes/routes.ts - 58 + 98 libs/common/src/lib/routes/routes.ts - 103 + 155 Markets Mercados - - apps/client/src/app/pages/home/home-page-routing.module.ts - 38 - - - apps/client/src/app/pages/home/home-page.component.ts - 59 - apps/client/src/app/pages/resources/resources-page.component.ts 30 libs/common/src/lib/routes/routes.ts - 185 + 85 libs/common/src/lib/routes/routes.ts - 228 + 246 + + + libs/common/src/lib/routes/routes.ts + 294 @@ -1991,7 +1995,7 @@ libs/common/src/lib/routes/routes.ts - 72 + 118 @@ -2075,7 +2079,7 @@ Análisis libs/common/src/lib/routes/routes.ts - 77 + 123 @@ -2139,11 +2143,11 @@ Participaciones libs/common/src/lib/routes/routes.ts - 45 + 80 libs/common/src/lib/routes/routes.ts - 100 + 152 @@ -2161,10 +2165,6 @@ apps/client/src/app/pages/public/public-page.html 70 - - libs/ui/src/lib/assistant/assistant.html - 70 - Update activity @@ -2295,7 +2295,7 @@ libs/ui/src/lib/assistant/assistant.html - 204 + 207 @@ -2303,7 +2303,7 @@ Operación libs/common/src/lib/routes/routes.ts - 67 + 113 @@ -2331,7 +2331,7 @@ libs/common/src/lib/routes/routes.ts - 195 + 256 @@ -2339,15 +2339,15 @@ Cartera apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 122 + 120 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 92 libs/common/src/lib/routes/routes.ts - 90 + 136 @@ -2379,7 +2379,7 @@ Registro libs/common/src/lib/routes/routes.ts - 200 + 266 @@ -2411,7 +2411,7 @@ Recursos libs/common/src/lib/routes/routes.ts - 231 + 312 @@ -2547,7 +2547,7 @@ Comenzar apps/client/src/app/components/header/header.component.html - 427 + 432 @@ -2563,7 +2563,7 @@ Vaya! Algo no funcionó bien. apps/client/src/app/core/http-response.interceptor.ts - 84 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2579,7 +2579,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 86 + 88 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2831,7 +2831,7 @@ Benchmark apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 134 + 132 @@ -3290,24 +3290,16 @@ Market Data Datos del mercado - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 31 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 39 + libs/common/src/lib/routes/routes.ts + 41 Users Usuarios - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 41 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 49 + libs/common/src/lib/routes/routes.ts + 51 @@ -3315,7 +3307,7 @@ Resumen libs/common/src/lib/routes/routes.ts - 50 + 90 @@ -3327,7 +3319,7 @@ libs/ui/src/lib/assistant/assistant.html - 165 + 168 @@ -3359,7 +3351,7 @@ Válido hasta apps/client/src/app/components/admin-settings/admin-settings.component.html - 34 + 74 libs/ui/src/lib/membership-card/membership-card.component.html @@ -3527,7 +3519,7 @@ Mejorar plan apps/client/src/app/components/header/header.component.html - 191 + 193 apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html @@ -3667,7 +3659,7 @@ Es gratis. apps/client/src/app/pages/pricing/pricing-page.html - 348 + 352 @@ -3811,7 +3803,7 @@ Renovar Plan apps/client/src/app/components/header/header.component.html - 189 + 191 apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -3911,7 +3903,7 @@ Plataformas apps/client/src/app/components/admin-settings/admin-settings.component.html - 140 + 195 @@ -3958,20 +3950,12 @@ Settings Configuraciones - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 36 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 34 - - - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 19 + libs/common/src/lib/routes/routes.ts + 24 libs/common/src/lib/routes/routes.ts - 31 + 46 @@ -4139,7 +4123,7 @@ Registro de cambios libs/common/src/lib/routes/routes.ts - 118 + 170 @@ -4147,7 +4131,7 @@ Licencia libs/common/src/lib/routes/routes.ts - 126 + 178 @@ -4282,8 +4266,8 @@ Personal Finance Tools Herramientas de finanzas personales - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 15 + libs/common/src/lib/routes/routes.ts + 309 @@ -4843,7 +4827,7 @@ apps/client/src/app/pages/pricing/pricing-page.html - 345 + 349 @@ -5106,169 +5090,165 @@ 386 - + faq preguntas-mas-frecuentes kebab-case libs/common/src/lib/routes/routes.ts - 158 + 219 libs/common/src/lib/routes/routes.ts - 159 + 220 libs/common/src/lib/routes/routes.ts - 163 + 224 libs/common/src/lib/routes/routes.ts - 169 + 230 - + features funcionalidades kebab-case libs/common/src/lib/routes/routes.ts - 178 + 239 libs/common/src/lib/routes/routes.ts - 179 + 240 - + about sobre kebab-case libs/common/src/lib/routes/routes.ts - 109 + 161 libs/common/src/lib/routes/routes.ts - 110 + 162 libs/common/src/lib/routes/routes.ts - 115 + 167 libs/common/src/lib/routes/routes.ts - 123 + 175 libs/common/src/lib/routes/routes.ts - 130 + 183 libs/common/src/lib/routes/routes.ts - 136 + 191 libs/common/src/lib/routes/routes.ts - 144 + 199 - + privacy-policy politica-de-privacidad kebab-case libs/common/src/lib/routes/routes.ts - 134 + 189 libs/common/src/lib/routes/routes.ts - 137 + 192 - + license licencia kebab-case libs/common/src/lib/routes/routes.ts - 121 + 173 libs/common/src/lib/routes/routes.ts - 124 + 176 - + markets mercados kebab-case libs/common/src/lib/routes/routes.ts - 183 + 244 libs/common/src/lib/routes/routes.ts - 184 - - - libs/common/src/lib/routes/routes.ts - 223 - - - libs/common/src/lib/routes/routes.ts - 226 + 245 - + pricing precios kebab-case libs/common/src/lib/routes/routes.ts - 193 + 254 libs/common/src/lib/routes/routes.ts - 194 + 255 - + register registro kebab-case libs/common/src/lib/routes/routes.ts - 198 + 264 libs/common/src/lib/routes/routes.ts - 199 + 265 - + resources recursos kebab-case libs/common/src/lib/routes/routes.ts - 203 + 269 libs/common/src/lib/routes/routes.ts - 204 + 270 libs/common/src/lib/routes/routes.ts - 209 + 275 libs/common/src/lib/routes/routes.ts - 217 + 283 libs/common/src/lib/routes/routes.ts - 225 + 291 + + + libs/common/src/lib/routes/routes.ts + 299 @@ -5295,14 +5275,6 @@ 42 - - Open Source Alternative to - Alternativa de software libre a - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 28 - - The Open Source Alternative to La alternativa de software libre a @@ -5335,13 +5307,13 @@ 43 - + open-source-alternative-to alternativa-de-software-libre-a kebab-case libs/common/src/lib/routes/routes.ts - 24 + 305 @@ -5373,7 +5345,7 @@ Suiza apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 57 libs/ui/src/lib/i18n.ts @@ -5385,7 +5357,7 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 60 + 58 libs/ui/src/lib/i18n.ts @@ -5588,24 +5560,16 @@ Membership Membresía - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 24 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 42 + libs/common/src/lib/routes/routes.ts + 21 Access Acceso - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 29 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 51 + libs/common/src/lib/routes/routes.ts + 16 @@ -5617,7 +5581,7 @@ libs/ui/src/lib/assistant/assistant.html - 119 + 120 @@ -5689,7 +5653,7 @@ Software de gestión de patrimonio de código abierto apps/client/src/app/pages/i18n/i18n-page.html - 30 + 47 @@ -5833,7 +5797,7 @@ Rango de fechas libs/ui/src/lib/assistant/assistant.html - 129 + 132 @@ -5880,12 +5844,8 @@ Job Queue Cola de trabajos - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 26 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 44 + libs/common/src/lib/routes/routes.ts + 36 @@ -5909,7 +5869,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 86 @@ -5965,7 +5925,7 @@ Week to date libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5973,7 +5933,7 @@ WTD libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5981,7 +5941,7 @@ Month to date libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5989,7 +5949,7 @@ MTD libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5997,7 +5957,7 @@ Year to date libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -6033,7 +5993,7 @@ Reiniciar filtros libs/ui/src/lib/assistant/assistant.html - 223 + 226 @@ -6041,7 +6001,7 @@ año libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -6049,7 +6009,7 @@ años libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -6057,7 +6017,7 @@ Aplicar filtros libs/ui/src/lib/assistant/assistant.html - 233 + 236 @@ -6089,7 +6049,7 @@ libs/common/src/lib/routes/routes.ts - 164 + 225 @@ -6101,20 +6061,20 @@ libs/common/src/lib/routes/routes.ts - 172 + 233 - + self-hosting auto alojado kebab-case libs/common/src/lib/routes/routes.ts - 167 + 228 libs/common/src/lib/routes/routes.ts - 170 + 231 @@ -6122,7 +6082,7 @@ Oops! It looks like you’re making too many requests. Please slow down a bit. apps/client/src/app/core/http-response.interceptor.ts - 104 + 106 @@ -6186,7 +6146,7 @@ This action is not allowed. apps/client/src/app/core/http-response.interceptor.ts - 65 + 67 @@ -6225,8 +6185,8 @@ Internationalization Internacionalización - apps/client/src/app/app-routing.module.ts - 92 + libs/common/src/lib/routes/routes.ts + 104 @@ -6354,7 +6314,7 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 80 @@ -6362,7 +6322,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 81 @@ -6370,7 +6330,7 @@ Budgeting apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 82 @@ -6378,7 +6338,7 @@ Community apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 83 @@ -6386,7 +6346,7 @@ Family Office apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 86 + 84 @@ -6394,7 +6354,7 @@ Investor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 87 @@ -6402,7 +6362,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 90 + 88 @@ -6410,7 +6370,7 @@ Personal Finance apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 90 @@ -6418,7 +6378,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 91 @@ -6426,7 +6386,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 93 @@ -6434,7 +6394,7 @@ Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 94 @@ -6442,7 +6402,7 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 95 @@ -6450,7 +6410,7 @@ Wealth apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 96 @@ -6458,7 +6418,7 @@ Wealth Management apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 99 + 97 @@ -6922,7 +6882,7 @@ Set API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 116 + 171 @@ -6958,7 +6918,7 @@ libs/common/src/lib/routes/routes.ts - 212 + 278 @@ -6970,33 +6930,33 @@ libs/common/src/lib/routes/routes.ts - 220 + 286 - + guides guides kebab-case libs/common/src/lib/routes/routes.ts - 215 + 281 libs/common/src/lib/routes/routes.ts - 218 + 284 - + glossary glossary kebab-case libs/common/src/lib/routes/routes.ts - 207 + 273 libs/common/src/lib/routes/routes.ts - 210 + 276 @@ -7028,7 +6988,7 @@ of apps/client/src/app/components/admin-settings/admin-settings.component.html - 79 + 135 @@ -7036,7 +6996,7 @@ daily requests apps/client/src/app/components/admin-settings/admin-settings.component.html - 81 + 137 @@ -7044,7 +7004,7 @@ Remove API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 106 + 161 @@ -7052,7 +7012,7 @@ Do you really want to delete the API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 98 + 94 @@ -7063,14 +7023,6 @@ 41 - - I have an API key - I have an API key - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 39 - - API Requests Today API Requests Today @@ -7116,7 +7068,7 @@ Tag libs/ui/src/lib/assistant/assistant.html - 193 + 196 @@ -7187,8 +7139,8 @@ Please enter your Ghostfolio API key. Please enter your Ghostfolio API key. - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts - 57 + apps/client/src/app/components/admin-settings/admin-settings.component.ts + 113 @@ -7207,14 +7159,6 @@ 65 - - Early Access - Early Access - - apps/client/src/app/components/admin-settings/admin-settings.component.html - 27 - - Regional Market Cluster Risks Regional Market Cluster Risks @@ -7451,17 +7395,17 @@ 112 - + terms-of-service terms-of-service kebab-case libs/common/src/lib/routes/routes.ts - 142 + 197 libs/common/src/lib/routes/routes.ts - 145 + 200 @@ -7469,7 +7413,7 @@ Terms of Service libs/common/src/lib/routes/routes.ts - 147 + 202 @@ -7590,23 +7534,15 @@ Watchlist - Watchlist + Lista de seguimiento libs/common/src/lib/routes/routes.ts - 55 - - - - Get Early Access - Get Early Access - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 29 + 95 Do you really want to delete this item? - Do you really want to delete this item? + ¿Realmente deseas eliminar este elemento? libs/ui/src/lib/benchmark/benchmark.component.ts 132 @@ -7614,36 +7550,36 @@ Log out - Log out + Finalizar la sesión apps/client/src/app/components/header/header.component.html - 324 + 329 Calculations are based on delayed market data and may not be displayed in real-time. - Calculations are based on delayed market data and may not be displayed in real-time. + Los cálculos se basan en datos de mercado retrasados ​​y es posible que no se muestren en tiempo real. apps/client/src/app/components/home-market/home-market.html 43 - + changelog - changelog + registro-decambios kebab-case libs/common/src/lib/routes/routes.ts - 113 + 165 libs/common/src/lib/routes/routes.ts - 116 + 168 Demo user account has been synced. - Demo user account has been synced. + La cuenta de usuario de demostración se ha sincronizado. apps/client/src/app/components/admin-overview/admin-overview.component.ts 223 @@ -7651,7 +7587,7 @@ Sync Demo User Account - Sync Demo User Account + Sincronizar cuenta de usuario de demostración apps/client/src/app/components/admin-overview/admin-overview.html 181 @@ -7659,55 +7595,55 @@ Emergency Fund: Set up - Emergency Fund: Set up + Fondo de Emergencia: Establecer apps/client/src/app/pages/i18n/i18n-page.html - 14 + 31 No emergency fund has been set up - No emergency fund has been set up + No se ha creado ningún fondo de emergencia apps/client/src/app/pages/i18n/i18n-page.html - 15 + 32 An emergency fund has been set up - An emergency fund has been set up + Se ha creado un fondo de emergencia apps/client/src/app/pages/i18n/i18n-page.html - 18 + 35 Fee Ratio - Fee Ratio + Relación de tarifas apps/client/src/app/pages/i18n/i18n-page.html - 21 + 38 The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%) - The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%) + Las tarifas superan el ${thresholdMax}% de su inversión inicial (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 22 + 39 The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%) - The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%) + Las tarifas no superan el ${thresholdMax}% de su inversión inicial (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 26 + 43 Name - Name + Nombre libs/ui/src/lib/benchmark/benchmark.component.html 11 @@ -7715,26 +7651,196 @@ Find holding or page... - Find holding or page... + Buscar explotación o página... libs/ui/src/lib/assistant/assistant.component.ts - 152 + 154 - + Quick Links - Quick Links + Enlaces rápidos libs/ui/src/lib/assistant/assistant.html - 45 + 43 - + Asset Profiles - Asset Profiles + Perfiles de activos libs/ui/src/lib/assistant/assistant.html - 96 + 97 + + + + Live Demo + Live Demo + + libs/common/src/lib/routes/routes.ts + 216 + + + + Open Source Alternative to + Alternativa de software libre a + + libs/common/src/lib/routes/routes.ts + 306 + + + + Single Account + Single Account + + apps/client/src/app/pages/i18n/i18n-page.html + 24 + + + + Your net worth is managed by a single account + Your net worth is managed by a single account + + apps/client/src/app/pages/i18n/i18n-page.html + 25 + + + + Your net worth is managed by ${accountsLength} accounts + Your net worth is managed by ${accountsLength} accounts + + apps/client/src/app/pages/i18n/i18n-page.html + 28 + + + + Holdings + Holdings + + libs/ui/src/lib/assistant/assistant.html + 68 + + + + personal-finance-tools + personal-finance-tools + kebab-case + + libs/common/src/lib/routes/routes.ts + 297 + + + libs/common/src/lib/routes/routes.ts + 300 + + + + markets + markets + kebab-case + + libs/common/src/lib/routes/routes.ts + 289 + + + libs/common/src/lib/routes/routes.ts + 292 + + + + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 15 + + + + Get Access + Get Access + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 27 + + + + Learn more + Learn more + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 38 + + + + new + new + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 67 + + + + Limited Offer! + Limited Offer! + + apps/client/src/app/pages/pricing/pricing-page.html + 311 + + + + Get extra + Get extra + + apps/client/src/app/pages/pricing/pricing-page.html + 313 + + + + Available + Available + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 3 + + + + Unavailable + Unavailable + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 5 + + + + new + new + + apps/client/src/app/pages/admin/admin-page.component.ts + 37 + + + + Investment + Investment + + apps/client/src/app/pages/i18n/i18n-page.html + 14 + + + + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + + apps/client/src/app/pages/i18n/i18n-page.html + 15 + + + + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + + apps/client/src/app/pages/i18n/i18n-page.html + 19 diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf index cb82e6b6e..60148b120 100644 --- a/apps/client/src/locales/messages.fr.xlf +++ b/apps/client/src/locales/messages.fr.xlf @@ -154,7 +154,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 8 + 46 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -444,6 +444,10 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html 110 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 92 + Delete Jobs @@ -455,10 +459,10 @@ Asset Profiles - Profil d’Actifs + Profils d’Actifs apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 106 @@ -670,7 +674,7 @@ libs/ui/src/lib/assistant/assistant.html - 204 + 207 @@ -922,7 +926,7 @@ Étiquettes apps/client/src/app/components/admin-settings/admin-settings.component.html - 146 + 201 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -1018,7 +1022,7 @@ apps/client/src/app/components/header/header.component.html - 229 + 231 @@ -1046,7 +1050,7 @@ apps/client/src/app/components/header/header.component.html - 266 + 268 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1098,15 +1102,15 @@ Portefeuille apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 122 + 120 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 92 libs/common/src/lib/routes/routes.ts - 90 + 136 @@ -1114,7 +1118,7 @@ Référence apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 134 + 132 @@ -1134,7 +1138,7 @@ apps/client/src/app/components/header/header.component.html - 246 + 248 @@ -1146,7 +1150,7 @@ apps/client/src/app/components/header/header.component.html - 256 + 258 @@ -1154,11 +1158,11 @@ Contrôle Administrateur apps/client/src/app/components/header/header.component.html - 72 + 74 apps/client/src/app/components/header/header.component.html - 284 + 289 @@ -1170,11 +1174,11 @@ apps/client/src/app/components/header/header.component.html - 86 + 88 apps/client/src/app/components/header/header.component.html - 296 + 301 apps/client/src/app/pages/resources/overview/resources-overview.component.html @@ -1190,15 +1194,15 @@ apps/client/src/app/components/header/header.component.html - 103 + 105 apps/client/src/app/components/header/header.component.html - 308 + 313 apps/client/src/app/components/header/header.component.html - 384 + 389 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -1214,11 +1218,11 @@ apps/client/src/app/components/header/header.component.html - 121 + 123 apps/client/src/app/components/header/header.component.html - 369 + 374 @@ -1226,7 +1230,7 @@ Moi apps/client/src/app/components/header/header.component.html - 211 + 213 @@ -1234,7 +1238,7 @@ Mon Ghostfolio apps/client/src/app/components/header/header.component.html - 273 + 277 @@ -1242,7 +1246,7 @@ À propos de Ghostfolio apps/client/src/app/components/header/header.component.html - 321 + 326 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1258,7 +1262,7 @@ apps/client/src/app/components/header/header.component.html - 356 + 361 apps/client/src/app/pages/features/features-page.html @@ -1274,7 +1278,7 @@ apps/client/src/app/components/header/header.component.html - 403 + 408 apps/client/src/app/components/home-market/home-market.html @@ -1290,7 +1294,7 @@ Se connecter apps/client/src/app/components/header/header.component.html - 417 + 422 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1302,19 +1306,23 @@ Démarrer apps/client/src/app/components/header/header.component.html - 427 + 432 Sign in Se connecter - apps/client/src/app/app-routing.module.ts - 154 + apps/client/src/app/components/header/header.component.ts + 237 - apps/client/src/app/components/header/header.component.ts - 242 + libs/common/src/lib/routes/routes.ts + 71 + + + libs/common/src/lib/routes/routes.ts + 142 @@ -1322,7 +1330,7 @@ Oups! Jeton de Sécurité Incorrect. apps/client/src/app/components/header/header.component.ts - 257 + 252 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -1417,8 +1425,8 @@ or ou - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 32 + apps/client/src/app/components/admin-settings/admin-settings.component.html + 30 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1686,7 +1694,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 336 + 339 @@ -1698,7 +1706,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -1710,7 +1718,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -1722,7 +1730,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -1734,7 +1742,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 375 + 392 @@ -1754,7 +1762,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 86 + 88 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1766,7 +1774,7 @@ Oups! Quelque chose s’est mal passé. apps/client/src/app/core/http-response.interceptor.ts - 84 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1782,7 +1790,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 87 + 89 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1798,7 +1806,7 @@ libs/common/src/lib/routes/routes.ts - 150 + 205 @@ -1830,7 +1838,7 @@ Politique de Vie Privée libs/common/src/lib/routes/routes.ts - 139 + 194 @@ -1914,7 +1922,7 @@ libs/ui/src/lib/assistant/assistant.html - 143 + 146 @@ -2150,7 +2158,7 @@ Comptes libs/common/src/lib/routes/routes.ts - 36 + 59 @@ -2189,32 +2197,24 @@ Market Data Données du marché - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 31 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 39 + libs/common/src/lib/routes/routes.ts + 41 Admin Control Contrôle Admin - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 21 + libs/common/src/lib/routes/routes.ts + 54 Users Utilisateurs - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 41 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 49 + libs/common/src/lib/routes/routes.ts + 51 @@ -2222,7 +2222,7 @@ Blog libs/common/src/lib/routes/routes.ts - 155 + 210 @@ -2338,7 +2338,7 @@ libs/common/src/lib/routes/routes.ts - 175 + 236 @@ -2346,7 +2346,7 @@ Fonctionnalités libs/common/src/lib/routes/routes.ts - 180 + 241 @@ -2354,11 +2354,11 @@ Positions libs/common/src/lib/routes/routes.ts - 45 + 80 libs/common/src/lib/routes/routes.ts - 100 + 152 @@ -2366,31 +2366,27 @@ Résumé libs/common/src/lib/routes/routes.ts - 50 + 90 Markets Marchés - - apps/client/src/app/pages/home/home-page-routing.module.ts - 38 - - - apps/client/src/app/pages/home/home-page.component.ts - 59 - apps/client/src/app/pages/resources/resources-page.component.ts 30 libs/common/src/lib/routes/routes.ts - 185 + 85 libs/common/src/lib/routes/routes.ts - 228 + 246 + + + libs/common/src/lib/routes/routes.ts + 294 @@ -2398,7 +2394,7 @@ Activités libs/common/src/lib/routes/routes.ts - 67 + 113 @@ -2542,7 +2538,7 @@ libs/common/src/lib/routes/routes.ts - 72 + 118 @@ -2670,7 +2666,7 @@ Analyse libs/common/src/lib/routes/routes.ts - 77 + 123 @@ -2788,10 +2784,6 @@ apps/client/src/app/pages/public/public-page.html 70 - - libs/ui/src/lib/assistant/assistant.html - 70 - Pricing @@ -2802,7 +2794,7 @@ libs/common/src/lib/routes/routes.ts - 195 + 256 @@ -2854,7 +2846,7 @@ Enregistrement libs/common/src/lib/routes/routes.ts - 200 + 266 @@ -2906,7 +2898,7 @@ Ressources libs/common/src/lib/routes/routes.ts - 231 + 312 @@ -2946,11 +2938,11 @@ libs/common/src/lib/routes/routes.ts - 58 + 98 libs/common/src/lib/routes/routes.ts - 103 + 155 @@ -3326,7 +3318,7 @@ libs/ui/src/lib/assistant/assistant.html - 165 + 168 @@ -3358,7 +3350,7 @@ Valide jusqu’au apps/client/src/app/components/admin-settings/admin-settings.component.html - 34 + 74 libs/ui/src/lib/membership-card/membership-card.component.html @@ -3526,7 +3518,7 @@ Mettre à niveau l’Abonnement apps/client/src/app/components/header/header.component.html - 191 + 193 apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html @@ -3666,7 +3658,7 @@ C’est gratuit. apps/client/src/app/pages/pricing/pricing-page.html - 348 + 352 @@ -3810,7 +3802,7 @@ Renouveler l’Abonnement apps/client/src/app/components/header/header.component.html - 189 + 191 apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -3910,7 +3902,7 @@ Platformes apps/client/src/app/components/admin-settings/admin-settings.component.html - 140 + 195 @@ -3957,20 +3949,12 @@ Settings Paramètres - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 36 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 34 - - - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 19 + libs/common/src/lib/routes/routes.ts + 24 libs/common/src/lib/routes/routes.ts - 31 + 46 @@ -4138,7 +4122,7 @@ Historique des modifications libs/common/src/lib/routes/routes.ts - 118 + 170 @@ -4146,7 +4130,7 @@ Licence libs/common/src/lib/routes/routes.ts - 126 + 178 @@ -4281,8 +4265,8 @@ Personal Finance Tools Outils de Gestion de Patrimoine - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 15 + libs/common/src/lib/routes/routes.ts + 309 @@ -4842,7 +4826,7 @@ apps/client/src/app/pages/pricing/pricing-page.html - 345 + 349 @@ -5105,169 +5089,165 @@ 386 - + faq foire-aux-questions kebab-case libs/common/src/lib/routes/routes.ts - 158 + 219 libs/common/src/lib/routes/routes.ts - 159 + 220 libs/common/src/lib/routes/routes.ts - 163 + 224 libs/common/src/lib/routes/routes.ts - 169 + 230 - + features fonctionnalites kebab-case libs/common/src/lib/routes/routes.ts - 178 + 239 libs/common/src/lib/routes/routes.ts - 179 + 240 - + about a-propos kebab-case libs/common/src/lib/routes/routes.ts - 109 + 161 libs/common/src/lib/routes/routes.ts - 110 + 162 libs/common/src/lib/routes/routes.ts - 115 + 167 libs/common/src/lib/routes/routes.ts - 123 + 175 libs/common/src/lib/routes/routes.ts - 130 + 183 libs/common/src/lib/routes/routes.ts - 136 + 191 libs/common/src/lib/routes/routes.ts - 144 + 199 - + privacy-policy politique-de-confidentialite kebab-case libs/common/src/lib/routes/routes.ts - 134 + 189 libs/common/src/lib/routes/routes.ts - 137 + 192 - + license licence kebab-case libs/common/src/lib/routes/routes.ts - 121 + 173 libs/common/src/lib/routes/routes.ts - 124 + 176 - + markets marches kebab-case libs/common/src/lib/routes/routes.ts - 183 + 244 libs/common/src/lib/routes/routes.ts - 184 - - - libs/common/src/lib/routes/routes.ts - 223 - - - libs/common/src/lib/routes/routes.ts - 226 + 245 - + pricing prix kebab-case libs/common/src/lib/routes/routes.ts - 193 + 254 libs/common/src/lib/routes/routes.ts - 194 + 255 - + register enregistrement kebab-case libs/common/src/lib/routes/routes.ts - 198 + 264 libs/common/src/lib/routes/routes.ts - 199 + 265 - + resources ressources kebab-case libs/common/src/lib/routes/routes.ts - 203 + 269 libs/common/src/lib/routes/routes.ts - 204 + 270 libs/common/src/lib/routes/routes.ts - 209 + 275 libs/common/src/lib/routes/routes.ts - 217 + 283 libs/common/src/lib/routes/routes.ts - 225 + 291 + + + libs/common/src/lib/routes/routes.ts + 299 @@ -5294,14 +5274,6 @@ 42 - - Open Source Alternative to - Solutions open source alternatives à - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 28 - - The Open Source Alternative to L’alternative open source à @@ -5334,13 +5306,13 @@ 43 - + open-source-alternative-to alternative-open-source-a kebab-case libs/common/src/lib/routes/routes.ts - 24 + 305 @@ -5372,7 +5344,7 @@ Suisse apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 57 libs/ui/src/lib/i18n.ts @@ -5384,7 +5356,7 @@ Mondial apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 60 + 58 libs/ui/src/lib/i18n.ts @@ -5587,24 +5559,16 @@ Membership Statut - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 24 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 42 + libs/common/src/lib/routes/routes.ts + 21 Access Accès - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 29 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 51 + libs/common/src/lib/routes/routes.ts + 16 @@ -5616,7 +5580,7 @@ libs/ui/src/lib/assistant/assistant.html - 119 + 120 @@ -5688,7 +5652,7 @@ Logiciel libre de Gestion de Patrimoine apps/client/src/app/pages/i18n/i18n-page.html - 30 + 47 @@ -5832,7 +5796,7 @@ Intervalle de Date libs/ui/src/lib/assistant/assistant.html - 129 + 132 @@ -5879,12 +5843,8 @@ Job Queue File d’attente - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 26 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 44 + libs/common/src/lib/routes/routes.ts + 36 @@ -5908,7 +5868,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 86 @@ -5964,7 +5924,7 @@ Week to date libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5972,7 +5932,7 @@ WTD libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5980,7 +5940,7 @@ Month to date libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5988,7 +5948,7 @@ MTD libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5996,7 +5956,7 @@ Year to date libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -6032,7 +5992,7 @@ Réinitialiser les Filtres libs/ui/src/lib/assistant/assistant.html - 223 + 226 @@ -6040,7 +6000,7 @@ année libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -6048,7 +6008,7 @@ années libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -6056,7 +6016,7 @@ Appliquer les Filtres libs/ui/src/lib/assistant/assistant.html - 233 + 236 @@ -6088,7 +6048,7 @@ libs/common/src/lib/routes/routes.ts - 164 + 225 @@ -6100,20 +6060,20 @@ libs/common/src/lib/routes/routes.ts - 172 + 233 - + self-hosting self-hosting kebab-case libs/common/src/lib/routes/routes.ts - 167 + 228 libs/common/src/lib/routes/routes.ts - 170 + 231 @@ -6121,7 +6081,7 @@ Oops! Il semble que vous fassiez trop de requêtes. Veuillez ralentir un peu. apps/client/src/app/core/http-response.interceptor.ts - 104 + 106 @@ -6185,7 +6145,7 @@ Cette action n’est pas autorisée. apps/client/src/app/core/http-response.interceptor.ts - 65 + 67 @@ -6224,8 +6184,8 @@ Internationalization Internationalisation - apps/client/src/app/app-routing.module.ts - 92 + libs/common/src/lib/routes/routes.ts + 104 @@ -6353,7 +6313,7 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 80 @@ -6361,7 +6321,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 81 @@ -6369,7 +6329,7 @@ Budget apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 82 @@ -6377,7 +6337,7 @@ Communauté apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 83 @@ -6385,7 +6345,7 @@ Family Office apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 86 + 84 @@ -6393,7 +6353,7 @@ Investisseur apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 87 @@ -6401,7 +6361,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 90 + 88 @@ -6409,7 +6369,7 @@ Gestion de Patrimoine apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 90 @@ -6417,7 +6377,7 @@ Confidentialité apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 91 @@ -6425,7 +6385,7 @@ Logiciels apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 93 @@ -6433,7 +6393,7 @@ Outils apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 94 @@ -6441,7 +6401,7 @@ Expérience Utilisateur apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 95 @@ -6449,7 +6409,7 @@ Patrimoine apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 96 @@ -6457,7 +6417,7 @@ Gestion de Patrimoine apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 99 + 97 @@ -6921,7 +6881,7 @@ Définir clé API apps/client/src/app/components/admin-settings/admin-settings.component.html - 116 + 171 @@ -6957,7 +6917,7 @@ libs/common/src/lib/routes/routes.ts - 212 + 278 @@ -6969,33 +6929,33 @@ libs/common/src/lib/routes/routes.ts - 220 + 286 - + guides guides kebab-case libs/common/src/lib/routes/routes.ts - 215 + 281 libs/common/src/lib/routes/routes.ts - 218 + 284 - + glossary glossaire kebab-case libs/common/src/lib/routes/routes.ts - 207 + 273 libs/common/src/lib/routes/routes.ts - 210 + 276 @@ -7027,7 +6987,7 @@ sur apps/client/src/app/components/admin-settings/admin-settings.component.html - 79 + 135 @@ -7035,7 +6995,7 @@ requêtes journalières apps/client/src/app/components/admin-settings/admin-settings.component.html - 81 + 137 @@ -7043,7 +7003,7 @@ Retirer la clé API apps/client/src/app/components/admin-settings/admin-settings.component.html - 106 + 161 @@ -7051,7 +7011,7 @@ Voulez-vous vraiment supprimer la clé API? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 98 + 94 @@ -7062,14 +7022,6 @@ 41 - - I have an API key - J’ai une clé API - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 39 - - API Requests Today Requêtes API aujourd’hui @@ -7115,7 +7067,7 @@ Étiquette libs/ui/src/lib/assistant/assistant.html - 193 + 196 @@ -7186,8 +7138,8 @@ Please enter your Ghostfolio API key. Veuillez saisir votre clé API Ghostfolio. - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts - 57 + apps/client/src/app/components/admin-settings/admin-settings.component.ts + 113 @@ -7206,14 +7158,6 @@ 65 - - Early Access - Accès anticipé - - apps/client/src/app/components/admin-settings/admin-settings.component.html - 27 - - Regional Market Cluster Risks Risques liés aux regroupements de marchés régionaux @@ -7450,17 +7394,17 @@ 112 - + terms-of-service conditions-d-utilisation kebab-case libs/common/src/lib/routes/routes.ts - 142 + 197 libs/common/src/lib/routes/routes.ts - 145 + 200 @@ -7468,7 +7412,7 @@ Conditions d’utilisation libs/common/src/lib/routes/routes.ts - 147 + 202 @@ -7592,15 +7536,7 @@ Liste de suivi libs/common/src/lib/routes/routes.ts - 55 - - - - Get Early Access - Obtenir un accès anticipé - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 29 + 95 @@ -7616,7 +7552,7 @@ Se déconnecter apps/client/src/app/components/header/header.component.html - 324 + 329 @@ -7627,17 +7563,17 @@ 43 - + changelog journal-des-modifications kebab-case libs/common/src/lib/routes/routes.ts - 113 + 165 libs/common/src/lib/routes/routes.ts - 116 + 168 @@ -7661,7 +7597,7 @@ Fonds d’urgence : Mise en place apps/client/src/app/pages/i18n/i18n-page.html - 14 + 31 @@ -7669,7 +7605,7 @@ Aucun fonds d’urgence n’a été mis en place apps/client/src/app/pages/i18n/i18n-page.html - 15 + 32 @@ -7677,7 +7613,7 @@ Un fonds d’urgence a été mis en place apps/client/src/app/pages/i18n/i18n-page.html - 18 + 35 @@ -7685,7 +7621,7 @@ Ratio de frais apps/client/src/app/pages/i18n/i18n-page.html - 21 + 38 @@ -7693,7 +7629,7 @@ Les frais dépassent ${thresholdMax}% de votre investissement initial (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 22 + 39 @@ -7701,7 +7637,7 @@ Les frais ne dépassent pas ${thresholdMax}% de votre investissement initial (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 26 + 43 @@ -7717,23 +7653,193 @@ Rechercher une position ou une page... libs/ui/src/lib/assistant/assistant.component.ts - 152 + 154 - + Quick Links Liens rapides libs/ui/src/lib/assistant/assistant.html - 45 + 43 - + Asset Profiles - Asset Profiles + Profils d’Actifs libs/ui/src/lib/assistant/assistant.html - 96 + 97 + + + + Live Demo + Démo Live + + libs/common/src/lib/routes/routes.ts + 216 + + + + Open Source Alternative to + Solutions open source alternatives à + + libs/common/src/lib/routes/routes.ts + 306 + + + + Single Account + Compte Unique + + apps/client/src/app/pages/i18n/i18n-page.html + 24 + + + + Your net worth is managed by a single account + Votre patrimoine est géré par un compte unique + + apps/client/src/app/pages/i18n/i18n-page.html + 25 + + + + Your net worth is managed by ${accountsLength} accounts + Votre patrimoine est géré par ${accountsLength} comptes + + apps/client/src/app/pages/i18n/i18n-page.html + 28 + + + + Holdings + Positions + + libs/ui/src/lib/assistant/assistant.html + 68 + + + + personal-finance-tools + outils-finance-personnelle + kebab-case + + libs/common/src/lib/routes/routes.ts + 297 + + + libs/common/src/lib/routes/routes.ts + 300 + + + + markets + marches + kebab-case + + libs/common/src/lib/routes/routes.ts + 289 + + + libs/common/src/lib/routes/routes.ts + 292 + + + + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + Alimentez votre Ghostfolio auto-hébergé avec un fournisseur de données puissant pour accéder à plus de 80 000 tickers issus de plus de 50 bourses dans le monde entier. + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 15 + + + + Get Access + Obtenir l’accès + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 27 + + + + Learn more + En savoir plus + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 38 + + + + new + nouveau + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 67 + + + + Limited Offer! + Offre Limitée ! + + apps/client/src/app/pages/pricing/pricing-page.html + 311 + + + + Get extra + Obtenez supplémentaires + + apps/client/src/app/pages/pricing/pricing-page.html + 313 + + + + Available + Disponible + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 3 + + + + Unavailable + Indisponible + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 5 + + + + new + new + + apps/client/src/app/pages/admin/admin-page.component.ts + 37 + + + + Investment + Investment + + apps/client/src/app/pages/i18n/i18n-page.html + 14 + + + + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + + apps/client/src/app/pages/i18n/i18n-page.html + 15 + + + + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + + apps/client/src/app/pages/i18n/i18n-page.html + 19 diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf index a6017a494..fdb096df4 100644 --- a/apps/client/src/locales/messages.it.xlf +++ b/apps/client/src/locales/messages.it.xlf @@ -147,7 +147,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 8 + 46 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -397,13 +397,17 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html 110 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 92 + Asset Profiles Profilo dell’asset apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 106 @@ -759,7 +763,7 @@ apps/client/src/app/components/header/header.component.html - 229 + 231 @@ -803,7 +807,7 @@ apps/client/src/app/components/header/header.component.html - 246 + 248 @@ -815,7 +819,7 @@ apps/client/src/app/components/header/header.component.html - 256 + 258 @@ -835,7 +839,7 @@ apps/client/src/app/components/header/header.component.html - 266 + 268 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -851,11 +855,11 @@ Controllo amministrativo apps/client/src/app/components/header/header.component.html - 72 + 74 apps/client/src/app/components/header/header.component.html - 284 + 289 @@ -867,11 +871,11 @@ apps/client/src/app/components/header/header.component.html - 86 + 88 apps/client/src/app/components/header/header.component.html - 296 + 301 apps/client/src/app/pages/resources/overview/resources-overview.component.html @@ -887,15 +891,15 @@ apps/client/src/app/components/header/header.component.html - 103 + 105 apps/client/src/app/components/header/header.component.html - 308 + 313 apps/client/src/app/components/header/header.component.html - 384 + 389 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -911,11 +915,11 @@ apps/client/src/app/components/header/header.component.html - 121 + 123 apps/client/src/app/components/header/header.component.html - 369 + 374 @@ -923,7 +927,7 @@ Io apps/client/src/app/components/header/header.component.html - 211 + 213 @@ -931,7 +935,7 @@ Il mio Ghostfolio apps/client/src/app/components/header/header.component.html - 273 + 277 @@ -939,7 +943,7 @@ Informazioni su Ghostfolio apps/client/src/app/components/header/header.component.html - 321 + 326 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -955,7 +959,7 @@ apps/client/src/app/components/header/header.component.html - 356 + 361 apps/client/src/app/pages/features/features-page.html @@ -971,7 +975,7 @@ apps/client/src/app/components/header/header.component.html - 403 + 408 apps/client/src/app/components/home-market/home-market.html @@ -998,12 +1002,16 @@ Sign in Accedi - apps/client/src/app/app-routing.module.ts - 154 + apps/client/src/app/components/header/header.component.ts + 237 - apps/client/src/app/components/header/header.component.ts - 242 + libs/common/src/lib/routes/routes.ts + 71 + + + libs/common/src/lib/routes/routes.ts + 142 @@ -1011,7 +1019,7 @@ Ops! Token di sicurezza errato. apps/client/src/app/components/header/header.component.ts - 257 + 252 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -1066,8 +1074,8 @@ or oppure - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 32 + apps/client/src/app/components/admin-settings/admin-settings.component.html + 30 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1123,7 +1131,7 @@ Accedi apps/client/src/app/components/header/header.component.html - 417 + 422 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1315,7 +1323,7 @@ Tag apps/client/src/app/components/admin-settings/admin-settings.component.html - 146 + 201 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -1379,7 +1387,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 336 + 339 @@ -1391,7 +1399,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -1403,7 +1411,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -1415,7 +1423,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -1427,7 +1435,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 375 + 392 @@ -1439,7 +1447,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 87 + 89 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1455,7 +1463,7 @@ libs/common/src/lib/routes/routes.ts - 150 + 205 @@ -1595,7 +1603,7 @@ Informativa sulla privacy libs/common/src/lib/routes/routes.ts - 139 + 194 @@ -1659,7 +1667,7 @@ libs/ui/src/lib/assistant/assistant.html - 143 + 146 @@ -1795,7 +1803,7 @@ Account libs/common/src/lib/routes/routes.ts - 36 + 59 @@ -1898,8 +1906,8 @@ Admin Control Controllo amministrativo - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 21 + libs/common/src/lib/routes/routes.ts + 54 @@ -1907,7 +1915,7 @@ Blog libs/common/src/lib/routes/routes.ts - 155 + 210 @@ -1927,7 +1935,7 @@ libs/common/src/lib/routes/routes.ts - 175 + 236 @@ -1935,7 +1943,7 @@ Funzionalità libs/common/src/lib/routes/routes.ts - 180 + 241 @@ -1951,35 +1959,31 @@ libs/common/src/lib/routes/routes.ts - 58 + 98 libs/common/src/lib/routes/routes.ts - 103 + 155 Markets Mercati - - apps/client/src/app/pages/home/home-page-routing.module.ts - 38 - - - apps/client/src/app/pages/home/home-page.component.ts - 59 - apps/client/src/app/pages/resources/resources-page.component.ts 30 libs/common/src/lib/routes/routes.ts - 185 + 85 libs/common/src/lib/routes/routes.ts - 228 + 246 + + + libs/common/src/lib/routes/routes.ts + 294 @@ -1991,7 +1995,7 @@ libs/common/src/lib/routes/routes.ts - 72 + 118 @@ -2075,7 +2079,7 @@ Analisi libs/common/src/lib/routes/routes.ts - 77 + 123 @@ -2139,11 +2143,11 @@ Partecipazioni libs/common/src/lib/routes/routes.ts - 45 + 80 libs/common/src/lib/routes/routes.ts - 100 + 152 @@ -2161,10 +2165,6 @@ apps/client/src/app/pages/public/public-page.html 70 - - libs/ui/src/lib/assistant/assistant.html - 70 - Update activity @@ -2295,7 +2295,7 @@ libs/ui/src/lib/assistant/assistant.html - 204 + 207 @@ -2303,7 +2303,7 @@ Attività libs/common/src/lib/routes/routes.ts - 67 + 113 @@ -2331,7 +2331,7 @@ libs/common/src/lib/routes/routes.ts - 195 + 256 @@ -2339,15 +2339,15 @@ Portafoglio apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 122 + 120 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 92 libs/common/src/lib/routes/routes.ts - 90 + 136 @@ -2379,7 +2379,7 @@ Iscrizione libs/common/src/lib/routes/routes.ts - 200 + 266 @@ -2411,7 +2411,7 @@ Risorse libs/common/src/lib/routes/routes.ts - 231 + 312 @@ -2547,7 +2547,7 @@ Inizia apps/client/src/app/components/header/header.component.html - 427 + 432 @@ -2563,7 +2563,7 @@ Ops! Qualcosa è andato storto. apps/client/src/app/core/http-response.interceptor.ts - 84 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2579,7 +2579,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 86 + 88 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2831,7 +2831,7 @@ Benchmark apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 134 + 132 @@ -3290,24 +3290,16 @@ Market Data Dati del mercato - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 31 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 39 + libs/common/src/lib/routes/routes.ts + 41 Users Utenti - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 41 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 49 + libs/common/src/lib/routes/routes.ts + 51 @@ -3315,7 +3307,7 @@ Summario libs/common/src/lib/routes/routes.ts - 50 + 90 @@ -3327,7 +3319,7 @@ libs/ui/src/lib/assistant/assistant.html - 165 + 168 @@ -3359,7 +3351,7 @@ Valido fino a apps/client/src/app/components/admin-settings/admin-settings.component.html - 34 + 74 libs/ui/src/lib/membership-card/membership-card.component.html @@ -3527,7 +3519,7 @@ Aggiorna il piano apps/client/src/app/components/header/header.component.html - 191 + 193 apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html @@ -3667,7 +3659,7 @@ È gratuito. apps/client/src/app/pages/pricing/pricing-page.html - 348 + 352 @@ -3811,7 +3803,7 @@ Rinnova il piano apps/client/src/app/components/header/header.component.html - 189 + 191 apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -3911,7 +3903,7 @@ Piattaforme apps/client/src/app/components/admin-settings/admin-settings.component.html - 140 + 195 @@ -3958,20 +3950,12 @@ Settings Impostazioni - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 36 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 34 - - - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 19 + libs/common/src/lib/routes/routes.ts + 24 libs/common/src/lib/routes/routes.ts - 31 + 46 @@ -4139,7 +4123,7 @@ Changelog libs/common/src/lib/routes/routes.ts - 118 + 170 @@ -4147,7 +4131,7 @@ Licenza libs/common/src/lib/routes/routes.ts - 126 + 178 @@ -4282,8 +4266,8 @@ Personal Finance Tools Strumenti di finanza personale - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 15 + libs/common/src/lib/routes/routes.ts + 309 @@ -4843,7 +4827,7 @@ apps/client/src/app/pages/pricing/pricing-page.html - 345 + 349 @@ -5106,169 +5090,165 @@ 386 - + faq domande-piu-frequenti kebab-case libs/common/src/lib/routes/routes.ts - 158 + 219 libs/common/src/lib/routes/routes.ts - 159 + 220 libs/common/src/lib/routes/routes.ts - 163 + 224 libs/common/src/lib/routes/routes.ts - 169 + 230 - + features funzionalita kebab-case libs/common/src/lib/routes/routes.ts - 178 + 239 libs/common/src/lib/routes/routes.ts - 179 + 240 - + about informazioni-su kebab-case libs/common/src/lib/routes/routes.ts - 109 + 161 libs/common/src/lib/routes/routes.ts - 110 + 162 libs/common/src/lib/routes/routes.ts - 115 + 167 libs/common/src/lib/routes/routes.ts - 123 + 175 libs/common/src/lib/routes/routes.ts - 130 + 183 libs/common/src/lib/routes/routes.ts - 136 + 191 libs/common/src/lib/routes/routes.ts - 144 + 199 - + privacy-policy informativa-sulla-privacy kebab-case libs/common/src/lib/routes/routes.ts - 134 + 189 libs/common/src/lib/routes/routes.ts - 137 + 192 - + license licenza kebab-case libs/common/src/lib/routes/routes.ts - 121 + 173 libs/common/src/lib/routes/routes.ts - 124 + 176 - + markets mercati kebab-case libs/common/src/lib/routes/routes.ts - 183 + 244 libs/common/src/lib/routes/routes.ts - 184 - - - libs/common/src/lib/routes/routes.ts - 223 - - - libs/common/src/lib/routes/routes.ts - 226 + 245 - + pricing prezzi kebab-case libs/common/src/lib/routes/routes.ts - 193 + 254 libs/common/src/lib/routes/routes.ts - 194 + 255 - + register iscrizione kebab-case libs/common/src/lib/routes/routes.ts - 198 + 264 libs/common/src/lib/routes/routes.ts - 199 + 265 - + resources risorse kebab-case libs/common/src/lib/routes/routes.ts - 203 + 269 libs/common/src/lib/routes/routes.ts - 204 + 270 libs/common/src/lib/routes/routes.ts - 209 + 275 libs/common/src/lib/routes/routes.ts - 217 + 283 libs/common/src/lib/routes/routes.ts - 225 + 291 + + + libs/common/src/lib/routes/routes.ts + 299 @@ -5295,14 +5275,6 @@ 42 - - Open Source Alternative to - L’alternativa open source a - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 28 - - The Open Source Alternative to L’alternativa open source a @@ -5335,13 +5307,13 @@ 43 - + open-source-alternative-to alternativa-open-source-a kebab-case libs/common/src/lib/routes/routes.ts - 24 + 305 @@ -5373,7 +5345,7 @@ Svizzera apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 57 libs/ui/src/lib/i18n.ts @@ -5385,7 +5357,7 @@ Globale apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 60 + 58 libs/ui/src/lib/i18n.ts @@ -5588,24 +5560,16 @@ Membership Iscrizione - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 24 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 42 + libs/common/src/lib/routes/routes.ts + 21 Access Accesso - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 29 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 51 + libs/common/src/lib/routes/routes.ts + 16 @@ -5617,7 +5581,7 @@ libs/ui/src/lib/assistant/assistant.html - 119 + 120 @@ -5689,7 +5653,7 @@ Software Open Source per la gestione della tua ricchezza apps/client/src/app/pages/i18n/i18n-page.html - 30 + 47 @@ -5833,7 +5797,7 @@ Intervallo di date libs/ui/src/lib/assistant/assistant.html - 129 + 132 @@ -5880,12 +5844,8 @@ Job Queue Coda Lavori - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 26 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 44 + libs/common/src/lib/routes/routes.ts + 36 @@ -5909,7 +5869,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 86 @@ -5965,7 +5925,7 @@ Da inizio settimana libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5973,7 +5933,7 @@ Settimana corrente libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5981,7 +5941,7 @@ Da inizio mese libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5989,7 +5949,7 @@ Mese corrente libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5997,7 +5957,7 @@ Da inizio anno libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -6033,7 +5993,7 @@ Reset Filtri libs/ui/src/lib/assistant/assistant.html - 223 + 226 @@ -6041,7 +6001,7 @@ anno libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -6049,7 +6009,7 @@ anni libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -6057,7 +6017,7 @@ Applica i Filtri libs/ui/src/lib/assistant/assistant.html - 233 + 236 @@ -6089,7 +6049,7 @@ libs/common/src/lib/routes/routes.ts - 164 + 225 @@ -6101,20 +6061,20 @@ libs/common/src/lib/routes/routes.ts - 172 + 233 - + self-hosting self-hosting kebab-case libs/common/src/lib/routes/routes.ts - 167 + 228 libs/common/src/lib/routes/routes.ts - 170 + 231 @@ -6122,7 +6082,7 @@ Ops! Sembra tu stia facendo troppe richieste. Rallenta un po’ per favore. apps/client/src/app/core/http-response.interceptor.ts - 104 + 106 @@ -6186,7 +6146,7 @@ Questa azione non è permessa. apps/client/src/app/core/http-response.interceptor.ts - 65 + 67 @@ -6225,8 +6185,8 @@ Internationalization Internazionalizzazione - apps/client/src/app/app-routing.module.ts - 92 + libs/common/src/lib/routes/routes.ts + 104 @@ -6354,7 +6314,7 @@ Alternativa apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 80 @@ -6362,7 +6322,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 81 @@ -6370,7 +6330,7 @@ Budgeting apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 82 @@ -6378,7 +6338,7 @@ Comunità apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 83 @@ -6386,7 +6346,7 @@ Ufficio familiare apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 86 + 84 @@ -6394,7 +6354,7 @@ Investitore apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 87 @@ -6402,7 +6362,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 90 + 88 @@ -6410,7 +6370,7 @@ Finanza Personale apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 90 @@ -6418,7 +6378,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 91 @@ -6426,7 +6386,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 93 @@ -6434,7 +6394,7 @@ Strumento apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 94 @@ -6442,7 +6402,7 @@ Esperienza Utente apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 95 @@ -6450,7 +6410,7 @@ Ricchezza apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 96 @@ -6458,7 +6418,7 @@ Gestione Patrimoniale apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 99 + 97 @@ -6922,7 +6882,7 @@ Imposta API Key apps/client/src/app/components/admin-settings/admin-settings.component.html - 116 + 171 @@ -6958,7 +6918,7 @@ libs/common/src/lib/routes/routes.ts - 212 + 278 @@ -6970,33 +6930,33 @@ libs/common/src/lib/routes/routes.ts - 220 + 286 - + guides guide kebab-case libs/common/src/lib/routes/routes.ts - 215 + 281 libs/common/src/lib/routes/routes.ts - 218 + 284 - + glossary glossario kebab-case libs/common/src/lib/routes/routes.ts - 207 + 273 libs/common/src/lib/routes/routes.ts - 210 + 276 @@ -7028,7 +6988,7 @@ di apps/client/src/app/components/admin-settings/admin-settings.component.html - 79 + 135 @@ -7036,7 +6996,7 @@ richieste giornaliere apps/client/src/app/components/admin-settings/admin-settings.component.html - 81 + 137 @@ -7044,7 +7004,7 @@ Rimuovi API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 106 + 161 @@ -7052,7 +7012,7 @@ Vuoi davvero eliminare l’API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 98 + 94 @@ -7063,14 +7023,6 @@ 41 - - I have an API key - Ho un API key - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 39 - - API Requests Today Richieste API oggi @@ -7116,7 +7068,7 @@ Tag libs/ui/src/lib/assistant/assistant.html - 193 + 196 @@ -7187,8 +7139,8 @@ Please enter your Ghostfolio API key. Inserisci la tua API key di Ghostfolio. - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts - 57 + apps/client/src/app/components/admin-settings/admin-settings.component.ts + 113 @@ -7207,14 +7159,6 @@ 65 - - Early Access - Accesso anticipato - - apps/client/src/app/components/admin-settings/admin-settings.component.html - 27 - - Regional Market Cluster Risks Rischi del cluster di mercato regionale @@ -7451,17 +7395,17 @@ 112 - + terms-of-service termini-e-condizioni kebab-case libs/common/src/lib/routes/routes.ts - 142 + 197 libs/common/src/lib/routes/routes.ts - 145 + 200 @@ -7469,7 +7413,7 @@ Termini e condizioni libs/common/src/lib/routes/routes.ts - 147 + 202 @@ -7593,15 +7537,7 @@ Watchlist libs/common/src/lib/routes/routes.ts - 55 - - - - Get Early Access - Ottieni accesso anticipato - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 29 + 95 @@ -7617,7 +7553,7 @@ Esci apps/client/src/app/components/header/header.component.html - 324 + 329 @@ -7628,17 +7564,17 @@ 43 - + changelog registro-delle-modifiche kebab-case libs/common/src/lib/routes/routes.ts - 113 + 165 libs/common/src/lib/routes/routes.ts - 116 + 168 @@ -7662,7 +7598,7 @@ Fondo di emergenza: istituito apps/client/src/app/pages/i18n/i18n-page.html - 14 + 31 @@ -7670,7 +7606,7 @@ Non è stato istituito alcun fondo di emergenza apps/client/src/app/pages/i18n/i18n-page.html - 15 + 32 @@ -7678,7 +7614,7 @@ È stato istituito un fondo di emergenza apps/client/src/app/pages/i18n/i18n-page.html - 18 + 35 @@ -7686,7 +7622,7 @@ Rapporto tariffario apps/client/src/app/pages/i18n/i18n-page.html - 21 + 38 @@ -7694,7 +7630,7 @@ Le commissioni superano il ${thresholdMax}% del tuo investimento iniziale (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 22 + 39 @@ -7702,7 +7638,7 @@ Le commissioni non superano il ${thresholdMax}% del tuo investimento iniziale (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 26 + 43 @@ -7718,23 +7654,193 @@ Trova azienda o pagina... libs/ui/src/lib/assistant/assistant.component.ts - 152 + 154 - + Quick Links Collegamenti rapidi libs/ui/src/lib/assistant/assistant.html - 45 + 43 - + Asset Profiles Profili delle risorse libs/ui/src/lib/assistant/assistant.html - 96 + 97 + + + + Live Demo + Live Demo + + libs/common/src/lib/routes/routes.ts + 216 + + + + Open Source Alternative to + L’alternativa open source a + + libs/common/src/lib/routes/routes.ts + 306 + + + + Single Account + Single Account + + apps/client/src/app/pages/i18n/i18n-page.html + 24 + + + + Your net worth is managed by a single account + Your net worth is managed by a single account + + apps/client/src/app/pages/i18n/i18n-page.html + 25 + + + + Your net worth is managed by ${accountsLength} accounts + Your net worth is managed by ${accountsLength} accounts + + apps/client/src/app/pages/i18n/i18n-page.html + 28 + + + + Holdings + Holdings + + libs/ui/src/lib/assistant/assistant.html + 68 + + + + personal-finance-tools + personal-finance-tools + kebab-case + + libs/common/src/lib/routes/routes.ts + 297 + + + libs/common/src/lib/routes/routes.ts + 300 + + + + markets + markets + kebab-case + + libs/common/src/lib/routes/routes.ts + 289 + + + libs/common/src/lib/routes/routes.ts + 292 + + + + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 15 + + + + Get Access + Get Access + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 27 + + + + Learn more + Learn more + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 38 + + + + new + new + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 67 + + + + Limited Offer! + Limited Offer! + + apps/client/src/app/pages/pricing/pricing-page.html + 311 + + + + Get extra + Get extra + + apps/client/src/app/pages/pricing/pricing-page.html + 313 + + + + Available + Available + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 3 + + + + Unavailable + Unavailable + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 5 + + + + new + new + + apps/client/src/app/pages/admin/admin-page.component.ts + 37 + + + + Investment + Investment + + apps/client/src/app/pages/i18n/i18n-page.html + 14 + + + + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + + apps/client/src/app/pages/i18n/i18n-page.html + 15 + + + + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + + apps/client/src/app/pages/i18n/i18n-page.html + 19 diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index 4d79f6f11..276925ab8 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -146,7 +146,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 8 + 46 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -396,13 +396,17 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html 110 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 92 + Asset Profiles Activa Profiel apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 106 @@ -758,7 +762,7 @@ apps/client/src/app/components/header/header.component.html - 229 + 231 @@ -802,7 +806,7 @@ apps/client/src/app/components/header/header.component.html - 246 + 248 @@ -814,7 +818,7 @@ apps/client/src/app/components/header/header.component.html - 256 + 258 @@ -834,7 +838,7 @@ apps/client/src/app/components/header/header.component.html - 266 + 268 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -850,11 +854,11 @@ Beheer apps/client/src/app/components/header/header.component.html - 72 + 74 apps/client/src/app/components/header/header.component.html - 284 + 289 @@ -866,11 +870,11 @@ apps/client/src/app/components/header/header.component.html - 86 + 88 apps/client/src/app/components/header/header.component.html - 296 + 301 apps/client/src/app/pages/resources/overview/resources-overview.component.html @@ -886,15 +890,15 @@ apps/client/src/app/components/header/header.component.html - 103 + 105 apps/client/src/app/components/header/header.component.html - 308 + 313 apps/client/src/app/components/header/header.component.html - 384 + 389 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -910,11 +914,11 @@ apps/client/src/app/components/header/header.component.html - 121 + 123 apps/client/src/app/components/header/header.component.html - 369 + 374 @@ -922,7 +926,7 @@ Ik apps/client/src/app/components/header/header.component.html - 211 + 213 @@ -930,7 +934,7 @@ Mijn Ghostfolio apps/client/src/app/components/header/header.component.html - 273 + 277 @@ -938,7 +942,7 @@ Over Ghostfolio apps/client/src/app/components/header/header.component.html - 321 + 326 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -954,7 +958,7 @@ apps/client/src/app/components/header/header.component.html - 356 + 361 apps/client/src/app/pages/features/features-page.html @@ -970,7 +974,7 @@ apps/client/src/app/components/header/header.component.html - 403 + 408 apps/client/src/app/components/home-market/home-market.html @@ -997,12 +1001,16 @@ Sign in Aanmelden - apps/client/src/app/app-routing.module.ts - 154 + apps/client/src/app/components/header/header.component.ts + 237 - apps/client/src/app/components/header/header.component.ts - 242 + libs/common/src/lib/routes/routes.ts + 71 + + + libs/common/src/lib/routes/routes.ts + 142 @@ -1010,7 +1018,7 @@ Oeps! Onjuiste beveiligingstoken. apps/client/src/app/components/header/header.component.ts - 257 + 252 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -1065,8 +1073,8 @@ or of - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 32 + apps/client/src/app/components/admin-settings/admin-settings.component.html + 30 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1122,7 +1130,7 @@ Aanmelden apps/client/src/app/components/header/header.component.html - 417 + 422 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1314,7 +1322,7 @@ Tags apps/client/src/app/components/admin-settings/admin-settings.component.html - 146 + 201 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -1378,7 +1386,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 336 + 339 @@ -1390,7 +1398,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -1402,7 +1410,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -1414,7 +1422,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -1426,7 +1434,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 375 + 392 @@ -1438,7 +1446,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 87 + 89 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1454,7 +1462,7 @@ libs/common/src/lib/routes/routes.ts - 150 + 205 @@ -1594,7 +1602,7 @@ Privacybeleid libs/common/src/lib/routes/routes.ts - 139 + 194 @@ -1658,7 +1666,7 @@ libs/ui/src/lib/assistant/assistant.html - 143 + 146 @@ -1794,7 +1802,7 @@ Rekeningen libs/common/src/lib/routes/routes.ts - 36 + 59 @@ -1897,8 +1905,8 @@ Admin Control Beheer - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 21 + libs/common/src/lib/routes/routes.ts + 54 @@ -1906,7 +1914,7 @@ Blog libs/common/src/lib/routes/routes.ts - 155 + 210 @@ -1926,7 +1934,7 @@ libs/common/src/lib/routes/routes.ts - 175 + 236 @@ -1934,7 +1942,7 @@ Functionaliteiten libs/common/src/lib/routes/routes.ts - 180 + 241 @@ -1950,35 +1958,31 @@ libs/common/src/lib/routes/routes.ts - 58 + 98 libs/common/src/lib/routes/routes.ts - 103 + 155 Markets Markten - - apps/client/src/app/pages/home/home-page-routing.module.ts - 38 - - - apps/client/src/app/pages/home/home-page.component.ts - 59 - apps/client/src/app/pages/resources/resources-page.component.ts 30 libs/common/src/lib/routes/routes.ts - 185 + 85 libs/common/src/lib/routes/routes.ts - 228 + 246 + + + libs/common/src/lib/routes/routes.ts + 294 @@ -1990,7 +1994,7 @@ libs/common/src/lib/routes/routes.ts - 72 + 118 @@ -2074,7 +2078,7 @@ Analyse libs/common/src/lib/routes/routes.ts - 77 + 123 @@ -2138,11 +2142,11 @@ Posities libs/common/src/lib/routes/routes.ts - 45 + 80 libs/common/src/lib/routes/routes.ts - 100 + 152 @@ -2160,10 +2164,6 @@ apps/client/src/app/pages/public/public-page.html 70 - - libs/ui/src/lib/assistant/assistant.html - 70 - Update activity @@ -2294,7 +2294,7 @@ libs/ui/src/lib/assistant/assistant.html - 204 + 207 @@ -2302,7 +2302,7 @@ Activiteiten libs/common/src/lib/routes/routes.ts - 67 + 113 @@ -2330,7 +2330,7 @@ libs/common/src/lib/routes/routes.ts - 195 + 256 @@ -2338,15 +2338,15 @@ Portefeuille apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 122 + 120 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 92 libs/common/src/lib/routes/routes.ts - 90 + 136 @@ -2378,7 +2378,7 @@ Registratie libs/common/src/lib/routes/routes.ts - 200 + 266 @@ -2410,7 +2410,7 @@ Bronnen libs/common/src/lib/routes/routes.ts - 231 + 312 @@ -2546,7 +2546,7 @@ Aan de slag apps/client/src/app/components/header/header.component.html - 427 + 432 @@ -2562,7 +2562,7 @@ Oeps! Er ging iets mis. apps/client/src/app/core/http-response.interceptor.ts - 84 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2578,7 +2578,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 86 + 88 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2830,7 +2830,7 @@ Benchmark apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 134 + 132 @@ -3289,24 +3289,16 @@ Market Data Marktgegevens - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 31 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 39 + libs/common/src/lib/routes/routes.ts + 41 Users Gebruikers - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 41 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 49 + libs/common/src/lib/routes/routes.ts + 51 @@ -3314,7 +3306,7 @@ Samenvatting libs/common/src/lib/routes/routes.ts - 50 + 90 @@ -3326,7 +3318,7 @@ libs/ui/src/lib/assistant/assistant.html - 165 + 168 @@ -3358,7 +3350,7 @@ Geldig tot apps/client/src/app/components/admin-settings/admin-settings.component.html - 34 + 74 libs/ui/src/lib/membership-card/membership-card.component.html @@ -3526,7 +3518,7 @@ Abonnement uitbreiden apps/client/src/app/components/header/header.component.html - 191 + 193 apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html @@ -3666,7 +3658,7 @@ Het is gratis. apps/client/src/app/pages/pricing/pricing-page.html - 348 + 352 @@ -3810,7 +3802,7 @@ Abonnement Vernieuwen apps/client/src/app/components/header/header.component.html - 189 + 191 apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -3910,7 +3902,7 @@ Platforms apps/client/src/app/components/admin-settings/admin-settings.component.html - 140 + 195 @@ -3957,20 +3949,12 @@ Settings Instellingen - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 36 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 34 - - - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 19 + libs/common/src/lib/routes/routes.ts + 24 libs/common/src/lib/routes/routes.ts - 31 + 46 @@ -4138,7 +4122,7 @@ Changelog libs/common/src/lib/routes/routes.ts - 118 + 170 @@ -4146,7 +4130,7 @@ Licentie libs/common/src/lib/routes/routes.ts - 126 + 178 @@ -4281,8 +4265,8 @@ Personal Finance Tools Tools voor persoonlijke financiën - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 15 + libs/common/src/lib/routes/routes.ts + 309 @@ -4842,7 +4826,7 @@ apps/client/src/app/pages/pricing/pricing-page.html - 345 + 349 @@ -5105,169 +5089,165 @@ 386 - + faq veelgestelde-vragen kebab-case libs/common/src/lib/routes/routes.ts - 158 + 219 libs/common/src/lib/routes/routes.ts - 159 + 220 libs/common/src/lib/routes/routes.ts - 163 + 224 libs/common/src/lib/routes/routes.ts - 169 + 230 - + features functionaliteiten kebab-case libs/common/src/lib/routes/routes.ts - 178 + 239 libs/common/src/lib/routes/routes.ts - 179 + 240 - + about over kebab-case libs/common/src/lib/routes/routes.ts - 109 + 161 libs/common/src/lib/routes/routes.ts - 110 + 162 libs/common/src/lib/routes/routes.ts - 115 + 167 libs/common/src/lib/routes/routes.ts - 123 + 175 libs/common/src/lib/routes/routes.ts - 130 + 183 libs/common/src/lib/routes/routes.ts - 136 + 191 libs/common/src/lib/routes/routes.ts - 144 + 199 - + privacy-policy privacybeleid kebab-case libs/common/src/lib/routes/routes.ts - 134 + 189 libs/common/src/lib/routes/routes.ts - 137 + 192 - + license licentie kebab-case libs/common/src/lib/routes/routes.ts - 121 + 173 libs/common/src/lib/routes/routes.ts - 124 + 176 - + markets markten kebab-case libs/common/src/lib/routes/routes.ts - 183 + 244 libs/common/src/lib/routes/routes.ts - 184 - - - libs/common/src/lib/routes/routes.ts - 223 - - - libs/common/src/lib/routes/routes.ts - 226 + 245 - + pricing prijzen kebab-case libs/common/src/lib/routes/routes.ts - 193 + 254 libs/common/src/lib/routes/routes.ts - 194 + 255 - + register registratie kebab-case libs/common/src/lib/routes/routes.ts - 198 + 264 libs/common/src/lib/routes/routes.ts - 199 + 265 - + resources bronnen kebab-case libs/common/src/lib/routes/routes.ts - 203 + 269 libs/common/src/lib/routes/routes.ts - 204 + 270 libs/common/src/lib/routes/routes.ts - 209 + 275 libs/common/src/lib/routes/routes.ts - 217 + 283 libs/common/src/lib/routes/routes.ts - 225 + 291 + + + libs/common/src/lib/routes/routes.ts + 299 @@ -5294,14 +5274,6 @@ 42 - - Open Source Alternative to - Open Source alternatief voor - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 28 - - The Open Source Alternative to Open Source alternatief voor @@ -5334,13 +5306,13 @@ 43 - + open-source-alternative-to open-source-alternatief-voor kebab-case libs/common/src/lib/routes/routes.ts - 24 + 305 @@ -5372,7 +5344,7 @@ Zwitserland apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 57 libs/ui/src/lib/i18n.ts @@ -5384,7 +5356,7 @@ Wereldwijd apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 60 + 58 libs/ui/src/lib/i18n.ts @@ -5587,24 +5559,16 @@ Membership Lidmaatschap - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 24 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 42 + libs/common/src/lib/routes/routes.ts + 21 Access Toegang - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 29 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 51 + libs/common/src/lib/routes/routes.ts + 16 @@ -5616,7 +5580,7 @@ libs/ui/src/lib/assistant/assistant.html - 119 + 120 @@ -5688,7 +5652,7 @@ Open Source Vermogensbeheer Software apps/client/src/app/pages/i18n/i18n-page.html - 30 + 47 @@ -5832,7 +5796,7 @@ Datumbereik libs/ui/src/lib/assistant/assistant.html - 129 + 132 @@ -5879,12 +5843,8 @@ Job Queue Opdracht Wachtrij - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 26 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 44 + libs/common/src/lib/routes/routes.ts + 36 @@ -5908,7 +5868,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 86 @@ -5964,7 +5924,7 @@ Week tot nu toe libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5972,7 +5932,7 @@ Week tot nu toe libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5980,7 +5940,7 @@ Maand tot nu toe libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5988,7 +5948,7 @@ MTD libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5996,7 +5956,7 @@ Jaar tot nu toe libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -6032,7 +5992,7 @@ Filters Herstellen libs/ui/src/lib/assistant/assistant.html - 223 + 226 @@ -6040,7 +6000,7 @@ jaar libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -6048,7 +6008,7 @@ jaren libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -6056,7 +6016,7 @@ Filters Toepassen libs/ui/src/lib/assistant/assistant.html - 233 + 236 @@ -6088,7 +6048,7 @@ libs/common/src/lib/routes/routes.ts - 164 + 225 @@ -6100,20 +6060,20 @@ libs/common/src/lib/routes/routes.ts - 172 + 233 - + self-hosting zelf hosten kebab-case libs/common/src/lib/routes/routes.ts - 167 + 228 libs/common/src/lib/routes/routes.ts - 170 + 231 @@ -6121,7 +6081,7 @@ Oeps! Het lijkt er op dat u te veel verzoeken indient. Doe het iets rustiger aan alstublieft. apps/client/src/app/core/http-response.interceptor.ts - 104 + 106 @@ -6185,7 +6145,7 @@ Deze actie is niet toegestaan. apps/client/src/app/core/http-response.interceptor.ts - 65 + 67 @@ -6224,8 +6184,8 @@ Internationalization Internationalizering - apps/client/src/app/app-routing.module.ts - 92 + libs/common/src/lib/routes/routes.ts + 104 @@ -6353,7 +6313,7 @@ Alternatief apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 80 @@ -6361,7 +6321,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 81 @@ -6369,7 +6329,7 @@ Budgetteren apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 82 @@ -6377,7 +6337,7 @@ Gemeenschap apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 83 @@ -6385,7 +6345,7 @@ Familiekantoor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 86 + 84 @@ -6393,7 +6353,7 @@ Investeerder apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 87 @@ -6401,7 +6361,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 90 + 88 @@ -6409,7 +6369,7 @@ Persoonlijke Financiën apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 90 @@ -6417,7 +6377,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 91 @@ -6425,7 +6385,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 93 @@ -6433,7 +6393,7 @@ Hulpmiddel apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 94 @@ -6441,7 +6401,7 @@ Gebruikers Ervaring apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 95 @@ -6449,7 +6409,7 @@ Vermogen apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 96 @@ -6457,7 +6417,7 @@ Vermogensbeheer apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 99 + 97 @@ -6921,7 +6881,7 @@ API-sleutel instellen apps/client/src/app/components/admin-settings/admin-settings.component.html - 116 + 171 @@ -6957,7 +6917,7 @@ libs/common/src/lib/routes/routes.ts - 212 + 278 @@ -6969,33 +6929,33 @@ libs/common/src/lib/routes/routes.ts - 220 + 286 - + guides gidsen kebab-case libs/common/src/lib/routes/routes.ts - 215 + 281 libs/common/src/lib/routes/routes.ts - 218 + 284 - + glossary woordenlijst kebab-case libs/common/src/lib/routes/routes.ts - 207 + 273 libs/common/src/lib/routes/routes.ts - 210 + 276 @@ -7027,7 +6987,7 @@ van apps/client/src/app/components/admin-settings/admin-settings.component.html - 79 + 135 @@ -7035,7 +6995,7 @@ dagelijkse verzoeken apps/client/src/app/components/admin-settings/admin-settings.component.html - 81 + 137 @@ -7043,7 +7003,7 @@ Verwijder API-sleutel apps/client/src/app/components/admin-settings/admin-settings.component.html - 106 + 161 @@ -7051,7 +7011,7 @@ Wilt u de API-sleutel echt verwijderen? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 98 + 94 @@ -7062,14 +7022,6 @@ 41 - - I have an API key - Ik heb een API-sleutel - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 39 - - API Requests Today Aantal API-Verzoeken Vandaag @@ -7115,7 +7067,7 @@ Label libs/ui/src/lib/assistant/assistant.html - 193 + 196 @@ -7186,8 +7138,8 @@ Please enter your Ghostfolio API key. Voer uw Ghostfolio API-sleutel in. - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts - 57 + apps/client/src/app/components/admin-settings/admin-settings.component.ts + 113 @@ -7206,14 +7158,6 @@ 65 - - Early Access - Vroege Toegang - - apps/client/src/app/components/admin-settings/admin-settings.component.html - 27 - - Regional Market Cluster Risks Regionale Markt Clusterrisico’s @@ -7450,17 +7394,17 @@ 112 - + terms-of-service servicevoorwaarden kebab-case libs/common/src/lib/routes/routes.ts - 142 + 197 libs/common/src/lib/routes/routes.ts - 145 + 200 @@ -7468,7 +7412,7 @@ Servicevoorwaarden libs/common/src/lib/routes/routes.ts - 147 + 202 @@ -7592,15 +7536,7 @@ Volglijst libs/common/src/lib/routes/routes.ts - 55 - - - - Get Early Access - Krijg Vroegtijdige Toegang - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 29 + 95 @@ -7616,7 +7552,7 @@ Uitloggen apps/client/src/app/components/header/header.component.html - 324 + 329 @@ -7627,17 +7563,17 @@ 43 - + changelog wijzigingslogboek kebab-case libs/common/src/lib/routes/routes.ts - 113 + 165 libs/common/src/lib/routes/routes.ts - 116 + 168 @@ -7661,7 +7597,7 @@ Emergency Fund: Set up apps/client/src/app/pages/i18n/i18n-page.html - 14 + 31 @@ -7669,7 +7605,7 @@ No emergency fund has been set up apps/client/src/app/pages/i18n/i18n-page.html - 15 + 32 @@ -7677,7 +7613,7 @@ An emergency fund has been set up apps/client/src/app/pages/i18n/i18n-page.html - 18 + 35 @@ -7685,7 +7621,7 @@ Fee Ratio apps/client/src/app/pages/i18n/i18n-page.html - 21 + 38 @@ -7693,7 +7629,7 @@ The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 22 + 39 @@ -7701,7 +7637,7 @@ The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 26 + 43 @@ -7717,23 +7653,193 @@ Find holding or page... libs/ui/src/lib/assistant/assistant.component.ts - 152 + 154 - + Quick Links Quick Links libs/ui/src/lib/assistant/assistant.html - 45 + 43 - + Asset Profiles Asset Profiles libs/ui/src/lib/assistant/assistant.html - 96 + 97 + + + + Live Demo + Live Demo + + libs/common/src/lib/routes/routes.ts + 216 + + + + Open Source Alternative to + Open Source alternatief voor + + libs/common/src/lib/routes/routes.ts + 306 + + + + Single Account + Single Account + + apps/client/src/app/pages/i18n/i18n-page.html + 24 + + + + Your net worth is managed by a single account + Your net worth is managed by a single account + + apps/client/src/app/pages/i18n/i18n-page.html + 25 + + + + Your net worth is managed by ${accountsLength} accounts + Your net worth is managed by ${accountsLength} accounts + + apps/client/src/app/pages/i18n/i18n-page.html + 28 + + + + Holdings + Holdings + + libs/ui/src/lib/assistant/assistant.html + 68 + + + + personal-finance-tools + personal-finance-tools + kebab-case + + libs/common/src/lib/routes/routes.ts + 297 + + + libs/common/src/lib/routes/routes.ts + 300 + + + + markets + markets + kebab-case + + libs/common/src/lib/routes/routes.ts + 289 + + + libs/common/src/lib/routes/routes.ts + 292 + + + + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 15 + + + + Get Access + Get Access + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 27 + + + + Learn more + Learn more + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 38 + + + + new + new + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 67 + + + + Limited Offer! + Limited Offer! + + apps/client/src/app/pages/pricing/pricing-page.html + 311 + + + + Get extra + Get extra + + apps/client/src/app/pages/pricing/pricing-page.html + 313 + + + + Available + Available + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 3 + + + + Unavailable + Unavailable + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 5 + + + + new + new + + apps/client/src/app/pages/admin/admin-page.component.ts + 37 + + + + Investment + Investment + + apps/client/src/app/pages/i18n/i18n-page.html + 14 + + + + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + + apps/client/src/app/pages/i18n/i18n-page.html + 15 + + + + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + + apps/client/src/app/pages/i18n/i18n-page.html + 19 diff --git a/apps/client/src/locales/messages.pl.xlf b/apps/client/src/locales/messages.pl.xlf index e942acbc0..2339475d4 100644 --- a/apps/client/src/locales/messages.pl.xlf +++ b/apps/client/src/locales/messages.pl.xlf @@ -1,169 +1,165 @@ - + about o-ghostfolio kebab-case libs/common/src/lib/routes/routes.ts - 109 + 161 libs/common/src/lib/routes/routes.ts - 110 + 162 libs/common/src/lib/routes/routes.ts - 115 + 167 libs/common/src/lib/routes/routes.ts - 123 + 175 libs/common/src/lib/routes/routes.ts - 130 + 183 libs/common/src/lib/routes/routes.ts - 136 + 191 libs/common/src/lib/routes/routes.ts - 144 + 199 - + faq faq kebab-case libs/common/src/lib/routes/routes.ts - 158 + 219 libs/common/src/lib/routes/routes.ts - 159 + 220 libs/common/src/lib/routes/routes.ts - 163 + 224 libs/common/src/lib/routes/routes.ts - 169 + 230 - + features funkcje kebab-case libs/common/src/lib/routes/routes.ts - 178 + 239 libs/common/src/lib/routes/routes.ts - 179 + 240 - + license licencja kebab-case libs/common/src/lib/routes/routes.ts - 121 + 173 libs/common/src/lib/routes/routes.ts - 124 + 176 - + markets rynki kebab-case libs/common/src/lib/routes/routes.ts - 183 + 244 libs/common/src/lib/routes/routes.ts - 184 - - - libs/common/src/lib/routes/routes.ts - 223 - - - libs/common/src/lib/routes/routes.ts - 226 + 245 - + pricing cennik kebab-case libs/common/src/lib/routes/routes.ts - 193 + 254 libs/common/src/lib/routes/routes.ts - 194 + 255 - + privacy-policy polityka-prywatnosci kebab-case libs/common/src/lib/routes/routes.ts - 134 + 189 libs/common/src/lib/routes/routes.ts - 137 + 192 - + register zarejestruj kebab-case libs/common/src/lib/routes/routes.ts - 198 + 264 libs/common/src/lib/routes/routes.ts - 199 + 265 - + resources zasoby kebab-case libs/common/src/lib/routes/routes.ts - 203 + 269 libs/common/src/lib/routes/routes.ts - 204 + 270 libs/common/src/lib/routes/routes.ts - 209 + 275 libs/common/src/lib/routes/routes.ts - 217 + 283 libs/common/src/lib/routes/routes.ts - 225 + 291 + + + libs/common/src/lib/routes/routes.ts + 299 @@ -211,7 +207,7 @@ apps/client/src/app/components/header/header.component.html - 403 + 408 apps/client/src/app/components/home-market/home-market.html @@ -231,11 +227,11 @@ apps/client/src/app/components/header/header.component.html - 86 + 88 apps/client/src/app/components/header/header.component.html - 296 + 301 apps/client/src/app/pages/resources/overview/resources-overview.component.html @@ -251,11 +247,11 @@ apps/client/src/app/components/header/header.component.html - 121 + 123 apps/client/src/app/components/header/header.component.html - 369 + 374 @@ -375,7 +371,7 @@ apps/client/src/app/components/header/header.component.html - 356 + 361 apps/client/src/app/pages/features/features-page.html @@ -415,15 +411,15 @@ apps/client/src/app/components/header/header.component.html - 103 + 105 apps/client/src/app/components/header/header.component.html - 308 + 313 apps/client/src/app/components/header/header.component.html - 384 + 389 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -683,7 +679,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 8 + 46 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -977,6 +973,10 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html 110 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 92 + Delete Jobs @@ -1215,7 +1215,7 @@ libs/ui/src/lib/assistant/assistant.html - 204 + 207 @@ -1675,7 +1675,7 @@ apps/client/src/app/components/header/header.component.html - 266 + 268 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1715,7 +1715,7 @@ Platformy apps/client/src/app/components/admin-settings/admin-settings.component.html - 140 + 195 @@ -1723,7 +1723,7 @@ Tagi apps/client/src/app/components/admin-settings/admin-settings.component.html - 146 + 201 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -1855,15 +1855,15 @@ Portfel apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 122 + 120 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 92 libs/common/src/lib/routes/routes.ts - 90 + 136 @@ -1871,7 +1871,7 @@ Poziom Odniesienia (Benchmark) apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 134 + 132 @@ -1891,7 +1891,7 @@ apps/client/src/app/components/header/header.component.html - 246 + 248 @@ -1903,7 +1903,7 @@ apps/client/src/app/components/header/header.component.html - 256 + 258 @@ -1911,11 +1911,11 @@ Nadzór Administratora apps/client/src/app/components/header/header.component.html - 72 + 74 apps/client/src/app/components/header/header.component.html - 284 + 289 @@ -1923,7 +1923,7 @@ Ja apps/client/src/app/components/header/header.component.html - 211 + 213 @@ -1935,7 +1935,7 @@ apps/client/src/app/components/header/header.component.html - 229 + 231 @@ -1943,7 +1943,7 @@ Moje Ghostfolio apps/client/src/app/components/header/header.component.html - 273 + 277 @@ -1951,7 +1951,7 @@ O Ghostfolio apps/client/src/app/components/header/header.component.html - 321 + 326 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1963,7 +1963,7 @@ Zaloguj się apps/client/src/app/components/header/header.component.html - 417 + 422 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1975,19 +1975,23 @@ Rozpocznij apps/client/src/app/components/header/header.component.html - 427 + 432 Sign in Zaloguj się - apps/client/src/app/app-routing.module.ts - 154 + apps/client/src/app/components/header/header.component.ts + 237 - apps/client/src/app/components/header/header.component.ts - 242 + libs/common/src/lib/routes/routes.ts + 71 + + + libs/common/src/lib/routes/routes.ts + 142 @@ -1995,7 +1999,7 @@ Ups! Nieprawidłowy token bezpieczeństwa. apps/client/src/app/components/header/header.component.ts - 257 + 252 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -2174,8 +2178,8 @@ or lub - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 32 + apps/client/src/app/components/admin-settings/admin-settings.component.html + 30 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -2623,7 +2627,7 @@ Ulepsz Plan apps/client/src/app/components/header/header.component.html - 191 + 193 apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html @@ -2647,7 +2651,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 336 + 339 @@ -2659,7 +2663,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -2671,7 +2675,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -2683,7 +2687,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -2695,7 +2699,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 375 + 392 @@ -2979,7 +2983,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 86 + 88 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2991,7 +2995,7 @@ Ups! Coś poszło nie tak. apps/client/src/app/core/http-response.interceptor.ts - 84 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3007,7 +3011,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 87 + 89 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3023,7 +3027,7 @@ libs/common/src/lib/routes/routes.ts - 150 + 205 @@ -3031,7 +3035,7 @@ Changelog libs/common/src/lib/routes/routes.ts - 118 + 170 @@ -3039,7 +3043,7 @@ Licencja libs/common/src/lib/routes/routes.ts - 126 + 178 @@ -3047,7 +3051,7 @@ Polityka Prywatności libs/common/src/lib/routes/routes.ts - 139 + 194 @@ -3079,7 +3083,7 @@ Konta libs/common/src/lib/routes/routes.ts - 36 + 59 @@ -3142,52 +3146,36 @@ Admin Control Panel Administratora - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 21 + libs/common/src/lib/routes/routes.ts + 54 Market Data Dane Rynkowe - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 31 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 39 + libs/common/src/lib/routes/routes.ts + 41 Settings Ustawienia - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 36 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 34 - - - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 19 + libs/common/src/lib/routes/routes.ts + 24 libs/common/src/lib/routes/routes.ts - 31 + 46 Users Użytkownicy - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 41 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 49 + libs/common/src/lib/routes/routes.ts + 51 @@ -3203,11 +3191,11 @@ libs/common/src/lib/routes/routes.ts - 58 + 98 libs/common/src/lib/routes/routes.ts - 103 + 155 @@ -3215,7 +3203,7 @@ Blog libs/common/src/lib/routes/routes.ts - 155 + 210 @@ -3243,7 +3231,7 @@ libs/common/src/lib/routes/routes.ts - 175 + 236 @@ -3267,7 +3255,7 @@ Funkcje libs/common/src/lib/routes/routes.ts - 180 + 241 @@ -3399,11 +3387,11 @@ Inwestycje libs/common/src/lib/routes/routes.ts - 45 + 80 libs/common/src/lib/routes/routes.ts - 100 + 152 @@ -3411,31 +3399,27 @@ Podsumowanie libs/common/src/lib/routes/routes.ts - 50 + 90 Markets Rynki - - apps/client/src/app/pages/home/home-page-routing.module.ts - 38 - - - apps/client/src/app/pages/home/home-page.component.ts - 59 - apps/client/src/app/pages/resources/resources-page.component.ts 30 libs/common/src/lib/routes/routes.ts - 185 + 85 libs/common/src/lib/routes/routes.ts - 228 + 246 + + + libs/common/src/lib/routes/routes.ts + 294 @@ -3459,7 +3443,7 @@ Oprogramowanie Open Source do Zarządzania Majątkiem apps/client/src/app/pages/i18n/i18n-page.html - 30 + 47 @@ -3487,7 +3471,7 @@ apps/client/src/app/pages/pricing/pricing-page.html - 345 + 349 @@ -3859,7 +3843,7 @@ Aktywności libs/common/src/lib/routes/routes.ts - 67 + 113 @@ -3943,7 +3927,7 @@ libs/ui/src/lib/assistant/assistant.html - 143 + 146 @@ -4043,7 +4027,7 @@ libs/ui/src/lib/assistant/assistant.html - 165 + 168 @@ -4107,7 +4091,7 @@ libs/common/src/lib/routes/routes.ts - 72 + 118 @@ -4279,7 +4263,7 @@ Analiza libs/common/src/lib/routes/routes.ts - 77 + 123 @@ -4437,10 +4421,6 @@ apps/client/src/app/pages/public/public-page.html 70 - - libs/ui/src/lib/assistant/assistant.html - 70 - Pricing @@ -4451,7 +4431,7 @@ libs/common/src/lib/routes/routes.ts - 195 + 256 @@ -4619,7 +4599,7 @@ Odnów Plan apps/client/src/app/components/header/header.component.html - 189 + 191 apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -4651,7 +4631,7 @@ Jest bezpłatny. apps/client/src/app/pages/pricing/pricing-page.html - 348 + 352 @@ -4691,7 +4671,7 @@ Rejestracja libs/common/src/lib/routes/routes.ts - 200 + 266 @@ -4722,25 +4702,17 @@ Personal Finance Tools Narzędzia finansów osobistych - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 15 + libs/common/src/lib/routes/routes.ts + 309 - + open-source-alternative-to alternatywa-open-source-dla kebab-case libs/common/src/lib/routes/routes.ts - 24 - - - - Open Source Alternative to - Alternatywa Open Source dla - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 28 + 305 @@ -4996,7 +4968,7 @@ Szwajcaria apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 57 libs/ui/src/lib/i18n.ts @@ -5008,7 +4980,7 @@ Globalny apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 60 + 58 libs/ui/src/lib/i18n.ts @@ -5020,7 +4992,7 @@ Zasoby libs/common/src/lib/routes/routes.ts - 231 + 312 @@ -5043,24 +5015,16 @@ Membership Członkostwo - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 24 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 42 + libs/common/src/lib/routes/routes.ts + 21 Access Dostęp - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 29 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 51 + libs/common/src/lib/routes/routes.ts + 16 @@ -5184,7 +5148,7 @@ libs/ui/src/lib/assistant/assistant.html - 119 + 120 @@ -5192,7 +5156,7 @@ Profile aktywów apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 106 @@ -5720,7 +5684,7 @@ Ważność do apps/client/src/app/components/admin-settings/admin-settings.component.html - 34 + 74 libs/ui/src/lib/membership-card/membership-card.component.html @@ -5832,7 +5796,7 @@ Zakres Dat libs/ui/src/lib/assistant/assistant.html - 129 + 132 @@ -5879,12 +5843,8 @@ Job Queue Kolejka Zadań - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 26 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 44 + libs/common/src/lib/routes/routes.ts + 36 @@ -5908,7 +5868,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 86 @@ -5964,7 +5924,7 @@ Dotychczasowy tydzień libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5972,7 +5932,7 @@ WTD libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5980,7 +5940,7 @@ Od początku miesiąca libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5988,7 +5948,7 @@ MTD libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5996,7 +5956,7 @@ Od początku roku libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -6032,7 +5992,7 @@ Resetuj Filtry libs/ui/src/lib/assistant/assistant.html - 223 + 226 @@ -6040,7 +6000,7 @@ rok libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -6048,7 +6008,7 @@ lata libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -6056,7 +6016,7 @@ Zastosuj Filtry libs/ui/src/lib/assistant/assistant.html - 233 + 236 @@ -6088,7 +6048,7 @@ libs/common/src/lib/routes/routes.ts - 164 + 225 @@ -6100,20 +6060,20 @@ libs/common/src/lib/routes/routes.ts - 172 + 233 - + self-hosting wlasny-hosting kebab-case libs/common/src/lib/routes/routes.ts - 167 + 228 libs/common/src/lib/routes/routes.ts - 170 + 231 @@ -6121,7 +6081,7 @@ Ups! Wygląda na to, że wykonujesz zbyt wiele zapytań. Proszę, zwolnij trochę. apps/client/src/app/core/http-response.interceptor.ts - 104 + 106 @@ -6185,7 +6145,7 @@ To działanie jest niedozwolone. apps/client/src/app/core/http-response.interceptor.ts - 65 + 67 @@ -6224,8 +6184,8 @@ Internationalization Internacjonalizacja - apps/client/src/app/app-routing.module.ts - 92 + libs/common/src/lib/routes/routes.ts + 104 @@ -6353,7 +6313,7 @@ Alternatywa apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 80 @@ -6361,7 +6321,7 @@ Aplikacja apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 81 @@ -6369,7 +6329,7 @@ Budżetowanie apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 82 @@ -6377,7 +6337,7 @@ Społeczność apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 83 @@ -6385,7 +6345,7 @@ Biuro Rodzinne apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 86 + 84 @@ -6393,7 +6353,7 @@ Inwestor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 87 @@ -6401,7 +6361,7 @@ Otwarty Kod Źródłowy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 90 + 88 @@ -6409,7 +6369,7 @@ Finanse Osobiste apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 90 @@ -6417,7 +6377,7 @@ Prywatność apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 91 @@ -6425,7 +6385,7 @@ Oprogramowanie apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 93 @@ -6433,7 +6393,7 @@ Narzędzie apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 94 @@ -6441,7 +6401,7 @@ Doświadczenie Użytkownika apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 95 @@ -6449,7 +6409,7 @@ Majątek apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 96 @@ -6457,7 +6417,7 @@ Zarządzanie Majątkiem apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 99 + 97 @@ -6921,7 +6881,7 @@ Skonfiguruj klucz API apps/client/src/app/components/admin-settings/admin-settings.component.html - 116 + 171 @@ -6957,7 +6917,7 @@ libs/common/src/lib/routes/routes.ts - 212 + 278 @@ -6969,33 +6929,33 @@ libs/common/src/lib/routes/routes.ts - 220 + 286 - + guides poradniki kebab-case libs/common/src/lib/routes/routes.ts - 215 + 281 libs/common/src/lib/routes/routes.ts - 218 + 284 - + glossary slowniczek kebab-case libs/common/src/lib/routes/routes.ts - 207 + 273 libs/common/src/lib/routes/routes.ts - 210 + 276 @@ -7027,7 +6987,7 @@ z apps/client/src/app/components/admin-settings/admin-settings.component.html - 79 + 135 @@ -7035,7 +6995,7 @@ codzienne żądania apps/client/src/app/components/admin-settings/admin-settings.component.html - 81 + 137 @@ -7043,7 +7003,7 @@ Usuń klucz API apps/client/src/app/components/admin-settings/admin-settings.component.html - 106 + 161 @@ -7051,7 +7011,7 @@ Czy na pewno chcesz usunąć klucz API?? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 98 + 94 @@ -7062,14 +7022,6 @@ 41 - - I have an API key - Posiadam klucz API - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 39 - - API Requests Today Dzisiejsze Zapytania API @@ -7115,7 +7067,7 @@ Tag libs/ui/src/lib/assistant/assistant.html - 193 + 196 @@ -7186,8 +7138,8 @@ Please enter your Ghostfolio API key. Wprowadź swój klucz API Ghostfolio. - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts - 57 + apps/client/src/app/components/admin-settings/admin-settings.component.ts + 113 @@ -7206,14 +7158,6 @@ 65 - - Early Access - Wczesny dostęp - - apps/client/src/app/components/admin-settings/admin-settings.component.html - 27 - - Regional Market Cluster Risks Ryzyka klastrów regionalnych rynków @@ -7450,17 +7394,17 @@ 112 - + terms-of-service warunki-świadczenia-usług kebab-case libs/common/src/lib/routes/routes.ts - 142 + 197 libs/common/src/lib/routes/routes.ts - 145 + 200 @@ -7468,7 +7412,7 @@ Warunki świadczenia usług libs/common/src/lib/routes/routes.ts - 147 + 202 @@ -7592,15 +7536,7 @@ Lista obserwowanych libs/common/src/lib/routes/routes.ts - 55 - - - - Get Early Access - Uzyskaj wcześniejszy dostęp - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 29 + 95 @@ -7616,7 +7552,7 @@ Wyloguj się apps/client/src/app/components/header/header.component.html - 324 + 329 @@ -7627,17 +7563,17 @@ 43 - + changelog dziennik zmian kebab-case libs/common/src/lib/routes/routes.ts - 113 + 165 libs/common/src/lib/routes/routes.ts - 116 + 168 @@ -7661,7 +7597,7 @@ Fundusz awaryjny: Utworzenie apps/client/src/app/pages/i18n/i18n-page.html - 14 + 31 @@ -7669,7 +7605,7 @@ Nie utworzono funduszu awaryjnego apps/client/src/app/pages/i18n/i18n-page.html - 15 + 32 @@ -7677,7 +7613,7 @@ Utworzono fundusz awaryjny apps/client/src/app/pages/i18n/i18n-page.html - 18 + 35 @@ -7685,7 +7621,7 @@ Stosunek opłat apps/client/src/app/pages/i18n/i18n-page.html - 21 + 38 @@ -7693,7 +7629,7 @@ Opłaty przekraczają ${thresholdMax}% początkowej inwestycji (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 22 + 39 @@ -7701,7 +7637,7 @@ Opłaty nie przekraczają ${thresholdMax}% początkowej inwestycji (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 26 + 43 @@ -7717,23 +7653,193 @@ Znajdź gospodarstwo lub stronę... libs/ui/src/lib/assistant/assistant.component.ts - 152 + 154 - + Quick Links Szybkie linki libs/ui/src/lib/assistant/assistant.html - 45 + 43 - + Asset Profiles Profile zasobów libs/ui/src/lib/assistant/assistant.html - 96 + 97 + + + + Live Demo + Live Demo + + libs/common/src/lib/routes/routes.ts + 216 + + + + Open Source Alternative to + Alternatywa Open Source dla + + libs/common/src/lib/routes/routes.ts + 306 + + + + Single Account + Single Account + + apps/client/src/app/pages/i18n/i18n-page.html + 24 + + + + Your net worth is managed by a single account + Your net worth is managed by a single account + + apps/client/src/app/pages/i18n/i18n-page.html + 25 + + + + Your net worth is managed by ${accountsLength} accounts + Your net worth is managed by ${accountsLength} accounts + + apps/client/src/app/pages/i18n/i18n-page.html + 28 + + + + Holdings + Holdings + + libs/ui/src/lib/assistant/assistant.html + 68 + + + + personal-finance-tools + personal-finance-tools + kebab-case + + libs/common/src/lib/routes/routes.ts + 297 + + + libs/common/src/lib/routes/routes.ts + 300 + + + + markets + markets + kebab-case + + libs/common/src/lib/routes/routes.ts + 289 + + + libs/common/src/lib/routes/routes.ts + 292 + + + + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 15 + + + + Get Access + Get Access + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 27 + + + + Learn more + Learn more + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 38 + + + + new + new + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 67 + + + + Limited Offer! + Limited Offer! + + apps/client/src/app/pages/pricing/pricing-page.html + 311 + + + + Get extra + Get extra + + apps/client/src/app/pages/pricing/pricing-page.html + 313 + + + + Available + Available + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 3 + + + + Unavailable + Unavailable + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 5 + + + + new + new + + apps/client/src/app/pages/admin/admin-page.component.ts + 37 + + + + Investment + Investment + + apps/client/src/app/pages/i18n/i18n-page.html + 14 + + + + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + + apps/client/src/app/pages/i18n/i18n-page.html + 15 + + + + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + + apps/client/src/app/pages/i18n/i18n-page.html + 19 diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf index 4f427e114..f755a694c 100644 --- a/apps/client/src/locales/messages.pt.xlf +++ b/apps/client/src/locales/messages.pt.xlf @@ -154,7 +154,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 8 + 46 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -444,6 +444,10 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html 110 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 92 + Delete Jobs @@ -458,7 +462,7 @@ Perfil de Ativos apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 106 @@ -670,7 +674,7 @@ libs/ui/src/lib/assistant/assistant.html - 204 + 207 @@ -890,7 +894,7 @@ apps/client/src/app/components/header/header.component.html - 229 + 231 @@ -918,7 +922,7 @@ apps/client/src/app/components/header/header.component.html - 266 + 268 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -970,15 +974,15 @@ Portefólio apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 122 + 120 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 92 libs/common/src/lib/routes/routes.ts - 90 + 136 @@ -986,7 +990,7 @@ Referência apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 134 + 132 @@ -1006,7 +1010,7 @@ apps/client/src/app/components/header/header.component.html - 246 + 248 @@ -1018,7 +1022,7 @@ apps/client/src/app/components/header/header.component.html - 256 + 258 @@ -1026,11 +1030,11 @@ Controlo Administrativo apps/client/src/app/components/header/header.component.html - 72 + 74 apps/client/src/app/components/header/header.component.html - 284 + 289 @@ -1042,11 +1046,11 @@ apps/client/src/app/components/header/header.component.html - 86 + 88 apps/client/src/app/components/header/header.component.html - 296 + 301 apps/client/src/app/pages/resources/overview/resources-overview.component.html @@ -1062,15 +1066,15 @@ apps/client/src/app/components/header/header.component.html - 103 + 105 apps/client/src/app/components/header/header.component.html - 308 + 313 apps/client/src/app/components/header/header.component.html - 384 + 389 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -1086,11 +1090,11 @@ apps/client/src/app/components/header/header.component.html - 121 + 123 apps/client/src/app/components/header/header.component.html - 369 + 374 @@ -1098,7 +1102,7 @@ Eu apps/client/src/app/components/header/header.component.html - 211 + 213 @@ -1106,7 +1110,7 @@ O meu Ghostfolio apps/client/src/app/components/header/header.component.html - 273 + 277 @@ -1114,7 +1118,7 @@ Sobre o Ghostfolio apps/client/src/app/components/header/header.component.html - 321 + 326 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1130,7 +1134,7 @@ apps/client/src/app/components/header/header.component.html - 356 + 361 apps/client/src/app/pages/features/features-page.html @@ -1146,7 +1150,7 @@ apps/client/src/app/components/header/header.component.html - 403 + 408 apps/client/src/app/components/home-market/home-market.html @@ -1162,7 +1166,7 @@ Iniciar sessão apps/client/src/app/components/header/header.component.html - 417 + 422 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1174,19 +1178,23 @@ Começar apps/client/src/app/components/header/header.component.html - 427 + 432 Sign in Iniciar sessão - apps/client/src/app/app-routing.module.ts - 154 + apps/client/src/app/components/header/header.component.ts + 237 - apps/client/src/app/components/header/header.component.ts - 242 + libs/common/src/lib/routes/routes.ts + 71 + + + libs/common/src/lib/routes/routes.ts + 142 @@ -1194,7 +1202,7 @@ Oops! Token de Segurança Incorreto. apps/client/src/app/components/header/header.component.ts - 257 + 252 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -1297,8 +1305,8 @@ or ou - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 32 + apps/client/src/app/components/admin-settings/admin-settings.component.html + 30 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1618,7 +1626,7 @@ Marcadores apps/client/src/app/components/admin-settings/admin-settings.component.html - 146 + 201 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -1670,7 +1678,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 336 + 339 @@ -1682,7 +1690,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -1694,7 +1702,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -1706,7 +1714,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -1718,7 +1726,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 375 + 392 @@ -1738,7 +1746,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 86 + 88 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1750,7 +1758,7 @@ Oops! Ocorreu um erro. apps/client/src/app/core/http-response.interceptor.ts - 84 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1766,7 +1774,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 87 + 89 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -1782,7 +1790,7 @@ libs/common/src/lib/routes/routes.ts - 150 + 205 @@ -1814,7 +1822,7 @@ Política de Privacidade libs/common/src/lib/routes/routes.ts - 139 + 194 @@ -1898,7 +1906,7 @@ libs/ui/src/lib/assistant/assistant.html - 143 + 146 @@ -1965,12 +1973,8 @@ Users Utilizadores - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 41 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 49 + libs/common/src/lib/routes/routes.ts + 51 @@ -2094,7 +2098,7 @@ Contas libs/common/src/lib/routes/routes.ts - 36 + 59 @@ -2133,8 +2137,8 @@ Admin Control Controlo Administrativo - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 21 + libs/common/src/lib/routes/routes.ts + 54 @@ -2142,7 +2146,7 @@ Blog libs/common/src/lib/routes/routes.ts - 155 + 210 @@ -2258,7 +2262,7 @@ libs/common/src/lib/routes/routes.ts - 175 + 236 @@ -2266,7 +2270,7 @@ Funcionalidades libs/common/src/lib/routes/routes.ts - 180 + 241 @@ -2282,35 +2286,31 @@ libs/common/src/lib/routes/routes.ts - 58 + 98 libs/common/src/lib/routes/routes.ts - 103 + 155 Markets Mercados - - apps/client/src/app/pages/home/home-page-routing.module.ts - 38 - - - apps/client/src/app/pages/home/home-page.component.ts - 59 - apps/client/src/app/pages/resources/resources-page.component.ts 30 libs/common/src/lib/routes/routes.ts - 185 + 85 libs/common/src/lib/routes/routes.ts - 228 + 246 + + + libs/common/src/lib/routes/routes.ts + 294 @@ -2318,7 +2318,7 @@ Atividades libs/common/src/lib/routes/routes.ts - 67 + 113 @@ -2454,7 +2454,7 @@ libs/common/src/lib/routes/routes.ts - 72 + 118 @@ -2582,7 +2582,7 @@ Análise libs/common/src/lib/routes/routes.ts - 77 + 123 @@ -2662,11 +2662,11 @@ Posições libs/common/src/lib/routes/routes.ts - 45 + 80 libs/common/src/lib/routes/routes.ts - 100 + 152 @@ -2684,10 +2684,6 @@ apps/client/src/app/pages/public/public-page.html 70 - - libs/ui/src/lib/assistant/assistant.html - 70 - Pricing @@ -2698,7 +2694,7 @@ libs/common/src/lib/routes/routes.ts - 195 + 256 @@ -2750,7 +2746,7 @@ Registo libs/common/src/lib/routes/routes.ts - 200 + 266 @@ -2802,7 +2798,7 @@ Recursos libs/common/src/lib/routes/routes.ts - 231 + 312 @@ -3249,12 +3245,8 @@ Market Data Dados de Mercado - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 31 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 39 + libs/common/src/lib/routes/routes.ts + 41 @@ -3262,7 +3254,7 @@ Sumário libs/common/src/lib/routes/routes.ts - 50 + 90 @@ -3326,7 +3318,7 @@ libs/ui/src/lib/assistant/assistant.html - 165 + 168 @@ -3358,7 +3350,7 @@ Válido até apps/client/src/app/components/admin-settings/admin-settings.component.html - 34 + 74 libs/ui/src/lib/membership-card/membership-card.component.html @@ -3526,7 +3518,7 @@ Atualizar Plano apps/client/src/app/components/header/header.component.html - 191 + 193 apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html @@ -3666,7 +3658,7 @@ É gratuito. apps/client/src/app/pages/pricing/pricing-page.html - 348 + 352 @@ -3810,7 +3802,7 @@ Renovar Plano apps/client/src/app/components/header/header.component.html - 189 + 191 apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -3910,7 +3902,7 @@ Plataformas apps/client/src/app/components/admin-settings/admin-settings.component.html - 140 + 195 @@ -3957,20 +3949,12 @@ Settings Definições - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 36 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 34 - - - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 19 + libs/common/src/lib/routes/routes.ts + 24 libs/common/src/lib/routes/routes.ts - 31 + 46 @@ -4138,7 +4122,7 @@ Registo de alterações libs/common/src/lib/routes/routes.ts - 118 + 170 @@ -4146,7 +4130,7 @@ Licença libs/common/src/lib/routes/routes.ts - 126 + 178 @@ -4281,8 +4265,8 @@ Personal Finance Tools Ferramentas de finanças pessoais - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 15 + libs/common/src/lib/routes/routes.ts + 309 @@ -4842,7 +4826,7 @@ apps/client/src/app/pages/pricing/pricing-page.html - 345 + 349 @@ -5105,169 +5089,165 @@ 386 - + faq perguntas-mais-frequentes kebab-case libs/common/src/lib/routes/routes.ts - 158 + 219 libs/common/src/lib/routes/routes.ts - 159 + 220 libs/common/src/lib/routes/routes.ts - 163 + 224 libs/common/src/lib/routes/routes.ts - 169 + 230 - + features funcionalidades kebab-case libs/common/src/lib/routes/routes.ts - 178 + 239 libs/common/src/lib/routes/routes.ts - 179 + 240 - + about sobre kebab-case libs/common/src/lib/routes/routes.ts - 109 + 161 libs/common/src/lib/routes/routes.ts - 110 + 162 libs/common/src/lib/routes/routes.ts - 115 + 167 libs/common/src/lib/routes/routes.ts - 123 + 175 libs/common/src/lib/routes/routes.ts - 130 + 183 libs/common/src/lib/routes/routes.ts - 136 + 191 libs/common/src/lib/routes/routes.ts - 144 + 199 - + privacy-policy politica-de-privacidade kebab-case libs/common/src/lib/routes/routes.ts - 134 + 189 libs/common/src/lib/routes/routes.ts - 137 + 192 - + license licenca kebab-case libs/common/src/lib/routes/routes.ts - 121 + 173 libs/common/src/lib/routes/routes.ts - 124 + 176 - + markets mercados kebab-case libs/common/src/lib/routes/routes.ts - 183 + 244 libs/common/src/lib/routes/routes.ts - 184 - - - libs/common/src/lib/routes/routes.ts - 223 - - - libs/common/src/lib/routes/routes.ts - 226 + 245 - + pricing precos kebab-case libs/common/src/lib/routes/routes.ts - 193 + 254 libs/common/src/lib/routes/routes.ts - 194 + 255 - + register registo kebab-case libs/common/src/lib/routes/routes.ts - 198 + 264 libs/common/src/lib/routes/routes.ts - 199 + 265 - + resources recursos kebab-case libs/common/src/lib/routes/routes.ts - 203 + 269 libs/common/src/lib/routes/routes.ts - 204 + 270 libs/common/src/lib/routes/routes.ts - 209 + 275 libs/common/src/lib/routes/routes.ts - 217 + 283 libs/common/src/lib/routes/routes.ts - 225 + 291 + + + libs/common/src/lib/routes/routes.ts + 299 @@ -5294,14 +5274,6 @@ 42 - - Open Source Alternative to - Alternativa de software livre ao - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 28 - - The Open Source Alternative to A alternativa de software livre ao @@ -5334,13 +5306,13 @@ 43 - + open-source-alternative-to alternativa-de-software-livre-ao kebab-case libs/common/src/lib/routes/routes.ts - 24 + 305 @@ -5372,7 +5344,7 @@ Suíça apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 57 libs/ui/src/lib/i18n.ts @@ -5384,7 +5356,7 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 60 + 58 libs/ui/src/lib/i18n.ts @@ -5587,24 +5559,16 @@ Membership Associação - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 24 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 42 + libs/common/src/lib/routes/routes.ts + 21 Access Acesso - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 29 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 51 + libs/common/src/lib/routes/routes.ts + 16 @@ -5616,7 +5580,7 @@ libs/ui/src/lib/assistant/assistant.html - 119 + 120 @@ -5688,7 +5652,7 @@ Software de gerenciamento de patrimônio de código aberto apps/client/src/app/pages/i18n/i18n-page.html - 30 + 47 @@ -5832,7 +5796,7 @@ Período libs/ui/src/lib/assistant/assistant.html - 129 + 132 @@ -5879,12 +5843,8 @@ Job Queue Fila de trabalhos - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 26 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 44 + libs/common/src/lib/routes/routes.ts + 36 @@ -5908,7 +5868,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 86 @@ -5964,7 +5924,7 @@ Semana até agora libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5972,7 +5932,7 @@ WTD libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5980,7 +5940,7 @@ Do mês até a data libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5988,7 +5948,7 @@ MTD libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5996,7 +5956,7 @@ No acumulado do ano libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -6032,7 +5992,7 @@ Redefinir filtros libs/ui/src/lib/assistant/assistant.html - 223 + 226 @@ -6040,7 +6000,7 @@ ano libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -6048,7 +6008,7 @@ anos libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -6056,7 +6016,7 @@ Aplicar filtros libs/ui/src/lib/assistant/assistant.html - 233 + 236 @@ -6088,7 +6048,7 @@ libs/common/src/lib/routes/routes.ts - 164 + 225 @@ -6100,33 +6060,33 @@ libs/common/src/lib/routes/routes.ts - 172 + 233 - + self-hosting - self-hosting + auto-hospedagem kebab-case libs/common/src/lib/routes/routes.ts - 167 + 228 libs/common/src/lib/routes/routes.ts - 170 + 231 Oops! It looks like you’re making too many requests. Please slow down a bit. - Oops! It looks like you’re making too many requests. Please slow down a bit. + Ops! Parece que você está fazendo muitas solicitações. Por favor, diminua um pouco a velocidade. apps/client/src/app/core/http-response.interceptor.ts - 104 + 106 My Account - My Account + Minha conta apps/client/src/app/pages/i18n/i18n-page.html 13 @@ -6134,7 +6094,7 @@ Active - Active + Ativo apps/client/src/app/components/home-holdings/home-holdings.component.ts 37 @@ -6142,7 +6102,7 @@ Closed - Closed + Fechado apps/client/src/app/components/home-holdings/home-holdings.component.ts 38 @@ -6150,7 +6110,7 @@ Activity - Activity + Atividade apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 207 @@ -6158,7 +6118,7 @@ Dividend Yield - Dividend Yield + Rendimento de dividendos apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html 175 @@ -6166,7 +6126,7 @@ Execute Job - Execute Job + Executar trabalho apps/client/src/app/components/admin-jobs/admin-jobs.html 176 @@ -6174,7 +6134,7 @@ Priority - Priority + Prioridade apps/client/src/app/components/admin-jobs/admin-jobs.html 64 @@ -6182,15 +6142,15 @@ This action is not allowed. - This action is not allowed. + Esta ação não é permitida. apps/client/src/app/core/http-response.interceptor.ts - 65 + 67 Liquidity - Liquidity + Liquidez libs/ui/src/lib/i18n.ts 48 @@ -6206,7 +6166,7 @@ Buy and sell - Buy and sell + Compre e venda libs/ui/src/lib/i18n.ts 8 @@ -6214,7 +6174,7 @@ Delete Activities - Delete Activities + Excluir atividades libs/ui/src/lib/activities-table/activities-table.component.html 67 @@ -6222,15 +6182,15 @@ Internationalization - Internationalization + Internacionalização - apps/client/src/app/app-routing.module.ts - 92 + libs/common/src/lib/routes/routes.ts + 104 Do you really want to close your Ghostfolio account? - Do you really want to close your Ghostfolio account? + Você realmente deseja encerrar sua conta Ghostfolio? apps/client/src/app/components/user-account-settings/user-account-settings.component.ts 174 @@ -6238,7 +6198,7 @@ Danger Zone - Danger Zone + Zona de perigo apps/client/src/app/components/user-account-settings/user-account-settings.html 272 @@ -6246,7 +6206,7 @@ Close Account - Close Account + Fechar conta apps/client/src/app/components/user-account-settings/user-account-settings.html 307 @@ -6254,7 +6214,7 @@ By ETF Holding - By ETF Holding + Por ETF Holding apps/client/src/app/pages/portfolio/allocations/allocations-page.html 333 @@ -6262,7 +6222,7 @@ Approximation based on the top holdings of each ETF - Approximation based on the top holdings of each ETF + Aproximação baseada nas principais participações de cada ETF apps/client/src/app/pages/portfolio/allocations/allocations-page.html 340 @@ -6270,7 +6230,7 @@ Join now or check out the example account - Join now or check out the example account + Cadastre-se agora ou confira a conta de exemplo apps/client/src/app/pages/landing/landing-page.html 434 @@ -6278,7 +6238,7 @@ Oops! There was an error setting up biometric authentication. - Oops! There was an error setting up biometric authentication. + Ops! Ocorreu um erro ao configurar a autenticação biométrica. apps/client/src/app/components/user-account-settings/user-account-settings.component.ts 302 @@ -6286,7 +6246,7 @@ Show more - Show more + Mostrar mais libs/ui/src/lib/top-holdings/top-holdings.component.html 174 @@ -6294,7 +6254,7 @@ Benchmarks - Benchmarks + Referências apps/client/src/app/components/admin-market-data/admin-market-data.component.ts 81 @@ -6302,7 +6262,7 @@ Delete Profiles - Delete Profiles + Excluir perfis apps/client/src/app/components/admin-market-data/admin-market-data.html 243 @@ -6310,7 +6270,7 @@ Do you really want to delete these profiles? - Do you really want to delete these profiles? + Você realmente deseja excluir esses perfis? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts 68 @@ -6318,7 +6278,7 @@ Oops! Could not delete profiles. - Oops! Could not delete profiles. + Ops! Não foi possível excluir perfis. apps/client/src/app/components/admin-market-data/admin-market-data.service.ts 56 @@ -6326,7 +6286,7 @@ Table - Table + o índice apps/client/src/app/components/home-holdings/home-holdings.html 16 @@ -6334,7 +6294,7 @@ Chart - Chart + Gráfico apps/client/src/app/components/home-holdings/home-holdings.html 19 @@ -6342,7 +6302,7 @@ Would you like to refine your personal investment strategy? - Would you like to refine your personal investment strategy? + Você gostaria de refinar seu estratégia de investimento pessoal? apps/client/src/app/pages/public/public-page.html 211 @@ -6350,50 +6310,50 @@ Alternative - Alternative + Alternativo apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 80 App - App + Aplicativo apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 81 Budgeting - Budgeting + Orçamento apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 82 Community - Community + Comunidade apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 83 Family Office - Family Office + Escritório Familiar apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 86 + 84 Investor - Investor + Investidor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 87 @@ -6401,7 +6361,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 90 + 88 @@ -6409,7 +6369,7 @@ Personal Finance apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 90 @@ -6417,7 +6377,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 91 @@ -6425,7 +6385,7 @@ Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 93 @@ -6433,7 +6393,7 @@ Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 94 @@ -6441,7 +6401,7 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 95 @@ -6449,7 +6409,7 @@ Wealth apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 96 @@ -6457,7 +6417,7 @@ Wealth Management apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 99 + 97 @@ -6921,7 +6881,7 @@ Set API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 116 + 171 @@ -6957,7 +6917,7 @@ libs/common/src/lib/routes/routes.ts - 212 + 278 @@ -6969,33 +6929,33 @@ libs/common/src/lib/routes/routes.ts - 220 + 286 - + guides guides kebab-case libs/common/src/lib/routes/routes.ts - 215 + 281 libs/common/src/lib/routes/routes.ts - 218 + 284 - + glossary glossary kebab-case libs/common/src/lib/routes/routes.ts - 207 + 273 libs/common/src/lib/routes/routes.ts - 210 + 276 @@ -7027,7 +6987,7 @@ of apps/client/src/app/components/admin-settings/admin-settings.component.html - 79 + 135 @@ -7035,7 +6995,7 @@ daily requests apps/client/src/app/components/admin-settings/admin-settings.component.html - 81 + 137 @@ -7043,7 +7003,7 @@ Remove API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 106 + 161 @@ -7051,7 +7011,7 @@ Do you really want to delete the API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 98 + 94 @@ -7062,14 +7022,6 @@ 41 - - I have an API key - I have an API key - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 39 - - API Requests Today API Requests Today @@ -7115,7 +7067,7 @@ Tag libs/ui/src/lib/assistant/assistant.html - 193 + 196 @@ -7186,8 +7138,8 @@ Please enter your Ghostfolio API key. Please enter your Ghostfolio API key. - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts - 57 + apps/client/src/app/components/admin-settings/admin-settings.component.ts + 113 @@ -7206,14 +7158,6 @@ 65 - - Early Access - Early Access - - apps/client/src/app/components/admin-settings/admin-settings.component.html - 27 - - Regional Market Cluster Risks Regional Market Cluster Risks @@ -7450,17 +7394,17 @@ 112 - + terms-of-service termos-de-serviço kebab-case libs/common/src/lib/routes/routes.ts - 142 + 197 libs/common/src/lib/routes/routes.ts - 145 + 200 @@ -7468,7 +7412,7 @@ Termos de Serviço libs/common/src/lib/routes/routes.ts - 147 + 202 @@ -7592,15 +7536,7 @@ Watchlist libs/common/src/lib/routes/routes.ts - 55 - - - - Get Early Access - Get Early Access - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 29 + 95 @@ -7616,7 +7552,7 @@ Log out apps/client/src/app/components/header/header.component.html - 324 + 329 @@ -7627,17 +7563,17 @@ 43 - + changelog changelog kebab-case libs/common/src/lib/routes/routes.ts - 113 + 165 libs/common/src/lib/routes/routes.ts - 116 + 168 @@ -7661,7 +7597,7 @@ Emergency Fund: Set up apps/client/src/app/pages/i18n/i18n-page.html - 14 + 31 @@ -7669,7 +7605,7 @@ No emergency fund has been set up apps/client/src/app/pages/i18n/i18n-page.html - 15 + 32 @@ -7677,7 +7613,7 @@ An emergency fund has been set up apps/client/src/app/pages/i18n/i18n-page.html - 18 + 35 @@ -7685,7 +7621,7 @@ Fee Ratio apps/client/src/app/pages/i18n/i18n-page.html - 21 + 38 @@ -7693,7 +7629,7 @@ The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 22 + 39 @@ -7701,7 +7637,7 @@ The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 26 + 43 @@ -7717,23 +7653,193 @@ Encontrar holding ou página... libs/ui/src/lib/assistant/assistant.component.ts - 152 + 154 - + Quick Links Links rápidos libs/ui/src/lib/assistant/assistant.html - 45 + 43 - + Asset Profiles Perfis de ativos libs/ui/src/lib/assistant/assistant.html - 96 + 97 + + + + Live Demo + Live Demo + + libs/common/src/lib/routes/routes.ts + 216 + + + + Open Source Alternative to + Alternativa de software livre ao + + libs/common/src/lib/routes/routes.ts + 306 + + + + Single Account + Single Account + + apps/client/src/app/pages/i18n/i18n-page.html + 24 + + + + Your net worth is managed by a single account + Your net worth is managed by a single account + + apps/client/src/app/pages/i18n/i18n-page.html + 25 + + + + Your net worth is managed by ${accountsLength} accounts + Your net worth is managed by ${accountsLength} accounts + + apps/client/src/app/pages/i18n/i18n-page.html + 28 + + + + Holdings + Holdings + + libs/ui/src/lib/assistant/assistant.html + 68 + + + + personal-finance-tools + personal-finance-tools + kebab-case + + libs/common/src/lib/routes/routes.ts + 297 + + + libs/common/src/lib/routes/routes.ts + 300 + + + + markets + markets + kebab-case + + libs/common/src/lib/routes/routes.ts + 289 + + + libs/common/src/lib/routes/routes.ts + 292 + + + + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 15 + + + + Get Access + Get Access + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 27 + + + + Learn more + Learn more + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 38 + + + + new + new + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 67 + + + + Limited Offer! + Limited Offer! + + apps/client/src/app/pages/pricing/pricing-page.html + 311 + + + + Get extra + Get extra + + apps/client/src/app/pages/pricing/pricing-page.html + 313 + + + + Available + Available + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 3 + + + + Unavailable + Unavailable + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 5 + + + + new + new + + apps/client/src/app/pages/admin/admin-page.component.ts + 37 + + + + Investment + Investment + + apps/client/src/app/pages/i18n/i18n-page.html + 14 + + + + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + + apps/client/src/app/pages/i18n/i18n-page.html + 15 + + + + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + + apps/client/src/app/pages/i18n/i18n-page.html + 19 diff --git a/apps/client/src/locales/messages.tr.xlf b/apps/client/src/locales/messages.tr.xlf index 110a4b918..cf5f1f3d5 100644 --- a/apps/client/src/locales/messages.tr.xlf +++ b/apps/client/src/locales/messages.tr.xlf @@ -1,169 +1,165 @@ - + about hakkinda kebab-case libs/common/src/lib/routes/routes.ts - 109 + 161 libs/common/src/lib/routes/routes.ts - 110 + 162 libs/common/src/lib/routes/routes.ts - 115 + 167 libs/common/src/lib/routes/routes.ts - 123 + 175 libs/common/src/lib/routes/routes.ts - 130 + 183 libs/common/src/lib/routes/routes.ts - 136 + 191 libs/common/src/lib/routes/routes.ts - 144 + 199 - + faq sss kebab-case libs/common/src/lib/routes/routes.ts - 158 + 219 libs/common/src/lib/routes/routes.ts - 159 + 220 libs/common/src/lib/routes/routes.ts - 163 + 224 libs/common/src/lib/routes/routes.ts - 169 + 230 - + features oezellikler kebab-case libs/common/src/lib/routes/routes.ts - 178 + 239 libs/common/src/lib/routes/routes.ts - 179 + 240 - + license lisans kebab-case libs/common/src/lib/routes/routes.ts - 121 + 173 libs/common/src/lib/routes/routes.ts - 124 + 176 - + markets piyasalar kebab-case libs/common/src/lib/routes/routes.ts - 183 + 244 libs/common/src/lib/routes/routes.ts - 184 - - - libs/common/src/lib/routes/routes.ts - 223 - - - libs/common/src/lib/routes/routes.ts - 226 + 245 - + pricing fiyatlandirma kebab-case libs/common/src/lib/routes/routes.ts - 193 + 254 libs/common/src/lib/routes/routes.ts - 194 + 255 - + privacy-policy gizlilik-politikasi kebab-case libs/common/src/lib/routes/routes.ts - 134 + 189 libs/common/src/lib/routes/routes.ts - 137 + 192 - + register kayit-ol kebab-case libs/common/src/lib/routes/routes.ts - 198 + 264 libs/common/src/lib/routes/routes.ts - 199 + 265 - + resources kaynaklar kebab-case libs/common/src/lib/routes/routes.ts - 203 + 269 libs/common/src/lib/routes/routes.ts - 204 + 270 libs/common/src/lib/routes/routes.ts - 209 + 275 libs/common/src/lib/routes/routes.ts - 217 + 283 libs/common/src/lib/routes/routes.ts - 225 + 291 + + + libs/common/src/lib/routes/routes.ts + 299 @@ -183,7 +179,7 @@ apps/client/src/app/components/header/header.component.html - 403 + 408 apps/client/src/app/components/home-market/home-market.html @@ -203,11 +199,11 @@ apps/client/src/app/components/header/header.component.html - 86 + 88 apps/client/src/app/components/header/header.component.html - 296 + 301 apps/client/src/app/pages/resources/overview/resources-overview.component.html @@ -223,11 +219,11 @@ apps/client/src/app/components/header/header.component.html - 121 + 123 apps/client/src/app/components/header/header.component.html - 369 + 374 @@ -347,7 +343,7 @@ apps/client/src/app/components/header/header.component.html - 356 + 361 apps/client/src/app/pages/features/features-page.html @@ -387,15 +383,15 @@ apps/client/src/app/components/header/header.component.html - 103 + 105 apps/client/src/app/components/header/header.component.html - 308 + 313 apps/client/src/app/components/header/header.component.html - 384 + 389 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -643,7 +639,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 8 + 46 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -917,6 +913,10 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html 110 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 92 + Delete Jobs @@ -931,7 +931,7 @@ Varlık Profili apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 106 @@ -1167,7 +1167,7 @@ libs/ui/src/lib/assistant/assistant.html - 204 + 207 @@ -1455,7 +1455,7 @@ Etiketler apps/client/src/app/components/admin-settings/admin-settings.component.html - 146 + 201 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -1579,7 +1579,7 @@ apps/client/src/app/components/header/header.component.html - 266 + 268 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1619,7 +1619,7 @@ Platformlar apps/client/src/app/components/admin-settings/admin-settings.component.html - 140 + 195 @@ -1639,7 +1639,7 @@ apps/client/src/app/components/header/header.component.html - 229 + 231 @@ -1715,15 +1715,15 @@ Portföy apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 122 + 120 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 92 libs/common/src/lib/routes/routes.ts - 90 + 136 @@ -1731,7 +1731,7 @@ Karşılaştırma Ölçütü apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 134 + 132 @@ -1751,7 +1751,7 @@ apps/client/src/app/components/header/header.component.html - 246 + 248 @@ -1763,7 +1763,7 @@ apps/client/src/app/components/header/header.component.html - 256 + 258 @@ -1771,11 +1771,11 @@ Yönetici Kontrolü apps/client/src/app/components/header/header.component.html - 72 + 74 apps/client/src/app/components/header/header.component.html - 284 + 289 @@ -1783,7 +1783,7 @@ Ben apps/client/src/app/components/header/header.component.html - 211 + 213 @@ -1791,7 +1791,7 @@ Ghostfolio’m apps/client/src/app/components/header/header.component.html - 273 + 277 @@ -1799,7 +1799,7 @@ Ghostfolio Hakkında apps/client/src/app/components/header/header.component.html - 321 + 326 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1811,7 +1811,7 @@ Giriş apps/client/src/app/components/header/header.component.html - 417 + 422 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1823,19 +1823,23 @@ Haydi Başlayalım apps/client/src/app/components/header/header.component.html - 427 + 432 Sign in Giriş - apps/client/src/app/app-routing.module.ts - 154 + apps/client/src/app/components/header/header.component.ts + 237 - apps/client/src/app/components/header/header.component.ts - 242 + libs/common/src/lib/routes/routes.ts + 71 + + + libs/common/src/lib/routes/routes.ts + 142 @@ -1843,7 +1847,7 @@ Hay Allah! Güvenlik anahtarı yanlış. apps/client/src/app/components/header/header.component.ts - 257 + 252 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -2022,8 +2026,8 @@ or veya - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 32 + apps/client/src/app/components/admin-settings/admin-settings.component.html + 30 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -2463,7 +2467,7 @@ Üyeliğinizi Yükseltin apps/client/src/app/components/header/header.component.html - 191 + 193 apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html @@ -2487,7 +2491,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 336 + 339 @@ -2499,7 +2503,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -2511,7 +2515,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -2523,7 +2527,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -2535,7 +2539,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 375 + 392 @@ -2555,7 +2559,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 86 + 88 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2567,7 +2571,7 @@ Hay Allah! Bir şeyler yanlış gitti. apps/client/src/app/core/http-response.interceptor.ts - 84 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2583,7 +2587,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 87 + 89 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2599,7 +2603,7 @@ libs/common/src/lib/routes/routes.ts - 150 + 205 @@ -2607,7 +2611,7 @@ Değişiklik Günlüğü libs/common/src/lib/routes/routes.ts - 118 + 170 @@ -2615,7 +2619,7 @@ Lisans libs/common/src/lib/routes/routes.ts - 126 + 178 @@ -2623,7 +2627,7 @@ Gizlilik Politikası libs/common/src/lib/routes/routes.ts - 139 + 194 @@ -2655,7 +2659,7 @@ Hesaplar libs/common/src/lib/routes/routes.ts - 36 + 59 @@ -2686,52 +2690,36 @@ Admin Control Yönetici Denetimleri - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 21 + libs/common/src/lib/routes/routes.ts + 54 Market Data Piyasa Verileri - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 31 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 39 + libs/common/src/lib/routes/routes.ts + 41 Settings Ayarlar - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 36 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 34 - - - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 19 + libs/common/src/lib/routes/routes.ts + 24 libs/common/src/lib/routes/routes.ts - 31 + 46 Users Kullanıcılar - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 41 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 49 + libs/common/src/lib/routes/routes.ts + 51 @@ -2747,11 +2735,11 @@ libs/common/src/lib/routes/routes.ts - 58 + 98 libs/common/src/lib/routes/routes.ts - 103 + 155 @@ -2759,7 +2747,7 @@ Blog libs/common/src/lib/routes/routes.ts - 155 + 210 @@ -2787,7 +2775,7 @@ libs/common/src/lib/routes/routes.ts - 175 + 236 @@ -2811,7 +2799,7 @@ Özellikler libs/common/src/lib/routes/routes.ts - 180 + 241 @@ -2955,11 +2943,11 @@ Varlıklar libs/common/src/lib/routes/routes.ts - 45 + 80 libs/common/src/lib/routes/routes.ts - 100 + 152 @@ -2967,31 +2955,27 @@ Özet libs/common/src/lib/routes/routes.ts - 50 + 90 Markets Piyasalar - - apps/client/src/app/pages/home/home-page-routing.module.ts - 38 - - - apps/client/src/app/pages/home/home-page.component.ts - 59 - apps/client/src/app/pages/resources/resources-page.component.ts 30 libs/common/src/lib/routes/routes.ts - 185 + 85 libs/common/src/lib/routes/routes.ts - 228 + 246 + + + libs/common/src/lib/routes/routes.ts + 294 @@ -3019,7 +3003,7 @@ apps/client/src/app/pages/pricing/pricing-page.html - 345 + 349 @@ -3363,7 +3347,7 @@ İşlemler libs/common/src/lib/routes/routes.ts - 67 + 113 @@ -3423,7 +3407,7 @@ libs/ui/src/lib/assistant/assistant.html - 143 + 146 @@ -3523,7 +3507,7 @@ libs/ui/src/lib/assistant/assistant.html - 165 + 168 @@ -3595,7 +3579,7 @@ libs/common/src/lib/routes/routes.ts - 72 + 118 @@ -3767,7 +3751,7 @@ Analiz libs/common/src/lib/routes/routes.ts - 77 + 123 @@ -3909,10 +3893,6 @@ apps/client/src/app/pages/public/public-page.html 70 - - libs/ui/src/lib/assistant/assistant.html - 70 - Pricing @@ -3923,7 +3903,7 @@ libs/common/src/lib/routes/routes.ts - 195 + 256 @@ -4091,7 +4071,7 @@ Aboneliği Yenile apps/client/src/app/components/header/header.component.html - 189 + 191 apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -4123,7 +4103,7 @@ Ücretsiz. apps/client/src/app/pages/pricing/pricing-page.html - 348 + 352 @@ -4163,7 +4143,7 @@ Kayıt libs/common/src/lib/routes/routes.ts - 200 + 266 @@ -4214,25 +4194,17 @@ Personal Finance Tools Kişisel Finans Araçları - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 15 + libs/common/src/lib/routes/routes.ts + 309 - + open-source-alternative-to Açık kaynak alternatif kebab-case libs/common/src/lib/routes/routes.ts - 24 - - - - Open Source Alternative to - için Açık Kaynak Alternatif - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 28 + 305 @@ -4480,7 +4452,7 @@ İsviçre apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 57 libs/ui/src/lib/i18n.ts @@ -4492,7 +4464,7 @@ Küresel apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 60 + 58 libs/ui/src/lib/i18n.ts @@ -4504,7 +4476,7 @@ Kaynaklar libs/common/src/lib/routes/routes.ts - 231 + 312 @@ -4608,7 +4580,7 @@ Geçerli tarih apps/client/src/app/components/admin-settings/admin-settings.component.html - 34 + 74 libs/ui/src/lib/membership-card/membership-card.component.html @@ -5587,24 +5559,16 @@ Membership Üyelik - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 24 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 42 + libs/common/src/lib/routes/routes.ts + 21 Access Erişim - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 29 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 51 + libs/common/src/lib/routes/routes.ts + 16 @@ -5616,7 +5580,7 @@ libs/ui/src/lib/assistant/assistant.html - 119 + 120 @@ -5688,7 +5652,7 @@ Açık Kaynak Varlık Yönetim Yazılımı apps/client/src/app/pages/i18n/i18n-page.html - 30 + 47 @@ -5832,7 +5796,7 @@ Tarih Aralığı libs/ui/src/lib/assistant/assistant.html - 129 + 132 @@ -5879,12 +5843,8 @@ Job Queue İş Kuyruğu - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 26 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 44 + libs/common/src/lib/routes/routes.ts + 36 @@ -5908,7 +5868,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 86 @@ -5964,7 +5924,7 @@ Hafta içi libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5972,7 +5932,7 @@ WTD libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5980,7 +5940,7 @@ Ay içi libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5988,7 +5948,7 @@ MTD libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5996,7 +5956,7 @@ Yıl içi libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -6032,7 +5992,7 @@ Filtreleri Sıfırla libs/ui/src/lib/assistant/assistant.html - 223 + 226 @@ -6040,7 +6000,7 @@ Yıl libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -6048,7 +6008,7 @@ Yıllar libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -6056,7 +6016,7 @@ Filtreleri Uygula libs/ui/src/lib/assistant/assistant.html - 233 + 236 @@ -6088,7 +6048,7 @@ libs/common/src/lib/routes/routes.ts - 164 + 225 @@ -6100,20 +6060,20 @@ libs/common/src/lib/routes/routes.ts - 172 + 233 - + self-hosting Kendini-Barındırma kebab-case libs/common/src/lib/routes/routes.ts - 167 + 228 libs/common/src/lib/routes/routes.ts - 170 + 231 @@ -6121,7 +6081,7 @@ Oops! Görünüşe göre çok fazla istekte bulunuyorsunuz. Lütfen biraz yavaşlayın. apps/client/src/app/core/http-response.interceptor.ts - 104 + 106 @@ -6185,7 +6145,7 @@ Bu işlem izin verilmiyor. apps/client/src/app/core/http-response.interceptor.ts - 65 + 67 @@ -6224,8 +6184,8 @@ Internationalization İnternasyonalizasyon - apps/client/src/app/app-routing.module.ts - 92 + libs/common/src/lib/routes/routes.ts + 104 @@ -6353,7 +6313,7 @@ Alternatif apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 80 @@ -6361,7 +6321,7 @@ App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 81 @@ -6369,7 +6329,7 @@ Bütçeleme apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 82 @@ -6377,7 +6337,7 @@ Topluluk apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 83 @@ -6385,7 +6345,7 @@ Aile Ofisi apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 86 + 84 @@ -6393,7 +6353,7 @@ Yatırımcı apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 87 @@ -6401,7 +6361,7 @@ Açık Kaynak apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 90 + 88 @@ -6409,7 +6369,7 @@ Kişisel Finans apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 90 @@ -6417,7 +6377,7 @@ Gizlilik apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 91 @@ -6425,7 +6385,7 @@ Yazılım apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 93 @@ -6433,7 +6393,7 @@ Araç apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 94 @@ -6441,7 +6401,7 @@ Kullanıcı Deneyimi apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 95 @@ -6449,7 +6409,7 @@ Zenginlik apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 96 @@ -6457,7 +6417,7 @@ Zenginlik Yönetimi apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 99 + 97 @@ -6921,7 +6881,7 @@ API anahtarını ayarla apps/client/src/app/components/admin-settings/admin-settings.component.html - 116 + 171 @@ -6957,7 +6917,7 @@ libs/common/src/lib/routes/routes.ts - 212 + 278 @@ -6969,33 +6929,33 @@ libs/common/src/lib/routes/routes.ts - 220 + 286 - + guides kılavuzlar kebab-case libs/common/src/lib/routes/routes.ts - 215 + 281 libs/common/src/lib/routes/routes.ts - 218 + 284 - + glossary sözlük kebab-case libs/common/src/lib/routes/routes.ts - 207 + 273 libs/common/src/lib/routes/routes.ts - 210 + 276 @@ -7027,7 +6987,7 @@ ın apps/client/src/app/components/admin-settings/admin-settings.component.html - 79 + 135 @@ -7035,7 +6995,7 @@ günlük istekler apps/client/src/app/components/admin-settings/admin-settings.component.html - 81 + 137 @@ -7043,7 +7003,7 @@ API anahtarını kaldır apps/client/src/app/components/admin-settings/admin-settings.component.html - 106 + 161 @@ -7051,7 +7011,7 @@ API anahtarını silmek istediğinize emin misiniz? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 98 + 94 @@ -7062,14 +7022,6 @@ 41 - - I have an API key - Bir API anahtarım var - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 39 - - API Requests Today API Günü İstekleri @@ -7115,7 +7067,7 @@ Etiket libs/ui/src/lib/assistant/assistant.html - 193 + 196 @@ -7186,8 +7138,8 @@ Please enter your Ghostfolio API key. Lütfen Ghostfolio API anahtarınızı girin. - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts - 57 + apps/client/src/app/components/admin-settings/admin-settings.component.ts + 113 @@ -7206,14 +7158,6 @@ 65 - - Early Access - Erken Erişim - - apps/client/src/app/components/admin-settings/admin-settings.component.html - 27 - - Regional Market Cluster Risks Bölgesel Piyasa Küme Riskleri @@ -7450,17 +7394,17 @@ 112 - + terms-of-service Hizmet Koşulları kebab-case libs/common/src/lib/routes/routes.ts - 142 + 197 libs/common/src/lib/routes/routes.ts - 145 + 200 @@ -7468,7 +7412,7 @@ Hizmet Koşulları libs/common/src/lib/routes/routes.ts - 147 + 202 @@ -7592,15 +7536,7 @@ İzleme Listesi libs/common/src/lib/routes/routes.ts - 55 - - - - Get Early Access - Erken Erişim - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 29 + 95 @@ -7616,7 +7552,7 @@ Oturumu kapat apps/client/src/app/components/header/header.component.html - 324 + 329 @@ -7627,17 +7563,17 @@ 43 - + changelog degisiklik-gunlugu kebab-case libs/common/src/lib/routes/routes.ts - 113 + 165 libs/common/src/lib/routes/routes.ts - 116 + 168 @@ -7661,7 +7597,7 @@ Acil Durum Fonu: Kurulum apps/client/src/app/pages/i18n/i18n-page.html - 14 + 31 @@ -7669,7 +7605,7 @@ Acil durum fonu oluşturulmadı apps/client/src/app/pages/i18n/i18n-page.html - 15 + 32 @@ -7677,7 +7613,7 @@ Acil durum fonu kuruldu apps/client/src/app/pages/i18n/i18n-page.html - 18 + 35 @@ -7685,7 +7621,7 @@ Ücret Oranı apps/client/src/app/pages/i18n/i18n-page.html - 21 + 38 @@ -7693,7 +7629,7 @@ Ücretler, ilk yatırımınızın %${thresholdMax} kadarını aşıyor (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 22 + 39 @@ -7701,7 +7637,7 @@ Ücretler, ilk yatırımınızın %${thresholdMax}’ını (${feeRatio}%) aşmaz apps/client/src/app/pages/i18n/i18n-page.html - 26 + 43 @@ -7717,23 +7653,193 @@ Holding veya sayfayı bulun... libs/ui/src/lib/assistant/assistant.component.ts - 152 + 154 - + Quick Links Hızlı Bağlantılar libs/ui/src/lib/assistant/assistant.html - 45 + 43 - + Asset Profiles Varlık Profilleri libs/ui/src/lib/assistant/assistant.html - 96 + 97 + + + + Live Demo + Live Demo + + libs/common/src/lib/routes/routes.ts + 216 + + + + Open Source Alternative to + Open Source Alternative to + + libs/common/src/lib/routes/routes.ts + 306 + + + + Single Account + Single Account + + apps/client/src/app/pages/i18n/i18n-page.html + 24 + + + + Your net worth is managed by a single account + Your net worth is managed by a single account + + apps/client/src/app/pages/i18n/i18n-page.html + 25 + + + + Your net worth is managed by ${accountsLength} accounts + Your net worth is managed by ${accountsLength} accounts + + apps/client/src/app/pages/i18n/i18n-page.html + 28 + + + + Holdings + Holdings + + libs/ui/src/lib/assistant/assistant.html + 68 + + + + personal-finance-tools + personal-finance-tools + kebab-case + + libs/common/src/lib/routes/routes.ts + 297 + + + libs/common/src/lib/routes/routes.ts + 300 + + + + markets + markets + kebab-case + + libs/common/src/lib/routes/routes.ts + 289 + + + libs/common/src/lib/routes/routes.ts + 292 + + + + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 15 + + + + Get Access + Get Access + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 27 + + + + Learn more + Learn more + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 38 + + + + new + new + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 67 + + + + Limited Offer! + Limited Offer! + + apps/client/src/app/pages/pricing/pricing-page.html + 311 + + + + Get extra + Get extra + + apps/client/src/app/pages/pricing/pricing-page.html + 313 + + + + Available + Available + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 3 + + + + Unavailable + Unavailable + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 5 + + + + new + new + + apps/client/src/app/pages/admin/admin-page.component.ts + 37 + + + + Investment + Investment + + apps/client/src/app/pages/i18n/i18n-page.html + 14 + + + + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + + apps/client/src/app/pages/i18n/i18n-page.html + 15 + + + + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + + apps/client/src/app/pages/i18n/i18n-page.html + 19 diff --git a/apps/client/src/locales/messages.uk.xlf b/apps/client/src/locales/messages.uk.xlf index cef816b83..adc1da6ee 100644 --- a/apps/client/src/locales/messages.uk.xlf +++ b/apps/client/src/locales/messages.uk.xlf @@ -6,27 +6,31 @@ Функції libs/common/src/lib/routes/routes.ts - 180 + 241 Internationalization Інтернаціоналізація - apps/client/src/app/app-routing.module.ts - 92 + libs/common/src/lib/routes/routes.ts + 104 Sign in Увійти - apps/client/src/app/app-routing.module.ts - 154 + apps/client/src/app/components/header/header.component.ts + 237 - apps/client/src/app/components/header/header.component.ts - 242 + libs/common/src/lib/routes/routes.ts + 71 + + + libs/common/src/lib/routes/routes.ts + 142 @@ -74,7 +78,7 @@ apps/client/src/app/components/header/header.component.html - 403 + 408 apps/client/src/app/components/home-market/home-market.html @@ -94,11 +98,11 @@ apps/client/src/app/components/header/header.component.html - 86 + 88 apps/client/src/app/components/header/header.component.html - 296 + 301 apps/client/src/app/pages/resources/overview/resources-overview.component.html @@ -114,11 +118,11 @@ apps/client/src/app/components/header/header.component.html - 121 + 123 apps/client/src/app/components/header/header.component.html - 369 + 374 @@ -238,7 +242,7 @@ apps/client/src/app/components/header/header.component.html - 356 + 361 apps/client/src/app/pages/features/features-page.html @@ -278,15 +282,15 @@ apps/client/src/app/components/header/header.component.html - 103 + 105 apps/client/src/app/components/header/header.component.html - 308 + 313 apps/client/src/app/components/header/header.component.html - 384 + 389 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -365,169 +369,165 @@ 221 - + about about kebab-case libs/common/src/lib/routes/routes.ts - 109 + 161 libs/common/src/lib/routes/routes.ts - 110 + 162 libs/common/src/lib/routes/routes.ts - 115 + 167 libs/common/src/lib/routes/routes.ts - 123 + 175 libs/common/src/lib/routes/routes.ts - 130 + 183 libs/common/src/lib/routes/routes.ts - 136 + 191 libs/common/src/lib/routes/routes.ts - 144 + 199 - + license license kebab-case libs/common/src/lib/routes/routes.ts - 121 + 173 libs/common/src/lib/routes/routes.ts - 124 + 176 - + privacy-policy privacy-policy kebab-case libs/common/src/lib/routes/routes.ts - 134 + 189 libs/common/src/lib/routes/routes.ts - 137 + 192 - + faq faq kebab-case libs/common/src/lib/routes/routes.ts - 158 + 219 libs/common/src/lib/routes/routes.ts - 159 + 220 libs/common/src/lib/routes/routes.ts - 163 + 224 libs/common/src/lib/routes/routes.ts - 169 + 230 - + features features kebab-case libs/common/src/lib/routes/routes.ts - 178 + 239 libs/common/src/lib/routes/routes.ts - 179 + 240 - + markets markets kebab-case libs/common/src/lib/routes/routes.ts - 183 + 244 libs/common/src/lib/routes/routes.ts - 184 - - - libs/common/src/lib/routes/routes.ts - 223 - - - libs/common/src/lib/routes/routes.ts - 226 + 245 - + pricing pricing kebab-case libs/common/src/lib/routes/routes.ts - 193 + 254 libs/common/src/lib/routes/routes.ts - 194 + 255 - + register register kebab-case libs/common/src/lib/routes/routes.ts - 198 + 264 libs/common/src/lib/routes/routes.ts - 199 + 265 - + resources resources kebab-case libs/common/src/lib/routes/routes.ts - 203 + 269 libs/common/src/lib/routes/routes.ts - 204 + 270 libs/common/src/lib/routes/routes.ts - 209 + 275 libs/common/src/lib/routes/routes.ts - 217 + 283 libs/common/src/lib/routes/routes.ts - 225 + 291 + + + libs/common/src/lib/routes/routes.ts + 299 @@ -721,10 +721,6 @@ apps/client/src/app/pages/public/public-page.html 70 - - libs/ui/src/lib/assistant/assistant.html - 70 - Cash Balances @@ -771,7 +767,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 8 + 46 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -1101,6 +1097,10 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html 110 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 92 + Delete Jobs @@ -1207,7 +1207,7 @@ libs/ui/src/lib/assistant/assistant.html - 204 + 207 @@ -1831,7 +1831,7 @@ apps/client/src/app/components/header/header.component.html - 266 + 268 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1879,7 +1879,7 @@ Дійсне до apps/client/src/app/components/admin-settings/admin-settings.component.html - 34 + 74 libs/ui/src/lib/membership-card/membership-card.component.html @@ -1891,7 +1891,7 @@ з apps/client/src/app/components/admin-settings/admin-settings.component.html - 79 + 135 @@ -1899,7 +1899,7 @@ щоденних запитів apps/client/src/app/components/admin-settings/admin-settings.component.html - 81 + 137 @@ -1907,7 +1907,7 @@ Вилучити ключ API apps/client/src/app/components/admin-settings/admin-settings.component.html - 106 + 161 @@ -1915,7 +1915,7 @@ Встановити ключ API apps/client/src/app/components/admin-settings/admin-settings.component.html - 116 + 171 @@ -1923,7 +1923,7 @@ Платформи apps/client/src/app/components/admin-settings/admin-settings.component.html - 140 + 195 @@ -1931,7 +1931,7 @@ Теги apps/client/src/app/components/admin-settings/admin-settings.component.html - 146 + 201 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -1947,23 +1947,23 @@ Ви дійсно хочете видалити ключ API? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 98 + 94 Please enter your Ghostfolio API key. Будь ласка, введіть ваш ключ API Ghostfolio. - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts - 57 + apps/client/src/app/components/admin-settings/admin-settings.component.ts + 113 or або - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 32 + apps/client/src/app/components/admin-settings/admin-settings.component.html + 30 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1990,14 +1990,6 @@ 30 - - I have an API key - У мене є ключ API - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 39 - - Add Tag Додати тег @@ -2015,7 +2007,7 @@ apps/client/src/app/components/header/header.component.html - 229 + 231 @@ -2139,15 +2131,15 @@ Портфель apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 122 + 120 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 92 libs/common/src/lib/routes/routes.ts - 90 + 136 @@ -2155,7 +2147,7 @@ Порівняльний показник apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 134 + 132 @@ -2175,7 +2167,7 @@ apps/client/src/app/components/header/header.component.html - 246 + 248 @@ -2187,7 +2179,7 @@ apps/client/src/app/components/header/header.component.html - 256 + 258 @@ -2195,11 +2187,11 @@ Управління адміністратором apps/client/src/app/components/header/header.component.html - 72 + 74 apps/client/src/app/components/header/header.component.html - 284 + 289 @@ -2207,7 +2199,7 @@ Оновити план apps/client/src/app/components/header/header.component.html - 191 + 193 apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html @@ -2227,7 +2219,7 @@ Поновити план apps/client/src/app/components/header/header.component.html - 189 + 191 apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -2243,7 +2235,7 @@ Я apps/client/src/app/components/header/header.component.html - 211 + 213 @@ -2251,7 +2243,7 @@ Мій Ghostfolio apps/client/src/app/components/header/header.component.html - 273 + 277 @@ -2259,7 +2251,7 @@ Про Ghostfolio apps/client/src/app/components/header/header.component.html - 321 + 326 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -2271,7 +2263,7 @@ Увійти apps/client/src/app/components/header/header.component.html - 417 + 422 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -2283,7 +2275,7 @@ Почати apps/client/src/app/components/header/header.component.html - 427 + 432 @@ -2291,7 +2283,7 @@ Упс! Неправильний Секретний Токен. apps/client/src/app/components/header/header.component.ts - 257 + 252 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -3043,7 +3035,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 336 + 339 @@ -3055,7 +3047,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -3067,7 +3059,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -3079,7 +3071,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -3091,7 +3083,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 375 + 392 @@ -3179,7 +3171,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 87 + 89 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3503,7 +3495,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 86 + 88 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3515,7 +3507,7 @@ Ця дія заборонена. apps/client/src/app/core/http-response.interceptor.ts - 65 + 67 @@ -3523,7 +3515,7 @@ Упс! Щось пішло не так. apps/client/src/app/core/http-response.interceptor.ts - 84 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3535,7 +3527,7 @@ Упс! Здається, ви робите занадто багато запитів. Будь ласка, пригальмуй трохи. apps/client/src/app/core/http-response.interceptor.ts - 104 + 106 @@ -3547,7 +3539,7 @@ libs/common/src/lib/routes/routes.ts - 150 + 205 @@ -3555,7 +3547,7 @@ Журнал змін libs/common/src/lib/routes/routes.ts - 118 + 170 @@ -3563,7 +3555,7 @@ Ліцензія libs/common/src/lib/routes/routes.ts - 126 + 178 @@ -3571,7 +3563,7 @@ Політика конфіденційності libs/common/src/lib/routes/routes.ts - 139 + 194 @@ -3603,7 +3595,7 @@ Рахунки libs/common/src/lib/routes/routes.ts - 36 + 59 @@ -3666,64 +3658,44 @@ Admin Control Управління адміністратором - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 21 + libs/common/src/lib/routes/routes.ts + 54 Job Queue Черга завдань - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 26 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 44 + libs/common/src/lib/routes/routes.ts + 36 Market Data Ринкові дані - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 31 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 39 + libs/common/src/lib/routes/routes.ts + 41 Settings Налаштування - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 36 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 34 - - - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 19 + libs/common/src/lib/routes/routes.ts + 24 libs/common/src/lib/routes/routes.ts - 31 + 46 Users Користувачі - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 41 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 49 + libs/common/src/lib/routes/routes.ts + 51 @@ -3739,11 +3711,11 @@ libs/common/src/lib/routes/routes.ts - 58 + 98 libs/common/src/lib/routes/routes.ts - 103 + 155 @@ -3759,7 +3731,7 @@ Блог libs/common/src/lib/routes/routes.ts - 155 + 210 @@ -3787,7 +3759,7 @@ libs/common/src/lib/routes/routes.ts - 175 + 236 @@ -3807,7 +3779,7 @@ libs/common/src/lib/routes/routes.ts - 164 + 225 @@ -3819,20 +3791,20 @@ libs/common/src/lib/routes/routes.ts - 172 + 233 - + self-hosting самохостинг kebab-case libs/common/src/lib/routes/routes.ts - 167 + 228 libs/common/src/lib/routes/routes.ts - 170 + 231 @@ -3980,11 +3952,11 @@ Активи libs/common/src/lib/routes/routes.ts - 45 + 80 libs/common/src/lib/routes/routes.ts - 100 + 152 @@ -3992,31 +3964,27 @@ Зведення libs/common/src/lib/routes/routes.ts - 50 + 90 Markets Ринки - - apps/client/src/app/pages/home/home-page-routing.module.ts - 38 - - - apps/client/src/app/pages/home/home-page.component.ts - 59 - apps/client/src/app/pages/resources/resources-page.component.ts 30 libs/common/src/lib/routes/routes.ts - 185 + 85 libs/common/src/lib/routes/routes.ts - 228 + 246 + + + libs/common/src/lib/routes/routes.ts + 294 @@ -4048,7 +4016,7 @@ Програмне забезпечення управління багатством з відкритим кодом apps/client/src/app/pages/i18n/i18n-page.html - 30 + 47 @@ -4076,7 +4044,7 @@ apps/client/src/app/pages/pricing/pricing-page.html - 345 + 349 @@ -4464,7 +4432,7 @@ Активності libs/common/src/lib/routes/routes.ts - 67 + 113 @@ -4540,7 +4508,7 @@ libs/ui/src/lib/assistant/assistant.html - 143 + 146 @@ -4660,7 +4628,7 @@ libs/ui/src/lib/assistant/assistant.html - 165 + 168 @@ -4740,7 +4708,7 @@ libs/common/src/lib/routes/routes.ts - 72 + 118 @@ -4928,7 +4896,7 @@ Аналіз libs/common/src/lib/routes/routes.ts - 77 + 123 @@ -4956,7 +4924,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 86 @@ -5192,7 +5160,7 @@ libs/common/src/lib/routes/routes.ts - 195 + 256 @@ -5368,7 +5336,7 @@ Це безкоштовно. apps/client/src/app/pages/pricing/pricing-page.html - 348 + 352 @@ -5440,7 +5408,7 @@ Реєстрація libs/common/src/lib/routes/routes.ts - 200 + 266 @@ -5476,7 +5444,7 @@ libs/common/src/lib/routes/routes.ts - 212 + 278 @@ -5496,7 +5464,7 @@ libs/common/src/lib/routes/routes.ts - 220 + 286 @@ -5507,55 +5475,47 @@ 4 - + guides guides kebab-case libs/common/src/lib/routes/routes.ts - 215 + 281 libs/common/src/lib/routes/routes.ts - 218 + 284 - + glossary glossary kebab-case libs/common/src/lib/routes/routes.ts - 207 + 273 libs/common/src/lib/routes/routes.ts - 210 + 276 Personal Finance Tools Інструменти особистих фінансів - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 15 + libs/common/src/lib/routes/routes.ts + 309 - + open-source-alternative-to відкритий-альтернативний-для kebab-case libs/common/src/lib/routes/routes.ts - 24 - - - - Open Source Alternative to - Альтернатива з відкритим кодом для - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 28 + 305 @@ -5595,7 +5555,7 @@ Швейцарія apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 57 libs/ui/src/lib/i18n.ts @@ -5607,7 +5567,7 @@ Глобальний apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 60 + 58 libs/ui/src/lib/i18n.ts @@ -5619,7 +5579,7 @@ Альтернатива apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 80 @@ -5627,7 +5587,7 @@ Додаток apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 81 @@ -5635,7 +5595,7 @@ Бюджетування apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 82 @@ -5643,7 +5603,7 @@ Спільнота apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 83 @@ -5651,7 +5611,7 @@ Сімейний офіс apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 86 + 84 @@ -5659,7 +5619,7 @@ Інвестор apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 87 @@ -5667,7 +5627,7 @@ Відкритий код apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 90 + 88 @@ -5675,7 +5635,7 @@ Особисті фінанси apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 90 @@ -5683,7 +5643,7 @@ Конфіденційність apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 91 @@ -5691,7 +5651,7 @@ Програмне забезпечення apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 93 @@ -5699,7 +5659,7 @@ Інструмент apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 94 @@ -5707,7 +5667,7 @@ Користувацький досвід apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 95 @@ -5715,7 +5675,7 @@ Багатство apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 96 @@ -5723,7 +5683,7 @@ Управління багатством apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 99 + 97 @@ -6107,31 +6067,23 @@ Ресурси libs/common/src/lib/routes/routes.ts - 231 + 312 Membership Членство - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 24 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 42 + libs/common/src/lib/routes/routes.ts + 21 Access Доступ - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 29 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 51 + libs/common/src/lib/routes/routes.ts + 16 @@ -6275,7 +6227,7 @@ Тиждень до дати libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -6283,7 +6235,7 @@ WTD libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -6291,7 +6243,7 @@ Місяць до дати libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -6299,7 +6251,7 @@ MTD libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -6307,7 +6259,7 @@ Рік до дати libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -6315,7 +6267,7 @@ рік libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -6323,7 +6275,7 @@ роки libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -6335,7 +6287,7 @@ libs/ui/src/lib/assistant/assistant.html - 119 + 120 @@ -6343,7 +6295,7 @@ Профілі активів apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 106 @@ -6351,7 +6303,7 @@ Діапазон дат libs/ui/src/lib/assistant/assistant.html - 129 + 132 @@ -6359,7 +6311,7 @@ Тег libs/ui/src/lib/assistant/assistant.html - 193 + 196 @@ -6367,7 +6319,7 @@ Скинути фільтри libs/ui/src/lib/assistant/assistant.html - 223 + 226 @@ -6375,7 +6327,7 @@ Застосувати фільтри libs/ui/src/lib/assistant/assistant.html - 233 + 236 @@ -7206,14 +7158,6 @@ 173 - - Early Access - Ранній доступ - - apps/client/src/app/components/admin-settings/admin-settings.component.html - 27 - - Regional Market Cluster Risks Regional Market Cluster Risks @@ -7450,17 +7394,17 @@ 112 - + terms-of-service terms-of-service kebab-case libs/common/src/lib/routes/routes.ts - 142 + 197 libs/common/src/lib/routes/routes.ts - 145 + 200 @@ -7468,7 +7412,7 @@ Terms of Service libs/common/src/lib/routes/routes.ts - 147 + 202 @@ -7592,15 +7536,7 @@ Watchlist libs/common/src/lib/routes/routes.ts - 55 - - - - Get Early Access - Get Early Access - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 29 + 95 @@ -7616,7 +7552,7 @@ Log out apps/client/src/app/components/header/header.component.html - 324 + 329 @@ -7627,17 +7563,17 @@ 43 - + changelog changelog kebab-case libs/common/src/lib/routes/routes.ts - 113 + 165 libs/common/src/lib/routes/routes.ts - 116 + 168 @@ -7661,7 +7597,7 @@ Emergency Fund: Set up apps/client/src/app/pages/i18n/i18n-page.html - 14 + 31 @@ -7669,7 +7605,7 @@ No emergency fund has been set up apps/client/src/app/pages/i18n/i18n-page.html - 15 + 32 @@ -7677,7 +7613,7 @@ An emergency fund has been set up apps/client/src/app/pages/i18n/i18n-page.html - 18 + 35 @@ -7685,7 +7621,7 @@ Fee Ratio apps/client/src/app/pages/i18n/i18n-page.html - 21 + 38 @@ -7693,7 +7629,7 @@ The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 22 + 39 @@ -7701,7 +7637,7 @@ The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 26 + 43 @@ -7717,23 +7653,193 @@ Find holding or page... libs/ui/src/lib/assistant/assistant.component.ts - 152 + 154 - + Quick Links Quick Links libs/ui/src/lib/assistant/assistant.html - 45 + 43 - + Asset Profiles Asset Profiles libs/ui/src/lib/assistant/assistant.html - 96 + 97 + + + + Live Demo + Live Demo + + libs/common/src/lib/routes/routes.ts + 216 + + + + Open Source Alternative to + Альтернатива з відкритим кодом для + + libs/common/src/lib/routes/routes.ts + 306 + + + + Single Account + Single Account + + apps/client/src/app/pages/i18n/i18n-page.html + 24 + + + + Your net worth is managed by a single account + Your net worth is managed by a single account + + apps/client/src/app/pages/i18n/i18n-page.html + 25 + + + + Your net worth is managed by ${accountsLength} accounts + Your net worth is managed by ${accountsLength} accounts + + apps/client/src/app/pages/i18n/i18n-page.html + 28 + + + + Holdings + Holdings + + libs/ui/src/lib/assistant/assistant.html + 68 + + + + personal-finance-tools + personal-finance-tools + kebab-case + + libs/common/src/lib/routes/routes.ts + 297 + + + libs/common/src/lib/routes/routes.ts + 300 + + + + markets + markets + kebab-case + + libs/common/src/lib/routes/routes.ts + 289 + + + libs/common/src/lib/routes/routes.ts + 292 + + + + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 15 + + + + Get Access + Get Access + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 27 + + + + Learn more + Learn more + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 38 + + + + new + new + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 67 + + + + Limited Offer! + Limited Offer! + + apps/client/src/app/pages/pricing/pricing-page.html + 311 + + + + Get extra + Get extra + + apps/client/src/app/pages/pricing/pricing-page.html + 313 + + + + Available + Available + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 3 + + + + Unavailable + Unavailable + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 5 + + + + new + new + + apps/client/src/app/pages/admin/admin-page.component.ts + 37 + + + + Investment + Investment + + apps/client/src/app/pages/i18n/i18n-page.html + 14 + + + + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + + apps/client/src/app/pages/i18n/i18n-page.html + 15 + + + + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + + apps/client/src/app/pages/i18n/i18n-page.html + 19 diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf index bd1a693bd..95bd5aac2 100644 --- a/apps/client/src/locales/messages.xlf +++ b/apps/client/src/locales/messages.xlf @@ -2,160 +2,156 @@ - + about kebab-case libs/common/src/lib/routes/routes.ts - 109 + 161 libs/common/src/lib/routes/routes.ts - 110 + 162 libs/common/src/lib/routes/routes.ts - 115 + 167 libs/common/src/lib/routes/routes.ts - 123 + 175 libs/common/src/lib/routes/routes.ts - 130 + 183 libs/common/src/lib/routes/routes.ts - 136 + 191 libs/common/src/lib/routes/routes.ts - 144 + 199 - + faq kebab-case libs/common/src/lib/routes/routes.ts - 158 + 219 libs/common/src/lib/routes/routes.ts - 159 + 220 libs/common/src/lib/routes/routes.ts - 163 + 224 libs/common/src/lib/routes/routes.ts - 169 + 230 - + features kebab-case libs/common/src/lib/routes/routes.ts - 178 + 239 libs/common/src/lib/routes/routes.ts - 179 + 240 - + license kebab-case libs/common/src/lib/routes/routes.ts - 121 + 173 libs/common/src/lib/routes/routes.ts - 124 + 176 - + markets kebab-case libs/common/src/lib/routes/routes.ts - 183 + 244 libs/common/src/lib/routes/routes.ts - 184 - - - libs/common/src/lib/routes/routes.ts - 223 - - - libs/common/src/lib/routes/routes.ts - 226 + 245 - + pricing kebab-case libs/common/src/lib/routes/routes.ts - 193 + 254 libs/common/src/lib/routes/routes.ts - 194 + 255 - + privacy-policy kebab-case libs/common/src/lib/routes/routes.ts - 134 + 189 libs/common/src/lib/routes/routes.ts - 137 + 192 - + register kebab-case libs/common/src/lib/routes/routes.ts - 198 + 264 libs/common/src/lib/routes/routes.ts - 199 + 265 - + resources kebab-case libs/common/src/lib/routes/routes.ts - 203 + 269 libs/common/src/lib/routes/routes.ts - 204 + 270 libs/common/src/lib/routes/routes.ts - 209 + 275 libs/common/src/lib/routes/routes.ts - 217 + 283 libs/common/src/lib/routes/routes.ts - 225 + 291 + + + libs/common/src/lib/routes/routes.ts + 299 @@ -199,7 +195,7 @@ apps/client/src/app/components/header/header.component.html - 403 + 408 apps/client/src/app/components/home-market/home-market.html @@ -218,11 +214,11 @@ apps/client/src/app/components/header/header.component.html - 86 + 88 apps/client/src/app/components/header/header.component.html - 296 + 301 apps/client/src/app/pages/resources/overview/resources-overview.component.html @@ -237,11 +233,11 @@ apps/client/src/app/components/header/header.component.html - 121 + 123 apps/client/src/app/components/header/header.component.html - 369 + 374 @@ -358,7 +354,7 @@ apps/client/src/app/components/header/header.component.html - 356 + 361 apps/client/src/app/pages/features/features-page.html @@ -395,15 +391,15 @@ apps/client/src/app/components/header/header.component.html - 103 + 105 apps/client/src/app/components/header/header.component.html - 308 + 313 apps/client/src/app/components/header/header.component.html - 384 + 389 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -655,7 +651,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 8 + 46 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -935,6 +931,10 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html 110 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 92 + Delete Jobs @@ -1158,7 +1158,7 @@ libs/ui/src/lib/assistant/assistant.html - 204 + 207 @@ -1597,7 +1597,7 @@ apps/client/src/app/components/header/header.component.html - 266 + 268 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1633,14 +1633,14 @@ Platforms apps/client/src/app/components/admin-settings/admin-settings.component.html - 140 + 195 Tags apps/client/src/app/components/admin-settings/admin-settings.component.html - 146 + 201 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -1757,22 +1757,22 @@ Portfolio apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 122 + 120 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 92 libs/common/src/lib/routes/routes.ts - 90 + 136 Benchmark apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 134 + 132 @@ -1790,7 +1790,7 @@ apps/client/src/app/components/header/header.component.html - 246 + 248 @@ -1801,25 +1801,25 @@ apps/client/src/app/components/header/header.component.html - 256 + 258 Admin Control apps/client/src/app/components/header/header.component.html - 72 + 74 apps/client/src/app/components/header/header.component.html - 284 + 289 Me apps/client/src/app/components/header/header.component.html - 211 + 213 @@ -1830,21 +1830,21 @@ apps/client/src/app/components/header/header.component.html - 229 + 231 My Ghostfolio apps/client/src/app/components/header/header.component.html - 273 + 277 About Ghostfolio apps/client/src/app/components/header/header.component.html - 321 + 326 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1855,7 +1855,7 @@ Sign in apps/client/src/app/components/header/header.component.html - 417 + 422 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1866,25 +1866,29 @@ Get started apps/client/src/app/components/header/header.component.html - 427 + 432 Sign in - apps/client/src/app/app-routing.module.ts - 154 + apps/client/src/app/components/header/header.component.ts + 237 - apps/client/src/app/components/header/header.component.ts - 242 + libs/common/src/lib/routes/routes.ts + 71 + + + libs/common/src/lib/routes/routes.ts + 142 Oops! Incorrect Security Token. apps/client/src/app/components/header/header.component.ts - 257 + 252 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -2044,8 +2048,8 @@ or - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 32 + apps/client/src/app/components/admin-settings/admin-settings.component.html + 30 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -2452,7 +2456,7 @@ Upgrade Plan apps/client/src/app/components/header/header.component.html - 191 + 193 apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html @@ -2475,7 +2479,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 336 + 339 @@ -2486,7 +2490,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -2497,7 +2501,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -2508,7 +2512,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -2519,7 +2523,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 375 + 392 @@ -2770,7 +2774,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 86 + 88 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2781,7 +2785,7 @@ Oops! Something went wrong. apps/client/src/app/core/http-response.interceptor.ts - 84 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2796,7 +2800,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 87 + 89 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -2811,28 +2815,28 @@ libs/common/src/lib/routes/routes.ts - 150 + 205 Changelog libs/common/src/lib/routes/routes.ts - 118 + 170 License libs/common/src/lib/routes/routes.ts - 126 + 178 Privacy Policy libs/common/src/lib/routes/routes.ts - 139 + 194 @@ -2860,7 +2864,7 @@ Accounts libs/common/src/lib/routes/routes.ts - 36 + 59 @@ -2915,49 +2919,33 @@ Admin Control - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 21 + libs/common/src/lib/routes/routes.ts + 54 Market Data - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 31 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 39 + libs/common/src/lib/routes/routes.ts + 41 Settings - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 36 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 34 - - - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 19 + libs/common/src/lib/routes/routes.ts + 24 libs/common/src/lib/routes/routes.ts - 31 + 46 Users - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 41 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 49 + libs/common/src/lib/routes/routes.ts + 51 @@ -2972,18 +2960,18 @@ libs/common/src/lib/routes/routes.ts - 58 + 98 libs/common/src/lib/routes/routes.ts - 103 + 155 Blog libs/common/src/lib/routes/routes.ts - 155 + 210 @@ -3008,7 +2996,7 @@ libs/common/src/lib/routes/routes.ts - 175 + 236 @@ -3030,7 +3018,7 @@ Features libs/common/src/lib/routes/routes.ts - 180 + 241 @@ -3146,41 +3134,37 @@ Holdings libs/common/src/lib/routes/routes.ts - 45 + 80 libs/common/src/lib/routes/routes.ts - 100 + 152 Summary libs/common/src/lib/routes/routes.ts - 50 + 90 Markets - - apps/client/src/app/pages/home/home-page-routing.module.ts - 38 - - - apps/client/src/app/pages/home/home-page.component.ts - 59 - apps/client/src/app/pages/resources/resources-page.component.ts 30 libs/common/src/lib/routes/routes.ts - 185 + 85 libs/common/src/lib/routes/routes.ts - 228 + 246 + + + libs/common/src/lib/routes/routes.ts + 294 @@ -3201,7 +3185,7 @@ Open Source Wealth Management Software apps/client/src/app/pages/i18n/i18n-page.html - 30 + 47 @@ -3226,7 +3210,7 @@ apps/client/src/app/pages/pricing/pricing-page.html - 345 + 349 @@ -3554,7 +3538,7 @@ Activities libs/common/src/lib/routes/routes.ts - 67 + 113 @@ -3629,7 +3613,7 @@ libs/ui/src/lib/assistant/assistant.html - 143 + 146 @@ -3718,7 +3702,7 @@ libs/ui/src/lib/assistant/assistant.html - 165 + 168 @@ -3775,7 +3759,7 @@ libs/common/src/lib/routes/routes.ts - 72 + 118 @@ -3929,7 +3913,7 @@ Analysis libs/common/src/lib/routes/routes.ts - 77 + 123 @@ -4069,10 +4053,6 @@ apps/client/src/app/pages/public/public-page.html 70 - - libs/ui/src/lib/assistant/assistant.html - 70 - Pricing @@ -4082,7 +4062,7 @@ libs/common/src/lib/routes/routes.ts - 195 + 256 @@ -4234,7 +4214,7 @@ Renew Plan apps/client/src/app/components/header/header.component.html - 189 + 191 apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -4263,7 +4243,7 @@ It’s free. apps/client/src/app/pages/pricing/pricing-page.html - 348 + 352 @@ -4298,7 +4278,7 @@ Registration libs/common/src/lib/routes/routes.ts - 200 + 266 @@ -4325,23 +4305,16 @@ Personal Finance Tools - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 15 + libs/common/src/lib/routes/routes.ts + 309 - + open-source-alternative-to kebab-case libs/common/src/lib/routes/routes.ts - 24 - - - - Open Source Alternative to - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 28 + 305 @@ -4594,7 +4567,7 @@ Switzerland apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 57 libs/ui/src/lib/i18n.ts @@ -4605,7 +4578,7 @@ Global apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 60 + 58 libs/ui/src/lib/i18n.ts @@ -4616,7 +4589,7 @@ Resources libs/common/src/lib/routes/routes.ts - 231 + 312 @@ -4636,23 +4609,15 @@ Membership - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 24 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 42 + libs/common/src/lib/routes/routes.ts + 21 Access - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 29 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 51 + libs/common/src/lib/routes/routes.ts + 16 @@ -4770,14 +4735,14 @@ libs/ui/src/lib/assistant/assistant.html - 119 + 120 Asset Profiles apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 106 @@ -5255,7 +5220,7 @@ Valid until apps/client/src/app/components/admin-settings/admin-settings.component.html - 34 + 74 libs/ui/src/lib/membership-card/membership-card.component.html @@ -5291,7 +5256,7 @@ Date Range libs/ui/src/lib/assistant/assistant.html - 129 + 132 @@ -5347,12 +5312,8 @@ Job Queue - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 26 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 44 + libs/common/src/lib/routes/routes.ts + 36 @@ -5395,7 +5356,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 86 @@ -5423,35 +5384,35 @@ Year to date libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 Week to date libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 Month to date libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 MTD libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 WTD libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5476,7 +5437,7 @@ Reset Filters libs/ui/src/lib/assistant/assistant.html - 223 + 226 @@ -5490,33 +5451,33 @@ year libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 years libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 Apply Filters libs/ui/src/lib/assistant/assistant.html - 233 + 236 - + self-hosting kebab-case libs/common/src/lib/routes/routes.ts - 167 + 228 libs/common/src/lib/routes/routes.ts - 170 + 231 @@ -5527,7 +5488,7 @@ libs/common/src/lib/routes/routes.ts - 172 + 233 @@ -5556,14 +5517,14 @@ libs/common/src/lib/routes/routes.ts - 164 + 225 Oops! It looks like you’re making too many requests. Please slow down a bit. apps/client/src/app/core/http-response.interceptor.ts - 104 + 106 @@ -5612,7 +5573,7 @@ This action is not allowed. apps/client/src/app/core/http-response.interceptor.ts - 65 + 67 @@ -5653,8 +5614,8 @@ Internationalization - apps/client/src/app/app-routing.module.ts - 92 + libs/common/src/lib/routes/routes.ts + 104 @@ -5766,14 +5727,14 @@ Wealth apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 96 Community apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 83 @@ -5815,35 +5776,35 @@ User Experience apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 95 App apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 81 Tool apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 94 Investor apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 87 Wealth Management apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 99 + 97 @@ -5871,28 +5832,28 @@ Alternative apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 80 Family Office apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 86 + 84 Personal Finance apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 90 Software apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 93 @@ -5920,7 +5881,7 @@ Budgeting apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 82 @@ -5934,7 +5895,7 @@ Open Source apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 90 + 88 @@ -5969,7 +5930,7 @@ Privacy apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 91 @@ -6263,7 +6224,7 @@ Set API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 116 + 171 @@ -6295,19 +6256,19 @@ libs/common/src/lib/routes/routes.ts - 212 + 278 - + glossary kebab-case libs/common/src/lib/routes/routes.ts - 207 + 273 libs/common/src/lib/routes/routes.ts - 210 + 276 @@ -6318,19 +6279,19 @@ libs/common/src/lib/routes/routes.ts - 220 + 286 - + guides kebab-case libs/common/src/lib/routes/routes.ts - 215 + 281 libs/common/src/lib/routes/routes.ts - 218 + 284 @@ -6365,35 +6326,28 @@ of apps/client/src/app/components/admin-settings/admin-settings.component.html - 79 + 135 Do you really want to delete the API key? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 98 - - - - I have an API key - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 39 + 94 Remove API key apps/client/src/app/components/admin-settings/admin-settings.component.html - 106 + 161 daily requests apps/client/src/app/components/admin-settings/admin-settings.component.html - 81 + 137 @@ -6414,7 +6368,7 @@ Tag libs/ui/src/lib/assistant/assistant.html - 193 + 196 @@ -6497,8 +6451,8 @@ Please enter your Ghostfolio API key. - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts - 57 + apps/client/src/app/components/admin-settings/admin-settings.component.ts + 113 @@ -6515,13 +6469,6 @@ 65 - - Early Access - - apps/client/src/app/components/admin-settings/admin-settings.component.html - 27 - - Regional Market Cluster Risks @@ -6726,19 +6673,19 @@ Terms of Service libs/common/src/lib/routes/routes.ts - 147 + 202 - + terms-of-service kebab-case libs/common/src/lib/routes/routes.ts - 142 + 197 libs/common/src/lib/routes/routes.ts - 145 + 200 @@ -6822,7 +6769,7 @@ Watchlist libs/common/src/lib/routes/routes.ts - 55 + 95 @@ -6836,13 +6783,6 @@ 197 - - Get Early Access - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 29 - - Do you really want to delete this item? @@ -6854,7 +6794,7 @@ Log out apps/client/src/app/components/header/header.component.html - 324 + 329 @@ -6864,16 +6804,16 @@ 43 - + changelog kebab-case libs/common/src/lib/routes/routes.ts - 113 + 165 libs/common/src/lib/routes/routes.ts - 116 + 168 @@ -6901,63 +6841,213 @@ Emergency Fund: Set up apps/client/src/app/pages/i18n/i18n-page.html - 14 + 31 No emergency fund has been set up apps/client/src/app/pages/i18n/i18n-page.html - 15 + 32 An emergency fund has been set up apps/client/src/app/pages/i18n/i18n-page.html - 18 + 35 Fee Ratio apps/client/src/app/pages/i18n/i18n-page.html - 21 + 38 The fees do exceed ${thresholdMax}% of your initial investment (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 22 + 39 The fees do not exceed ${thresholdMax}% of your initial investment (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 26 + 43 Find holding or page... libs/ui/src/lib/assistant/assistant.component.ts - 152 + 154 - + Quick Links libs/ui/src/lib/assistant/assistant.html - 45 + 43 - + Asset Profiles libs/ui/src/lib/assistant/assistant.html - 96 + 97 + + + + Live Demo + + libs/common/src/lib/routes/routes.ts + 216 + + + + Open Source Alternative to + + libs/common/src/lib/routes/routes.ts + 306 + + + + Single Account + + apps/client/src/app/pages/i18n/i18n-page.html + 24 + + + + Your net worth is managed by a single account + + apps/client/src/app/pages/i18n/i18n-page.html + 25 + + + + Your net worth is managed by ${accountsLength} accounts + + apps/client/src/app/pages/i18n/i18n-page.html + 28 + + + + Holdings + + libs/ui/src/lib/assistant/assistant.html + 68 + + + + personal-finance-tools + kebab-case + + libs/common/src/lib/routes/routes.ts + 297 + + + libs/common/src/lib/routes/routes.ts + 300 + + + + markets + kebab-case + + libs/common/src/lib/routes/routes.ts + 289 + + + libs/common/src/lib/routes/routes.ts + 292 + + + + Get Access + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 27 + + + + new + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 67 + + + + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 15 + + + + Learn more + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 38 + + + + Limited Offer! + + apps/client/src/app/pages/pricing/pricing-page.html + 311 + + + + Get extra + + apps/client/src/app/pages/pricing/pricing-page.html + 313 + + + + Unavailable + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 5 + + + + Available + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 3 + + + + new + + apps/client/src/app/pages/admin/admin-page.component.ts + 37 + + + + Investment + + apps/client/src/app/pages/i18n/i18n-page.html + 14 + + + + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + + apps/client/src/app/pages/i18n/i18n-page.html + 15 + + + + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + + apps/client/src/app/pages/i18n/i18n-page.html + 19 diff --git a/apps/client/src/locales/messages.zh.xlf b/apps/client/src/locales/messages.zh.xlf index ccc50468b..11233248c 100644 --- a/apps/client/src/locales/messages.zh.xlf +++ b/apps/client/src/locales/messages.zh.xlf @@ -2,169 +2,165 @@ - + about 关于 kebab-case libs/common/src/lib/routes/routes.ts - 109 + 161 libs/common/src/lib/routes/routes.ts - 110 + 162 libs/common/src/lib/routes/routes.ts - 115 + 167 libs/common/src/lib/routes/routes.ts - 123 + 175 libs/common/src/lib/routes/routes.ts - 130 + 183 libs/common/src/lib/routes/routes.ts - 136 + 191 libs/common/src/lib/routes/routes.ts - 144 + 199 - + faq 常见问题 kebab-case libs/common/src/lib/routes/routes.ts - 158 + 219 libs/common/src/lib/routes/routes.ts - 159 + 220 libs/common/src/lib/routes/routes.ts - 163 + 224 libs/common/src/lib/routes/routes.ts - 169 + 230 - + features 功能 kebab-case libs/common/src/lib/routes/routes.ts - 178 + 239 libs/common/src/lib/routes/routes.ts - 179 + 240 - + license 许可证 kebab-case libs/common/src/lib/routes/routes.ts - 121 + 173 libs/common/src/lib/routes/routes.ts - 124 + 176 - + markets 市场 kebab-case libs/common/src/lib/routes/routes.ts - 183 + 244 libs/common/src/lib/routes/routes.ts - 184 - - - libs/common/src/lib/routes/routes.ts - 223 - - - libs/common/src/lib/routes/routes.ts - 226 + 245 - + pricing 价钱 kebab-case libs/common/src/lib/routes/routes.ts - 193 + 254 libs/common/src/lib/routes/routes.ts - 194 + 255 - + privacy-policy 隐私政策 kebab-case libs/common/src/lib/routes/routes.ts - 134 + 189 libs/common/src/lib/routes/routes.ts - 137 + 192 - + register 注册 kebab-case libs/common/src/lib/routes/routes.ts - 198 + 264 libs/common/src/lib/routes/routes.ts - 199 + 265 - + resources 资源 kebab-case libs/common/src/lib/routes/routes.ts - 203 + 269 libs/common/src/lib/routes/routes.ts - 204 + 270 libs/common/src/lib/routes/routes.ts - 209 + 275 libs/common/src/lib/routes/routes.ts - 217 + 283 libs/common/src/lib/routes/routes.ts - 225 + 291 + + + libs/common/src/lib/routes/routes.ts + 299 @@ -212,7 +208,7 @@ apps/client/src/app/components/header/header.component.html - 403 + 408 apps/client/src/app/components/home-market/home-market.html @@ -232,11 +228,11 @@ apps/client/src/app/components/header/header.component.html - 86 + 88 apps/client/src/app/components/header/header.component.html - 296 + 301 apps/client/src/app/pages/resources/overview/resources-overview.component.html @@ -252,11 +248,11 @@ apps/client/src/app/components/header/header.component.html - 121 + 123 apps/client/src/app/components/header/header.component.html - 369 + 374 @@ -376,7 +372,7 @@ apps/client/src/app/components/header/header.component.html - 356 + 361 apps/client/src/app/pages/features/features-page.html @@ -416,15 +412,15 @@ apps/client/src/app/components/header/header.component.html - 103 + 105 apps/client/src/app/components/header/header.component.html - 308 + 313 apps/client/src/app/components/header/header.component.html - 384 + 389 apps/client/src/app/pages/resources/personal-finance-tools/product-page.html @@ -692,7 +688,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 8 + 46 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -986,6 +982,10 @@ apps/client/src/app/components/admin-jobs/admin-jobs.html 110 + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 92 + Delete Jobs @@ -1224,7 +1224,7 @@ libs/ui/src/lib/assistant/assistant.html - 204 + 207 @@ -1684,7 +1684,7 @@ apps/client/src/app/components/header/header.component.html - 266 + 268 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1724,7 +1724,7 @@ 平台 apps/client/src/app/components/admin-settings/admin-settings.component.html - 140 + 195 @@ -1732,7 +1732,7 @@ 标签 apps/client/src/app/components/admin-settings/admin-settings.component.html - 146 + 201 libs/ui/src/lib/tags-selector/tags-selector.component.html @@ -1864,15 +1864,15 @@ 投资组合 apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 122 + 120 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 94 + 92 libs/common/src/lib/routes/routes.ts - 90 + 136 @@ -1880,7 +1880,7 @@ 基准 apps/client/src/app/components/benchmark-comparator/benchmark-comparator.component.ts - 134 + 132 @@ -1900,7 +1900,7 @@ apps/client/src/app/components/header/header.component.html - 246 + 248 @@ -1912,7 +1912,7 @@ apps/client/src/app/components/header/header.component.html - 256 + 258 @@ -1920,11 +1920,11 @@ 管理控制 apps/client/src/app/components/header/header.component.html - 72 + 74 apps/client/src/app/components/header/header.component.html - 284 + 289 @@ -1932,7 +1932,7 @@ apps/client/src/app/components/header/header.component.html - 211 + 213 @@ -1944,7 +1944,7 @@ apps/client/src/app/components/header/header.component.html - 229 + 231 @@ -1952,7 +1952,7 @@ 我的 Ghostfolio apps/client/src/app/components/header/header.component.html - 273 + 277 @@ -1960,7 +1960,7 @@ 关于 Ghostfolio apps/client/src/app/components/header/header.component.html - 321 + 326 apps/client/src/app/pages/about/overview/about-overview-page.html @@ -1972,7 +1972,7 @@ 登入 apps/client/src/app/components/header/header.component.html - 417 + 422 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -1984,19 +1984,23 @@ 开始使用 apps/client/src/app/components/header/header.component.html - 427 + 432 Sign in 登入 - apps/client/src/app/app-routing.module.ts - 154 + apps/client/src/app/components/header/header.component.ts + 237 - apps/client/src/app/components/header/header.component.ts - 242 + libs/common/src/lib/routes/routes.ts + 71 + + + libs/common/src/lib/routes/routes.ts + 142 @@ -2004,7 +2008,7 @@ 哎呀!安全令牌不正确。 apps/client/src/app/components/header/header.component.ts - 257 + 252 apps/client/src/app/components/user-account-settings/user-account-settings.component.ts @@ -2183,8 +2187,8 @@ or - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 32 + apps/client/src/app/components/admin-settings/admin-settings.component.html + 30 apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html @@ -2632,7 +2636,7 @@ 升级计划 apps/client/src/app/components/header/header.component.html - 191 + 193 apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html @@ -2656,7 +2660,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 336 + 339 @@ -2668,7 +2672,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -2680,7 +2684,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -2692,7 +2696,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -2704,7 +2708,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 375 + 392 @@ -2988,7 +2992,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 86 + 88 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3000,7 +3004,7 @@ 哎呀!出了些问题。 apps/client/src/app/core/http-response.interceptor.ts - 84 + 86 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3016,7 +3020,7 @@ apps/client/src/app/core/http-response.interceptor.ts - 87 + 89 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -3032,7 +3036,7 @@ libs/common/src/lib/routes/routes.ts - 150 + 205 @@ -3040,7 +3044,7 @@ 更新日志 libs/common/src/lib/routes/routes.ts - 118 + 170 @@ -3048,7 +3052,7 @@ 许可证 libs/common/src/lib/routes/routes.ts - 126 + 178 @@ -3056,7 +3060,7 @@ 隐私政策 libs/common/src/lib/routes/routes.ts - 139 + 194 @@ -3088,7 +3092,7 @@ 账户 libs/common/src/lib/routes/routes.ts - 36 + 59 @@ -3151,52 +3155,36 @@ Admin Control 管理控制 - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 21 + libs/common/src/lib/routes/routes.ts + 54 Market Data 市场数据 - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 31 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 39 + libs/common/src/lib/routes/routes.ts + 41 Settings 设置 - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 36 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 34 - - - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 19 + libs/common/src/lib/routes/routes.ts + 24 libs/common/src/lib/routes/routes.ts - 31 + 46 Users 用户 - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 41 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 49 + libs/common/src/lib/routes/routes.ts + 51 @@ -3212,11 +3200,11 @@ libs/common/src/lib/routes/routes.ts - 58 + 98 libs/common/src/lib/routes/routes.ts - 103 + 155 @@ -3224,7 +3212,7 @@ 博客 libs/common/src/lib/routes/routes.ts - 155 + 210 @@ -3252,7 +3240,7 @@ libs/common/src/lib/routes/routes.ts - 175 + 236 @@ -3276,7 +3264,7 @@ 功能 libs/common/src/lib/routes/routes.ts - 180 + 241 @@ -3408,11 +3396,11 @@ 持仓 libs/common/src/lib/routes/routes.ts - 45 + 80 libs/common/src/lib/routes/routes.ts - 100 + 152 @@ -3420,31 +3408,27 @@ 汇总 libs/common/src/lib/routes/routes.ts - 50 + 90 Markets 市场 - - apps/client/src/app/pages/home/home-page-routing.module.ts - 38 - - - apps/client/src/app/pages/home/home-page.component.ts - 59 - apps/client/src/app/pages/resources/resources-page.component.ts 30 libs/common/src/lib/routes/routes.ts - 185 + 85 libs/common/src/lib/routes/routes.ts - 228 + 246 + + + libs/common/src/lib/routes/routes.ts + 294 @@ -3468,7 +3452,7 @@ 开源财富管理软件 apps/client/src/app/pages/i18n/i18n-page.html - 30 + 47 @@ -3496,7 +3480,7 @@ apps/client/src/app/pages/pricing/pricing-page.html - 345 + 349 @@ -3868,7 +3852,7 @@ 活动 libs/common/src/lib/routes/routes.ts - 67 + 113 @@ -3952,7 +3936,7 @@ libs/ui/src/lib/assistant/assistant.html - 143 + 146 @@ -4052,7 +4036,7 @@ libs/ui/src/lib/assistant/assistant.html - 165 + 168 @@ -4116,7 +4100,7 @@ libs/common/src/lib/routes/routes.ts - 72 + 118 @@ -4288,7 +4272,7 @@ 分析 libs/common/src/lib/routes/routes.ts - 77 + 123 @@ -4446,10 +4430,6 @@ apps/client/src/app/pages/public/public-page.html 70 - - libs/ui/src/lib/assistant/assistant.html - 70 - Pricing @@ -4460,7 +4440,7 @@ libs/common/src/lib/routes/routes.ts - 195 + 256 @@ -4628,7 +4608,7 @@ 更新计划 apps/client/src/app/components/header/header.component.html - 189 + 191 apps/client/src/app/components/user-account-membership/user-account-membership.html @@ -4660,7 +4640,7 @@ 免费。 apps/client/src/app/pages/pricing/pricing-page.html - 348 + 352 @@ -4700,7 +4680,7 @@ 注册 libs/common/src/lib/routes/routes.ts - 200 + 266 @@ -4731,25 +4711,17 @@ Personal Finance Tools 个人理财工具 - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 15 + libs/common/src/lib/routes/routes.ts + 309 - + open-source-alternative-to 开源替代方案 kebab-case libs/common/src/lib/routes/routes.ts - 24 - - - - Open Source Alternative to - 的开源替代品 - - apps/client/src/app/pages/resources/personal-finance-tools/personal-finance-tools-page-routing.module.ts - 28 + 305 @@ -5029,7 +5001,7 @@ 瑞士 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 59 + 57 libs/ui/src/lib/i18n.ts @@ -5041,7 +5013,7 @@ 全球的 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 60 + 58 libs/ui/src/lib/i18n.ts @@ -5053,7 +5025,7 @@ 资源 libs/common/src/lib/routes/routes.ts - 231 + 312 @@ -5076,24 +5048,16 @@ Membership 会员资格 - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 24 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 42 + libs/common/src/lib/routes/routes.ts + 21 Access 使用权 - apps/client/src/app/pages/user-account/user-account-page-routing.module.ts - 29 - - - apps/client/src/app/pages/user-account/user-account-page.component.ts - 51 + libs/common/src/lib/routes/routes.ts + 16 @@ -5225,7 +5189,7 @@ libs/ui/src/lib/assistant/assistant.html - 119 + 120 @@ -5233,7 +5197,7 @@ 资产概况 apps/client/src/app/components/admin-settings/admin-settings.component.html - 52 + 106 @@ -5777,7 +5741,7 @@ 有效期至 apps/client/src/app/components/admin-settings/admin-settings.component.html - 34 + 74 libs/ui/src/lib/membership-card/membership-card.component.html @@ -5817,7 +5781,7 @@ 日期范围 libs/ui/src/lib/assistant/assistant.html - 129 + 132 @@ -5880,12 +5844,8 @@ Job Queue 作业队列 - apps/client/src/app/pages/admin/admin-page-routing.module.ts - 26 - - - apps/client/src/app/pages/admin/admin-page.component.ts - 44 + libs/common/src/lib/routes/routes.ts + 36 @@ -5933,7 +5893,7 @@ apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 88 + 86 @@ -5965,7 +5925,7 @@ 今年迄今为止 libs/ui/src/lib/assistant/assistant.component.ts - 346 + 351 @@ -5973,7 +5933,7 @@ 本周至今 libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -5981,7 +5941,7 @@ 本月至今 libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5989,7 +5949,7 @@ 最大输运量 libs/ui/src/lib/assistant/assistant.component.ts - 342 + 347 @@ -5997,7 +5957,7 @@ 世界贸易组织 libs/ui/src/lib/assistant/assistant.component.ts - 338 + 343 @@ -6025,7 +5985,7 @@ 重置过滤器 libs/ui/src/lib/assistant/assistant.html - 223 + 226 @@ -6041,7 +6001,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 350 + 361 @@ -6049,7 +6009,7 @@ libs/ui/src/lib/assistant/assistant.component.ts - 372 + 386 @@ -6057,20 +6017,20 @@ 应用过滤器 libs/ui/src/lib/assistant/assistant.html - 233 + 236 - + self-hosting 自托管 kebab-case libs/common/src/lib/routes/routes.ts - 167 + 228 libs/common/src/lib/routes/routes.ts - 170 + 231 @@ -6082,7 +6042,7 @@ libs/common/src/lib/routes/routes.ts - 172 + 233 @@ -6114,7 +6074,7 @@ libs/common/src/lib/routes/routes.ts - 164 + 225 @@ -6122,7 +6082,7 @@ 哎呀!看来您提出了太多要求。请慢一点。 apps/client/src/app/core/http-response.interceptor.ts - 104 + 106 @@ -6186,7 +6146,7 @@ 不允许执行此操作。 apps/client/src/app/core/http-response.interceptor.ts - 65 + 67 @@ -6225,8 +6185,8 @@ Internationalization 国际化 - apps/client/src/app/app-routing.module.ts - 92 + libs/common/src/lib/routes/routes.ts + 104 @@ -6354,7 +6314,7 @@ 另类 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 82 + 80 @@ -6362,7 +6322,7 @@ 应用 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 83 + 81 @@ -6370,7 +6330,7 @@ 预算管理 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 84 + 82 @@ -6378,7 +6338,7 @@ 社区 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 85 + 83 @@ -6386,7 +6346,7 @@ 家族办公室 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 86 + 84 @@ -6394,7 +6354,7 @@ 投资者 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 89 + 87 @@ -6402,7 +6362,7 @@ 开源 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 90 + 88 @@ -6410,7 +6370,7 @@ 个人理财 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 92 + 90 @@ -6418,7 +6378,7 @@ 隐私 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 93 + 91 @@ -6426,7 +6386,7 @@ 软件 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 95 + 93 @@ -6434,7 +6394,7 @@ 工具 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 96 + 94 @@ -6442,7 +6402,7 @@ 用户体验 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 97 + 95 @@ -6450,7 +6410,7 @@ 财富 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 98 + 96 @@ -6458,7 +6418,7 @@ 财富管理 apps/client/src/app/pages/resources/personal-finance-tools/product-page.component.ts - 99 + 97 @@ -6922,7 +6882,7 @@ 设置 API 密钥 apps/client/src/app/components/admin-settings/admin-settings.component.html - 116 + 171 @@ -6958,7 +6918,7 @@ libs/common/src/lib/routes/routes.ts - 212 + 278 @@ -6970,33 +6930,33 @@ libs/common/src/lib/routes/routes.ts - 220 + 286 - + guides 指南 kebab-case libs/common/src/lib/routes/routes.ts - 215 + 281 libs/common/src/lib/routes/routes.ts - 218 + 284 - + glossary 词汇表 kebab-case libs/common/src/lib/routes/routes.ts - 207 + 273 libs/common/src/lib/routes/routes.ts - 210 + 276 @@ -7028,7 +6988,7 @@ apps/client/src/app/components/admin-settings/admin-settings.component.html - 79 + 135 @@ -7036,7 +6996,7 @@ 每日请求 apps/client/src/app/components/admin-settings/admin-settings.component.html - 81 + 137 @@ -7044,7 +7004,7 @@ 移除 API 密钥 apps/client/src/app/components/admin-settings/admin-settings.component.html - 106 + 161 @@ -7052,7 +7012,7 @@ 您确定要删除此 API 密钥吗? apps/client/src/app/components/admin-settings/admin-settings.component.ts - 98 + 94 @@ -7063,14 +7023,6 @@ 41 - - I have an API key - 我有一个 API 密钥 - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 39 - - API Requests Today 今日 API 请求数 @@ -7116,7 +7068,7 @@ 标签 libs/ui/src/lib/assistant/assistant.html - 193 + 196 @@ -7187,8 +7139,8 @@ Please enter your Ghostfolio API key. 请输入您的 Ghostfolio API 密钥。 - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.component.ts - 57 + apps/client/src/app/components/admin-settings/admin-settings.component.ts + 113 @@ -7207,14 +7159,6 @@ 65 - - Early Access - 抢先体验 - - apps/client/src/app/components/admin-settings/admin-settings.component.html - 27 - - Regional Market Cluster Risks 区域市场集群风险 @@ -7451,17 +7395,17 @@ 112 - + terms-of-service 服务条款 kebab-case libs/common/src/lib/routes/routes.ts - 142 + 197 libs/common/src/lib/routes/routes.ts - 145 + 200 @@ -7469,7 +7413,7 @@ 服务条款 libs/common/src/lib/routes/routes.ts - 147 + 202 @@ -7593,15 +7537,7 @@ 关注列表 libs/common/src/lib/routes/routes.ts - 55 - - - - Get Early Access - 获取抢先体验 - - apps/client/src/app/components/admin-settings/ghostfolio-premium-api-dialog/ghostfolio-premium-api-dialog.html - 29 + 95 @@ -7617,7 +7553,7 @@ 登出 apps/client/src/app/components/header/header.component.html - 324 + 329 @@ -7628,17 +7564,17 @@ 43 - + changelog 变更日志 kebab-case libs/common/src/lib/routes/routes.ts - 113 + 165 libs/common/src/lib/routes/routes.ts - 116 + 168 @@ -7662,7 +7598,7 @@ 应急资金:设置 apps/client/src/app/pages/i18n/i18n-page.html - 14 + 31 @@ -7670,7 +7606,7 @@ 未设置应急资金 apps/client/src/app/pages/i18n/i18n-page.html - 15 + 32 @@ -7678,7 +7614,7 @@ 已设置应急资金 apps/client/src/app/pages/i18n/i18n-page.html - 18 + 35 @@ -7686,7 +7622,7 @@ 费率 apps/client/src/app/pages/i18n/i18n-page.html - 21 + 38 @@ -7694,7 +7630,7 @@ 费用超过了您初始投资的 ${thresholdMax}% (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 22 + 39 @@ -7702,7 +7638,7 @@ 费用未超过您初始投资的 ${thresholdMax}% (${feeRatio}%) apps/client/src/app/pages/i18n/i18n-page.html - 26 + 43 @@ -7718,23 +7654,193 @@ 查找持仓或页面... libs/ui/src/lib/assistant/assistant.component.ts - 152 + 154 - + Quick Links 快速链接 libs/ui/src/lib/assistant/assistant.html - 45 + 43 - + Asset Profiles 资产概况 libs/ui/src/lib/assistant/assistant.html - 96 + 97 + + + + Live Demo + Live Demo + + libs/common/src/lib/routes/routes.ts + 216 + + + + Open Source Alternative to + Open Source Alternative to + + libs/common/src/lib/routes/routes.ts + 306 + + + + Single Account + Single Account + + apps/client/src/app/pages/i18n/i18n-page.html + 24 + + + + Your net worth is managed by a single account + Your net worth is managed by a single account + + apps/client/src/app/pages/i18n/i18n-page.html + 25 + + + + Your net worth is managed by ${accountsLength} accounts + Your net worth is managed by ${accountsLength} accounts + + apps/client/src/app/pages/i18n/i18n-page.html + 28 + + + + Holdings + Holdings + + libs/ui/src/lib/assistant/assistant.html + 68 + + + + personal-finance-tools + personal-finance-tools + kebab-case + + libs/common/src/lib/routes/routes.ts + 297 + + + libs/common/src/lib/routes/routes.ts + 300 + + + + markets + markets + kebab-case + + libs/common/src/lib/routes/routes.ts + 289 + + + libs/common/src/lib/routes/routes.ts + 292 + + + + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + Fuel your self-hosted Ghostfolio with a powerful data provider to access 80,000+ tickers from over 50 exchanges worldwide. + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 15 + + + + Get Access + Get Access + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 27 + + + + Learn more + Learn more + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 38 + + + + new + new + + apps/client/src/app/components/admin-settings/admin-settings.component.html + 67 + + + + Limited Offer! + Limited Offer! + + apps/client/src/app/pages/pricing/pricing-page.html + 311 + + + + Get extra + Get extra + + apps/client/src/app/pages/pricing/pricing-page.html + 313 + + + + Available + Available + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 3 + + + + Unavailable + Unavailable + + apps/client/src/app/components/data-provider-status/data-provider-status.component.html + 5 + + + + new + new + + apps/client/src/app/pages/admin/admin-page.component.ts + 37 + + + + Investment + Investment + + apps/client/src/app/pages/i18n/i18n-page.html + 14 + + + + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + Over ${thresholdMax}% of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) + + apps/client/src/app/pages/i18n/i18n-page.html + 15 + + + + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + The major part of your current investment is at ${maxAccountName} (${maxInvestmentRatio}%) and does not exceed ${thresholdMax}% + + apps/client/src/app/pages/i18n/i18n-page.html + 19 diff --git a/libs/common/src/lib/interfaces/index.ts b/libs/common/src/lib/interfaces/index.ts index e401705fb..e7a0e7f76 100644 --- a/libs/common/src/lib/interfaces/index.ts +++ b/libs/common/src/lib/interfaces/index.ts @@ -41,8 +41,10 @@ import type { AccountsResponse } from './responses/accounts-response.interface'; import type { AiPromptResponse } from './responses/ai-prompt-response.interface'; import type { ApiKeyResponse } from './responses/api-key-response.interface'; import type { BenchmarkResponse } from './responses/benchmark-response.interface'; +import type { DataEnhancerHealthResponse } from './responses/data-enhancer-health-response.interface'; import type { DataProviderGhostfolioAssetProfileResponse } from './responses/data-provider-ghostfolio-asset-profile-response.interface'; import type { DataProviderGhostfolioStatusResponse } from './responses/data-provider-ghostfolio-status-response.interface'; +import type { DataProviderHealthResponse } from './responses/data-provider-health-response.interface'; import type { DividendsResponse } from './responses/dividends-response.interface'; import type { ResponseError } from './responses/errors.interface'; import type { HistoricalResponse } from './responses/historical-response.interface'; @@ -88,8 +90,10 @@ export { BenchmarkProperty, BenchmarkResponse, Coupon, + DataEnhancerHealthResponse, DataProviderGhostfolioAssetProfileResponse, DataProviderGhostfolioStatusResponse, + DataProviderHealthResponse, DataProviderInfo, DividendsResponse, EnhancedSymbolProfile, diff --git a/libs/common/src/lib/interfaces/responses/data-enhancer-health-response.interface.ts b/libs/common/src/lib/interfaces/responses/data-enhancer-health-response.interface.ts new file mode 100644 index 000000000..025f8e8be --- /dev/null +++ b/libs/common/src/lib/interfaces/responses/data-enhancer-health-response.interface.ts @@ -0,0 +1,3 @@ +export interface DataEnhancerHealthResponse { + status: string; +} diff --git a/libs/common/src/lib/interfaces/responses/data-provider-health-response.interface.ts b/libs/common/src/lib/interfaces/responses/data-provider-health-response.interface.ts new file mode 100644 index 000000000..a32d9b3c3 --- /dev/null +++ b/libs/common/src/lib/interfaces/responses/data-provider-health-response.interface.ts @@ -0,0 +1,3 @@ +export interface DataProviderHealthResponse { + status: string; +} diff --git a/libs/common/src/lib/routes/interfaces/interfaces.ts b/libs/common/src/lib/routes/interfaces/interfaces.ts index 5e9f65b40..5acbb2350 100644 --- a/libs/common/src/lib/routes/interfaces/interfaces.ts +++ b/libs/common/src/lib/routes/interfaces/interfaces.ts @@ -1,5 +1,7 @@ +import { User } from '@ghostfolio/common/interfaces'; + export interface IRoute { - excludeFromAssistant?: boolean; + excludeFromAssistant?: boolean | ((aUser: User) => boolean); path: string; routerLink: string[]; subRoutes?: Record; diff --git a/libs/common/src/lib/routes/routes.ts b/libs/common/src/lib/routes/routes.ts index 6f6017623..65d63dce9 100644 --- a/libs/common/src/lib/routes/routes.ts +++ b/libs/common/src/lib/routes/routes.ts @@ -1,18 +1,10 @@ +import { User } from '@ghostfolio/common/interfaces'; +import { hasPermission, permissions } from '@ghostfolio/common/permissions'; + import '@angular/localize/init'; import { IRoute } from './interfaces/interfaces'; -export const routes = { - api: 'api', - i18n: 'i18n', - market: 'market', - personalFinanceTools: 'personal-finance-tools', - public: 'p', - - // Publicly accessible pages - openSourceAlternativeTo: $localize`:kebab-case:open-source-alternative-to` -}; - export const internalRoutes: Record = { account: { path: 'account', @@ -32,7 +24,9 @@ export const internalRoutes: Record = { title: $localize`Settings` }, adminControl: { - excludeFromAssistant: true, + excludeFromAssistant: (aUser: User) => { + return hasPermission(aUser?.permissions, permissions.accessAdminControl); + }, path: 'admin', routerLink: ['/admin'], subRoutes: { @@ -64,6 +58,12 @@ export const internalRoutes: Record = { routerLink: ['/accounts'], title: $localize`Accounts` }, + api: { + excludeFromAssistant: true, + path: 'api', + routerLink: ['/api'], + title: 'Ghostfolio API' + }, auth: { excludeFromAssistant: true, path: 'auth', @@ -79,6 +79,11 @@ export const internalRoutes: Record = { routerLink: ['/home', 'holdings'], title: $localize`Holdings` }, + markets: { + path: 'markets', + routerLink: ['/home', 'markets'], + title: $localize`Markets` + }, summary: { path: 'summary', routerLink: ['/home', 'summary'], @@ -92,6 +97,12 @@ export const internalRoutes: Record = { }, title: $localize`Overview` }, + i18n: { + excludeFromAssistant: true, + path: 'i18n', + routerLink: ['/i18n'], + title: $localize`Internationalization` + }, portfolio: { path: 'portfolio', routerLink: ['/portfolio'], @@ -147,43 +158,46 @@ export const internalRoutes: Record = { export const publicRoutes = { about: { - path: $localize`:kebab-case:about`, - routerLink: ['/' + $localize`:kebab-case:about`], + path: $localize`:kebab-case@@routes.about:about`, + routerLink: ['/' + $localize`:kebab-case@@routes.about:about`], subRoutes: { changelog: { - path: $localize`:kebab-case:changelog`, + path: $localize`:kebab-case@@routes.about.changelog:changelog`, routerLink: [ - '/' + $localize`:kebab-case:about`, - $localize`:kebab-case:changelog` + '/' + $localize`:kebab-case@@routes.about:about`, + $localize`:kebab-case@@routes.about.changelog:changelog` ], title: $localize`Changelog` }, license: { - path: $localize`:kebab-case:license`, + path: $localize`:kebab-case@@routes.about.license:license`, routerLink: [ - '/' + $localize`:kebab-case:about`, - $localize`:kebab-case:license` + '/' + $localize`:kebab-case@@routes.about:about`, + $localize`:kebab-case@@routes.about.license:license` ], title: $localize`License` }, ossFriends: { path: 'oss-friends', - routerLink: ['/' + $localize`:kebab-case:about`, 'oss-friends'], + routerLink: [ + '/' + $localize`:kebab-case@@routes.about:about`, + 'oss-friends' + ], title: 'OSS Friends' }, privacyPolicy: { - path: $localize`:kebab-case:privacy-policy`, + path: $localize`:kebab-case@@routes.about.privacyPolicy:privacy-policy`, routerLink: [ - '/' + $localize`:kebab-case:about`, - $localize`:kebab-case:privacy-policy` + '/' + $localize`:kebab-case@@routes.about:about`, + $localize`:kebab-case@@routes.about.privacyPolicy:privacy-policy` ], title: $localize`Privacy Policy` }, termsOfService: { - path: $localize`:kebab-case:terms-of-service`, + path: $localize`:kebab-case@@routes.about.termsOfService:terms-of-service`, routerLink: [ - '/' + $localize`:kebab-case:about`, - $localize`:kebab-case:terms-of-service` + '/' + $localize`:kebab-case@@routes.about:about`, + $localize`:kebab-case@@routes.about.termsOfService:terms-of-service` ], title: $localize`Terms of Service` } @@ -196,24 +210,25 @@ export const publicRoutes = { title: $localize`Blog` }, demo: { + excludeFromSitemap: true, path: 'demo', routerLink: ['/demo'], title: $localize`Live Demo` }, faq: { - path: $localize`:kebab-case:faq`, - routerLink: ['/' + $localize`:kebab-case:faq`], + path: $localize`:kebab-case@@routes.faq:faq`, + routerLink: ['/' + $localize`:kebab-case@@routes.faq:faq`], subRoutes: { saas: { path: 'saas', - routerLink: ['/' + $localize`:kebab-case:faq`, 'saas'], + routerLink: ['/' + $localize`:kebab-case@@routes.faq:faq`, 'saas'], title: $localize`Cloud` + ' (SaaS)' }, selfHosting: { - path: $localize`:kebab-case:self-hosting`, + path: $localize`:kebab-case@@routes.faq.selfHosting:self-hosting`, routerLink: [ - '/' + $localize`:kebab-case:faq`, - $localize`:kebab-case:self-hosting` + '/' + $localize`:kebab-case@@routes.faq:faq`, + $localize`:kebab-case@@routes.faq.selfHosting:self-hosting` ], title: $localize`Self-Hosting` } @@ -221,13 +236,13 @@ export const publicRoutes = { title: $localize`Frequently Asked Questions (FAQ)` }, features: { - path: $localize`:kebab-case:features`, - routerLink: ['/' + $localize`:kebab-case:features`], + path: $localize`:kebab-case@@routes.features:features`, + routerLink: ['/' + $localize`:kebab-case@@routes.features:features`], title: $localize`Features` }, markets: { - path: $localize`:kebab-case:markets`, - routerLink: ['/' + $localize`:kebab-case:markets`], + path: $localize`:kebab-case@@routes.markets:markets`, + routerLink: ['/' + $localize`:kebab-case@@routes.markets:markets`], title: $localize`Markets` }, openStartup: { @@ -236,42 +251,62 @@ export const publicRoutes = { title: 'Open Startup' }, pricing: { - path: $localize`:kebab-case:pricing`, - routerLink: ['/' + $localize`:kebab-case:pricing`], + path: $localize`:kebab-case@@routes.pricing:pricing`, + routerLink: ['/' + $localize`:kebab-case@@routes.pricing:pricing`], title: $localize`Pricing` }, + public: { + excludeFromSitemap: true, + path: 'p', + routerLink: ['/p'] + }, register: { - path: $localize`:kebab-case:register`, - routerLink: ['/' + $localize`:kebab-case:register`], + path: $localize`:kebab-case@@routes.register:register`, + routerLink: ['/' + $localize`:kebab-case@@routes.register:register`], title: $localize`Registration` }, resources: { - path: $localize`:kebab-case:resources`, - routerLink: ['/' + $localize`:kebab-case:resources`], + path: $localize`:kebab-case@@routes.resources:resources`, + routerLink: ['/' + $localize`:kebab-case@@routes.resources:resources`], subRoutes: { glossary: { - path: $localize`:kebab-case:glossary`, + path: $localize`:kebab-case@@routes.resources.glossary:glossary`, routerLink: [ - '/' + $localize`:kebab-case:resources`, - $localize`:kebab-case:glossary` + '/' + $localize`:kebab-case@@routes.resources:resources`, + $localize`:kebab-case@@routes.resources.glossary:glossary` ], title: $localize`Glossary` }, guides: { - path: $localize`:kebab-case:guides`, + path: $localize`:kebab-case@@routes.resources.guides:guides`, routerLink: [ - '/' + $localize`:kebab-case:resources`, - $localize`:kebab-case:guides` + '/' + $localize`:kebab-case@@routes.resources:resources`, + $localize`:kebab-case@@routes.resources.guides:guides` ], title: $localize`Guides` }, markets: { - path: $localize`:kebab-case:markets`, + path: $localize`:kebab-case@@routes.resources.markets:markets`, routerLink: [ - '/' + $localize`:kebab-case:resources`, - $localize`:kebab-case:markets` + '/' + $localize`:kebab-case@@routes.resources:resources`, + $localize`:kebab-case@@routes.resources.markets:markets` ], title: $localize`Markets` + }, + personalFinanceTools: { + path: $localize`:kebab-case@@routes.resources.personalFinanceTools:personal-finance-tools`, + routerLink: [ + '/' + $localize`:kebab-case@@routes.resources:resources`, + $localize`:kebab-case@@routes.resources.personalFinanceTools:personal-finance-tools` + ], + subRoutes: { + excludeFromSitemap: true, + product: { + path: $localize`:kebab-case@@routes.resources.personalFinanceTools.openSourceAlternativeTo:open-source-alternative-to`, + title: $localize`Open Source Alternative to` + } + }, + title: $localize`Personal Finance Tools` } }, title: $localize`Resources` diff --git a/libs/common/src/lib/types/access-with-grantee-user.type.ts b/libs/common/src/lib/types/access-with-grantee-user.type.ts index 18c045fc7..98551e0fd 100644 --- a/libs/common/src/lib/types/access-with-grantee-user.type.ts +++ b/libs/common/src/lib/types/access-with-grantee-user.type.ts @@ -1,3 +1,3 @@ import { Access, User } from '@prisma/client'; -export type AccessWithGranteeUser = Access & { GranteeUser?: User }; +export type AccessWithGranteeUser = Access & { granteeUser?: User }; diff --git a/libs/common/src/lib/types/account-with-platform.type.ts b/libs/common/src/lib/types/account-with-platform.type.ts index b0730abce..fbaa47393 100644 --- a/libs/common/src/lib/types/account-with-platform.type.ts +++ b/libs/common/src/lib/types/account-with-platform.type.ts @@ -1,3 +1,3 @@ import { Account, Platform } from '@prisma/client'; -export type AccountWithPlatform = Account & { Platform?: Platform }; +export type AccountWithPlatform = Account & { platform?: Platform }; diff --git a/libs/common/src/lib/types/account-with-value.type.ts b/libs/common/src/lib/types/account-with-value.type.ts index bc7577d91..40aefa998 100644 --- a/libs/common/src/lib/types/account-with-value.type.ts +++ b/libs/common/src/lib/types/account-with-value.type.ts @@ -2,7 +2,7 @@ import { Account as AccountModel, Platform } from '@prisma/client'; export type AccountWithValue = AccountModel & { balanceInBaseCurrency: number; - Platform?: Platform; + platform?: Platform; transactionCount: number; value: number; valueInBaseCurrency: number; diff --git a/libs/ui/src/lib/activities-table/activities-table.component.html b/libs/ui/src/lib/activities-table/activities-table.component.html index a0607789a..b50e32ca3 100644 --- a/libs/ui/src/lib/activities-table/activities-table.component.html +++ b/libs/ui/src/lib/activities-table/activities-table.component.html @@ -309,11 +309,11 @@
  • - @if (element.Account?.Platform?.url) { + @if (element.Account?.platform?.url) { } {{ element.Account?.name }} diff --git a/libs/ui/src/lib/assistant/assistant.component.ts b/libs/ui/src/lib/assistant/assistant.component.ts index 311878abd..e412c6182 100644 --- a/libs/ui/src/lib/assistant/assistant.component.ts +++ b/libs/ui/src/lib/assistant/assistant.component.ts @@ -40,6 +40,8 @@ import { MatMenuTrigger } from '@angular/material/menu'; import { MatSelectModule } from '@angular/material/select'; import { RouterModule } from '@angular/router'; import { Account, AssetClass, DataSource } from '@prisma/client'; +import { differenceInYears } from 'date-fns'; +import { isFunction } from 'lodash'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; import { EMPTY, Observable, Subject, merge, of } from 'rxjs'; import { @@ -333,7 +335,10 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit { this.accounts = this.user?.accounts ?? []; this.dateRangeOptions = [ - { label: $localize`Today`, value: '1d' }, + { + label: $localize`Today`, + value: '1d' + }, { label: $localize`Week to date` + ' (' + $localize`WTD` + ')', value: 'wtd' @@ -358,13 +363,19 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit { { label: $localize`Year to date` + ' (' + $localize`YTD` + ')', value: 'ytd' - }, - { - label: '1 ' + $localize`year` + ' (' + $localize`1Y` + ')', - value: '1y' } ]; + if ( + this.user?.dateOfFirstActivity && + differenceInYears(new Date(), this.user.dateOfFirstActivity) >= 1 + ) { + this.dateRangeOptions.push({ + label: '1 ' + $localize`year` + ' (' + $localize`1Y` + ')', + value: '1y' + }); + } + // TODO // if (this.user?.settings?.isExperimentalFeatures) { // this.dateRangeOptions = this.dateRangeOptions.concat( @@ -380,13 +391,20 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit { // ); // } - this.dateRangeOptions = this.dateRangeOptions.concat([ - { + if ( + this.user?.dateOfFirstActivity && + differenceInYears(new Date(), this.user.dateOfFirstActivity) >= 5 + ) { + this.dateRangeOptions.push({ label: '5 ' + $localize`years` + ' (' + $localize`5Y` + ')', value: '5y' - }, - { label: $localize`Max`, value: 'max' } - ]); + }); + } + + this.dateRangeOptions.push({ + label: $localize`Max`, + value: 'max' + }); this.dateRangeFormControl.disable({ emitEvent: false }); @@ -623,6 +641,10 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit { const allRoutes = Object.values(internalRoutes) .filter(({ excludeFromAssistant }) => { + if (isFunction(excludeFromAssistant)) { + return excludeFromAssistant(this.user); + } + return !excludeFromAssistant; }) .reduce((acc, route) => { diff --git a/libs/ui/src/lib/assistant/assistant.html b/libs/ui/src/lib/assistant/assistant.html index 25406d3a7..e7bf9e286 100644 --- a/libs/ui/src/lib/assistant/assistant.html +++ b/libs/ui/src/lib/assistant/assistant.html @@ -36,69 +36,40 @@ }
    -
    - @if (searchResults?.quickLinks?.length !== 0 || isLoading.quickLinks) { -
    -
    - Quick Links + @if (searchFormControl.value) { +
    + @if (searchResults?.quickLinks?.length !== 0 || isLoading.quickLinks) { +
    +
    + Quick Links +
    + @for ( + searchResultItem of searchResults?.quickLinks; + track searchResultItem + ) { + + } + @if (isLoading.quickLinks) { + + }
    - @for ( - searchResultItem of searchResults?.quickLinks; - track searchResultItem - ) { - - } - @if (isLoading.quickLinks) { - - } -
    - } -
    -
    Holdings
    - @for ( - searchResultItem of searchResults?.holdings; - track searchResultItem - ) { - } - @if (searchResults?.holdings?.length === 0) { - @if (isLoading.holdings) { - - } @else { -
    No entries...
    - } - } -
    - @if (hasPermissionToAccessAdminControl) { -
    +
    - Asset Profiles + Holdings
    @for ( - searchResultItem of searchResults?.assetProfiles; + searchResultItem of searchResults?.holdings; track searchResultItem ) { } - @if (searchResults?.assetProfiles?.length === 0) { - @if (isLoading.assetProfiles) { + @if (searchResults?.holdings?.length === 0) { + @if (isLoading.holdings) { - } -
    + @if (hasPermissionToAccessAdminControl) { +
    +
    + Asset Profiles +
    + @for ( + searchResultItem of searchResults?.assetProfiles; + track searchResultItem + ) { + + } + @if (searchResults?.assetProfiles?.length === 0) { + @if (isLoading.assetProfiles) { + + } @else { +
    No entries...
    + } + } +
    + } +
    + }
    @if (!searchFormControl.value) { @@ -148,11 +149,11 @@ @for (account of accounts; track account.id) {
    - @if (account.Platform?.url) { + @if (account.platform?.url) { } {{ account.name }} diff --git a/libs/ui/src/lib/entity-logo/entity-logo.component.ts b/libs/ui/src/lib/entity-logo/entity-logo.component.ts index ee41c8da8..7598fb4d5 100644 --- a/libs/ui/src/lib/entity-logo/entity-logo.component.ts +++ b/libs/ui/src/lib/entity-logo/entity-logo.component.ts @@ -1,3 +1,4 @@ +import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, @@ -9,6 +10,7 @@ import { DataSource } from '@prisma/client'; @Component({ changeDetection: ChangeDetectionStrategy.OnPush, + imports: [CommonModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], selector: 'gf-entity-logo', styleUrls: ['./entity-logo.component.scss'], diff --git a/libs/ui/src/lib/value/value.component.html b/libs/ui/src/lib/value/value.component.html index 62b60c1f8..1f61f30e5 100644 --- a/libs/ui/src/lib/value/value.component.html +++ b/libs/ui/src/lib/value/value.component.html @@ -5,12 +5,12 @@ }
    - + @if (value || value === 0 || value === null) {
    - + @if (isNumber || value === null) { @if (colorizeSign && !useAbsoluteValue) { @if (+value > 0) {
    +
    @@ -59,7 +59,7 @@
    } } -
    + } @if (isString) {
    }
    - + } @if (value === undefined) { {{ subLabel }} }
    - + } @else { + } diff --git a/package-lock.json b/package-lock.json index 264a98a2b..bb3f3eec7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ghostfolio", - "version": "2.171.0", + "version": "2.174.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ghostfolio", - "version": "2.171.0", + "version": "2.174.0", "hasInstallScript": true, "license": "AGPL-3.0", "dependencies": { @@ -42,7 +42,7 @@ "@nestjs/platform-express": "11.1.3", "@nestjs/schedule": "6.0.0", "@nestjs/serve-static": "5.0.3", - "@prisma/client": "6.9.0", + "@prisma/client": "6.10.1", "@simplewebauthn/browser": "13.1.0", "@simplewebauthn/server": "13.1.1", "@stripe/stripe-js": "7.3.1", @@ -58,7 +58,7 @@ "chartjs-plugin-datalabels": "2.2.0", "cheerio": "1.0.0", "class-transformer": "0.5.1", - "class-validator": "0.14.1", + "class-validator": "0.14.2", "color": "5.0.0", "countries-and-timezones": "3.7.2", "countries-list": "3.1.1", @@ -149,7 +149,7 @@ "nx": "21.1.2", "prettier": "3.5.3", "prettier-plugin-organize-attributes": "1.0.0", - "prisma": "6.9.0", + "prisma": "6.10.1", "react": "18.2.0", "react-dom": "18.2.0", "replace-in-file": "8.3.0", @@ -9677,9 +9677,9 @@ "license": "MIT" }, "node_modules/@prisma/client": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.9.0.tgz", - "integrity": "sha512-Gg7j1hwy3SgF1KHrh0PZsYvAaykeR0PaxusnLXydehS96voYCGt1U5zVR31NIouYc63hWzidcrir1a7AIyCsNQ==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.10.1.tgz", + "integrity": "sha512-Re4pMlcUsQsUTAYMK7EJ4Bw2kg3WfZAAlr8GjORJaK4VOP6LxRQUQ1TuLnxcF42XqGkWQ36q5CQF1yVadANQ6w==", "hasInstallScript": true, "license": "Apache-2.0", "engines": { @@ -9699,9 +9699,9 @@ } }, "node_modules/@prisma/config": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.9.0.tgz", - "integrity": "sha512-Wcfk8/lN3WRJd5w4jmNQkUwhUw0eksaU/+BlAJwPQKW10k0h0LC9PD/6TQFmqKVbHQL0vG2z266r0S1MPzzhbA==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.10.1.tgz", + "integrity": "sha512-kz4/bnqrOrzWo8KzYguN0cden4CzLJJ+2VSpKtF8utHS3l1JS0Lhv6BLwpOX6X9yNreTbZQZwewb+/BMPDCIYQ==", "devOptional": true, "license": "Apache-2.0", "dependencies": { @@ -9719,53 +9719,53 @@ } }, "node_modules/@prisma/debug": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.9.0.tgz", - "integrity": "sha512-bFeur/qi/Q+Mqk4JdQ3R38upSYPebv5aOyD1RKywVD+rAMLtRkmTFn28ZuTtVOnZHEdtxnNOCH+bPIeSGz1+Fg==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.10.1.tgz", + "integrity": "sha512-k2YT53cWxv9OLjW4zSYTZ6Z7j0gPfCzcr2Mj99qsuvlxr8WAKSZ2NcSR0zLf/mP4oxnYG842IMj3utTgcd7CaA==", "devOptional": true, "license": "Apache-2.0" }, "node_modules/@prisma/engines": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.9.0.tgz", - "integrity": "sha512-im0X0bwDLA0244CDf8fuvnLuCQcBBdAGgr+ByvGfQY9wWl6EA+kRGwVk8ZIpG65rnlOwtaWIr/ZcEU5pNVvq9g==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.10.1.tgz", + "integrity": "sha512-Q07P5rS2iPwk2IQr/rUQJ42tHjpPyFcbiH7PXZlV81Ryr9NYIgdxcUrwgVOWVm5T7ap02C0dNd1dpnNcSWig8A==", "devOptional": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "6.9.0", - "@prisma/engines-version": "6.9.0-10.81e4af48011447c3cc503a190e86995b66d2a28e", - "@prisma/fetch-engine": "6.9.0", - "@prisma/get-platform": "6.9.0" + "@prisma/debug": "6.10.1", + "@prisma/engines-version": "6.10.1-1.9b628578b3b7cae625e8c927178f15a170e74a9c", + "@prisma/fetch-engine": "6.10.1", + "@prisma/get-platform": "6.10.1" } }, "node_modules/@prisma/engines-version": { - "version": "6.9.0-10.81e4af48011447c3cc503a190e86995b66d2a28e", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.9.0-10.81e4af48011447c3cc503a190e86995b66d2a28e.tgz", - "integrity": "sha512-Qp9gMoBHgqhKlrvumZWujmuD7q4DV/gooEyPCLtbkc13EZdSz2RsGUJ5mHb3RJgAbk+dm6XenqG7obJEhXcJ6Q==", + "version": "6.10.1-1.9b628578b3b7cae625e8c927178f15a170e74a9c", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.10.1-1.9b628578b3b7cae625e8c927178f15a170e74a9c.tgz", + "integrity": "sha512-ZJFTsEqapiTYVzXya6TUKYDFnSWCNegfUiG5ik9fleQva5Sk3DNyyUi7X1+0ZxWFHwHDr6BZV5Vm+iwP+LlciA==", "devOptional": true, "license": "Apache-2.0" }, "node_modules/@prisma/fetch-engine": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.9.0.tgz", - "integrity": "sha512-PMKhJdl4fOdeE3J3NkcWZ+tf3W6rx3ht/rLU8w4SXFRcLhd5+3VcqY4Kslpdm8osca4ej3gTfB3+cSk5pGxgFg==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.10.1.tgz", + "integrity": "sha512-clmbG/Jgmrc/n6Y77QcBmAUlq9LrwI9Dbgy4pq5jeEARBpRCWJDJ7PWW1P8p0LfFU0i5fsyO7FqRzRB8mkdS4g==", "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "6.9.0", - "@prisma/engines-version": "6.9.0-10.81e4af48011447c3cc503a190e86995b66d2a28e", - "@prisma/get-platform": "6.9.0" + "@prisma/debug": "6.10.1", + "@prisma/engines-version": "6.10.1-1.9b628578b3b7cae625e8c927178f15a170e74a9c", + "@prisma/get-platform": "6.10.1" } }, "node_modules/@prisma/get-platform": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.9.0.tgz", - "integrity": "sha512-/B4n+5V1LI/1JQcHp+sUpyRT1bBgZVPHbsC4lt4/19Xp4jvNIVcq5KYNtQDk5e/ukTSjo9PZVAxxy9ieFtlpTQ==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.10.1.tgz", + "integrity": "sha512-4CY5ndKylcsce9Mv+VWp5obbR2/86SHOLVV053pwIkhVtT9C9A83yqiqI/5kJM9T1v1u1qco/bYjDKycmei9HA==", "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@prisma/debug": "6.9.0" + "@prisma/debug": "6.10.1" } }, "node_modules/@redis/client": { @@ -15485,13 +15485,13 @@ "license": "MIT" }, "node_modules/class-validator": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.1.tgz", - "integrity": "sha512-2VEG9JICxIqTpoK1eMzZqaV+u/EiwEJkMGzTrZf6sU/fwsnOITVgYJ8yojSy6CaXtO9V0Cc6ZQZ8h8m4UBuLwQ==", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.2.tgz", + "integrity": "sha512-3kMVRF2io8N8pY1IFIXlho9r8IPUUIfHe2hYVtiebvAzU2XeQFXTv+XI4WX+TnXmtwXMDcjngcpkiPM0O9PvLw==", "license": "MIT", "dependencies": { "@types/validator": "^13.11.8", - "libphonenumber-js": "^1.10.53", + "libphonenumber-js": "^1.11.1", "validator": "^13.9.0" } }, @@ -29051,15 +29051,15 @@ } }, "node_modules/prisma": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-6.9.0.tgz", - "integrity": "sha512-resJAwMyZREC/I40LF6FZ6rZTnlrlrYrb63oW37Gq+U+9xHwbyMSPJjKtM7VZf3gTO86t/Oyz+YeSXr3CmAY1Q==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-6.10.1.tgz", + "integrity": "sha512-khhlC/G49E4+uyA3T3H5PRBut486HD2bDqE2+rvkU0pwk9IAqGFacLFUyIx9Uw+W2eCtf6XGwsp+/strUwMNPw==", "devOptional": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@prisma/config": "6.9.0", - "@prisma/engines": "6.9.0" + "@prisma/config": "6.10.1", + "@prisma/engines": "6.10.1" }, "bin": { "prisma": "build/index.js" diff --git a/package.json b/package.json index aa4ab674c..508b57b1a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "2.171.0", + "version": "2.174.0", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio", @@ -89,7 +89,7 @@ "@nestjs/platform-express": "11.1.3", "@nestjs/schedule": "6.0.0", "@nestjs/serve-static": "5.0.3", - "@prisma/client": "6.9.0", + "@prisma/client": "6.10.1", "@simplewebauthn/browser": "13.1.0", "@simplewebauthn/server": "13.1.1", "@stripe/stripe-js": "7.3.1", @@ -105,7 +105,7 @@ "chartjs-plugin-datalabels": "2.2.0", "cheerio": "1.0.0", "class-transformer": "0.5.1", - "class-validator": "0.14.1", + "class-validator": "0.14.2", "color": "5.0.0", "countries-and-timezones": "3.7.2", "countries-list": "3.1.1", @@ -196,7 +196,7 @@ "nx": "21.1.2", "prettier": "3.5.3", "prettier-plugin-organize-attributes": "1.0.0", - "prisma": "6.9.0", + "prisma": "6.10.1", "react": "18.2.0", "react-dom": "18.2.0", "replace-in-file": "8.3.0", diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 9389604be..b81a58035 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -12,12 +12,12 @@ datasource db { model Access { alias String? createdAt DateTime @default(now()) + granteeUser User? @relation("accessGet", fields: [granteeUserId], onDelete: Cascade, references: [id]) granteeUserId String? id String @id @default(uuid()) permissions AccessPermission[] @default([READ_RESTRICTED]) updatedAt DateTime @updatedAt userId String - GranteeUser User? @relation("accessGet", fields: [granteeUserId], onDelete: Cascade, references: [id]) user User @relation("accessGive", fields: [userId], onDelete: Cascade, references: [id]) @@index([alias]) @@ -35,11 +35,11 @@ model Account { id String @default(uuid()) isExcluded Boolean @default(false) name String? + platform Platform? @relation(fields: [platformId], references: [id]) platformId String? updatedAt DateTime @updatedAt user User @relation(fields: [userId], onDelete: Cascade, references: [id]) userId String - Platform Platform? @relation(fields: [platformId], references: [id]) @@id([id, userId]) @@index([currency])