feat(web): i18n (#12471)

This commit is contained in:
Adam
2026-02-06 08:54:51 -06:00
committed by GitHub
parent 0ec5f6608b
commit 812597bb8b
75 changed files with 9868 additions and 726 deletions

View File

@@ -2,12 +2,16 @@ import { createAsync } from "@solidjs/router"
import { createMemo } from "solid-js"
import { github } from "~/lib/github"
import { config } from "~/config"
import { useLanguage } from "~/context/language"
import { useI18n } from "~/context/i18n"
export function Footer() {
const language = useLanguage()
const i18n = useI18n()
const githubData = createAsync(() => github())
const starCount = createMemo(() =>
githubData()?.stars
? new Intl.NumberFormat("en-US", {
? new Intl.NumberFormat(language.tag(language.locale()), {
notation: "compact",
compactDisplay: "short",
}).format(githubData()!.stars!)
@@ -18,20 +22,20 @@ export function Footer() {
<footer data-component="footer">
<div data-slot="cell">
<a href={config.github.repoUrl} target="_blank">
GitHub <span>[{starCount()}]</span>
{i18n.t("footer.github")} <span>[{starCount()}]</span>
</a>
</div>
<div data-slot="cell">
<a href="/docs">Docs</a>
<a href="/docs">{i18n.t("footer.docs")}</a>
</div>
<div data-slot="cell">
<a href="/changelog">Changelog</a>
<a href="/changelog">{i18n.t("footer.changelog")}</a>
</div>
<div data-slot="cell">
<a href="/discord">Discord</a>
<a href="/discord">{i18n.t("footer.discord")}</a>
</div>
<div data-slot="cell">
<a href={config.social.twitter}>X</a>
<a href={config.social.twitter}>{i18n.t("footer.x")}</a>
</div>
</footer>
)