Browse Source

Feature/localize X-ray rule EmergencyFundSetup (#4835)

* Set up language localization for static portfolio analysis rule: Emergency Fund (Set up)

* Update changelog
pull/4833/head
Thomas Kaul 4 weeks ago
committed by GitHub
parent
commit
e2ec635bbf
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      CHANGELOG.md
  2. 1
      apps/api/src/app/portfolio/portfolio.service.ts
  3. 1
      apps/api/src/app/user/user.service.ts
  4. 19
      apps/api/src/models/rules/emergency-fund/emergency-fund-setup.ts
  5. 7
      apps/client/src/app/pages/i18n/i18n-page.html

1
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: _Emergency Fund_ (Setup)
- Set up the language localization for the static portfolio analysis rule: _Fees_ (Fee Ratio)
### Changed

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

@ -1319,6 +1319,7 @@ export class PortfolioService {
[
new EmergencyFundSetup(
this.exchangeRateDataService,
userSettings.language,
this.getTotalEmergencyFund({
userSettings,
emergencyFundHoldingsValueInBaseCurrency:

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

@ -298,6 +298,7 @@ export class UserService {
undefined
).getSettings(user.Settings.settings),
EmergencyFundSetup: new EmergencyFundSetup(
undefined,
undefined,
undefined
).getSettings(user.Settings.settings),

19
apps/api/src/models/rules/emergency-fund/emergency-fund-setup.ts

@ -1,16 +1,20 @@
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 { UserSettings } from '@ghostfolio/common/interfaces';
export class EmergencyFundSetup extends Rule<Settings> {
private emergencyFund: number;
private i18nService = new I18nService();
public constructor(
protected exchangeRateDataService: ExchangeRateDataService,
languageCode: string,
emergencyFund: number
) {
super(exchangeRateDataService, {
languageCode,
key: EmergencyFundSetup.name
});
@ -20,13 +24,19 @@ export class EmergencyFundSetup extends Rule<Settings> {
public evaluate() {
if (!this.emergencyFund) {
return {
evaluation: 'No emergency fund has been set up',
evaluation: this.i18nService.getTranslation({
id: 'rule.emergencyFundSetup.false',
languageCode: this.getLanguageCode()
}),
value: false
};
}
return {
evaluation: 'An emergency fund has been set up',
evaluation: this.i18nService.getTranslation({
id: 'rule.emergencyFundSetup.true',
languageCode: this.getLanguageCode()
}),
value: true
};
}
@ -36,7 +46,10 @@ export class EmergencyFundSetup extends Rule<Settings> {
}
public getName() {
return 'Emergency Fund: Set up';
return this.i18nService.getTranslation({
id: 'rule.emergencyFundSetup',
languageCode: this.getLanguageCode()
});
}
public getSettings({ baseCurrency, xRayRules }: UserSettings): Settings {

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

@ -11,6 +11,13 @@
performance, portfolio, software, stock, trading, wealth, web3
</li>
<li i18n="@@myAccount">My Account</li>
<li i18n="@@rule.emergencyFundSetup">Emergency Fund: Set up</li>
<li i18n="@@rule.emergencyFundSetup.false">
No emergency fund has been set up
</li>
<li i18n="@@rule.emergencyFundSetup.true">
An emergency fund has been set up
</li>
<li i18n="@@rule.feeRatioInitialInvestment">Fee Ratio</li>
<li i18n="@@rule.feeRatioInitialInvestment.false">
The fees do exceed &#123;thresholdMax&#125;% of your initial investment

Loading…
Cancel
Save