I was being really dumb about how different languages were handled, should be better now :D
This commit is contained in:
parent
00ed3fe3b4
commit
92952437d8
5 changed files with 9 additions and 20 deletions
|
|
@ -14,6 +14,7 @@ const themeList = [
|
|||
const languageList = [
|
||||
{ name: "English", value: "en" },
|
||||
{ name: "日本語", value: "jp" },
|
||||
{ name: "Français", value: "fr"}
|
||||
];
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
import en from "./en.json";
|
||||
import jp from "./jp.json";
|
||||
import fr from "./fr.json";
|
||||
|
||||
export const defaultLang = "en";
|
||||
|
||||
export const ui = {
|
||||
en,
|
||||
jp,
|
||||
fr,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { ui, defaultLang } from "./ui";
|
|||
type LanguageKeys = keyof typeof ui;
|
||||
type TranslationKeys = keyof (typeof ui)[typeof defaultLang];
|
||||
|
||||
export const STATIC_PATHS = [{ params: { lang: "en" } }, { params: { lang: "jp" } }];
|
||||
export const STATIC_PATHS = [{ params: { lang: "en" } }, { params: { lang: "jp" } }, { params: { lang: "fr" } }];
|
||||
|
||||
function getLangFromUrl(url: URL) {
|
||||
// comma lol
|
||||
|
|
|
|||
|
|
@ -382,14 +382,7 @@ export function getStaticPaths() {
|
|||
let currentLanguage = window.location.pathname.split("/")[1];
|
||||
// Do nothing.. because we're already on the page.
|
||||
if (value == currentLanguage) return;
|
||||
switch (value) {
|
||||
case "en":
|
||||
window.location.href = "/en/settings/";
|
||||
break;
|
||||
case "jp":
|
||||
window.location.href = "/jp/settings/";
|
||||
break;
|
||||
}
|
||||
window.location.href = `/${value}/settings`;
|
||||
}
|
||||
}
|
||||
document.addEventListener("astro:after-swap", () => {
|
||||
|
|
|
|||
|
|
@ -26,17 +26,7 @@ import { ViewTransitions } from "astro:transitions";
|
|||
if (currentLang) {
|
||||
try {
|
||||
let parsed = JSON.parse(currentLang).value;
|
||||
switch (parsed) {
|
||||
case "en":
|
||||
redirect("/en/");
|
||||
break;
|
||||
case "jp":
|
||||
redirect("/jp/");
|
||||
break;
|
||||
default:
|
||||
redirect("/en/");
|
||||
break;
|
||||
}
|
||||
redirect(`/${parsed}/`);
|
||||
} catch {
|
||||
localStorage.clear();
|
||||
window.location.reload();
|
||||
|
|
@ -45,6 +35,9 @@ import { ViewTransitions } from "astro:transitions";
|
|||
if (navigator.language.includes("ja")) {
|
||||
localStorage.setItem("alu__selectedLanguage", JSON.stringify({ value: "jp" }));
|
||||
redirect("/jp/");
|
||||
} else if (navigator.language.includes("fr")) {
|
||||
localStorage.setItem("alu__selectedLanguage", JSON.stringify({ value: "fr" }));
|
||||
redirect("/fr/");
|
||||
} else {
|
||||
localStorage.setItem("alu__selectedLanguage", JSON.stringify({ value: "en" }));
|
||||
redirect("/en/");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue