mirror of
https://github.com/hacks-guide/Guide_3DS.git
synced 2025-08-23 16:53:16 +02:00
config: add sidebar/navbar and initial translation support
This commit is contained in:
@@ -6,9 +6,14 @@
|
|||||||
import { fileURLToPath, URL } from 'node:url'
|
import { fileURLToPath, URL } from 'node:url'
|
||||||
import { defineConfig } from 'vitepress'
|
import { defineConfig } from 'vitepress'
|
||||||
|
|
||||||
|
import * as i18n from './i18n'
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
title: "3DS Hacks Guide",
|
title: "3DS Hacks Guide",
|
||||||
description: "A complete guide to 3DS custom firmware",
|
description: "A complete guide to 3DS custom firmware",
|
||||||
|
locales: {
|
||||||
|
root: i18n.en_US
|
||||||
|
},
|
||||||
vite: {
|
vite: {
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: [
|
alias: [
|
||||||
|
241
docs/.vitepress/i18n/en_US.js
Normal file
241
docs/.vitepress/i18n/en_US.js
Normal file
@@ -0,0 +1,241 @@
|
|||||||
|
import { en_US as localeData } from './strings'
|
||||||
|
|
||||||
|
const sidebar_common = {
|
||||||
|
text: localeData.other,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["contribute"], link: `/contribute` },
|
||||||
|
{ text: localeData.pages["credits"], link: `/credits` },
|
||||||
|
{ text: localeData.pages["privacy-policy"], link: `/privacy-policy` },
|
||||||
|
{ text: localeData.pages["site-navigation"], link: `/site-navigation` }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
const themeConfig = {
|
||||||
|
langMenuLabel: localeData.langMenuLabel,
|
||||||
|
darkModeSwitchLabel: localeData.darkModeSwitchLabel,
|
||||||
|
darkModeSwitchTitle: localeData.darkModeSwitchTitle,
|
||||||
|
lightModeSwitchTitle: localeData.lightModeSwitchTitle,
|
||||||
|
sidebarMenuLabel: localeData.sidebarMenuLabel,
|
||||||
|
returnToTopLabel: localeData.returnToTopLabel,
|
||||||
|
|
||||||
|
nav: [
|
||||||
|
{ text: localeData.pages["faq"], link: `/faq` },
|
||||||
|
{ text: localeData.pages["troubleshooting"], link: `/troubleshooting` },
|
||||||
|
{ text: localeData.pages["checking-for-cfw"], link: `/checking-for-cfw` },
|
||||||
|
{
|
||||||
|
text: localeData.extras,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["godmode9-usage"], link: `/godmode9-usage` },
|
||||||
|
{ text: localeData.pages["region-changing"], link: `/region-changing` },
|
||||||
|
{ text: localeData.pages["uninstall-cfw"], link: `/uninstall-cfw` },
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
sidebar: {
|
||||||
|
[`/ntrboot`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["ntrboot"], link: `/ntrboot` },
|
||||||
|
{ text: localeData.pages["multiple-options"] },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(ntrboot)"], link: `/installing-boot9strap-(ntrboot)` },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
[`/flashing-ntrboot-(3ds-single-system)`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["ntrboot"], link: `/ntrboot` },
|
||||||
|
{ text: localeData.pages["flashing-ntrboot-(3ds-single-system)"], link: `/flashing-ntrboot-(3ds-single-system)` },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(ntrboot)"], link: `/installing-boot9strap-(ntrboot)` },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
[`/flashing-ntrboot-(3ds-multi-system)`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["ntrboot"], link: `/ntrboot` },
|
||||||
|
{ text: localeData.pages["flashing-ntrboot-(3ds-multi-system)"], link: `/flashing-ntrboot-(3ds-multi-system)` },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(ntrboot)"], link: `/installing-boot9strap-(ntrboot)` },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
[`/flashing-ntrboot-(dsi)`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["ntrboot"], link: `/ntrboot` },
|
||||||
|
{ text: localeData.pages["flashing-ntrboot-(dsi)"], link: `/flashing-ntrboot-(dsi)` },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(ntrboot)"], link: `/installing-boot9strap-(ntrboot)` },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
[`/flashing-ntrboot-(nds)`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["ntrboot"], link: `/ntrboot` },
|
||||||
|
{ text: localeData.pages["flashing-ntrboot-(nds)"], link: `/flashing-ntrboot-(nds)` },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(ntrboot)"], link: `/installing-boot9strap-(ntrboot)` },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
[`/installing-boot9strap-(ntrboot)`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["ntrboot"], link: `/ntrboot` },
|
||||||
|
{ text: localeData.pages["multiple-options"] },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(ntrboot)"], link: `/installing-boot9strap-(ntrboot)` },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
[`/installing-boot9strap-(hardmod)`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(hardmod)"], link: `/installing-boot9strap-(hardmod)` },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
[`/installing-boot9strap-(mset9)`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(mset9)"], link: `/installing-boot9strap-(mset9)` },
|
||||||
|
{ text: localeData.pages["multiple-options"] },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
[`/installing-boot9strap-(mset9-cli)`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(mset9-cli)"], link: `/installing-boot9strap-(mset9-cli)` },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
[`/installing-boot9strap-(mset9-play-store)`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(mset9-play-store)"], link: `/installing-boot9strap-(mset9-play-store)` },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
[`/installing-boot9strap-(safecerthax)`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(safecerthax)"], link: `/installing-boot9strap-(safecerthax)` },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
[`/installing-boot9strap-(soundhax)`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(soundhax)"], link: `/installing-boot9strap-(soundhax)` },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
[`/installing-boot9strap-(ssloth-browser)`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(ssloth-browser)"], link: `/installing-boot9strap-(ssloth-browser)` },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
[`/installing-boot9strap-(super-skaterhax)`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["installing-boot9strap-(super-skaterhax)"], link: `/installing-boot9strap-(super-skaterhax)` },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
/*
|
||||||
|
The `/` path needs to be at the bottom as a catch all! If it is placed anywhere above,
|
||||||
|
it will select the first matching one and not parse the rest!
|
||||||
|
*/
|
||||||
|
[`/`]: [
|
||||||
|
{
|
||||||
|
text: localeData.guide,
|
||||||
|
items: [
|
||||||
|
{ text: localeData.pages["key-information"], link: `/key-information` },
|
||||||
|
{ text: localeData.pages["get-started"], link: `/get-started` },
|
||||||
|
{ text: localeData.pages["multiple-options"] },
|
||||||
|
{ text: localeData.pages["finalizing-setup"], link: `/finalizing-setup` }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
sidebar_common
|
||||||
|
],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default {
|
||||||
|
lang: "en",
|
||||||
|
label: localeData.language,
|
||||||
|
title: localeData.title,
|
||||||
|
description: localeData.description,
|
||||||
|
themeConfig: themeConfig
|
||||||
|
}
|
3
docs/.vitepress/i18n/index.js
Normal file
3
docs/.vitepress/i18n/index.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import en_US from './en_US'
|
||||||
|
|
||||||
|
export { en_US }
|
45
docs/.vitepress/i18n/strings/en_US.json
Normal file
45
docs/.vitepress/i18n/strings/en_US.json
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
"language": "English",
|
||||||
|
"title": "3DS Hacks Guide",
|
||||||
|
"description": "A complete guide to 3DS custom firmware",
|
||||||
|
"langMenuLabel": "Switch language",
|
||||||
|
"darkModeSwitchLabel": "Appearance",
|
||||||
|
"darkModeSwitchTitle": "Switch to dark theme",
|
||||||
|
"lightModeSwitchTitle": "Switch to light theme",
|
||||||
|
"sidebarMenuLabel": "Menu",
|
||||||
|
"returnToTopLabel": "Return to top",
|
||||||
|
|
||||||
|
"guide": "Guide",
|
||||||
|
"extras": "Extras",
|
||||||
|
"other": "Other",
|
||||||
|
"pages": {
|
||||||
|
"checking-for-cfw": "Checking for CFW",
|
||||||
|
"contribute": "Contribute",
|
||||||
|
"credits": "Credits",
|
||||||
|
"faq": "FAQ",
|
||||||
|
"finalizing-setup": "Finalizing Setup",
|
||||||
|
"flashing-ntrboot-(3ds-multi-system)": "Flashing ntrboot (3DS Multi System)",
|
||||||
|
"flashing-ntrboot-(3ds-single-system)": "Flashing ntrboot (3DS Single System)",
|
||||||
|
"flashing-ntrboot-(dsi)": "Flashing ntrboot (DSi)",
|
||||||
|
"flashing-ntrboot-(nds)": "Flashing ntrboot (nds)",
|
||||||
|
"get-started": "Get Started",
|
||||||
|
"godmode9-usage": "GodMode9 Usage",
|
||||||
|
"installing-boot9strap-(hardmod)": "Installing boot9strap (Hardmod)",
|
||||||
|
"installing-boot9strap-(mset9)": "Installing boot9strap (MSET9)",
|
||||||
|
"installing-boot9strap-(mset9-cli)": "Installing boot9strap (MSET9 CLI)",
|
||||||
|
"installing-boot9strap-(mset9-play-store)": "Installing boot9strap (MSET9 Play Store)",
|
||||||
|
"installing-boot9strap-(ntrboot)": "Installing boot9strap (ntrboot)",
|
||||||
|
"installing-boot9strap-(safecerthax)": "Installing boot9strap (safecerthax)",
|
||||||
|
"installing-boot9strap-(soundhax)": "Installing boot9strap (Soundhax)",
|
||||||
|
"installing-boot9strap-(ssloth-browser)": "Installing boot9strap (SSLoth-Browser)",
|
||||||
|
"installing-boot9strap-(super-skaterhax)": "Installing boot9strap (super-skaterhax)",
|
||||||
|
"key-information": "Key Information",
|
||||||
|
"multiple-options": "Multiple Options",
|
||||||
|
"ntrboot": "ntrboot",
|
||||||
|
"privacy-policy": "Privacy Policy",
|
||||||
|
"region-changing": "Region Changing",
|
||||||
|
"site-navigation": "Site Navigation",
|
||||||
|
"troubleshooting": "Troubleshooting",
|
||||||
|
"uninstall-cfw": "Uninstall CFW"
|
||||||
|
}
|
||||||
|
}
|
3
docs/.vitepress/i18n/strings/index.js
Normal file
3
docs/.vitepress/i18n/strings/index.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import en_US from './en_US' with { type: 'json' }
|
||||||
|
|
||||||
|
export { en_US }
|
Reference in New Issue
Block a user