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

@@ -0,0 +1,34 @@
import { For, createSignal } from "solid-js"
import { Dropdown, DropdownItem } from "~/component/dropdown"
import { useLanguage } from "~/context/language"
import "./language-picker.css"
export function LanguagePicker(props: { align?: "left" | "right" } = {}) {
const language = useLanguage()
const [open, setOpen] = createSignal(false)
return (
<div data-component="language-picker">
<Dropdown
trigger={language.label(language.locale())}
align={props.align ?? "left"}
open={open()}
onOpenChange={setOpen}
>
<For each={language.locales}>
{(locale) => (
<DropdownItem
selected={locale === language.locale()}
onClick={() => {
language.setLocale(locale)
setOpen(false)
}}
>
{language.label(locale)}
</DropdownItem>
)}
</For>
</Dropdown>
</div>
)
}