Feature/improve localization of personal finance tools (#2274)

* Improve localization

* Update changelog
pull/2285/head
Thomas Kaul 9 months ago committed by GitHub
parent dceaa55a6c
commit 93e1ee3ba7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Shortened the page titles
- Improved the language localization for German (`de`)
- Upgraded `prisma` from version `4.16.2` to `5.2.0`
- Upgraded `yahoo-finance2` from version `2.4.3` to `2.4.4`

@ -50,6 +50,110 @@
<loc>https://ghostfol.io/de/ressourcen</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-altoo</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-copilot-money</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-delta</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-divvydiary</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-exirio</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-folishare</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-getquin</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-gospatz</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-justetf</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-kubera</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-markets.sh</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-maybe-finance</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-monse</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-parqet</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-plannix</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-portfolio-dividend-tracker</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-portseido</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-projectionlab</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-seeking-alpha</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-sharesight</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-simple-portfolio</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-snowball-analytics</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-sumio</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-utluna</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ressourcen/personal-finance-tools/open-source-alternative-zu-yeekatee</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/ueber-uns</loc>
<lastmod>${currentDate}T00:00:00+00:00</lastmod>

@ -19,7 +19,7 @@ const routes: Routes = [
.map(({ component, key, name }) => {
return {
canActivate: [AuthGuard],
path: `open-source-alternative-to-${key}`,
path: $localize`open-source-alternative-to` + `-${key}`,
loadComponent: () =>
import(`./products/${key}-page.component`).then(() => component),
title: $localize`Open Source Alternative to ${name}`

@ -10,6 +10,7 @@ import { products } from './products';
templateUrl: './personal-finance-tools-page.html'
})
export class PersonalFinanceToolsPageComponent implements OnDestroy {
public pathAlternativeTo = $localize`open-source-alternative-to` + '-';
public pathResources = '/' + $localize`resources`;
public products = products.filter(({ key }) => {
return key !== 'ghostfolio';

@ -29,7 +29,7 @@
<a
class="d-flex overflow-hidden w-100"
title="Compare Ghostfolio to {{ product.name }}"
[routerLink]="[pathResources, 'personal-finance-tools', 'open-source-alternative-to-' + product.key]"
[routerLink]="[pathResources, 'personal-finance-tools', pathAlternativeTo + product.key]"
>
<div class="flex-grow-1 overflow-hidden">
<div class="h6 m-0 text-truncate" i18n>

@ -10,7 +10,7 @@
</h1>
</div>
<section class="mb-4">
<p>
<p i18n>
Are you looking for an open source alternative to {{ product2.name
}}? <a [routerLink]="routerLinkAbout">Ghostfolio</a> is a powerful
portfolio management tool that provides individuals with a
@ -23,7 +23,7 @@
to help you make informed decisions and take control of your
financial future.
</p>
<p>
<p i18n>
Ghostfolio is an open source software (OSS), providing a
cost-effective alternative to {{ product2.name }} making it
particularly suitable for individuals on a tight budget, such as
@ -34,7 +34,7 @@
and personal finance enthusiasts, Ghostfolio continuously enhances
its capabilities, security, and user experience.
</p>
<p>
<p i18n>
Lets dive deeper into the detailed comparison table below to gain a
thorough understanding of how Ghostfolio positions itself relative
to {{ product2.name }}. We will explore various aspects such as
@ -177,11 +177,11 @@
</tr>
<tr class="mat-mdc-row">
<td class="mat-mdc-cell px-3 py-2 text-right" i18n>Pricing</td>
<td class="mat-mdc-cell px-1 py-2">
<td class="mat-mdc-cell px-1 py-2" i18n>
Starting from {{ product1.pricingPerYear }} / year
</td>
<td class="mat-mdc-cell px-1 py-2">
<ng-container *ngIf="product2.pricingPerYear"
<ng-container *ngIf="product2.pricingPerYear" i18n
>Starting from {{ product2.pricingPerYear }} /
year</ng-container
>
@ -196,7 +196,7 @@
</table>
</section>
<section class="mb-4">
<p>
<p i18n>
Please note that the information provided is based on our
independent research and analysis. This website is not affiliated
with {{ product2.name }} or any other product mentioned in the
@ -208,7 +208,7 @@
</p>
</section>
<section class="call-to-action mb-4 py-3 rounded">
<h2 class="h4 mb-0 text-center">
<h2 class="h4 mb-0 text-center" i18n>
Ready to take your <strong>investments</strong> to the
<strong>next level</strong>?
</h2>
@ -217,7 +217,7 @@
Ghostfolio.
</p>
<div class="text-center">
<a color="primary" href="https://ghostfol.io" mat-flat-button>
<a color="primary" href="https://ghostfol.io" i18n mat-flat-button>
Get Started
</a>
</div>

@ -35,18 +35,18 @@ export const products: Product[] = [
isOpenSource: true,
key: 'ghostfolio',
languages: [
'Dutch',
'Deutsch',
'English',
'French',
'German',
'Italian',
'Portuguese',
'Spanish'
'Español',
'Français',
'Italiano',
'Nederlands',
'Português'
],
name: 'Ghostfolio',
origin: 'Switzerland',
origin: $localize`Switzerland`,
pricingPerYear: '$19',
region: 'Global',
region: $localize`Global`,
slogan: 'Open Source Wealth Management',
useAnonymously: true
},
@ -57,7 +57,7 @@ export const products: Product[] = [
isOpenSource: false,
key: 'altoo',
name: 'Altoo Wealth Platform',
origin: 'Switzerland',
origin: $localize`Switzerland`,
slogan: 'Simplicity for Complex Wealth'
},
{
@ -68,7 +68,7 @@ export const products: Product[] = [
isOpenSource: false,
key: 'copilot-money',
name: 'Copilot Money',
origin: 'United States',
origin: $localize`United States`,
pricingPerYear: '$70',
slogan: 'Do money better with Copilot'
},
@ -81,7 +81,7 @@ export const products: Product[] = [
key: 'delta',
name: 'Delta Investment Tracker',
note: 'Acquired by eToro',
origin: 'Belgium',
origin: $localize`Belgium`,
slogan: 'The app to track all your investments. Make smart moves only.'
},
{
@ -91,9 +91,9 @@ export const products: Product[] = [
hasSelfHostingAbility: false,
isOpenSource: false,
key: 'divvydiary',
languages: ['English', 'German'],
languages: ['Deutsch', 'English'],
name: 'DivvyDiary',
origin: 'Germany',
origin: $localize`Germany`,
pricingPerYear: '€65',
slogan: 'Your personal Dividend Calendar'
},
@ -105,7 +105,7 @@ export const products: Product[] = [
isOpenSource: false,
key: 'exirio',
name: 'Exirio',
origin: 'United States',
origin: $localize`United States`,
pricingPerYear: '$100',
slogan: 'All your wealth, in one place.'
},
@ -115,9 +115,9 @@ export const products: Product[] = [
hasSelfHostingAbility: false,
isOpenSource: false,
key: 'folishare',
languages: ['English', 'German'],
languages: ['Deutsch', 'English'],
name: 'folishare',
origin: 'Austria',
origin: $localize`Austria`,
pricingPerYear: '$65',
slogan: 'Take control over your investments'
},
@ -128,9 +128,9 @@ export const products: Product[] = [
hasSelfHostingAbility: false,
isOpenSource: false,
key: 'getquin',
languages: ['English', 'German'],
languages: ['Deutsch', 'English'],
name: 'getquin',
origin: 'Germany',
origin: $localize`Germany`,
pricingPerYear: '€48',
slogan: 'Portfolio Tracker, Analysis & Community'
},
@ -141,7 +141,7 @@ export const products: Product[] = [
isOpenSource: false,
key: 'gospatz',
name: 'goSPATZ',
origin: 'Germany',
origin: $localize`Germany`,
slogan: 'Volle Kontrolle über deine Investitionen'
},
{
@ -152,7 +152,7 @@ export const products: Product[] = [
isOpenSource: false,
key: 'justetf',
name: 'justETF',
origin: 'Germany',
origin: $localize`Germany`,
pricingPerYear: '€119',
slogan: 'ETF portfolios made simple'
},
@ -164,7 +164,7 @@ export const products: Product[] = [
isOpenSource: false,
key: 'kubera',
name: 'Kubera®',
origin: 'United States',
origin: $localize`United States`,
pricingPerYear: '$150',
slogan: 'The Time Machine for your Net Worth'
},
@ -177,9 +177,9 @@ export const products: Product[] = [
key: 'markets.sh',
languages: ['English'],
name: 'markets.sh',
origin: 'Germany',
origin: $localize`Germany`,
pricingPerYear: '€168',
region: 'Global',
region: $localize`Global`,
slogan: 'Track your investments'
},
{
@ -191,9 +191,9 @@ export const products: Product[] = [
languages: ['English'],
name: 'Maybe Finance',
note: 'Sunset in 2023',
origin: 'United States',
origin: $localize`United States`,
pricingPerYear: '$145',
region: 'United States',
region: $localize`United States`,
slogan: 'Your financial future, in your control'
},
{
@ -215,7 +215,7 @@ export const products: Product[] = [
key: 'parqet',
name: 'Parqet',
note: 'Originally named as Tresor One',
origin: 'Germany',
origin: $localize`Germany`,
pricingPerYear: '€88',
region: 'Austria, Germany, Switzerland',
slogan: 'Dein Vermögen immer im Blick'
@ -227,7 +227,7 @@ export const products: Product[] = [
isOpenSource: false,
key: 'plannix',
name: 'Plannix',
origin: 'Italy',
origin: $localize`Italy`,
slogan: 'Your Personal Finance Hub'
},
{
@ -236,9 +236,9 @@ export const products: Product[] = [
hasSelfHostingAbility: false,
isOpenSource: false,
key: 'portfolio-dividend-tracker',
languages: ['English', 'Dutch'],
languages: ['English', 'Nederlands'],
name: 'Portfolio Dividend Tracker',
origin: 'Netherlands',
origin: $localize`Netherlands`,
pricingPerYear: '€60',
slogan: 'Manage all your portfolios'
},
@ -249,9 +249,9 @@ export const products: Product[] = [
hasSelfHostingAbility: false,
isOpenSource: false,
key: 'portseido',
languages: ['Dutch', 'English', 'French', 'German'],
languages: ['Deutsch', 'English', 'Français', 'Nederlands'],
name: 'Portseido',
origin: 'Thailand',
origin: $localize`Thailand`,
pricingPerYear: '$96',
slogan: 'Portfolio Performance and Dividend Tracker'
},
@ -263,7 +263,7 @@ export const products: Product[] = [
isOpenSource: false,
key: 'projectionlab',
name: 'ProjectionLab',
origin: 'United States',
origin: $localize`United States`,
pricingPerYear: '$108',
slogan: 'Build Financial Plans You Love.'
},
@ -275,7 +275,7 @@ export const products: Product[] = [
isOpenSource: false,
key: 'seeking-alpha',
name: 'Seeking Alpha',
origin: 'United States',
origin: $localize`United States`,
pricingPerYear: '$239',
slogan: 'Stock Market Analysis & Tools for Investors'
},
@ -287,9 +287,9 @@ export const products: Product[] = [
isOpenSource: false,
key: 'sharesight',
name: 'Sharesight',
origin: 'New Zealand',
origin: $localize`New Zealand`,
pricingPerYear: '$135',
region: 'Global',
region: $localize`Global`,
slogan: 'Stock Portfolio Tracker'
},
{
@ -299,7 +299,7 @@ export const products: Product[] = [
isOpenSource: false,
key: 'simple-portfolio',
name: 'Simple Portfolio',
origin: 'Czech Republic',
origin: $localize`Czech Republic`,
pricingPerYear: '€80',
slogan: 'Stock Portfolio Tracker'
},
@ -322,7 +322,7 @@ export const products: Product[] = [
isOpenSource: false,
key: 'sumio',
name: 'Sumio',
origin: 'Czech Republic',
origin: $localize`Czech Republic`,
pricingPerYear: '$20',
slogan: 'Sum up and build your wealth.'
},
@ -332,9 +332,9 @@ export const products: Product[] = [
hasSelfHostingAbility: false,
isOpenSource: false,
key: 'utluna',
languages: ['English', 'French', 'German'],
languages: ['Deutsch', 'English', 'Français'],
name: 'Utluna',
origin: 'Switzerland',
origin: $localize`Switzerland`,
pricingPerYear: '$300',
slogan: 'Your Portfolio. Revealed.',
useAnonymously: true
@ -346,8 +346,8 @@ export const products: Product[] = [
isOpenSource: false,
key: 'yeekatee',
name: 'yeekatee',
origin: 'Switzerland',
region: 'Switzerland',
origin: $localize`Switzerland`,
region: $localize`Switzerland`,
slogan: 'Connect. Share. Invest.'
}
];

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save