Dieser Commit ist enthalten in:
Ursprung
925db8b356
Commit
36c7505c5d
@ -1,5 +1,5 @@
|
|||||||
import type { AstroIntegration } from "astro";
|
import type { AstroIntegration } from "astro";
|
||||||
import { mkdir, access, constants, copyFile, rename } from 'node:fs/promises'
|
import { mkdir, access, constants, copyFile, rename } from "node:fs/promises";
|
||||||
|
|
||||||
const locales = ["de"];
|
const locales = ["de"];
|
||||||
|
|
||||||
@ -8,30 +8,30 @@ export default function configureI18n(): AstroIntegration {
|
|||||||
name: "astro-i18n-renamer",
|
name: "astro-i18n-renamer",
|
||||||
hooks: {
|
hooks: {
|
||||||
"astro:build:done": async ({pages, dir, logger, routes}) => {
|
"astro:build:done": async ({pages, dir, logger, routes}) => {
|
||||||
for (let page of pages) {
|
for (const page of pages) {
|
||||||
let [locale, ...rest] = page.pathname.split("/");
|
const [locale, ...rest] = page.pathname.split("/");
|
||||||
if (locales.includes(locale)) {
|
if (locales.includes(locale)) {
|
||||||
let path = rest.join("/");
|
const path = rest.join("/");
|
||||||
let oldPath = `${dir.pathname}${page.pathname}`
|
const oldPath = `${dir.pathname}${page.pathname}`;
|
||||||
let newPath = `${dir.pathname}${path}`
|
const newPath = `${dir.pathname}${path}`;
|
||||||
try {
|
try {
|
||||||
await access(cutPrefix(newPath), constants.R_OK | constants.W_OK)
|
await access(cutPrefix(newPath), constants.R_OK | constants.W_OK);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
await mkdir(cutPrefix(newPath), {recursive: true});
|
await mkdir(cutPrefix(newPath), {recursive: true});
|
||||||
}
|
}
|
||||||
|
|
||||||
await copyFile(`${cutPrefix(oldPath)}index.html`, `${cutPrefix(newPath)}index.html.${locale}`)
|
await copyFile(`${cutPrefix(oldPath)}index.html`, `${cutPrefix(newPath)}index.html.${locale}`);
|
||||||
logger.info(`Copied ${oldPath}index.html to ${newPath}index.html.${locale}`)
|
logger.info(`Copied ${oldPath}index.html to ${newPath}index.html.${locale}`);
|
||||||
} else {
|
} else {
|
||||||
let oldPath = cutPrefix(`${dir.pathname}${page.pathname}`)
|
const oldPath = cutPrefix(`${dir.pathname}${page.pathname}`);
|
||||||
await rename(`${oldPath}index.html`, `${oldPath}index.html.en`)
|
await rename(`${oldPath}index.html`, `${oldPath}index.html.en`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function cutPrefix(path: string): string {
|
function cutPrefix(path: string): string {
|
||||||
return process.platform === "win32" ? path.substring(1) : path
|
return process.platform === "win32" ? path.substring(1) : path;
|
||||||
}
|
}
|
@ -1,28 +1,28 @@
|
|||||||
import { defineAstroI18nConfig } from "astro-i18n"
|
import { defineAstroI18nConfig } from "astro-i18n";
|
||||||
|
|
||||||
export default defineAstroI18nConfig({
|
export default defineAstroI18nConfig({
|
||||||
primaryLocale: "en",
|
primaryLocale: "en",
|
||||||
secondaryLocales: ["de"],
|
secondaryLocales: ["de"],
|
||||||
fallbackLocale: "en",
|
fallbackLocale: "en",
|
||||||
trailingSlash: "never",
|
trailingSlash: "never",
|
||||||
run: "client+server",
|
run: "client+server",
|
||||||
showPrimaryLocale: false,
|
showPrimaryLocale: false,
|
||||||
translationLoadingRules: [],
|
translationLoadingRules: [],
|
||||||
translationDirectory: {},
|
translationDirectory: {},
|
||||||
translations: {},
|
translations: {},
|
||||||
routes: {
|
routes: {
|
||||||
de: {
|
de: {
|
||||||
about: "ueber-uns",
|
about: "ueber-uns",
|
||||||
join: "jetzt-spielen",
|
join: "jetzt-spielen",
|
||||||
imprint: "impressum",
|
imprint: "impressum",
|
||||||
"code-of-conduct": "verhaltensrichtlinien",
|
"code-of-conduct": "verhaltensrichtlinien",
|
||||||
rules: "regeln",
|
rules: "regeln",
|
||||||
ranked: "rangliste",
|
ranked: "rangliste",
|
||||||
faq: "haeufige-fragen",
|
faq: "haeufige-fragen",
|
||||||
stats: "statistiken",
|
stats: "statistiken",
|
||||||
announcements: "ankuendigungen",
|
announcements: "ankuendigungen",
|
||||||
"privacy-policy": "datenschutzerklaerung",
|
"privacy-policy": "datenschutzerklaerung",
|
||||||
"set-password": "passwort-setzen"
|
"set-password": "passwort-setzen"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
});
|
@ -62,7 +62,7 @@
|
|||||||
<input type="password" id="password" name="password" placeholder={t("login.placeholder.password")} bind:value={pw} />
|
<input type="password" id="password" name="password" placeholder={t("login.placeholder.password")} bind:value={pw} />
|
||||||
</div>
|
</div>
|
||||||
<p class="mt-2">
|
<p class="mt-2">
|
||||||
<a class="text-neutral-500 hover:underline" href={l("/token-erstellen")}>{t("login.setPassword")}</a></p>
|
<a class="text-neutral-500 hover:underline" href={l("/set-password")}>{t("login.setPassword")}</a></p>
|
||||||
|
|
||||||
{#if error}
|
{#if error}
|
||||||
<p class="mt-2 text-red-500">{error}</p>
|
<p class="mt-2 text-red-500">{error}</p>
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
title: Erstelle einen Token für die Webseite
|
|
||||||
description: Erstelle einen Token für die Webseite
|
|
||||||
slug: token-erstellen
|
|
||||||
---
|
|
||||||
|
|
||||||
Ein Token ist ein Schlüssel, mit dem du dich auf der Webseite als Spieler identifizieren kannst. Dieser wird benötigt, um z.B. deine Schematics anzuzeigen.
|
|
||||||
|
|
||||||
## Token erstellen
|
|
||||||
|
|
||||||
Um einen Token zu erstellen, musst du dich auf dem Minecraftserver einloggen und `/token create <name>` eingeben. Der Name ist frei wählbar und dient nur zur Identifikation. Du kannst auch mehrere Tokens erstellen.
|
|
||||||
Du erhältst dann eine Nachricht, auf der du mit einem Klick den Token in die Zwischenablage kopieren kannst. Dieser Token ist nur einmal sichtbar, bei Verlust musst du einen neuen erstellen.
|
|
||||||
|
|
||||||
## Token verwenden
|
|
||||||
|
|
||||||
Um den Token zu verwenden, kannst du ihn unter dem Menüpunkt `Konto` auf der Webseite eingeben um dich zu identifizieren. Dazu wird dann auch dein Minecraftname benötigt.
|
|
||||||
|
|
||||||
Wenn du erfolgreich mit dem Token eingeloggt wurdest, wirst du auf die Dashboardseite weitergeleitet. Dort kannst du dann deine Schematics und Statistiken sehen.
|
|
||||||
|
|
||||||
## Token löschen
|
|
||||||
|
|
||||||
Um einen Token zu löschen, musst du auf dem Minecraftserver `/token` eingeben. Dadurch wird eine Liste mit allen deinen Tokens angezeigt. Mit einem Klick auf den Token kannst du ihn löschen.
|
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren