Feature/support localized routes (#2009)
* Support localized routes * Update changelog
This commit is contained in:
parent
21ebaae6ef
commit
7529a7a26c
@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Added a link to manage the benchmarks to the benchmark comparator
|
- Added a link to manage the benchmarks to the benchmark comparator
|
||||||
|
- Added support for localized routes
|
||||||
|
|
||||||
## 1.272.0 - 2023-05-26
|
## 1.272.0 - 2023-05-26
|
||||||
|
|
||||||
|
@ -5,25 +5,27 @@ import { PageTitleStrategy } from '@ghostfolio/client/services/page-title.strate
|
|||||||
import { ModulePreloadService } from './core/module-preload.service';
|
import { ModulePreloadService } from './core/module-preload.service';
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{
|
...['about', 'ueber-uns'].map((path) => ({
|
||||||
path: 'about',
|
path,
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
import('./pages/about/about-page.module').then((m) => m.AboutPageModule)
|
import('./pages/about/about-page.module').then((m) => m.AboutPageModule)
|
||||||
},
|
})),
|
||||||
{
|
...['about/changelog', 'ueber-uns/changelog'].map((path) => ({
|
||||||
path: 'about/changelog',
|
path,
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
import('./pages/about/changelog/changelog-page.module').then(
|
import('./pages/about/changelog/changelog-page.module').then(
|
||||||
(m) => m.ChangelogPageModule
|
(m) => m.ChangelogPageModule
|
||||||
)
|
)
|
||||||
},
|
})),
|
||||||
{
|
...['about/privacy-policy', 'ueber-uns/datenschutzbestimmungen'].map(
|
||||||
path: 'about/privacy-policy',
|
(path) => ({
|
||||||
loadChildren: () =>
|
path,
|
||||||
import('./pages/about/privacy-policy/privacy-policy-page.module').then(
|
loadChildren: () =>
|
||||||
(m) => m.PrivacyPolicyPageModule
|
import('./pages/about/privacy-policy/privacy-policy-page.module').then(
|
||||||
)
|
(m) => m.PrivacyPolicyPageModule
|
||||||
},
|
)
|
||||||
|
})
|
||||||
|
),
|
||||||
{
|
{
|
||||||
path: 'account',
|
path: 'account',
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
@ -48,11 +50,11 @@ const routes: Routes = [
|
|||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
import('./pages/auth/auth-page.module').then((m) => m.AuthPageModule)
|
import('./pages/auth/auth-page.module').then((m) => m.AuthPageModule)
|
||||||
},
|
},
|
||||||
{
|
...['blog'].map((path) => ({
|
||||||
path: 'blog',
|
path,
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
import('./pages/blog/blog-page.module').then((m) => m.BlogPageModule)
|
import('./pages/blog/blog-page.module').then((m) => m.BlogPageModule)
|
||||||
},
|
})),
|
||||||
{
|
{
|
||||||
path: 'blog/2021/07/hallo-ghostfolio',
|
path: 'blog/2021/07/hallo-ghostfolio',
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
@ -149,30 +151,30 @@ const routes: Routes = [
|
|||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
import('./pages/demo/demo-page.module').then((m) => m.DemoPageModule)
|
import('./pages/demo/demo-page.module').then((m) => m.DemoPageModule)
|
||||||
},
|
},
|
||||||
{
|
...['faq', 'haeufig-gestellte-fragen'].map((path) => ({
|
||||||
path: 'faq',
|
path,
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
import('./pages/faq/faq-page.module').then((m) => m.FaqPageModule)
|
import('./pages/faq/faq-page.module').then((m) => m.FaqPageModule)
|
||||||
},
|
})),
|
||||||
{
|
...['features'].map((path) => ({
|
||||||
path: 'features',
|
path,
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
import('./pages/features/features-page.module').then(
|
import('./pages/features/features-page.module').then(
|
||||||
(m) => m.FeaturesPageModule
|
(m) => m.FeaturesPageModule
|
||||||
)
|
)
|
||||||
},
|
})),
|
||||||
{
|
{
|
||||||
path: 'home',
|
path: 'home',
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
import('./pages/home/home-page.module').then((m) => m.HomePageModule)
|
import('./pages/home/home-page.module').then((m) => m.HomePageModule)
|
||||||
},
|
},
|
||||||
{
|
...['markets', 'maerkte'].map((path) => ({
|
||||||
path: 'markets',
|
path,
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
import('./pages/markets/markets-page.module').then(
|
import('./pages/markets/markets-page.module').then(
|
||||||
(m) => m.MarketsPageModule
|
(m) => m.MarketsPageModule
|
||||||
)
|
)
|
||||||
},
|
})),
|
||||||
{
|
{
|
||||||
path: 'open',
|
path: 'open',
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
@ -192,27 +194,27 @@ const routes: Routes = [
|
|||||||
(m) => m.PortfolioPageModule
|
(m) => m.PortfolioPageModule
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
{
|
...['pricing', 'preise'].map((path) => ({
|
||||||
path: 'pricing',
|
path,
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
import('./pages/pricing/pricing-page.module').then(
|
import('./pages/pricing/pricing-page.module').then(
|
||||||
(m) => m.PricingPageModule
|
(m) => m.PricingPageModule
|
||||||
)
|
)
|
||||||
},
|
})),
|
||||||
{
|
...['register', 'registrierung'].map((path) => ({
|
||||||
path: 'register',
|
path,
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
import('./pages/register/register-page.module').then(
|
import('./pages/register/register-page.module').then(
|
||||||
(m) => m.RegisterPageModule
|
(m) => m.RegisterPageModule
|
||||||
)
|
)
|
||||||
},
|
})),
|
||||||
{
|
...['resources', 'ressourcen'].map((path) => ({
|
||||||
path: 'resources',
|
path,
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
import('./pages/resources/resources-page.module').then(
|
import('./pages/resources/resources-page.module').then(
|
||||||
(m) => m.ResourcesPageModule
|
(m) => m.ResourcesPageModule
|
||||||
)
|
)
|
||||||
},
|
})),
|
||||||
{
|
{
|
||||||
path: 'start',
|
path: 'start',
|
||||||
loadChildren: () =>
|
loadChildren: () =>
|
||||||
|
@ -1,6 +1,19 @@
|
|||||||
User-agent: *
|
User-agent: *
|
||||||
Allow: /
|
Allow: /
|
||||||
|
Disallow: /de/about/*
|
||||||
|
Disallow: /de/faq
|
||||||
|
Disallow: /de/markets
|
||||||
|
Disallow: /de/portfolio/*
|
||||||
|
Disallow: /de/pricing
|
||||||
|
Disallow: /de/register
|
||||||
|
Disallow: /de/resources
|
||||||
|
Disallow: /de/ueber-uns/datenschutzbestimmungen
|
||||||
Disallow: /en/about/privacy-policy
|
Disallow: /en/about/privacy-policy
|
||||||
Disallow: /en/p/*
|
Disallow: /en/p/*
|
||||||
|
Disallow: /en/portfolio/*
|
||||||
|
Disallow: /portfolio/*
|
||||||
|
Disallow: /pricing/*
|
||||||
|
Disallow: /register/*
|
||||||
|
Disallow: /resources/*
|
||||||
|
|
||||||
Sitemap: https://ghostfol.io/sitemap.xml
|
Sitemap: https://ghostfol.io/sitemap.xml
|
||||||
|
@ -6,110 +6,142 @@
|
|||||||
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io</loc>
|
<loc>https://ghostfol.io</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/de/blog</loc>
|
<loc>https://ghostfol.io/de/blog</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/de/blog/2021/07/hallo-ghostfolio</loc>
|
<loc>https://ghostfol.io/de/blog/2021/07/hallo-ghostfolio</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/de/blog/2023/01/ghostfolio-auf-sackgeld-vorgestellt</loc>
|
<loc>https://ghostfol.io/de/blog/2023/01/ghostfolio-auf-sackgeld-vorgestellt</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/de/pricing</loc>
|
<loc>https://ghostfol.io/de/features</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://ghostfol.io/de/haeufig-gestellte-fragen</loc>
|
||||||
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://ghostfol.io/de/maerkte</loc>
|
||||||
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://ghostfol.io/de/open</loc>
|
||||||
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://ghostfol.io/de/preise</loc>
|
||||||
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://ghostfol.io/de/registrierung</loc>
|
||||||
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://ghostfol.io/de/ressourcen</loc>
|
||||||
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://ghostfol.io/de/ueber-uns</loc>
|
||||||
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://ghostfol.io/de/ueber-uns/changelog</loc>
|
||||||
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/about</loc>
|
<loc>https://ghostfol.io/en/about</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/about/changelog</loc>
|
<loc>https://ghostfol.io/en/about/changelog</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog</loc>
|
<loc>https://ghostfol.io/en/blog</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2021/07/hello-ghostfolio</loc>
|
<loc>https://ghostfol.io/en/blog/2021/07/hello-ghostfolio</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2022/01/ghostfolio-first-months-in-open-source</loc>
|
<loc>https://ghostfol.io/en/blog/2022/01/ghostfolio-first-months-in-open-source</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2022/07/ghostfolio-meets-internet-identity</loc>
|
<loc>https://ghostfol.io/en/blog/2022/07/ghostfolio-meets-internet-identity</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2022/07/how-do-i-get-my-finances-in-order</loc>
|
<loc>https://ghostfol.io/en/blog/2022/07/how-do-i-get-my-finances-in-order</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2022/08/500-stars-on-github</loc>
|
<loc>https://ghostfol.io/en/blog/2022/08/500-stars-on-github</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2022/10/hacktoberfest-2022</loc>
|
<loc>https://ghostfol.io/en/blog/2022/10/hacktoberfest-2022</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2022/11/black-friday-2022</loc>
|
<loc>https://ghostfol.io/en/blog/2022/11/black-friday-2022</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2022/12/the-importance-of-tracking-your-personal-finances</loc>
|
<loc>https://ghostfol.io/en/blog/2022/12/the-importance-of-tracking-your-personal-finances</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2023/02/ghostfolio-meets-umbrel</loc>
|
<loc>https://ghostfol.io/en/blog/2023/02/ghostfolio-meets-umbrel</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2023/03/ghostfolio-reaches-1000-stars-on-github</loc>
|
<loc>https://ghostfol.io/en/blog/2023/03/ghostfolio-reaches-1000-stars-on-github</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2023/05/unlock-your-financial-potential-with-ghostfolio</loc>
|
<loc>https://ghostfol.io/en/blog/2023/05/unlock-your-financial-potential-with-ghostfolio</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/demo</loc>
|
<loc>https://ghostfol.io/en/demo</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/faq</loc>
|
<loc>https://ghostfol.io/en/faq</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/features</loc>
|
<loc>https://ghostfol.io/en/features</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/markets</loc>
|
<loc>https://ghostfol.io/en/markets</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/open</loc>
|
<loc>https://ghostfol.io/en/open</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/pricing</loc>
|
<loc>https://ghostfol.io/en/pricing</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/register</loc>
|
<loc>https://ghostfol.io/en/register</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/resources</loc>
|
<loc>https://ghostfol.io/en/resources</loc>
|
||||||
<lastmod>2023-05-20T00:00:00+00:00</lastmod>
|
<lastmod>2023-05-27T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
</urlset>
|
</urlset>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user