From 4f99ba449f861ad205c5fcead76fe5b7eb69722a Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Sun, 25 Sep 2022 18:21:38 +0200 Subject: [PATCH] =?UTF-8?q?Setup=20Espa=C3=B1ol?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/api/src/app/frontend.middleware.ts | 14 ++++++++++++++ .../app/pages/account/account-page.component.ts | 2 +- .../client/src/app/pages/account/account-page.html | 1 + .../src/app/pages/features/features-page.html | 4 ++-- libs/common/src/lib/helper.ts | 4 +++- 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/apps/api/src/app/frontend.middleware.ts b/apps/api/src/app/frontend.middleware.ts index 876287db4..c49560c3a 100644 --- a/apps/api/src/app/frontend.middleware.ts +++ b/apps/api/src/app/frontend.middleware.ts @@ -11,6 +11,7 @@ import { NextFunction, Request, Response } from 'express'; export class FrontendMiddleware implements NestMiddleware { public indexHtmlDe = ''; public indexHtmlEn = ''; + public indexHtmlEs = ''; public indexHtmlIt = ''; public indexHtmlNl = ''; public isProduction: boolean; @@ -34,6 +35,10 @@ export class FrontendMiddleware implements NestMiddleware { this.getPathOfIndexHtmlFile(DEFAULT_LANGUAGE_CODE), 'utf8' ); + this.indexHtmlEs = fs.readFileSync( + this.getPathOfIndexHtmlFile('es'), + 'utf8' + ); this.indexHtmlIt = fs.readFileSync( this.getPathOfIndexHtmlFile('it'), 'utf8' @@ -71,6 +76,15 @@ export class FrontendMiddleware implements NestMiddleware { rootUrl: this.configurationService.get('ROOT_URL') }) ); + } else if (req.path === '/es' || req.path.startsWith('/es/')) { + res.send( + this.interpolate(this.indexHtmlIt, { + featureGraphicPath, + languageCode: 'es', + path: req.path, + rootUrl: this.configurationService.get('ROOT_URL') + }) + ); } else if (req.path === '/it' || req.path.startsWith('/it/')) { res.send( this.interpolate(this.indexHtmlIt, { diff --git a/apps/client/src/app/pages/account/account-page.component.ts b/apps/client/src/app/pages/account/account-page.component.ts index fee2b2358..f741058a9 100644 --- a/apps/client/src/app/pages/account/account-page.component.ts +++ b/apps/client/src/app/pages/account/account-page.component.ts @@ -54,7 +54,7 @@ export class AccountPageComponent implements OnDestroy, OnInit { public hasPermissionToUpdateViewMode: boolean; public hasPermissionToUpdateUserSettings: boolean; public language = document.documentElement.lang; - public locales = ['de', 'de-CH', 'en-GB', 'en-US', 'it', 'nl']; + public locales = ['de', 'de-CH', 'en-GB', 'en-US', 'es', 'it', 'nl']; public price: number; public priceId: string; public snackBarRef: MatSnackBarRef; diff --git a/apps/client/src/app/pages/account/account-page.html b/apps/client/src/app/pages/account/account-page.html index aa0983d15..e3c446f57 100644 --- a/apps/client/src/app/pages/account/account-page.html +++ b/apps/client/src/app/pages/account/account-page.html @@ -132,6 +132,7 @@ Deutsch English + EspaƱol Italiano Nederlands diff --git a/apps/client/src/app/pages/features/features-page.html b/apps/client/src/app/pages/features/features-page.html index d1a57f6b3..8dc184326 100644 --- a/apps/client/src/app/pages/features/features-page.html +++ b/apps/client/src/app/pages/features/features-page.html @@ -197,8 +197,8 @@

Multi-Language

- Use Ghostfolio in multiple languages: English, German and - Italian are currently supported. + Use Ghostfolio in multiple languages: English, Dutch, German, + Italian and Spanish are currently supported.

diff --git a/libs/common/src/lib/helper.ts b/libs/common/src/lib/helper.ts index 790fb8ac0..df0d51900 100644 --- a/libs/common/src/lib/helper.ts +++ b/libs/common/src/lib/helper.ts @@ -1,7 +1,7 @@ import * as currencies from '@dinero.js/currencies'; import { DataSource } from '@prisma/client'; import { getDate, getMonth, getYear, parse, subDays } from 'date-fns'; -import { de, it, nl } from 'date-fns/locale'; +import { de, es, it, nl } from 'date-fns/locale'; import { ghostfolioScraperApiSymbolPrefix, locale } from './config'; import { Benchmark } from './interfaces'; @@ -75,6 +75,8 @@ export function getCssVariable(aCssVariable: string) { export function getDateFnsLocale(aLanguageCode: string) { if (aLanguageCode === 'de') { return de; + } else if (aLanguageCode === 'es') { + return es; } else if (aLanguageCode === 'it') { return it; } else if (aLanguageCode === 'nl') {