diff --git a/CHANGELOG.md b/CHANGELOG.md index 17ecf6ca1..ffa2265b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### 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 diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index a43499e5b..cdfd14f70 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -1261,6 +1261,8 @@ export class PortfolioService { ), new AccountClusterRiskSingleAccount( this.exchangeRateDataService, + this.i18nService, + userSettings.language, accounts ) ], diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index 7a6f08710..cb40a1005 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -263,6 +263,8 @@ export class UserService { user.Settings.settings ), AccountClusterRiskSingleAccount: new AccountClusterRiskSingleAccount( + undefined, + undefined, undefined, {} ).getSettings(user.Settings.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/client/src/app/pages/i18n/i18n-page.html b/apps/client/src/app/pages/i18n/i18n-page.html index 565d5b68f..6ba581455 100644 --- a/apps/client/src/app/pages/i18n/i18n-page.html +++ b/apps/client/src/app/pages/i18n/i18n-page.html @@ -11,6 +11,13 @@ performance, portfolio, software, stock, trading, wealth, web3
  • My Account
  • +
  • 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