Feature/setup i18n (#1139)

* Setup i18n

* Update changelog
This commit is contained in:
Thomas Kaul
2022-08-13 10:29:36 +02:00
committed by GitHub
parent 55182ac1af
commit 81245635af
25 changed files with 4693 additions and 76 deletions

View File

@@ -54,45 +54,45 @@ const routes: Routes = [
import('./pages/blog/blog-page.module').then((m) => m.BlogPageModule)
},
{
path: 'de/blog/2021/07/hallo-ghostfolio',
path: 'blog/2021/07/hallo-ghostfolio',
loadChildren: () =>
import(
'./pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.module'
).then((m) => m.HalloGhostfolioPageModule)
},
{
path: 'demo',
loadChildren: () =>
import('./pages/demo/demo-page.module').then((m) => m.DemoPageModule)
},
{
path: 'en/blog/2021/07/hello-ghostfolio',
path: 'blog/2021/07/hello-ghostfolio',
loadChildren: () =>
import(
'./pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.module'
).then((m) => m.HelloGhostfolioPageModule)
},
{
path: 'en/blog/2022/01/ghostfolio-first-months-in-open-source',
path: 'blog/2022/01/ghostfolio-first-months-in-open-source',
loadChildren: () =>
import(
'./pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.module'
).then((m) => m.FirstMonthsInOpenSourcePageModule)
},
{
path: 'en/blog/2022/07/ghostfolio-meets-internet-identity',
path: 'blog/2022/07/ghostfolio-meets-internet-identity',
loadChildren: () =>
import(
'./pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.module'
).then((m) => m.GhostfolioMeetsInternetIdentityPageModule)
},
{
path: 'en/blog/2022/07/how-do-i-get-my-finances-in-order',
path: 'blog/2022/07/how-do-i-get-my-finances-in-order',
loadChildren: () =>
import(
'./pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.module'
).then((m) => m.HowDoIGetMyFinancesInOrderPageModule)
},
{
path: 'demo',
loadChildren: () =>
import('./pages/demo/demo-page.module').then((m) => m.DemoPageModule)
},
{
path: 'faq',
loadChildren: () =>

View File

@@ -21,8 +21,10 @@
<td *matCellDef="let element" class="px-1 text-nowrap" mat-cell>
<ng-container *ngIf="element.type === 'PUBLIC'">
<ion-icon class="mr-1" name="link-outline"></ion-icon>
<a href="{{ baseUrl }}/p/{{ element.id }}" target="_blank"
>{{ baseUrl }}/p/{{ element.id }}</a
<a
href="{{ baseUrl }}/{{ defaultLanguageCode }}/p/{{ element.id }}"
target="_blank"
>{{ baseUrl }}/{{ defaultLanguageCode }}/p/{{ element.id }}</a
>
</ng-container>
</td>

View File

@@ -8,6 +8,7 @@ import {
Output
} from '@angular/core';
import { MatTableDataSource } from '@angular/material/table';
import { DEFAULT_LANGUAGE_CODE } from '@ghostfolio/common/config';
import { Access } from '@ghostfolio/common/interfaces';
@Component({
@@ -24,6 +25,7 @@ export class AccessTableComponent implements OnChanges, OnInit {
public baseUrl = window.location.origin;
public dataSource: MatTableDataSource<Access>;
public defaultLanguageCode = DEFAULT_LANGUAGE_CODE;
public displayedColumns = [];
public constructor() {}

View File

@@ -25,14 +25,14 @@
>
<img
class="mr-2"
src="./assets/icons/internet-computer.svg"
src="../assets/icons/internet-computer.svg"
style="height: 0.75rem"
/><span i18n>Sign in with Internet Identity</span>
</button>
<a href="/api/v1/auth/google" mat-stroked-button
<a href="../api/v1/auth/google" mat-stroked-button
><img
class="mr-2"
src="./assets/icons/google.svg"
src="../assets/icons/google.svg"
style="height: 1rem"
/><span i18n>Sign in with Google</span></a
>

View File

@@ -4,7 +4,7 @@
<h3 class="mb-3 text-center" i18n>Changelog</h3>
<mat-card class="changelog">
<mat-card-content>
<markdown [src]="'assets/CHANGELOG.md'"></markdown>
<markdown [src]="'../assets/CHANGELOG.md'"></markdown>
</mat-card-content>
</mat-card>
</div>
@@ -15,7 +15,7 @@
<h3 class="mb-3 text-center" i18n>License</h3>
<mat-card>
<mat-card-content>
<markdown [src]="'assets/LICENSE'"></markdown>
<markdown [src]="'../assets/LICENSE'"></markdown>
</mat-card-content>
</mat-card>
</div>

View File

@@ -2,7 +2,7 @@
<div class="mb-5 row">
<div class="col">
<h3 class="mb-3 text-center" i18n>Privacy Policy</h3>
<markdown [src]="'assets/privacy-policy.md'"></markdown>
<markdown [src]="'../assets/privacy-policy.md'"></markdown>
</div>
</div>
</div>

View File

@@ -68,7 +68,7 @@
<p class="my-5 text-center">
<img
alt="Ghostfol.io Screenshot"
src="./assets/images/screenshot.png"
src="../assets/images/screenshot.png"
style="max-width: 100%; width: 20rem"
title="Ghostfol.io Screenshot"
/>

View File

@@ -66,7 +66,7 @@
<p class="my-5 text-center">
<img
alt="Ghostfol.io Screenshot"
src="./assets/images/screenshot.png"
src="../assets/images/screenshot.png"
style="max-width: 100%; width: 20rem"
title="Ghostfol.io Screenshot"
/>

View File

@@ -8,7 +8,7 @@
<img
alt="Ghostfolio meets Internet Identity Teaser"
class="w-100"
src="./assets/images/blog/ghostfolio-meets-internet-identity.png"
src="../assets/images/blog/ghostfolio-meets-internet-identity.png"
title="Ghostfolio meets Internet Identity"
/>
</div>

View File

@@ -8,7 +8,7 @@
<div class="flex-nowrap no-gutters row">
<a
class="d-flex w-100"
[routerLink]="['/en', 'blog', '2022', '07', 'ghostfolio-meets-internet-identity']"
[routerLink]="['/blog', '2022', '07', 'ghostfolio-meets-internet-identity']"
>
<div class="flex-grow-1">
<div class="h6 m-0 text-truncate">
@@ -34,7 +34,7 @@
<div class="flex-nowrap no-gutters row">
<a
class="d-flex w-100"
[routerLink]="['/en', 'blog', '2022', '07', 'how-do-i-get-my-finances-in-order']"
[routerLink]="['/blog', '2022', '07', 'how-do-i-get-my-finances-in-order']"
>
<div class="flex-grow-1">
<div class="h6 m-0 text-truncate">
@@ -60,7 +60,7 @@
<div class="flex-nowrap no-gutters row">
<a
class="d-flex w-100"
[routerLink]="['/en', 'blog', '2022', '01', 'ghostfolio-first-months-in-open-source']"
[routerLink]="['/blog', '2022', '01', 'ghostfolio-first-months-in-open-source']"
>
<div class="flex-grow-1">
<div class="h6 m-0 text-truncate">
@@ -86,7 +86,7 @@
<div class="flex-nowrap no-gutters row">
<a
class="d-flex w-100"
[routerLink]="['/en', 'blog', '2021', '07', 'hello-ghostfolio']"
[routerLink]="['/blog', '2021', '07', 'hello-ghostfolio']"
>
<div class="flex-grow-1">
<div class="h6 m-0 text-truncate">Hello Ghostfolio</div>
@@ -110,7 +110,7 @@
<div class="flex-nowrap no-gutters row">
<a
class="d-flex w-100"
[routerLink]="['/de', 'blog', '2021', '07', 'hallo-ghostfolio']"
[routerLink]="['/blog', '2021', '07', 'hallo-ghostfolio']"
>
<div class="flex-grow-1">
<div class="h6 m-0 text-truncate">Hallo Ghostfolio</div>

View File

@@ -13,7 +13,7 @@
<img
alt="Ghostfol.io Trailer"
class="rounded video"
src="./assets/images/video-preview.jpg"
src="../assets/images/video-preview.jpg"
style="max-width: 100%; width: 40rem"
/>
</a>
@@ -183,7 +183,7 @@
href="https://play.google.com/store/apps/details?id=ch.dotsilver.ghostfolio.twa"
title="Get Ghostfolio on Google Play"
>
<img alt="Google Play Badge" src="assets/badge-en-google-play.png" />
<img alt="Google Play Badge" src="../assets/badge-en-google-play.png" />
</a>
</div>
</div>

View File

@@ -36,15 +36,15 @@
>
<img
class="mr-2"
src="./assets/icons/internet-computer.svg"
src="../assets/icons/internet-computer.svg"
style="height: 0.75rem"
/>
<span i18n>Continue with Internet Identity</span>
</button>
<a class="d-block" href="/api/v1/auth/google" mat-stroked-button
<a class="d-block" href="../api/v1/auth/google" mat-stroked-button
><img
class="mr-2"
src="./assets/icons/google.svg"
src="../assets/icons/google.svg"
style="height: 1rem"
/><span i18n>Continue with Google</span></a
>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<title>Ghostfol.io</title>
<link rel="canonical" href="https://ghostfol.io/en/" />
<meta name="robots" content="noindex" />
<meta charset="utf-8" />
<meta http-equiv="refresh" content="0; url=https://ghostfol.io/en/" />
</head>
</html>

View File

@@ -1,6 +1,6 @@
User-agent: *
Allow: /
Disallow: /about/privacy-policy
Disallow: /p/*
Disallow: /en/about/privacy-policy
Disallow: /en/p/*
Sitemap: https://ghostfol.io/sitemap.xml

View File

@@ -6,12 +6,12 @@
"icons": [
{
"sizes": "192x192",
"src": "/assets/android-chrome-192x192.png",
"src": "/en/assets/android-chrome-192x192.png",
"type": "image/png"
},
{
"sizes": "512x512",
"src": "/assets/android-chrome-512x512.png",
"src": "/en/assets/android-chrome-512x512.png",
"type": "image/png"
}
],

View File

@@ -8,24 +8,20 @@
<loc>https://ghostfol.io</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/about</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/about/changelog</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/blog</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/de/blog/2021/07/hallo-ghostfolio</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/demo</loc>
<loc>https://ghostfol.io/en/about</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/en/about/changelog</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/en/blog</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
@@ -45,27 +41,31 @@
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/faq</loc>
<loc>https://ghostfol.io/en/demo</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/features</loc>
<loc>https://ghostfol.io/en/faq</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/markets</loc>
<loc>https://ghostfol.io/en/features</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/pricing</loc>
<loc>https://ghostfol.io/en/markets</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/register</loc>
<loc>https://ghostfol.io/en/pricing</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/resources</loc>
<loc>https://ghostfol.io/en/register</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/en/resources</loc>
<lastmod>2022-07-29T00:00:00+00:00</lastmod>
</url>
</urlset>

View File

@@ -21,7 +21,7 @@
/>
<meta
name="twitter:image"
content="https://www.ghostfol.io/assets/cover.png"
content="https://ghostfol.io/en/assets/cover.png"
/>
<meta
name="twitter:title"
@@ -37,10 +37,10 @@
content="Ghostfolio Open Source Wealth Management Software"
/>
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.ghostfol.io" />
<meta property="og:url" content="https://ghostfol.io" />
<meta
property="og:image"
content="https://www.ghostfol.io/assets/cover.png"
content="https://ghostfol.io/en/assets/cover.png"
/>
<meta property="og:updated_time" content="2022-05-28T00:00:00+00:00" />
<meta
@@ -51,26 +51,26 @@
<link
rel="apple-touch-icon"
sizes="180x180"
href="/assets/apple-touch-icon.png"
href="../assets/apple-touch-icon.png"
/>
<link
rel="icon"
type="image/png"
sizes="32x32"
href="/assets/favicon-32x32.png"
href="../assets/favicon-32x32.png"
/>
<link
rel="icon"
type="image/png"
sizes="16x16"
href="/assets/favicon-16x16.png"
href="../assets/favicon-16x16.png"
/>
<link rel="manifest" href="/assets/site.webmanifest" />
<link rel="manifest" href="../assets/site.webmanifest" />
</head>
<body>
<gf-root></gf-root>
<script type="module" src="ionicons/ionicons.esm.js"></script>
<script type="module" src="../ionicons/ionicons.esm.js"></script>
<script nomodule="" src="ionicons.js"></script>
<noscript

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff