Home: add translation

This commit is contained in:
thislight 2025-01-02 21:05:05 +08:00
parent af9f111b27
commit 2e13fcacb5
No known key found for this signature in database
GPG key ID: FCFE5192241CCD4E
4 changed files with 66 additions and 18 deletions

View file

@ -16,6 +16,12 @@ import {
} from "@suid/icons-material";
import A from "~platform/A";
import Menu, { createManagedMenuState } from "~material/Menu";
import { createTranslator } from "~platform/i18n";
type StringRes = Record<
"nav.bookmarks" | "nav.likes" | "nav.lists" | "nav.settings",
string
>;
const ProfileMenuButton: ParentComponent<{
profile?: {
@ -32,6 +38,10 @@ const ProfileMenuButton: ParentComponent<{
}> = (props) => {
const menuId = createUniqueId();
const buttonId = createUniqueId();
const [t] = createTranslator(
async (code) =>
(await import(`./i18n/${code}.json`)) as { default: StringRes },
);
const [open, state] = createManagedMenuState();
@ -84,19 +94,19 @@ const ProfileMenuButton: ParentComponent<{
<ListItemIcon>
<BookmarkIcon />
</ListItemIcon>
<ListItemText>Bookmarks</ListItemText>
<ListItemText>{t("nav.bookmarks")}</ListItemText>
</MenuItem>
<MenuItem disabled>
<ListItemIcon>
<LikeIcon />
</ListItemIcon>
<ListItemText>Likes</ListItemText>
<ListItemText>{t("nav.likes")}</ListItemText>
</MenuItem>
<MenuItem disabled>
<ListItemIcon>
<ListIcon />
</ListItemIcon>
<ListItemText>Lists</ListItemText>
<ListItemText>{t("nav.lists")}</ListItemText>
</MenuItem>
<Divider />
<Show when={props.children}>
@ -107,7 +117,7 @@ const ProfileMenuButton: ParentComponent<{
<ListItemIcon>
<SettingsIcon />
</ListItemIcon>
<ListItemText>Settings</ListItemText>
<ListItemText>{t("nav.settings")}</ListItemText>
</MenuItem>
</Menu>
</>