Dieser Commit ist enthalten in:
Ursprung
925db8b356
Commit
36c7505c5d
@ -1,5 +1,5 @@
|
||||
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"];
|
||||
|
||||
@ -8,30 +8,30 @@ export default function configureI18n(): AstroIntegration {
|
||||
name: "astro-i18n-renamer",
|
||||
hooks: {
|
||||
"astro:build:done": async ({pages, dir, logger, routes}) => {
|
||||
for (let page of pages) {
|
||||
let [locale, ...rest] = page.pathname.split("/");
|
||||
for (const page of pages) {
|
||||
const [locale, ...rest] = page.pathname.split("/");
|
||||
if (locales.includes(locale)) {
|
||||
let path = rest.join("/");
|
||||
let oldPath = `${dir.pathname}${page.pathname}`
|
||||
let newPath = `${dir.pathname}${path}`
|
||||
const path = rest.join("/");
|
||||
const oldPath = `${dir.pathname}${page.pathname}`;
|
||||
const newPath = `${dir.pathname}${path}`;
|
||||
try {
|
||||
await access(cutPrefix(newPath), constants.R_OK | constants.W_OK)
|
||||
await access(cutPrefix(newPath), constants.R_OK | constants.W_OK);
|
||||
} catch (e) {
|
||||
await mkdir(cutPrefix(newPath), {recursive: true});
|
||||
}
|
||||
|
||||
await copyFile(`${cutPrefix(oldPath)}index.html`, `${cutPrefix(newPath)}index.html.${locale}`)
|
||||
logger.info(`Copied ${oldPath}index.html to ${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}`);
|
||||
} else {
|
||||
let oldPath = cutPrefix(`${dir.pathname}${page.pathname}`)
|
||||
await rename(`${oldPath}index.html`, `${oldPath}index.html.en`)
|
||||
const oldPath = cutPrefix(`${dir.pathname}${page.pathname}`);
|
||||
await rename(`${oldPath}index.html`, `${oldPath}index.html.en`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
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({
|
||||
primaryLocale: "en",
|
||||
secondaryLocales: ["de"],
|
||||
fallbackLocale: "en",
|
||||
trailingSlash: "never",
|
||||
run: "client+server",
|
||||
showPrimaryLocale: false,
|
||||
translationLoadingRules: [],
|
||||
translationDirectory: {},
|
||||
translations: {},
|
||||
routes: {
|
||||
de: {
|
||||
about: "ueber-uns",
|
||||
join: "jetzt-spielen",
|
||||
imprint: "impressum",
|
||||
"code-of-conduct": "verhaltensrichtlinien",
|
||||
rules: "regeln",
|
||||
ranked: "rangliste",
|
||||
faq: "haeufige-fragen",
|
||||
stats: "statistiken",
|
||||
announcements: "ankuendigungen",
|
||||
"privacy-policy": "datenschutzerklaerung",
|
||||
"set-password": "passwort-setzen"
|
||||
}
|
||||
},
|
||||
})
|
||||
primaryLocale: "en",
|
||||
secondaryLocales: ["de"],
|
||||
fallbackLocale: "en",
|
||||
trailingSlash: "never",
|
||||
run: "client+server",
|
||||
showPrimaryLocale: false,
|
||||
translationLoadingRules: [],
|
||||
translationDirectory: {},
|
||||
translations: {},
|
||||
routes: {
|
||||
de: {
|
||||
about: "ueber-uns",
|
||||
join: "jetzt-spielen",
|
||||
imprint: "impressum",
|
||||
"code-of-conduct": "verhaltensrichtlinien",
|
||||
rules: "regeln",
|
||||
ranked: "rangliste",
|
||||
faq: "haeufige-fragen",
|
||||
stats: "statistiken",
|
||||
announcements: "ankuendigungen",
|
||||
"privacy-policy": "datenschutzerklaerung",
|
||||
"set-password": "passwort-setzen"
|
||||
}
|
||||
},
|
||||
});
|
@ -62,7 +62,7 @@
|
||||
<input type="password" id="password" name="password" placeholder={t("login.placeholder.password")} bind:value={pw} />
|
||||
</div>
|
||||
<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}
|
||||
<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